1 line
73 KiB
JSON
1 line
73 KiB
JSON
{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport Popup from '../popup';\nimport Toast from '../toast';\nimport ImagePreview from '../image-preview';\nimport SkuHeader from './components/SkuHeader';\nimport SkuHeaderItem from './components/SkuHeaderItem';\nimport SkuRow from './components/SkuRow';\nimport SkuRowItem from './components/SkuRowItem';\nimport SkuRowPropItem from './components/SkuRowPropItem';\nimport SkuStepper from './components/SkuStepper';\nimport SkuMessages from './components/SkuMessages';\nimport SkuActions from './components/SkuActions';\nimport { createNamespace, isEmpty } from '../utils';\nimport { isAllSelected, isSkuChoosable, getSkuComb, getSelectedSkuValues, getSelectedPropValues, getSelectedProperties } from './utils/sku-helper';\nimport { LIMIT_TYPE, UNSELECTED_SKU_VALUE_ID } from './constants';\nvar namespace = createNamespace('sku');\nvar createComponent = namespace[0],\n bem = namespace[1],\n t = namespace[2];\nvar QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;\nexport default createComponent({\n props: {\n sku: Object,\n goods: Object,\n value: Boolean,\n buyText: String,\n goodsId: [Number, String],\n priceTag: String,\n lazyLoad: Boolean,\n hideStock: Boolean,\n properties: Array,\n addCartText: String,\n stepperTitle: String,\n getContainer: [String, Function],\n hideQuotaText: Boolean,\n hideSelectedText: Boolean,\n resetStepperOnHide: Boolean,\n customSkuValidator: Function,\n disableStepperInput: Boolean,\n resetSelectedSkuOnHide: Boolean,\n quota: {\n type: Number,\n default: 0\n },\n quotaUsed: {\n type: Number,\n default: 0\n },\n startSaleNum: {\n type: Number,\n default: 1\n },\n initialSku: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n stockThreshold: {\n type: Number,\n default: 50\n },\n showSoldoutSku: {\n type: Boolean,\n default: true\n },\n showAddCartBtn: {\n type: Boolean,\n default: true\n },\n disableSoldoutSku: {\n type: Boolean,\n default: true\n },\n customStepperConfig: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n showHeaderImage: {\n type: Boolean,\n default: true\n },\n previewOnClickImage: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n },\n bodyOffsetTop: {\n type: Number,\n default: 200\n },\n messageConfig: {\n type: Object,\n default: function _default() {\n return {\n initialMessages: {},\n placeholderMap: {},\n uploadImg: function uploadImg() {\n return Promise.resolve();\n },\n uploadMaxSize: 5\n };\n }\n }\n },\n data: function data() {\n return {\n selectedSku: {},\n selectedProp: {},\n selectedNum: 1,\n show: this.value\n };\n },\n watch: {\n show: function show(val) {\n this.$emit('input', val);\n if (!val) {\n this.$emit('sku-close', {\n selectedSkuValues: this.selectedSkuValues,\n selectedNum: this.selectedNum,\n selectedSkuComb: this.selectedSkuComb\n });\n if (this.resetStepperOnHide) {\n this.resetStepper();\n }\n if (this.resetSelectedSkuOnHide) {\n this.resetSelectedSku();\n }\n }\n },\n value: function value(val) {\n this.show = val;\n },\n skuTree: 'resetSelectedSku',\n initialSku: function initialSku() {\n this.resetStepper();\n this.resetSelectedSku();\n }\n },\n computed: {\n skuGroupClass: function skuGroupClass() {\n return ['van-sku-group-container', {\n 'van-sku-group-container--hide-soldout': !this.showSoldoutSku\n }];\n },\n bodyStyle: function bodyStyle() {\n if (this.$isServer) {\n return;\n }\n var maxHeight = window.innerHeight - this.bodyOffsetTop;\n return {\n maxHeight: maxHeight + 'px'\n };\n },\n isSkuCombSelected: function isSkuCombSelected() {\n var _this = this;\n\n // SKU 未选完\n if (this.hasSku && !isAllSelected(this.skuTree, this.selectedSku)) {\n return false;\n } // 属性未全选\n\n return !this.propList.filter(function (i) {\n return i.is_necessary !== false;\n }).some(function (i) {\n return (_this.selectedProp[i.k_id] || []).length === 0;\n });\n },\n isSkuEmpty: function isSkuEmpty() {\n return Object.keys(this.sku).length === 0;\n },\n hasSku: function hasSku() {\n return !this.sku.none_sku;\n },\n hasSkuOrAttr: function hasSkuOrAttr() {\n return this.hasSku || this.propList.length > 0;\n },\n selectedSkuComb: function selectedSkuComb() {\n var skuComb = null;\n if (this.isSkuCombSelected) {\n if (this.hasSku) {\n skuComb = getSkuComb(this.skuList, this.selectedSku);\n } else {\n skuComb = {\n id: this.sku.collection_id,\n price: Math.round(this.sku.price * 100),\n stock_num: this.sku.stock_num\n };\n }\n if (skuComb) {\n skuComb.properties = getSelectedProperties(this.propList, this.selectedProp);\n skuComb.property_price = this.selectedPropValues.reduce(function (acc, cur) {\n return acc + (cur.price || 0);\n }, 0);\n }\n }\n return skuComb;\n },\n selectedSkuValues: function selectedSkuValues() {\n return getSelectedSkuValues(this.skuTree, this.selectedSku);\n },\n selectedPropValues: function selectedPropValues() {\n return getSelectedPropValues(this.propList, this.selectedProp);\n },\n price: function price() {\n if (this.selectedSkuComb) {\n return ((this.selectedSkuComb.price + this.selectedSkuComb.property_price) / 100).toFixed(2);\n } // sku.price是一个格式化好的价格区间\n\n return this.sku.price;\n },\n originPrice: function originPrice() {\n if (this.selectedSkuComb && this.selectedSkuComb.origin_price) {\n return ((this.selectedSkuComb.origin_price + this.selectedSkuComb.property_price) / 100).toFixed(2);\n }\n return this.sku.origin_price;\n },\n skuTree: function skuTree() {\n return this.sku.tree || [];\n },\n skuList: function skuList() {\n return this.sku.list || [];\n },\n propList: function propList() {\n return this.properties || [];\n },\n imageList: function imageList() {\n var imageList = [this.goods.picture];\n if (this.skuTree.length > 0) {\n this.skuTree.forEach(function (treeItem) {\n if (!treeItem.v) {\n return;\n }\n treeItem.v.forEach(function (vItem) {\n var imgUrl = vItem.previewImgUrl || vItem.imgUrl || vItem.img_url;\n if (imgUrl && imageList.indexOf(imgUrl) === -1) {\n imageList.push(imgUrl);\n }\n });\n });\n }\n return imageList;\n },\n stock: function stock() {\n var stockNum = this.customStepperConfig.stockNum;\n if (stockNum !== undefined) {\n return stockNum;\n }\n if (this.selectedSkuComb) {\n return this.selectedSkuComb.stock_num;\n }\n return this.sku.stock_num;\n },\n stockText: function stockText() {\n var h = this.$createElement;\n var stockFormatter = this.customStepperConfig.stockFormatter;\n if (stockFormatter) {\n return stockFormatter(this.stock);\n }\n return [t('stock') + \" \", h(\"span\", {\n \"class\": bem('stock-num', {\n highlight: this.stock < this.stockThreshold\n })\n }, [this.stock]), \" \" + t('stockUnit')];\n },\n selectedText: function selectedText() {\n var _this2 = this;\n if (this.selectedSkuComb) {\n var values = this.selectedSkuValues.concat(this.selectedPropValues);\n return t('selected') + \" \" + values.map(function (item) {\n return item.name;\n }).join(' ');\n }\n var unselectedSku = this.skuTree.filter(function (item) {\n return _this2.selectedSku[item.k_s] === UNSELECTED_SKU_VALUE_ID;\n }).map(function (item) {\n return item.k;\n });\n var unselectedProp = this.propList.filter(function (item) {\n return (_this2.selectedProp[item.k_id] || []).length < 1;\n }).map(function (item) {\n return item.k;\n });\n return t('select') + \" \" + unselectedSku.concat(unselectedProp).join(' ');\n }\n },\n created: function created() {\n var skuEventBus = new Vue();\n this.skuEventBus = skuEventBus;\n skuEventBus.$on('sku:select', this.onSelect);\n skuEventBus.$on('sku:propSelect', this.onPropSelect);\n skuEventBus.$on('sku:numChange', this.onNumChange);\n skuEventBus.$on('sku:previewImage', this.onPreviewImage);\n skuEventBus.$on('sku:overLimit', this.onOverLimit);\n skuEventBus.$on('sku:stepperState', this.onStepperState);\n skuEventBus.$on('sku:addCart', this.onAddCart);\n skuEventBus.$on('sku:buy', this.onBuy);\n this.resetStepper();\n this.resetSelectedSku(); // 组件初始化后的钩子,抛出skuEventBus\n\n this.$emit('after-sku-create', skuEventBus);\n },\n methods: {\n resetStepper: function resetStepper() {\n var skuStepper = this.$refs.skuStepper;\n var selectedNum = this.initialSku.selectedNum;\n var num = selectedNum != null ? selectedNum : this.startSaleNum; // 用来缓存不合法的情况\n\n this.stepperError = null;\n if (skuStepper) {\n skuStepper.setCurrentNum(num);\n } else {\n // 当首次加载(skuStepper 为空)时,传入数量如果不合法,可能会存在问题\n this.selectedNum = num;\n }\n },\n // @exposed-api\n resetSelectedSku: function resetSelectedSku() {\n var _this3 = this;\n this.selectedSku = {}; // 重置 selectedSku\n\n this.skuTree.forEach(function (item) {\n _this3.selectedSku[item.k_s] = UNSELECTED_SKU_VALUE_ID;\n });\n this.skuTree.forEach(function (item) {\n var key = item.k_s; // 规格值只有1个时,优先判断\n\n var valueId = item.v.length === 1 ? item.v[0].id : _this3.initialSku[key];\n if (valueId && isSkuChoosable(_this3.skuList, _this3.selectedSku, {\n key: key,\n valueId: valueId\n })) {\n _this3.selectedSku[key] = valueId;\n }\n });\n var skuValues = this.selectedSkuValues;\n if (skuValues.length > 0) {\n this.$nextTick(function () {\n _this3.$emit('sku-selected', {\n skuValue: skuValues[skuValues.length - 1],\n selectedSku: _this3.selectedSku,\n selectedSkuComb: _this3.selectedSkuComb\n });\n });\n } // 重置商品属性\n\n this.selectedProp = {};\n var _this$initialSku$sele = this.initialSku.selectedProp,\n selectedProp = _this$initialSku$sele === void 0 ? {} : _this$initialSku$sele; // 选中外部传入信息\n\n this.propList.forEach(function (item) {\n if (selectedProp[item.k_id]) {\n _this3.selectedProp[item.k_id] = selectedProp[item.k_id];\n }\n });\n if (isEmpty(this.selectedProp)) {\n this.propList.forEach(function (item) {\n var _item$v;\n\n // 没有加价的属性,默认选中第一个\n if ((item == null ? void 0 : (_item$v = item.v) == null ? void 0 : _item$v.length) > 0) {\n var v = item.v,\n k_id = item.k_id;\n var isHasConfigPrice = v.some(function (i) {\n return +i.price !== 0;\n }); // 没有加价属性\n\n if (!isHasConfigPrice) {\n // 找到第一个不被禁用的属性\n // 历史如果没有 text_status 字段的,就相当于沿用直接原来的逻辑取第一个属性\n var firstEnableProp = v.find(function (prop) {\n return prop.text_status !== 0;\n });\n if (firstEnableProp) {\n _this3.selectedProp[k_id] = [firstEnableProp.id];\n }\n }\n }\n });\n }\n var propValues = this.selectedPropValues;\n if (propValues.length > 0) {\n this.$emit('sku-prop-selected', {\n propValue: propValues[propValues.length - 1],\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n } // 抛出重置事件\n\n this.$emit('sku-reset', {\n selectedSku: this.selectedSku,\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n this.centerInitialSku();\n },\n getSkuMessages: function getSkuMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.getMessages() : {};\n },\n getSkuCartMessages: function getSkuCartMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.getCartMessages() : {};\n },\n validateSkuMessages: function validateSkuMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.validateMessages() : '';\n },\n validateSku: function validateSku() {\n if (this.selectedNum === 0) {\n return t('unavailable');\n }\n if (this.isSkuCombSelected) {\n return this.validateSkuMessages();\n } // 自定义sku校验\n\n if (this.customSkuValidator) {\n var err = this.customSkuValidator(this);\n if (err) return err;\n }\n return t('selectSku');\n },\n onSelect: function onSelect(skuValue) {\n var _extends2, _extends3;\n\n // 点击已选中的sku时则取消选中\n this.selectedSku = this.selectedSku[skuValue.skuKeyStr] === skuValue.id ? _extends({}, this.selectedSku, (_extends2 = {}, _extends2[skuValue.skuKeyStr] = UNSELECTED_SKU_VALUE_ID, _extends2)) : _extends({}, this.selectedSku, (_extends3 = {}, _extends3[skuValue.skuKeyStr] = skuValue.id, _extends3));\n this.$emit('sku-selected', {\n skuValue: skuValue,\n selectedSku: this.selectedSku,\n selectedSkuComb: this.selectedSkuComb\n });\n },\n onPropSelect: function onPropSelect(propValue) {\n var _extends4;\n var arr = this.selectedProp[propValue.skuKeyStr] || [];\n var pos = arr.indexOf(propValue.id);\n if (pos > -1) {\n arr.splice(pos, 1);\n } else if (propValue.multiple) {\n arr.push(propValue.id);\n } else {\n arr.splice(0, 1, propValue.id);\n }\n this.selectedProp = _extends({}, this.selectedProp, (_extends4 = {}, _extends4[propValue.skuKeyStr] = arr, _extends4));\n this.$emit('sku-prop-selected', {\n propValue: propValue,\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n },\n onNumChange: function onNumChange(num) {\n this.selectedNum = num;\n },\n onPreviewImage: function onPreviewImage(selectedValue) {\n var _this4 = this;\n var imageList = this.imageList;\n var index = 0;\n var indexImage = imageList[0];\n if (selectedValue && selectedValue.imgUrl) {\n this.imageList.some(function (image, pos) {\n if (image === selectedValue.imgUrl) {\n index = pos;\n return true;\n }\n return false;\n });\n indexImage = selectedValue.imgUrl;\n }\n var params = _extends({}, selectedValue, {\n index: index,\n imageList: this.imageList,\n indexImage: indexImage\n });\n this.$emit('open-preview', params);\n if (!this.previewOnClickImage) {\n return;\n }\n ImagePreview({\n images: this.imageList,\n startPosition: index,\n onClose: function onClose() {\n _this4.$emit('close-preview', params);\n }\n });\n },\n onOverLimit: function onOverLimit(data) {\n var action = data.action,\n limitType = data.limitType,\n quota = data.quota,\n quotaUsed = data.quotaUsed;\n var handleOverLimit = this.customStepperConfig.handleOverLimit;\n if (handleOverLimit) {\n handleOverLimit(data);\n return;\n }\n if (action === 'minus') {\n if (this.startSaleNum > 1) {\n Toast(t('minusStartTip', this.startSaleNum));\n } else {\n Toast(t('minusTip'));\n }\n } else if (action === 'plus') {\n if (limitType === QUOTA_LIMIT) {\n if (quotaUsed > 0) {\n Toast(t('quotaUsedTip', quota, quotaUsed));\n } else {\n Toast(t('quotaTip', quota));\n }\n } else {\n Toast(t('soldout'));\n }\n }\n },\n onStepperState: function onStepperState(data) {\n this.stepperError = data.valid ? null : _extends({}, data, {\n action: 'plus'\n });\n },\n onAddCart: function onAddCart() {\n this.onBuyOrAddCart('add-cart');\n },\n onBuy: function onBuy() {\n this.onBuyOrAddCart('buy-clicked');\n },\n onBuyOrAddCart: function onBuyOrAddCart(type) {\n // sku 不符合购买条件\n if (this.stepperError) {\n return this.onOverLimit(this.stepperError);\n }\n var error = this.validateSku();\n if (error) {\n Toast(error);\n } else {\n this.$emit(type, this.getSkuData());\n }\n },\n // @exposed-api\n getSkuData: function getSkuData() {\n return {\n goodsId: this.goodsId,\n messages: this.getSkuMessages(),\n selectedNum: this.selectedNum,\n cartMessages: this.getSkuCartMessages(),\n selectedSkuComb: this.selectedSkuComb\n };\n },\n // 当 popup 完全打开后执行\n onOpened: function onOpened() {\n this.centerInitialSku();\n },\n centerInitialSku: function centerInitialSku() {\n var _this5 = this;\n (this.$refs.skuRows || []).forEach(function (it) {\n var _ref = it.skuRow || {},\n k_s = _ref.k_s;\n it.centerItem(_this5.initialSku[k_s]);\n });\n }\n },\n render: function render() {\n var _this6 = this;\n var h = arguments[0];\n if (this.isSkuEmpty) {\n return;\n }\n var sku = this.sku,\n skuList = this.skuList,\n goods = this.goods,\n price = this.price,\n lazyLoad = this.lazyLoad,\n originPrice = this.originPrice,\n skuEventBus = this.skuEventBus,\n selectedSku = this.selectedSku,\n selectedProp = this.selectedProp,\n selectedNum = this.selectedNum,\n stepperTitle = this.stepperTitle,\n selectedSkuComb = this.selectedSkuComb,\n showHeaderImage = this.showHeaderImage,\n disableSoldoutSku = this.disableSoldoutSku;\n var slotsProps = {\n price: price,\n originPrice: originPrice,\n selectedNum: selectedNum,\n skuEventBus: skuEventBus,\n selectedSku: selectedSku,\n selectedSkuComb: selectedSkuComb\n };\n var slots = function slots(name) {\n return _this6.slots(name, slotsProps);\n };\n var Header = slots('sku-header') || h(SkuHeader, {\n \"attrs\": {\n \"sku\": sku,\n \"goods\": goods,\n \"skuEventBus\": skuEventBus,\n \"selectedSku\": selectedSku,\n \"showHeaderImage\": showHeaderImage\n }\n }, [h(\"template\", {\n \"slot\": \"sku-header-image-extra\"\n }, [slots('sku-header-image-extra')]), slots('sku-header-price') || h(\"div\", {\n \"class\": \"van-sku__goods-price\"\n }, [h(\"span\", {\n \"class\": \"van-sku__price-symbol\"\n }, [\"\\uFFE5\"]), h(\"span\", {\n \"class\": \"van-sku__price-num\"\n }, [price]), this.priceTag && h(\"span\", {\n \"class\": \"van-sku__price-tag\"\n }, [this.priceTag])]), slots('sku-header-origin-price') || originPrice && h(SkuHeaderItem, [t('originPrice'), \" \\uFFE5\", originPrice]), !this.hideStock && h(SkuHeaderItem, [h(\"span\", {\n \"class\": \"van-sku__stock\"\n }, [this.stockText])]), this.hasSkuOrAttr && !this.hideSelectedText && h(SkuHeaderItem, [this.selectedText]), slots('sku-header-extra')]);\n var Group = slots('sku-group') || this.hasSkuOrAttr && h(\"div\", {\n \"class\": this.skuGroupClass\n }, [this.skuTree.map(function (skuTreeItem) {\n return h(SkuRow, {\n \"attrs\": {\n \"skuRow\": skuTreeItem\n },\n \"ref\": \"skuRows\",\n \"refInFor\": true\n }, [skuTreeItem.v.map(function (skuValue) {\n return h(SkuRowItem, {\n \"attrs\": {\n \"skuList\": skuList,\n \"lazyLoad\": lazyLoad,\n \"skuValue\": skuValue,\n \"skuKeyStr\": skuTreeItem.k_s,\n \"selectedSku\": selectedSku,\n \"skuEventBus\": skuEventBus,\n \"disableSoldoutSku\": disableSoldoutSku,\n \"largeImageMode\": skuTreeItem.largeImageMode\n }\n });\n })]);\n }), this.propList.map(function (skuTreeItem) {\n return h(SkuRow, {\n \"attrs\": {\n \"skuRow\": skuTreeItem\n }\n }, [skuTreeItem.v.map(function (skuValue) {\n return h(SkuRowPropItem, {\n \"attrs\": {\n \"skuValue\": skuValue,\n \"skuKeyStr\": skuTreeItem.k_id + '',\n \"selectedProp\": selectedProp,\n \"skuEventBus\": skuEventBus,\n \"multiple\": skuTreeItem.is_multiple,\n \"disabled\": skuValue.text_status === 0\n }\n });\n })]);\n })]);\n var Stepper = slots('sku-stepper') || h(SkuStepper, {\n \"ref\": \"skuStepper\",\n \"attrs\": {\n \"stock\": this.stock,\n \"quota\": this.quota,\n \"quotaUsed\": this.quotaUsed,\n \"startSaleNum\": this.startSaleNum,\n \"skuEventBus\": skuEventBus,\n \"selectedNum\": selectedNum,\n \"stepperTitle\": stepperTitle,\n \"skuStockNum\": sku.stock_num,\n \"disableStepperInput\": this.disableStepperInput,\n \"customStepperConfig\": this.customStepperConfig,\n \"hideQuotaText\": this.hideQuotaText\n },\n \"on\": {\n \"change\": function change(event) {\n _this6.$emit('stepper-change', event);\n }\n }\n });\n var Messages = slots('sku-messages') || h(SkuMessages, {\n \"ref\": \"skuMessages\",\n \"attrs\": {\n \"goodsId\": this.goodsId,\n \"messageConfig\": this.messageConfig,\n \"messages\": sku.messages\n }\n });\n var Actions = slots('sku-actions') || h(SkuActions, {\n \"attrs\": {\n \"buyText\": this.buyText,\n \"skuEventBus\": skuEventBus,\n \"addCartText\": this.addCartText,\n \"showAddCartBtn\": this.showAddCartBtn\n }\n });\n return h(Popup, {\n \"attrs\": {\n \"round\": true,\n \"closeable\": true,\n \"position\": \"bottom\",\n \"getContainer\": this.getContainer,\n \"closeOnClickOverlay\": this.closeOnClickOverlay,\n \"safeAreaInsetBottom\": this.safeAreaInsetBottom\n },\n \"class\": \"van-sku-container\",\n \"on\": {\n \"opened\": this.onOpened\n },\n \"model\": {\n value: _this6.show,\n callback: function callback($$v) {\n _this6.show = $$v;\n }\n }\n }, [Header, h(\"div\", {\n \"class\": \"van-sku-body\",\n \"style\": this.bodyStyle\n }, [slots('sku-body-top'), Group, slots('extra-sku-group'), Stepper, Messages]), slots('sku-actions-top'), Actions]);\n }\n});","map":{"version":3,"names":["_extends","Vue","Popup","Toast","ImagePreview","SkuHeader","SkuHeaderItem","SkuRow","SkuRowItem","SkuRowPropItem","SkuStepper","SkuMessages","SkuActions","createNamespace","isEmpty","isAllSelected","isSkuChoosable","getSkuComb","getSelectedSkuValues","getSelectedPropValues","getSelectedProperties","LIMIT_TYPE","UNSELECTED_SKU_VALUE_ID","namespace","createComponent","bem","t","QUOTA_LIMIT","props","sku","Object","goods","value","Boolean","buyText","String","goodsId","Number","priceTag","lazyLoad","hideStock","properties","Array","addCartText","stepperTitle","getContainer","Function","hideQuotaText","hideSelectedText","resetStepperOnHide","customSkuValidator","disableStepperInput","resetSelectedSkuOnHide","quota","type","default","quotaUsed","startSaleNum","initialSku","_default","stockThreshold","showSoldoutSku","showAddCartBtn","disableSoldoutSku","customStepperConfig","showHeaderImage","previewOnClickImage","safeAreaInsetBottom","closeOnClickOverlay","bodyOffsetTop","messageConfig","initialMessages","placeholderMap","uploadImg","Promise","resolve","uploadMaxSize","data","selectedSku","selectedProp","selectedNum","show","watch","val","$emit","selectedSkuValues","selectedSkuComb","resetStepper","resetSelectedSku","skuTree","computed","skuGroupClass","bodyStyle","$isServer","maxHeight","window","innerHeight","isSkuCombSelected","_this","hasSku","propList","filter","i","is_necessary","some","k_id","length","isSkuEmpty","keys","none_sku","hasSkuOrAttr","skuComb","skuList","id","collection_id","price","Math","round","stock_num","property_price","selectedPropValues","reduce","acc","cur","toFixed","originPrice","origin_price","tree","list","imageList","picture","forEach","treeItem","v","vItem","imgUrl","previewImgUrl","img_url","indexOf","push","stock","stockNum","undefined","stockText","h","$createElement","stockFormatter","highlight","selectedText","_this2","values","concat","map","item","name","join","unselectedSku","k_s","k","unselectedProp","created","skuEventBus","$on","onSelect","onPropSelect","onNumChange","onPreviewImage","onOverLimit","onStepperState","onAddCart","onBuy","methods","skuStepper","$refs","num","stepperError","setCurrentNum","_this3","key","valueId","skuValues","$nextTick","skuValue","_this$initialSku$sele","_item$v","isHasConfigPrice","firstEnableProp","find","prop","text_status","propValues","propValue","centerInitialSku","getSkuMessages","skuMessages","getMessages","getSkuCartMessages","getCartMessages","validateSkuMessages","validateMessages","validateSku","err","_extends2","_extends3","skuKeyStr","_extends4","arr","pos","splice","multiple","selectedValue","_this4","index","indexImage","image","params","images","startPosition","onClose","action","limitType","handleOverLimit","valid","onBuyOrAddCart","error","getSkuData","messages","cartMessages","onOpened","_this5","skuRows","it","_ref","skuRow","centerItem","render","_this6","arguments","slotsProps","slots","Header","Group","skuTreeItem","largeImageMode","is_multiple","Stepper","change","event","Messages","Actions","callback","$$v"],"sources":["E:/work/sino/sino-h5/node_modules/vant/es/sku/Sku.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport Popup from '../popup';\nimport Toast from '../toast';\nimport ImagePreview from '../image-preview';\nimport SkuHeader from './components/SkuHeader';\nimport SkuHeaderItem from './components/SkuHeaderItem';\nimport SkuRow from './components/SkuRow';\nimport SkuRowItem from './components/SkuRowItem';\nimport SkuRowPropItem from './components/SkuRowPropItem';\nimport SkuStepper from './components/SkuStepper';\nimport SkuMessages from './components/SkuMessages';\nimport SkuActions from './components/SkuActions';\nimport { createNamespace, isEmpty } from '../utils';\nimport { isAllSelected, isSkuChoosable, getSkuComb, getSelectedSkuValues, getSelectedPropValues, getSelectedProperties } from './utils/sku-helper';\nimport { LIMIT_TYPE, UNSELECTED_SKU_VALUE_ID } from './constants';\nvar namespace = createNamespace('sku');\nvar createComponent = namespace[0],\n bem = namespace[1],\n t = namespace[2];\nvar QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;\nexport default createComponent({\n props: {\n sku: Object,\n goods: Object,\n value: Boolean,\n buyText: String,\n goodsId: [Number, String],\n priceTag: String,\n lazyLoad: Boolean,\n hideStock: Boolean,\n properties: Array,\n addCartText: String,\n stepperTitle: String,\n getContainer: [String, Function],\n hideQuotaText: Boolean,\n hideSelectedText: Boolean,\n resetStepperOnHide: Boolean,\n customSkuValidator: Function,\n disableStepperInput: Boolean,\n resetSelectedSkuOnHide: Boolean,\n quota: {\n type: Number,\n default: 0\n },\n quotaUsed: {\n type: Number,\n default: 0\n },\n startSaleNum: {\n type: Number,\n default: 1\n },\n initialSku: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n stockThreshold: {\n type: Number,\n default: 50\n },\n showSoldoutSku: {\n type: Boolean,\n default: true\n },\n showAddCartBtn: {\n type: Boolean,\n default: true\n },\n disableSoldoutSku: {\n type: Boolean,\n default: true\n },\n customStepperConfig: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n showHeaderImage: {\n type: Boolean,\n default: true\n },\n previewOnClickImage: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n },\n bodyOffsetTop: {\n type: Number,\n default: 200\n },\n messageConfig: {\n type: Object,\n default: function _default() {\n return {\n initialMessages: {},\n placeholderMap: {},\n uploadImg: function uploadImg() {\n return Promise.resolve();\n },\n uploadMaxSize: 5\n };\n }\n }\n },\n data: function data() {\n return {\n selectedSku: {},\n selectedProp: {},\n selectedNum: 1,\n show: this.value\n };\n },\n watch: {\n show: function show(val) {\n this.$emit('input', val);\n\n if (!val) {\n this.$emit('sku-close', {\n selectedSkuValues: this.selectedSkuValues,\n selectedNum: this.selectedNum,\n selectedSkuComb: this.selectedSkuComb\n });\n\n if (this.resetStepperOnHide) {\n this.resetStepper();\n }\n\n if (this.resetSelectedSkuOnHide) {\n this.resetSelectedSku();\n }\n }\n },\n value: function value(val) {\n this.show = val;\n },\n skuTree: 'resetSelectedSku',\n initialSku: function initialSku() {\n this.resetStepper();\n this.resetSelectedSku();\n }\n },\n computed: {\n skuGroupClass: function skuGroupClass() {\n return ['van-sku-group-container', {\n 'van-sku-group-container--hide-soldout': !this.showSoldoutSku\n }];\n },\n bodyStyle: function bodyStyle() {\n if (this.$isServer) {\n return;\n }\n\n var maxHeight = window.innerHeight - this.bodyOffsetTop;\n return {\n maxHeight: maxHeight + 'px'\n };\n },\n isSkuCombSelected: function isSkuCombSelected() {\n var _this = this;\n\n // SKU 未选完\n if (this.hasSku && !isAllSelected(this.skuTree, this.selectedSku)) {\n return false;\n } // 属性未全选\n\n\n return !this.propList.filter(function (i) {\n return i.is_necessary !== false;\n }).some(function (i) {\n return (_this.selectedProp[i.k_id] || []).length === 0;\n });\n },\n isSkuEmpty: function isSkuEmpty() {\n return Object.keys(this.sku).length === 0;\n },\n hasSku: function hasSku() {\n return !this.sku.none_sku;\n },\n hasSkuOrAttr: function hasSkuOrAttr() {\n return this.hasSku || this.propList.length > 0;\n },\n selectedSkuComb: function selectedSkuComb() {\n var skuComb = null;\n\n if (this.isSkuCombSelected) {\n if (this.hasSku) {\n skuComb = getSkuComb(this.skuList, this.selectedSku);\n } else {\n skuComb = {\n id: this.sku.collection_id,\n price: Math.round(this.sku.price * 100),\n stock_num: this.sku.stock_num\n };\n }\n\n if (skuComb) {\n skuComb.properties = getSelectedProperties(this.propList, this.selectedProp);\n skuComb.property_price = this.selectedPropValues.reduce(function (acc, cur) {\n return acc + (cur.price || 0);\n }, 0);\n }\n }\n\n return skuComb;\n },\n selectedSkuValues: function selectedSkuValues() {\n return getSelectedSkuValues(this.skuTree, this.selectedSku);\n },\n selectedPropValues: function selectedPropValues() {\n return getSelectedPropValues(this.propList, this.selectedProp);\n },\n price: function price() {\n if (this.selectedSkuComb) {\n return ((this.selectedSkuComb.price + this.selectedSkuComb.property_price) / 100).toFixed(2);\n } // sku.price是一个格式化好的价格区间\n\n\n return this.sku.price;\n },\n originPrice: function originPrice() {\n if (this.selectedSkuComb && this.selectedSkuComb.origin_price) {\n return ((this.selectedSkuComb.origin_price + this.selectedSkuComb.property_price) / 100).toFixed(2);\n }\n\n return this.sku.origin_price;\n },\n skuTree: function skuTree() {\n return this.sku.tree || [];\n },\n skuList: function skuList() {\n return this.sku.list || [];\n },\n propList: function propList() {\n return this.properties || [];\n },\n imageList: function imageList() {\n var imageList = [this.goods.picture];\n\n if (this.skuTree.length > 0) {\n this.skuTree.forEach(function (treeItem) {\n if (!treeItem.v) {\n return;\n }\n\n treeItem.v.forEach(function (vItem) {\n var imgUrl = vItem.previewImgUrl || vItem.imgUrl || vItem.img_url;\n\n if (imgUrl && imageList.indexOf(imgUrl) === -1) {\n imageList.push(imgUrl);\n }\n });\n });\n }\n\n return imageList;\n },\n stock: function stock() {\n var stockNum = this.customStepperConfig.stockNum;\n\n if (stockNum !== undefined) {\n return stockNum;\n }\n\n if (this.selectedSkuComb) {\n return this.selectedSkuComb.stock_num;\n }\n\n return this.sku.stock_num;\n },\n stockText: function stockText() {\n var h = this.$createElement;\n var stockFormatter = this.customStepperConfig.stockFormatter;\n\n if (stockFormatter) {\n return stockFormatter(this.stock);\n }\n\n return [t('stock') + \" \", h(\"span\", {\n \"class\": bem('stock-num', {\n highlight: this.stock < this.stockThreshold\n })\n }, [this.stock]), \" \" + t('stockUnit')];\n },\n selectedText: function selectedText() {\n var _this2 = this;\n\n if (this.selectedSkuComb) {\n var values = this.selectedSkuValues.concat(this.selectedPropValues);\n return t('selected') + \" \" + values.map(function (item) {\n return item.name;\n }).join(' ');\n }\n\n var unselectedSku = this.skuTree.filter(function (item) {\n return _this2.selectedSku[item.k_s] === UNSELECTED_SKU_VALUE_ID;\n }).map(function (item) {\n return item.k;\n });\n var unselectedProp = this.propList.filter(function (item) {\n return (_this2.selectedProp[item.k_id] || []).length < 1;\n }).map(function (item) {\n return item.k;\n });\n return t('select') + \" \" + unselectedSku.concat(unselectedProp).join(' ');\n }\n },\n created: function created() {\n var skuEventBus = new Vue();\n this.skuEventBus = skuEventBus;\n skuEventBus.$on('sku:select', this.onSelect);\n skuEventBus.$on('sku:propSelect', this.onPropSelect);\n skuEventBus.$on('sku:numChange', this.onNumChange);\n skuEventBus.$on('sku:previewImage', this.onPreviewImage);\n skuEventBus.$on('sku:overLimit', this.onOverLimit);\n skuEventBus.$on('sku:stepperState', this.onStepperState);\n skuEventBus.$on('sku:addCart', this.onAddCart);\n skuEventBus.$on('sku:buy', this.onBuy);\n this.resetStepper();\n this.resetSelectedSku(); // 组件初始化后的钩子,抛出skuEventBus\n\n this.$emit('after-sku-create', skuEventBus);\n },\n methods: {\n resetStepper: function resetStepper() {\n var skuStepper = this.$refs.skuStepper;\n var selectedNum = this.initialSku.selectedNum;\n var num = selectedNum != null ? selectedNum : this.startSaleNum; // 用来缓存不合法的情况\n\n this.stepperError = null;\n\n if (skuStepper) {\n skuStepper.setCurrentNum(num);\n } else {\n // 当首次加载(skuStepper 为空)时,传入数量如果不合法,可能会存在问题\n this.selectedNum = num;\n }\n },\n // @exposed-api\n resetSelectedSku: function resetSelectedSku() {\n var _this3 = this;\n\n this.selectedSku = {}; // 重置 selectedSku\n\n this.skuTree.forEach(function (item) {\n _this3.selectedSku[item.k_s] = UNSELECTED_SKU_VALUE_ID;\n });\n this.skuTree.forEach(function (item) {\n var key = item.k_s; // 规格值只有1个时,优先判断\n\n var valueId = item.v.length === 1 ? item.v[0].id : _this3.initialSku[key];\n\n if (valueId && isSkuChoosable(_this3.skuList, _this3.selectedSku, {\n key: key,\n valueId: valueId\n })) {\n _this3.selectedSku[key] = valueId;\n }\n });\n var skuValues = this.selectedSkuValues;\n\n if (skuValues.length > 0) {\n this.$nextTick(function () {\n _this3.$emit('sku-selected', {\n skuValue: skuValues[skuValues.length - 1],\n selectedSku: _this3.selectedSku,\n selectedSkuComb: _this3.selectedSkuComb\n });\n });\n } // 重置商品属性\n\n\n this.selectedProp = {};\n var _this$initialSku$sele = this.initialSku.selectedProp,\n selectedProp = _this$initialSku$sele === void 0 ? {} : _this$initialSku$sele; // 选中外部传入信息\n\n this.propList.forEach(function (item) {\n if (selectedProp[item.k_id]) {\n _this3.selectedProp[item.k_id] = selectedProp[item.k_id];\n }\n });\n\n if (isEmpty(this.selectedProp)) {\n this.propList.forEach(function (item) {\n var _item$v;\n\n // 没有加价的属性,默认选中第一个\n if ((item == null ? void 0 : (_item$v = item.v) == null ? void 0 : _item$v.length) > 0) {\n var v = item.v,\n k_id = item.k_id;\n var isHasConfigPrice = v.some(function (i) {\n return +i.price !== 0;\n }); // 没有加价属性\n\n if (!isHasConfigPrice) {\n // 找到第一个不被禁用的属性\n // 历史如果没有 text_status 字段的,就相当于沿用直接原来的逻辑取第一个属性\n var firstEnableProp = v.find(function (prop) {\n return prop.text_status !== 0;\n });\n\n if (firstEnableProp) {\n _this3.selectedProp[k_id] = [firstEnableProp.id];\n }\n }\n }\n });\n }\n\n var propValues = this.selectedPropValues;\n\n if (propValues.length > 0) {\n this.$emit('sku-prop-selected', {\n propValue: propValues[propValues.length - 1],\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n } // 抛出重置事件\n\n\n this.$emit('sku-reset', {\n selectedSku: this.selectedSku,\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n this.centerInitialSku();\n },\n getSkuMessages: function getSkuMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.getMessages() : {};\n },\n getSkuCartMessages: function getSkuCartMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.getCartMessages() : {};\n },\n validateSkuMessages: function validateSkuMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.validateMessages() : '';\n },\n validateSku: function validateSku() {\n if (this.selectedNum === 0) {\n return t('unavailable');\n }\n\n if (this.isSkuCombSelected) {\n return this.validateSkuMessages();\n } // 自定义sku校验\n\n\n if (this.customSkuValidator) {\n var err = this.customSkuValidator(this);\n if (err) return err;\n }\n\n return t('selectSku');\n },\n onSelect: function onSelect(skuValue) {\n var _extends2, _extends3;\n\n // 点击已选中的sku时则取消选中\n this.selectedSku = this.selectedSku[skuValue.skuKeyStr] === skuValue.id ? _extends({}, this.selectedSku, (_extends2 = {}, _extends2[skuValue.skuKeyStr] = UNSELECTED_SKU_VALUE_ID, _extends2)) : _extends({}, this.selectedSku, (_extends3 = {}, _extends3[skuValue.skuKeyStr] = skuValue.id, _extends3));\n this.$emit('sku-selected', {\n skuValue: skuValue,\n selectedSku: this.selectedSku,\n selectedSkuComb: this.selectedSkuComb\n });\n },\n onPropSelect: function onPropSelect(propValue) {\n var _extends4;\n\n var arr = this.selectedProp[propValue.skuKeyStr] || [];\n var pos = arr.indexOf(propValue.id);\n\n if (pos > -1) {\n arr.splice(pos, 1);\n } else if (propValue.multiple) {\n arr.push(propValue.id);\n } else {\n arr.splice(0, 1, propValue.id);\n }\n\n this.selectedProp = _extends({}, this.selectedProp, (_extends4 = {}, _extends4[propValue.skuKeyStr] = arr, _extends4));\n this.$emit('sku-prop-selected', {\n propValue: propValue,\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n },\n onNumChange: function onNumChange(num) {\n this.selectedNum = num;\n },\n onPreviewImage: function onPreviewImage(selectedValue) {\n var _this4 = this;\n\n var imageList = this.imageList;\n var index = 0;\n var indexImage = imageList[0];\n\n if (selectedValue && selectedValue.imgUrl) {\n this.imageList.some(function (image, pos) {\n if (image === selectedValue.imgUrl) {\n index = pos;\n return true;\n }\n\n return false;\n });\n indexImage = selectedValue.imgUrl;\n }\n\n var params = _extends({}, selectedValue, {\n index: index,\n imageList: this.imageList,\n indexImage: indexImage\n });\n\n this.$emit('open-preview', params);\n\n if (!this.previewOnClickImage) {\n return;\n }\n\n ImagePreview({\n images: this.imageList,\n startPosition: index,\n onClose: function onClose() {\n _this4.$emit('close-preview', params);\n }\n });\n },\n onOverLimit: function onOverLimit(data) {\n var action = data.action,\n limitType = data.limitType,\n quota = data.quota,\n quotaUsed = data.quotaUsed;\n var handleOverLimit = this.customStepperConfig.handleOverLimit;\n\n if (handleOverLimit) {\n handleOverLimit(data);\n return;\n }\n\n if (action === 'minus') {\n if (this.startSaleNum > 1) {\n Toast(t('minusStartTip', this.startSaleNum));\n } else {\n Toast(t('minusTip'));\n }\n } else if (action === 'plus') {\n if (limitType === QUOTA_LIMIT) {\n if (quotaUsed > 0) {\n Toast(t('quotaUsedTip', quota, quotaUsed));\n } else {\n Toast(t('quotaTip', quota));\n }\n } else {\n Toast(t('soldout'));\n }\n }\n },\n onStepperState: function onStepperState(data) {\n this.stepperError = data.valid ? null : _extends({}, data, {\n action: 'plus'\n });\n },\n onAddCart: function onAddCart() {\n this.onBuyOrAddCart('add-cart');\n },\n onBuy: function onBuy() {\n this.onBuyOrAddCart('buy-clicked');\n },\n onBuyOrAddCart: function onBuyOrAddCart(type) {\n // sku 不符合购买条件\n if (this.stepperError) {\n return this.onOverLimit(this.stepperError);\n }\n\n var error = this.validateSku();\n\n if (error) {\n Toast(error);\n } else {\n this.$emit(type, this.getSkuData());\n }\n },\n // @exposed-api\n getSkuData: function getSkuData() {\n return {\n goodsId: this.goodsId,\n messages: this.getSkuMessages(),\n selectedNum: this.selectedNum,\n cartMessages: this.getSkuCartMessages(),\n selectedSkuComb: this.selectedSkuComb\n };\n },\n // 当 popup 完全打开后执行\n onOpened: function onOpened() {\n this.centerInitialSku();\n },\n centerInitialSku: function centerInitialSku() {\n var _this5 = this;\n\n (this.$refs.skuRows || []).forEach(function (it) {\n var _ref = it.skuRow || {},\n k_s = _ref.k_s;\n\n it.centerItem(_this5.initialSku[k_s]);\n });\n }\n },\n render: function render() {\n var _this6 = this;\n\n var h = arguments[0];\n\n if (this.isSkuEmpty) {\n return;\n }\n\n var sku = this.sku,\n skuList = this.skuList,\n goods = this.goods,\n price = this.price,\n lazyLoad = this.lazyLoad,\n originPrice = this.originPrice,\n skuEventBus = this.skuEventBus,\n selectedSku = this.selectedSku,\n selectedProp = this.selectedProp,\n selectedNum = this.selectedNum,\n stepperTitle = this.stepperTitle,\n selectedSkuComb = this.selectedSkuComb,\n showHeaderImage = this.showHeaderImage,\n disableSoldoutSku = this.disableSoldoutSku;\n var slotsProps = {\n price: price,\n originPrice: originPrice,\n selectedNum: selectedNum,\n skuEventBus: skuEventBus,\n selectedSku: selectedSku,\n selectedSkuComb: selectedSkuComb\n };\n\n var slots = function slots(name) {\n return _this6.slots(name, slotsProps);\n };\n\n var Header = slots('sku-header') || h(SkuHeader, {\n \"attrs\": {\n \"sku\": sku,\n \"goods\": goods,\n \"skuEventBus\": skuEventBus,\n \"selectedSku\": selectedSku,\n \"showHeaderImage\": showHeaderImage\n }\n }, [h(\"template\", {\n \"slot\": \"sku-header-image-extra\"\n }, [slots('sku-header-image-extra')]), slots('sku-header-price') || h(\"div\", {\n \"class\": \"van-sku__goods-price\"\n }, [h(\"span\", {\n \"class\": \"van-sku__price-symbol\"\n }, [\"\\uFFE5\"]), h(\"span\", {\n \"class\": \"van-sku__price-num\"\n }, [price]), this.priceTag && h(\"span\", {\n \"class\": \"van-sku__price-tag\"\n }, [this.priceTag])]), slots('sku-header-origin-price') || originPrice && h(SkuHeaderItem, [t('originPrice'), \" \\uFFE5\", originPrice]), !this.hideStock && h(SkuHeaderItem, [h(\"span\", {\n \"class\": \"van-sku__stock\"\n }, [this.stockText])]), this.hasSkuOrAttr && !this.hideSelectedText && h(SkuHeaderItem, [this.selectedText]), slots('sku-header-extra')]);\n var Group = slots('sku-group') || this.hasSkuOrAttr && h(\"div\", {\n \"class\": this.skuGroupClass\n }, [this.skuTree.map(function (skuTreeItem) {\n return h(SkuRow, {\n \"attrs\": {\n \"skuRow\": skuTreeItem\n },\n \"ref\": \"skuRows\",\n \"refInFor\": true\n }, [skuTreeItem.v.map(function (skuValue) {\n return h(SkuRowItem, {\n \"attrs\": {\n \"skuList\": skuList,\n \"lazyLoad\": lazyLoad,\n \"skuValue\": skuValue,\n \"skuKeyStr\": skuTreeItem.k_s,\n \"selectedSku\": selectedSku,\n \"skuEventBus\": skuEventBus,\n \"disableSoldoutSku\": disableSoldoutSku,\n \"largeImageMode\": skuTreeItem.largeImageMode\n }\n });\n })]);\n }), this.propList.map(function (skuTreeItem) {\n return h(SkuRow, {\n \"attrs\": {\n \"skuRow\": skuTreeItem\n }\n }, [skuTreeItem.v.map(function (skuValue) {\n return h(SkuRowPropItem, {\n \"attrs\": {\n \"skuValue\": skuValue,\n \"skuKeyStr\": skuTreeItem.k_id + '',\n \"selectedProp\": selectedProp,\n \"skuEventBus\": skuEventBus,\n \"multiple\": skuTreeItem.is_multiple,\n \"disabled\": skuValue.text_status === 0\n }\n });\n })]);\n })]);\n var Stepper = slots('sku-stepper') || h(SkuStepper, {\n \"ref\": \"skuStepper\",\n \"attrs\": {\n \"stock\": this.stock,\n \"quota\": this.quota,\n \"quotaUsed\": this.quotaUsed,\n \"startSaleNum\": this.startSaleNum,\n \"skuEventBus\": skuEventBus,\n \"selectedNum\": selectedNum,\n \"stepperTitle\": stepperTitle,\n \"skuStockNum\": sku.stock_num,\n \"disableStepperInput\": this.disableStepperInput,\n \"customStepperConfig\": this.customStepperConfig,\n \"hideQuotaText\": this.hideQuotaText\n },\n \"on\": {\n \"change\": function change(event) {\n _this6.$emit('stepper-change', event);\n }\n }\n });\n var Messages = slots('sku-messages') || h(SkuMessages, {\n \"ref\": \"skuMessages\",\n \"attrs\": {\n \"goodsId\": this.goodsId,\n \"messageConfig\": this.messageConfig,\n \"messages\": sku.messages\n }\n });\n var Actions = slots('sku-actions') || h(SkuActions, {\n \"attrs\": {\n \"buyText\": this.buyText,\n \"skuEventBus\": skuEventBus,\n \"addCartText\": this.addCartText,\n \"showAddCartBtn\": this.showAddCartBtn\n }\n });\n return h(Popup, {\n \"attrs\": {\n \"round\": true,\n \"closeable\": true,\n \"position\": \"bottom\",\n \"getContainer\": this.getContainer,\n \"closeOnClickOverlay\": this.closeOnClickOverlay,\n \"safeAreaInsetBottom\": this.safeAreaInsetBottom\n },\n \"class\": \"van-sku-container\",\n \"on\": {\n \"opened\": this.onOpened\n },\n \"model\": {\n value: _this6.show,\n callback: function callback($$v) {\n _this6.show = $$v;\n }\n }\n }, [Header, h(\"div\", {\n \"class\": \"van-sku-body\",\n \"style\": this.bodyStyle\n }, [slots('sku-body-top'), Group, slots('extra-sku-group'), Stepper, Messages]), slots('sku-actions-top'), Actions]);\n }\n});"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]} |