diff --git a/components/goods-buy/goods-buy.vue b/components/goods-buy/goods-buy.vue index 110ceaf4..c0882f6a 100644 --- a/components/goods-buy/goods-buy.vue +++ b/components/goods-buy/goods-buy.vue @@ -14,14 +14,14 @@ {{ goods.show_price_symbol }}{{ goods_spec_base_price }} - {{ goods.show_price_unit }} + {{ goods_show_price_unit }} - {{ goods.show_original_price_symbol }}{{ goods_spec_base_original_price }}{{ goods.show_original_price_unit }} + {{ goods.show_original_price_symbol }}{{ goods_spec_base_original_price }}{{ goods_show_original_price_unit }} {{ $t('goods-detail.goods-detail.1s79t4') }} {{ goods_spec_base_inventory }} - {{ goods.inventory_unit }} + {{ goods_spec_base_inventory_unit }} @@ -87,6 +87,9 @@ goods_spec_base_buy_min_number: 0, goods_spec_base_buy_max_number: 0, goods_spec_base_images: '', + goods_spec_base_inventory_unit: '', + goods_show_price_unit: '', + goods_show_original_price_unit: '', goods: {}, goods_spec_choose: [], buy_number: 1, @@ -179,6 +182,9 @@ goods_spec_base_original_price: goods.original_price || 0, goods_spec_base_inventory: goods.inventory, goods_spec_base_images: goods.images, + goods_spec_base_inventory_unit: goods.inventory_unit, + goods_show_price_unit: goods.show_price_unit, + goods_show_original_price_unit: goods.show_original_price_unit, buy_number: buy_number, buy_event_type: params.buy_event_type || 'cart', opt_button: opt_button, @@ -188,7 +194,8 @@ }); // 初始化不能选择规格处理 - this.spec_handle_dont(0, 1); + var is_init = (params.is_init === undefined) ? 1 : params.is_init; + this.spec_handle_dont(0, is_init); // 获取规格详情 this.get_spec_detail(); @@ -518,10 +525,15 @@ goods_spec_base_price: this.goods.price, goods_spec_base_original_price: this.goods.original_price || 0, goods_spec_base_inventory: this.goods.inventory, + goods_spec_base_inventory_unit: this.goods.inventory_unit, + goods_show_price_unit: this.goods.show_price_unit, + goods_show_original_price_unit: this.goods.show_original_price_unit, goods_spec_base_buy_min_number: 0, goods_spec_base_buy_max_number: 0, buy_number: buy_number, }); + // 释放-调用父级 + this.$emit("BackReleaseEvent"); return false; } @@ -560,16 +572,22 @@ if (spec_buy_max_number > 0 && buy_number > spec_buy_max_number) { buy_number = spec_buy_max_number; } - this.setData({ + var upd_data = { goods_spec_base_price: spec_base.price, goods_spec_base_original_price: spec_base.original_price || 0, goods_spec_base_inventory: parseInt(spec_base.inventory || 0), goods_spec_base_buy_min_number: spec_buy_min_number, goods_spec_base_buy_max_number: spec_buy_max_number, buy_number: buy_number, - }); + }; + if((spec_base.inventory_unit || null) != null) { + upd_data['goods_spec_base_inventory_unit'] = spec_base.inventory_unit; + upd_data['goods_show_price_unit'] = ' / '+spec_base.inventory_unit; + upd_data['goods_show_original_price_unit'] = ' / '+spec_base.inventory_unit; + } + this.setData(upd_data); - // 调用父级 + // 成功-调用父级 this.$emit("BackSuccessEvent", { buy_number: this.buy_number, base_price: this.goods_spec_base_price, @@ -656,7 +674,7 @@ var spec_buy_min_number = parseInt(this.goods_spec_base_buy_min_number || 0); var spec_buy_max_number = parseInt(this.goods_spec_base_buy_max_number || 0); var inventory = parseInt(this.goods_spec_base_inventory || 0); - var inventory_unit = this.goods.inventory_unit; + var inventory_unit = this.goods_spec_base_inventory_unit; // 最小起购数量 var min = spec_buy_min_number > 0 ? spec_buy_min_number : buy_min_number; diff --git a/pages/goods-detail/goods-detail.vue b/pages/goods-detail/goods-detail.vue index e10e4f50..22c3eaf3 100644 --- a/pages/goods-detail/goods-detail.vue +++ b/pages/goods-detail/goods-detail.vue @@ -88,10 +88,10 @@ {{ show_field_price_text }} {{ goods.show_price_symbol }}{{ goods_spec_base_price }} - {{ goods.show_price_unit }} + {{ goods_show_price_unit }} - {{ goods.show_original_price_symbol }}{{ goods_spec_base_original_price }}{{ goods.show_original_price_unit }} + {{ goods.show_original_price_symbol }}{{ goods_spec_base_original_price }}{{ goods_show_original_price_unit }} {{ goods.plugins_points_data.points_value }} @@ -610,7 +610,7 @@ - + @@ -696,6 +696,8 @@ goods_spec_base_original_price: 0, goods_spec_selected_text: this.$t('goods-detail.goods-detail.6brk57'), show_field_price_text: null, + goods_show_price_unit: '', + goods_show_original_price_unit: '', goods_video_is_autoplay: false, // 增加随机数,避免无法监听数据列表内部数据更新 random_value: 0, @@ -1081,6 +1083,8 @@ goods_spec_base_price: goods.price, goods_spec_base_original_price: goods.original_price || 0, show_field_price_text: price_text_arr.indexOf(goods.show_field_price_text) != -1 ? null : goods.show_field_price_text.replace(/<[^>]+>/g, '') || null, + goods_show_price_unit: goods.show_price_unit, + goods_show_original_price_unit: goods.show_original_price_unit, }); }, @@ -1225,13 +1229,35 @@ } }, - // 数量和规格详情回调成功 + // 数量和规格回调-释放 + goods_buy_back_release_event(e) { + this.setData({ + goods_spec_base_price: this.goods.price, + goods_spec_base_original_price: this.goods.original_price || 0, + goods_show_price_unit: this.goods.show_price_unit, + goods_show_original_price_unit: this.goods.show_original_price_unit, + }); + }, + + // 数量和规格详情回调-成功 goods_buy_back_success_event(e) { - if((e.back_data.plugins_wholesale_data || null) != null) { - this.setData({ - plugins_wholesale_data: e.back_data.plugins_wholesale_data - }); + // 更新的数据 + var upd_data = { + goods_spec_base_price: e.back_data.spec_base.price, + goods_spec_base_original_price: e.back_data.spec_base.original_price || 0, + goods_show_price_unit: this.goods.show_price_unit, + goods_show_original_price_unit: this.goods.show_original_price_unit, } + // 规格单位 + if((e.back_data.spec_base.inventory_unit || null) != null) { + upd_data['goods_show_price_unit'] = ' / '+e.back_data.spec_base.inventory_unit; + upd_data['goods_show_original_price_unit'] = ' / '+e.back_data.spec_base.inventory_unit; + } + // 批发数据 + if((e.back_data.plugins_wholesale_data || null) != null) { + upd_data['plugins_wholesale_data'] = e.back_data.plugins_wholesale_data; + } + this.setData(upd_data); }, // 加入购物车成功回调 diff --git a/pages/plugins/realstore/detail/detail.vue b/pages/plugins/realstore/detail/detail.vue index b65e00a4..36a4e640 100644 --- a/pages/plugins/realstore/detail/detail.vue +++ b/pages/plugins/realstore/detail/detail.vue @@ -10,7 +10,7 @@