(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']]
|
]);
|