diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 73f98b6..b4f3855 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -36,7 +36,8 @@ Page({ zhhe_prom:[], //组合活动需要显示差多少件 zuhe_map:{}, - zuhe_map_good:{} + zuhe_map_good:{}, + in_zhact_gdmap:{}, //不同门店参与同一活动的限购 }, onLoad: function() { var a = this,ee=a; @@ -59,6 +60,8 @@ Page({ }, onShow: function() { + //每次显示都清空 + this.data.in_zhact_gdmap={}; if (typeof this.getTabBar === 'function' && this.getTabBar()) { var index=getApp().getPageIndex(this); @@ -199,6 +202,7 @@ Page({ //-----真的获取购物车-------- get_cart: function() { var th = this; + th.data.in_zhact_gdmap={}; var rd = Math.random().toString(36).substr(2, 15); var user_id=getApp().globalData.userInfo.user_id; getApp().request.get("/api/weshop/cart/list", { @@ -884,6 +888,7 @@ Page({ var offline_price=0; var offline_num=0; + th.data.in_zhact_gdmap={}; if(dda && dda.length>0){ @@ -902,7 +907,8 @@ Page({ var obj=JSON.parse(JSON.stringify(item[j])); //计算之前先移除 - zh_calc.remove_zhprom(dda,i,obj); + if(obj.prom_type==7) + zh_calc.remove_zhprom(dda,i,obj); if (fir == 0) { @@ -917,7 +923,8 @@ Page({ var txt = "requestData[" + i + "].goods[" + j + "].selected"; if(e.data.checkAllToggle) obj.goods_num=0; - zh_calc.add_zhprom(dda,i,obj); + if(obj.prom_type==7) + zh_calc.add_zhprom(dda,i,obj); e.setData({ [txt]: !e.data.checkAllToggle, @@ -1265,6 +1272,7 @@ Page({ //-- 购物车 -- if(car && car.length>0){ + th.data.in_zhact_gdmap={}; for (var a = 0; a < car.length; a++) { var item = car[a].goods, is_s_sele = 1; @@ -1300,6 +1308,7 @@ Page({ offline_num+=item[c].goods_num; } } + //总的价格,把组合商品的价格拿出来 var zh_calc_res=zh_calc.calculate_zh(car,a,th); tfeel+=zh_calc_res.tfeel; diff --git a/pages/cart/cart/zh_calculate.js b/pages/cart/cart/zh_calculate.js index baf13da..f02e370 100644 --- a/pages/cart/cart/zh_calculate.js +++ b/pages/cart/cart/zh_calculate.js @@ -130,7 +130,14 @@ module.exports = { item.cart_num =cart_num; //-- 当商品有购买的时候,以及有限购的时候 -- if(item.buyqty>0){ + + console.log(111,th.data.in_zhact_gdmap); + var cbuy=item.buyqty-zh_b_num; + var key=item.goods_id+""+act.id; + if(th.data.in_zhact_gdmap[key]){ + var cbuy=item.buyqty-zh_b_num-th.data.in_zhact_gdmap[key]; + } //当可买的数量为0 if(cbuy<=0){ item.num=0; @@ -158,7 +165,6 @@ module.exports = { } if (item.num) { all_num += item.num; - //当有起购数的控制的时候 if (item.zhqty) { all_zhqty += item.zhqty; @@ -189,6 +195,22 @@ module.exports = { //当满足组合的要求:总数要满足,起购数要满足 if (all_num >= act.zhbuyqty && !need_to_buy) { + //商品的列表 + for (var u in goods) { + var ite=goods[u]; + if(ite.buyqty>0 && ite.num>0){ + + console.log(222,th.data.in_zhact_gdmap); + + var key=ite.goods_id+""+act.id; + if(th.data.in_zhact_gdmap[key]){ + th.data.in_zhact_gdmap[key]+=ite.num; + }else{ + th.data.in_zhact_gdmap[key]=ite.num; + } + } + } + function sortData(a, b) { return a.price - b.price } diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 8552068..420a6bb 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -120,6 +120,8 @@ Page({ tabs: ['门店自提', '快递邮寄'], currentTabIndex: 1, + + in_zhact_gdmap:{}, //不同门店参与同一活动的限购 }, onLoad: function (t) { wx.setNavigationBarTitle({title: "填写订单",}) @@ -413,6 +415,7 @@ Page({ var arr = new Array(); var carr = su.data.data.pageData; th.data.cartlist_y = carr; //存储原始购物车列表 + th.data.in_zhact_gdmap={}; //---是不是购买等级卡成功的返回---等级卡显示的判断--- var is_card_back = getApp().globalData.is_card_back; @@ -651,6 +654,7 @@ Page({ } } + //每一个门店内的组合购要进行拆分, //还得把组合商品的多余商品的线下价格算一算 for (let var1 in arr) { diff --git a/pages/cart/cart2/zh_calculate.js b/pages/cart/cart2/zh_calculate.js index 9839b8c..3b90dd4 100644 --- a/pages/cart/cart2/zh_calculate.js +++ b/pages/cart/cart2/zh_calculate.js @@ -2,7 +2,7 @@ var regeneratorRuntime = require('../../../utils/runtime.js'); module.exports = { //主要的作用,就是把组合购多余的商品进行拆分, //如果没有达成组合购的要求,所有的商品都打回原价购买 - fir_set_arr: function (c_item) { + fir_set_arr: function (c_item,th) { //组合活动,以及组合活动从表的商品 let zh_prom_goods = c_item.zh_prom_goods; let goods = c_item.goods; //一个门店中所有的商品 @@ -47,7 +47,14 @@ module.exports = { var cart_num=item.cart_num =item_j.goods_num; var zh_b_num=item_j.promgoodsbuynum; if(item.buyqty>0){ + + var key=item.goods_id+""+act.id; var cbuy=item.buyqty-zh_b_num; + if(th.data.in_zhact_gdmap[key]){ + var cbuy=item.buyqty-zh_b_num-th.data.in_zhact_gdmap[key]; + } + + //当可买的数量为0 if(cbuy<=0){ item.num=0; @@ -97,6 +104,21 @@ module.exports = { //当满足组合的要求:总数要满足,起购数要满足 if (all_num >= act.zhbuyqty && !need_to_buy) { + + //商品的列表 + for (var u in act_goos) { + var ite=act_goos[u]; + if(ite.buyqty>0 && ite.num>0){ + var key=ite.goods_id+""+act.id; + if(th.data.in_zhact_gdmap[key]){ + th.data.in_zhact_gdmap[key]+=ite.num; + }else{ + th.data.in_zhact_gdmap[key]=ite.num; + } + } + } + + function sortData(a, b) { return a.price - b.price }