UNPKG

captain-ui

Version:

有赞vue wap业务组件库

192 lines (172 loc) 6.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; require("vant/es/button/style"); var _button = _interopRequireDefault(require("vant/es/button")); require("vant/es/popup/style"); var _popup = _interopRequireDefault(require("vant/es/popup")); require("vant/es/cell/style"); var _cell = _interopRequireDefault(require("vant/es/cell")); require("vant/es/card/style"); var _card = _interopRequireDefault(require("vant/es/card")); var _fullfillImage = _interopRequireDefault(require("@youzan/utils/fullfillImage")); var _delivery = _interopRequireDefault(require("./delivery")); var _messageList = _interopRequireDefault(require("./message-list")); var _utils = require("../utils"); var _components; var _default = { render: function render() { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; return _c('div', { staticClass: "cap-order-goods-card" }, [_c('van-card', { attrs: { "thumb": _vm.thumb, "tag": _vm.data.is_present || _vm.data.present ? '赠品' : '', "title": _vm.data.title, "price": _vm.price, "desc": _vm.desc, "num": _vm.data.num, "currency": "" }, on: { "click-thumb": _vm.onThumbClick } }, [_c('div', { staticClass: "cap-order-goods-card__tags", attrs: { "slot": "tags" }, slot: "tags" }, [_vm.data.is_presale || _vm.data.presale ? _c('span', { staticClass: "cap-order-goods-card__tag-green" }, [_vm._v("\n 预售\n ")]) : _vm._e(), _vm.data.is_period_buy ? _c('span', { staticClass: "cap-order-goods-card__tag-red" }, [_vm._v("\n 周期购\n ")]) : _vm._e(), _vm.data.is_f_code ? _c('span', { staticClass: "cap-order-goods-card__tag-red" }, [_vm._v("\n F码专享\n ")]) : _vm._e(), _vm.data.activity_type === 23 ? _c('span', { staticClass: "cap-order-goods-card__tag-red" }, [_vm._v("\n 抽奖团\n ")]) : _vm._e()]), _c('div', { staticClass: "cap-order-goods-card__action-container", attrs: { "slot": "footer" }, slot: "footer" }, [_vm.hasMessage ? _c('van-button', { staticClass: "cap-order-goods-card__message-button", on: { "click": _vm.onClickMessageButton } }, [_vm._v("\n 查看留言\n ")]) : _vm._e(), _vm.data.show_review ? _c('van-button', { staticClass: "cap-order-goods-card__review-button", on: { "click": _vm.onClickReviewButton } }, [_vm._v("\n " + _vm._s(_vm.data.review_text) + "\n ")]) : _vm._e(), _vm.data.show_refund ? _c('van-button', { staticClass: "cap-order-goods-card__refund-button cap-order-goods-card__button_red", on: { "click": _vm.onClickRefundButton } }, [_vm._v("\n " + _vm._s(_vm.data.refund_text) + "\n ")]) : _vm._e()], 1)]), _vm.data.show_delivery_time ? _c('van-cell', { staticClass: "cap-order-goods-card__delivery van-hairline--bottom", attrs: { "title": "发货时间", "value": _vm.data.delivery_time } }) : _vm._e(), _vm.data.show_delivery_times ? _c('van-cell', { staticClass: "cap-order-goods-card__delivery-times", attrs: { "title": "配送次数", "value": _vm.data.delivery_times } }) : _vm._e(), _vm.data.show_delivery_option ? _c('cap-order-goods-delivery-time', _vm._g({ attrs: { "delivery-time": _vm.data.plan_express_time, "delivery-options": _vm.data.delivery_options } }, _vm.$listeners)) : _vm._e(), !_vm.disableMessageView ? _c('van-popup', { staticClass: "cap-order-goods-card__message", attrs: { "position": "right" }, model: { value: _vm.showMessage, callback: function callback($$v) { _vm.showMessage = $$v; }, expression: "showMessage" } }, [_c('cap-order-goods-message-list', { attrs: { "messages": _vm.data.message }, on: { "back": function back($event) { _vm.showMessage = false; } } })], 1) : _vm._e()], 1); }, name: 'cap-order-goods-card', components: (_components = {}, _components[_card.default.name] = _card.default, _components[_cell.default.name] = _cell.default, _components[_popup.default.name] = _popup.default, _components[_button.default.name] = _button.default, _components[_delivery.default.name] = _delivery.default, _components[_messageList.default.name] = _messageList.default, _components), props: { data: { type: Object, required: true }, disableMessageView: Boolean }, data: function data() { return { showMessage: false }; }, computed: { thumb: function thumb() { return this.processImage(this.data.img_url || 'https://img.yzcdn.cn/upload_files/no_pic.png'); }, price: function price() { return (0, _utils.getTotalPrice)(this.data.pay_price, this.data.points_price); }, desc: function desc() { if (this.data.member_card_start_time && this.data.member_card_end_time) { return this.data.member_card_start_time + '-' + this.data.member_card_end_time; } var sku = this.data.sku; sku = Array.isArray(sku) ? sku : sku && typeof sku === 'string' ? JSON.parse(sku) : []; return sku.filter(function (item) { return item.v; }).map(function (item) { return item.v; }).join(', '); }, hasMessage: function hasMessage() { return this.data.message && Object.keys(this.data.message).length; }, goodsUrl: function goodsUrl() { return this.data.goods_url || 'javascript:;'; } }, methods: { onClickMessageButton: function onClickMessageButton() { this.showMessage = true; this.$emit('show-message-list', this.data.message); }, onClickRefundButton: function onClickRefundButton() { this.$emit('action:refund', this.data.id); }, onClickReviewButton: function onClickReviewButton() { this.$emit('action:review', this.data.id); }, onThumbClick: function onThumbClick() { this.$emit('click-thumb', this.data.id); }, processImage: function processImage(url) { return (0, _fullfillImage.default)(url, '!180x180.jpg'); } } }; exports.default = _default;