You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
2.8 KiB
120 lines
2.8 KiB
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
|
|
exports.__esModule = true;
|
|
exports.default = void 0;
|
|
|
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
|
|
var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
|
|
|
|
var _utils = require("../utils");
|
|
|
|
var _functional = require("../utils/functional");
|
|
|
|
var _tag = _interopRequireDefault(require("../tag"));
|
|
|
|
var _icon = _interopRequireDefault(require("../icon"));
|
|
|
|
var _cell = _interopRequireDefault(require("../cell"));
|
|
|
|
var _radio = _interopRequireDefault(require("../radio"));
|
|
|
|
// Utils
|
|
// Components
|
|
var _createNamespace = (0, _utils.createNamespace)('address-item'),
|
|
createComponent = _createNamespace[0],
|
|
bem = _createNamespace[1];
|
|
|
|
function AddressItem(h, props, slots, ctx) {
|
|
var disabled = props.disabled,
|
|
switchable = props.switchable;
|
|
|
|
function onClick() {
|
|
if (switchable) {
|
|
(0, _functional.emit)(ctx, 'select');
|
|
}
|
|
|
|
(0, _functional.emit)(ctx, 'click');
|
|
}
|
|
|
|
var genRightIcon = function genRightIcon() {
|
|
return h(_icon.default, {
|
|
"attrs": {
|
|
"name": "edit"
|
|
},
|
|
"class": bem('edit'),
|
|
"on": {
|
|
"click": function click(event) {
|
|
event.stopPropagation();
|
|
(0, _functional.emit)(ctx, 'edit');
|
|
(0, _functional.emit)(ctx, 'click');
|
|
}
|
|
}
|
|
});
|
|
};
|
|
|
|
function genTag() {
|
|
if (props.data.isDefault && props.defaultTagText) {
|
|
return h(_tag.default, {
|
|
"attrs": {
|
|
"type": "danger",
|
|
"round": true
|
|
},
|
|
"class": bem('tag')
|
|
}, [props.defaultTagText]);
|
|
}
|
|
}
|
|
|
|
function genContent() {
|
|
var data = props.data;
|
|
var Info = [h("div", {
|
|
"class": bem('name')
|
|
}, [data.name + " " + data.tel, genTag()]), h("div", {
|
|
"class": bem('address')
|
|
}, [data.address])];
|
|
|
|
if (switchable && !disabled) {
|
|
return h(_radio.default, {
|
|
"attrs": {
|
|
"name": data.id,
|
|
"iconSize": 18
|
|
}
|
|
}, [Info]);
|
|
}
|
|
|
|
return Info;
|
|
}
|
|
|
|
return h("div", {
|
|
"class": bem({
|
|
disabled: disabled
|
|
}),
|
|
"on": {
|
|
"click": onClick
|
|
}
|
|
}, [h(_cell.default, (0, _babelHelperVueJsxMergeProps.default)([{
|
|
"attrs": {
|
|
"border": false,
|
|
"valueClass": bem('value')
|
|
},
|
|
"scopedSlots": {
|
|
default: genContent,
|
|
'right-icon': genRightIcon
|
|
}
|
|
}, (0, _functional.inherit)(ctx)])), slots.bottom == null ? void 0 : slots.bottom((0, _extends2.default)({}, props.data, {
|
|
disabled: disabled
|
|
}))]);
|
|
}
|
|
|
|
AddressItem.props = {
|
|
data: Object,
|
|
disabled: Boolean,
|
|
switchable: Boolean,
|
|
defaultTagText: String
|
|
};
|
|
|
|
var _default = createComponent(AddressItem);
|
|
|
|
exports.default = _default; |