(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/product/detail/popup/spec"],{ /***/ 1260: /*!**************************************************************************************!*\ !*** F:/phpstudy_pro/WWW/saas_shop_multi/mobile/pages/product/detail/popup/spec.vue ***! \**************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./spec.vue?vue&type=template&id=0fd54a73& */ 1261); /* harmony import */ var _spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./spec.vue?vue&type=script&lang=js& */ 1263); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony import */ var _spec_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./spec.vue?vue&type=style&index=0&lang=scss& */ 1265); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 34); var renderjs /* normalize component */ var component = Object(_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( _spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__["render"], _spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, null, null, false, _spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__["components"], renderjs ) component.options.__file = "pages/product/detail/popup/spec.vue" /* harmony default export */ __webpack_exports__["default"] = (component.exports); /***/ }), /***/ 1261: /*!*********************************************************************************************************************!*\ !*** F:/phpstudy_pro/WWW/saas_shop_multi/mobile/pages/product/detail/popup/spec.vue?vue&type=template&id=0fd54a73& ***! \*********************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./spec.vue?vue&type=template&id=0fd54a73& */ 1262); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_template_id_0fd54a73___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /***/ 1262: /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!F:/phpstudy_pro/WWW/saas_shop_multi/mobile/pages/product/detail/popup/spec.vue?vue&type=template&id=0fd54a73& ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); var components var render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /***/ 1263: /*!***************************************************************************************************************!*\ !*** F:/phpstudy_pro/WWW/saas_shop_multi/mobile/pages/product/detail/popup/spec.vue?vue&type=script&lang=js& ***! \***************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./spec.vue?vue&type=script&lang=js& */ 1264); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 1264: /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!F:/phpstudy_pro/WWW/saas_shop_multi/mobile/pages/product/detail/popup/spec.vue?vue&type=script&lang=js& ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13)); var Table = function Table() { __webpack_require__.e(/*! require.ensure | components/table/table */ "components/table/table").then((function () { return resolve(__webpack_require__(/*! @/components/table/table.vue */ 1639)); }).bind(null, __webpack_require__)).catch(__webpack_require__.oe); }; var _default = { components: { Table: Table }, data: function data() { return { /*是否可见*/ Visible: false, /*表单对象*/ form: { detail: {}, show_sku: { sku_image: '' }, // 自定义表单数据id by lyzflash table_record_id: 0 }, /*当前商品总库存*/ stock: 0, /*选择提示*/ selectSpec: '', /*是否打开过多规格选择框*/ isOpenSpec: false, type: '', clock: false, // 自定义表单数据,用于验证是否要重新提交 tableDataTemp: {} }; }, props: ['isPopup', 'productModel'], onLoad: function onLoad() {}, mounted: function mounted() {}, computed: { /*判断增加数量*/ isadd: function isadd() { return this.form.show_sku.sum >= this.stock || this.form.show_sku.sum >= this.form.detail.limit_num; }, /*判断减少数量*/ issub: function issub() { return this.form.show_sku.sum <= 1; } }, watch: { 'isPopup': function isPopup(n, o) { if (n != o) { this.Visible = n; if (!this.isOpenSpec) { this.form = this.productModel; this.isOpenSpec = true; this.initShowSku(); } this.form.type = this.productModel.type; } }, 'form.specData': { handler: function handler(n, o) { var _this = this; var str = '', select = ''; this.isAll = true; if (n) { var _loop = function _loop(i) { if (_this.form.productSpecArr[i] == null) { _this.isAll = false; str += n.spec_attr[i].group_name + ' '; } else { n.spec_attr[i].spec_items.forEach(function (item) { if (_this.form.productSpecArr[i] == item.item_id) { select += '"' + item.spec_value + '" '; } }); } }; for (var i = 0; i < n.spec_attr.length; i++) { _loop(i); } if (!this.isAll) { str = '请选择: ' + str; } else { select = '已选: ' + select; } } this.selectSpec = this.isAll ? select : str; }, deep: true, immediate: true } }, methods: { /*初始化*/initShowSku: function initShowSku() { this.form.show_sku.sku_image = this.form.detail.image[0].file_path; this.form.show_sku.product_price = this.form.detail.product_price; if (this.form.detail.spec_type == 20) { if (this.form.detail.product_price != this.form.detail.product_max_price) { this.form.show_sku.product_price = this.form.detail.product_price + '-' + this.form.detail.product_max_price; } } this.form.show_sku.spec_sku_id = 0; this.form.show_sku.line_price = this.form.detail.line_price; this.form.show_sku.stock_num = this.form.detail.product_stock; this.form.show_sku.sum = 1; this.stock = this.form.detail.product_stock; if (this.form.plus_name == 'advance') { this.form.show_sku.product_price = this.form.plus_sku[0].product_price; this.form.show_sku.line_price = ''; this.form.show_sku.sku_image = this.form.plus_sku[0].productSku.image ? this.form.plus_sku[0].productSku.image.file_path : this.form.detail.image[0].file_path; this.form.show_sku.stock_num = this.form.plus_sku[0].advance_stock; this.stock = this.form.plus_sku[0].advance_stock; } if (this.form.plus_name == 'seckill') { this.form.show_sku.product_price = this.form.plus_sku[0].seckill_price; this.form.show_sku.line_price = this.form.plus_sku[0].product_price; this.form.show_sku.sku_image = this.form.plus_sku[0].productSku.image ? this.form.plus_sku[0].productSku.image.file_path : this.form.detail.image[0].file_path; this.form.show_sku.stock_num = this.form.plus_sku[0].seckill_stock; this.stock = this.form.plus_sku[0].seckill_stock; } }, /*选择属性*/selectAttr: function selectAttr(attr_index, item_index) { var self = this; var items = self.form.specData.spec_attr[attr_index].spec_items; var curItem = items[item_index]; if (curItem.checked) { curItem.checked = false; self.form.productSpecArr[attr_index] = null; } else { for (var i = 0; i < items.length; i++) { items[i].checked = false; } curItem.checked = true; self.form.productSpecArr[attr_index] = curItem.item_id; } for (var _i = 0; _i < self.form.productSpecArr.length; _i++) { if (self.form.productSpecArr[_i] == null) { self.initShowSku(); return; } } // 更新商品规格信息 self.updateSpecProduct(); }, /*更新商品规格信息*/updateSpecProduct: function updateSpecProduct() { var self = this; var specSkuId = self.form.productSpecArr.join('_'); // 查找skuItem var spec_list = self.form.specData.spec_list; if (self.form.plus_sku != null) { spec_list = self.form.plus_sku; } var skuItem = spec_list.find(function (val) { if (self.form.plus_name) { return val.productSku.spec_sku_id == specSkuId; } else { return val.spec_sku_id == specSkuId; } }); if (!skuItem) { self.clock = true; self.initShowSku(); return; } else { self.clock = false; } if (self.form.plus_name && !skuItem.spec_form) { skuItem.spec_form = skuItem.productSku; } // 记录spec_sku_id // 更新商品价格、划线价、库存 if ((0, _typeof2.default)(skuItem) === 'object') { /*保存当前规格*/ if (self.form.plus_name) { self.stock = skuItem[self.form.plus_name + '_stock']; if (self.form.show_sku.sum > self.stock) { self.form.show_sku.sum = self.stock > 0 ? self.stock : 1; } } else { self.stock = skuItem.spec_form.stock_num; if (self.form.show_sku.sum > self.stock) { self.form.show_sku.sum = self.stock > 0 ? self.stock : 1; } } self.form.show_sku.spec_sku_id = specSkuId; self.form.show_sku.product_price = skuItem.spec_form.product_price; self.form.show_sku.line_price = skuItem.spec_form.line_price; if (skuItem.spec_form.image_id > 0) { self.form.show_sku.sku_image = skuItem.spec_form.image_path; } else { self.form.show_sku.sku_image = self.form.detail.image[0].file_path; } self.form.show_sku.stock_num = skuItem.spec_form.stock_num; if (self.form.plus_name) { self.form.show_sku.product_price = skuItem.product_price; if (self.form.plus_name == 'seckill') { self.form.show_sku.product_price = skuItem.seckill_price; } self.form.show_sku.stock_num = skuItem[self.form.plus_name + '_stock']; self.form.show_sku.line_price = ''; self.form.show_sku.sku_image = skuItem.spec_form.image ? skuItem.spec_form.image.file_path : self.form.detail.image[0].file_path; self.form.show_sku.advance_product_id = skuItem.spec_form.image ? skuItem.spec_form.image.file_path : self.form.detail.image[0].file_path; } } }, /*关闭弹窗*/closePopup: function closePopup() { this.$emit('close', this.form.specData, null); }, /*确认提交*/confirmFunc: function confirmFunc() { if (this.form.specData != null) { for (var i = 0; i < this.form.productSpecArr.length; i++) { if (this.form.productSpecArr[i] == null) { uni.showToast({ title: '请选择规格', icon: 'none', duration: 2000 }); return; } } } //自定义表单 by lyzflash if (this.form.tableValidateResult && this.form.tableValidateResult.hasError) { uni.showToast({ title: this.form.tableValidateResult.msg, icon: 'none', duration: 2000 }); return; } //保存自定义表单数据 by lyzflash if (this.form.tableDataResult) { var self = this; var product_index = 'product_' + self.form.detail.product_id + '_' + self.form.show_sku.product_sku_id; if (!self.tableDataTemp[product_index] || self.tableDataTemp[product_index] && self.tableDataTemp[product_index] != self.form.tableDataResult) { var params = self.form.tableDataResult; self.tableDataTemp[product_index] = params; params = JSON.stringify(params); self._post('plus.table.table/add', { tableData: params, table_id: self.form.detail.table_id, call_index: product_index }, function (res) { console.log(res); self.form.table_record_id = res.data.table_record_id; }); } } if (this.form.type == 'card') { this.addCart(); } else { this.createdOrder(); } }, /*加入购物车*/addCart: function addCart() { var self = this; var product_id = self.form.detail.product_id; var total_num = self.form.show_sku.sum; var spec_sku_id = self.form.show_sku.spec_sku_id; if (self.form.detail.spec_type == 20 && spec_sku_id == 0) { uni.showToast({ title: '请选择属性', icon: 'none', duration: 2000 }); return false; } self._post('order.cart/add', { product_id: product_id, total_num: total_num, spec_sku_id: spec_sku_id }, function (res) { uni.showToast({ title: res.msg, duration: 2000 }); self.$emit('close', null, res.data.cart_total_num); }); }, /*创建订单*/createdOrder: function createdOrder() { var product_id = this.form.detail.product_id; var product_num = this.form.show_sku.sum; var spec_sku_id = this.form.show_sku.spec_sku_id; var room_id = ''; if (this.room_id != 0 & this.room_id != '') { room_id = '&room_id=' + this.form.room_id; } var url = '/pages/order/confirm-order?product_id=' + product_id + '&product_num=' + product_num + '&product_sku_id=' + spec_sku_id + '&order_type=buy' + room_id; if (this.form.type == 'deposit') { if (this.form.plus_name == 'advance') { var skuItem = this.form.detail.advance.sku.find(function (val) { return val.productSku.spec_sku_id == spec_sku_id; }); url = '/pages/order/confirm-order?product_id=' + product_id + '&product_num=' + product_num + '&product_sku_id=' + spec_sku_id + '&advance_product_sku_id=' + skuItem.advance_product_sku_id + '&advance_product_id=' + skuItem.advance_product_id + '&order_type=deposit'; } if (this.form.plus_name == 'seckill') { var _skuItem = this.form.detail.secKill.seckillSku.find(function (val) { return val.productSku.spec_sku_id == spec_sku_id; }); url = '/pages/order/confirm-order?seckill_product_id=' + _skuItem.seckill_product_id + '&product_num=' + product_num + '&product_sku_id=' + _skuItem.productSku.spec_sku_id + '&seckill_product_sku_id=' + _skuItem.seckill_product_sku_id + '&order_type=seckill'; } } this.gotoPage(url); }, /*商品增加*/add: function add() { if (this.stock <= 0) { return; } if (this.form.show_sku.sum >= this.stock) { uni.showToast({ title: '数量超过了库存', icon: 'none', duration: 2000 }); return false; } if (this.form.detail.limit_num > 0 && this.form.show_sku.sum >= this.form.detail.limit_num) { uni.showToast({ title: '数量超过了限购数量', icon: 'none', duration: 2000 }); return false; } this.form.show_sku.sum++; }, /*商品减少*/sub: function sub() { if (this.stock <= 0) { return; } if (this.form.show_sku.sum < 2) { uni.showToast({ title: '商品数量至少为1', icon: 'none', duration: 2000 }); return false; } this.form.show_sku.sum--; }, // 自定义表单验证 handleFormValidate: function handleFormValidate(_ref) { var result = _ref.result; this.form.tableValidateResult = result; }, // 自定义表单数据 handleFormData: function handleFormData(_ref2) { var data = _ref2.data; this.form.tableDataResult = data; } } }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 1265: /*!************************************************************************************************************************!*\ !*** F:/phpstudy_pro/WWW/saas_shop_multi/mobile/pages/product/detail/popup/spec.vue?vue&type=style&index=0&lang=scss& ***! \************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./spec.vue?vue&type=style&index=0&lang=scss& */ 1266); /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_spec_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 1266: /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!F:/phpstudy_pro/WWW/saas_shop_multi/mobile/pages/product/detail/popup/spec.vue?vue&type=style&index=0&lang=scss& ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin if(false) { var cssReload; } /***/ }) }]); //# sourceMappingURL=../../../../../.sourcemap/mp-weixin/pages/product/detail/popup/spec.js.map ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 'pages/product/detail/popup/spec-create-component', { 'pages/product/detail/popup/spec-create-component':(function(module, exports, __webpack_require__){ __webpack_require__('2')['createComponent'](__webpack_require__(1260)) }) }, [['pages/product/detail/popup/spec-create-component']] ]);