captain-ui
Version:
有赞vue wap业务组件库
105 lines (90 loc) • 2.86 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
require("vant/es/action-sheet/style");
var _actionSheet = _interopRequireDefault(require("vant/es/action-sheet"));
require("vant/es/popup/style");
var _popup = _interopRequireDefault(require("vant/es/popup"));
require("vant/es/cell/style");
var _cell = _interopRequireDefault(require("vant/es/cell"));
var _utils = require("../utils");
var _priceDetail = _interopRequireDefault(require("./price-detail"));
var _components;
var _default2 = {
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('van-cell', {
staticClass: "cap-order-goods-price",
class: {
'cap-order-goods-price--with-detail': _vm.showPriceDetail
},
attrs: {
"title": "合计",
"is-link": _vm.showPriceDetail
},
nativeOn: {
"click": function click($event) {
return _vm.onPriceDetailClick($event);
}
}
}, [_c('span', [_vm._v(_vm._s(_vm.totalPrice))]), _vm.showPriceDetail ? _c('span', {
staticClass: "cap-order-goods-price__detail-link"
}, [_vm._v("\n 明细\n ")]) : _vm._e(), _vm.showPriceDetail ? _c('van-action-sheet', {
staticClass: "cap-order-goods-price__detail",
attrs: {
"title": "费用明细",
"get-container": _vm.getContainer
},
model: {
value: _vm.showDetailPopup,
callback: function callback($$v) {
_vm.showDetailPopup = $$v;
},
expression: "showDetailPopup"
}
}, [_c('cap-order-goods-price-detail', {
attrs: {
"price": _vm.price,
"item-list": _vm.itemList
}
})], 1) : _vm._e()], 1);
},
name: 'cap-order-goods-price',
components: (_components = {}, _components[_cell.default.name] = _cell.default, _components[_popup.default.name] = _popup.default, _components[_actionSheet.default.name] = _actionSheet.default, _components[_priceDetail.default.name] = _priceDetail.default, _components),
props: {
price: Number,
points: Number,
isPoints: Boolean,
showPriceDetail: Boolean,
itemList: {
type: Array,
default: function _default() {
return [];
}
}
},
data: function data() {
return {
showDetailPopup: false
};
},
computed: {
totalPrice: function totalPrice() {
return (0, _utils.getTotalPrice)(this.price, this.points, this.isPoints);
}
},
methods: {
onPriceDetailClick: function onPriceDetailClick() {
if (this.showPriceDetail) {
this.showDetailPopup = true;
}
},
getContainer: function getContainer() {
return document.body;
}
}
};
exports.default = _default2;