Commit 8ec14eb5850373962431f2b371189b0caa81e39b
1 parent
8f4fedfc
不同门店,买同一商品,同一组合购的活动的限购
Showing
4 changed files
with
62 additions
and
5 deletions
pages/cart/cart/cart.js
| @@ -36,7 +36,8 @@ Page({ | @@ -36,7 +36,8 @@ Page({ | ||
| 36 | 36 | ||
| 37 | zhhe_prom:[], //组合活动需要显示差多少件 | 37 | zhhe_prom:[], //组合活动需要显示差多少件 |
| 38 | zuhe_map:{}, | 38 | zuhe_map:{}, |
| 39 | - zuhe_map_good:{} | 39 | + zuhe_map_good:{}, |
| 40 | + in_zhact_gdmap:{}, //不同门店参与同一活动的限购 | ||
| 40 | }, | 41 | }, |
| 41 | onLoad: function() { | 42 | onLoad: function() { |
| 42 | var a = this,ee=a; | 43 | var a = this,ee=a; |
| @@ -59,6 +60,8 @@ Page({ | @@ -59,6 +60,8 @@ Page({ | ||
| 59 | 60 | ||
| 60 | }, | 61 | }, |
| 61 | onShow: function() { | 62 | onShow: function() { |
| 63 | + //每次显示都清空 | ||
| 64 | + this.data.in_zhact_gdmap={}; | ||
| 62 | 65 | ||
| 63 | if (typeof this.getTabBar === 'function' && this.getTabBar()) { | 66 | if (typeof this.getTabBar === 'function' && this.getTabBar()) { |
| 64 | var index=getApp().getPageIndex(this); | 67 | var index=getApp().getPageIndex(this); |
| @@ -199,6 +202,7 @@ Page({ | @@ -199,6 +202,7 @@ Page({ | ||
| 199 | //-----真的获取购物车-------- | 202 | //-----真的获取购物车-------- |
| 200 | get_cart: function() { | 203 | get_cart: function() { |
| 201 | var th = this; | 204 | var th = this; |
| 205 | + th.data.in_zhact_gdmap={}; | ||
| 202 | var rd = Math.random().toString(36).substr(2, 15); | 206 | var rd = Math.random().toString(36).substr(2, 15); |
| 203 | var user_id=getApp().globalData.userInfo.user_id; | 207 | var user_id=getApp().globalData.userInfo.user_id; |
| 204 | getApp().request.get("/api/weshop/cart/list", { | 208 | getApp().request.get("/api/weshop/cart/list", { |
| @@ -884,6 +888,7 @@ Page({ | @@ -884,6 +888,7 @@ Page({ | ||
| 884 | 888 | ||
| 885 | var offline_price=0; | 889 | var offline_price=0; |
| 886 | var offline_num=0; | 890 | var offline_num=0; |
| 891 | + th.data.in_zhact_gdmap={}; | ||
| 887 | 892 | ||
| 888 | 893 | ||
| 889 | if(dda && dda.length>0){ | 894 | if(dda && dda.length>0){ |
| @@ -902,7 +907,8 @@ Page({ | @@ -902,7 +907,8 @@ Page({ | ||
| 902 | 907 | ||
| 903 | var obj=JSON.parse(JSON.stringify(item[j])); | 908 | var obj=JSON.parse(JSON.stringify(item[j])); |
| 904 | //计算之前先移除 | 909 | //计算之前先移除 |
| 905 | - zh_calc.remove_zhprom(dda,i,obj); | 910 | + if(obj.prom_type==7) |
| 911 | + zh_calc.remove_zhprom(dda,i,obj); | ||
| 906 | 912 | ||
| 907 | 913 | ||
| 908 | if (fir == 0) { | 914 | if (fir == 0) { |
| @@ -917,7 +923,8 @@ Page({ | @@ -917,7 +923,8 @@ Page({ | ||
| 917 | var txt = "requestData[" + i + "].goods[" + j + "].selected"; | 923 | var txt = "requestData[" + i + "].goods[" + j + "].selected"; |
| 918 | 924 | ||
| 919 | if(e.data.checkAllToggle) obj.goods_num=0; | 925 | if(e.data.checkAllToggle) obj.goods_num=0; |
| 920 | - zh_calc.add_zhprom(dda,i,obj); | 926 | + if(obj.prom_type==7) |
| 927 | + zh_calc.add_zhprom(dda,i,obj); | ||
| 921 | 928 | ||
| 922 | e.setData({ | 929 | e.setData({ |
| 923 | [txt]: !e.data.checkAllToggle, | 930 | [txt]: !e.data.checkAllToggle, |
| @@ -1265,6 +1272,7 @@ Page({ | @@ -1265,6 +1272,7 @@ Page({ | ||
| 1265 | 1272 | ||
| 1266 | //-- 购物车 -- | 1273 | //-- 购物车 -- |
| 1267 | if(car && car.length>0){ | 1274 | if(car && car.length>0){ |
| 1275 | + th.data.in_zhact_gdmap={}; | ||
| 1268 | for (var a = 0; a < car.length; a++) { | 1276 | for (var a = 0; a < car.length; a++) { |
| 1269 | var item = car[a].goods, | 1277 | var item = car[a].goods, |
| 1270 | is_s_sele = 1; | 1278 | is_s_sele = 1; |
| @@ -1300,6 +1308,7 @@ Page({ | @@ -1300,6 +1308,7 @@ Page({ | ||
| 1300 | offline_num+=item[c].goods_num; | 1308 | offline_num+=item[c].goods_num; |
| 1301 | } | 1309 | } |
| 1302 | } | 1310 | } |
| 1311 | + | ||
| 1303 | //总的价格,把组合商品的价格拿出来 | 1312 | //总的价格,把组合商品的价格拿出来 |
| 1304 | var zh_calc_res=zh_calc.calculate_zh(car,a,th); | 1313 | var zh_calc_res=zh_calc.calculate_zh(car,a,th); |
| 1305 | tfeel+=zh_calc_res.tfeel; | 1314 | tfeel+=zh_calc_res.tfeel; |
pages/cart/cart/zh_calculate.js
| @@ -130,7 +130,14 @@ module.exports = { | @@ -130,7 +130,14 @@ module.exports = { | ||
| 130 | item.cart_num =cart_num; | 130 | item.cart_num =cart_num; |
| 131 | //-- 当商品有购买的时候,以及有限购的时候 -- | 131 | //-- 当商品有购买的时候,以及有限购的时候 -- |
| 132 | if(item.buyqty>0){ | 132 | if(item.buyqty>0){ |
| 133 | + | ||
| 134 | + console.log(111,th.data.in_zhact_gdmap); | ||
| 135 | + | ||
| 133 | var cbuy=item.buyqty-zh_b_num; | 136 | var cbuy=item.buyqty-zh_b_num; |
| 137 | + var key=item.goods_id+""+act.id; | ||
| 138 | + if(th.data.in_zhact_gdmap[key]){ | ||
| 139 | + var cbuy=item.buyqty-zh_b_num-th.data.in_zhact_gdmap[key]; | ||
| 140 | + } | ||
| 134 | //当可买的数量为0 | 141 | //当可买的数量为0 |
| 135 | if(cbuy<=0){ | 142 | if(cbuy<=0){ |
| 136 | item.num=0; | 143 | item.num=0; |
| @@ -158,7 +165,6 @@ module.exports = { | @@ -158,7 +165,6 @@ module.exports = { | ||
| 158 | } | 165 | } |
| 159 | if (item.num) { | 166 | if (item.num) { |
| 160 | all_num += item.num; | 167 | all_num += item.num; |
| 161 | - | ||
| 162 | //当有起购数的控制的时候 | 168 | //当有起购数的控制的时候 |
| 163 | if (item.zhqty) { | 169 | if (item.zhqty) { |
| 164 | all_zhqty += item.zhqty; | 170 | all_zhqty += item.zhqty; |
| @@ -189,6 +195,22 @@ module.exports = { | @@ -189,6 +195,22 @@ module.exports = { | ||
| 189 | 195 | ||
| 190 | //当满足组合的要求:总数要满足,起购数要满足 | 196 | //当满足组合的要求:总数要满足,起购数要满足 |
| 191 | if (all_num >= act.zhbuyqty && !need_to_buy) { | 197 | if (all_num >= act.zhbuyqty && !need_to_buy) { |
| 198 | + //商品的列表 | ||
| 199 | + for (var u in goods) { | ||
| 200 | + var ite=goods[u]; | ||
| 201 | + if(ite.buyqty>0 && ite.num>0){ | ||
| 202 | + | ||
| 203 | + console.log(222,th.data.in_zhact_gdmap); | ||
| 204 | + | ||
| 205 | + var key=ite.goods_id+""+act.id; | ||
| 206 | + if(th.data.in_zhact_gdmap[key]){ | ||
| 207 | + th.data.in_zhact_gdmap[key]+=ite.num; | ||
| 208 | + }else{ | ||
| 209 | + th.data.in_zhact_gdmap[key]=ite.num; | ||
| 210 | + } | ||
| 211 | + } | ||
| 212 | + } | ||
| 213 | + | ||
| 192 | function sortData(a, b) { | 214 | function sortData(a, b) { |
| 193 | return a.price - b.price | 215 | return a.price - b.price |
| 194 | } | 216 | } |
pages/cart/cart2/cart2.js
| @@ -120,6 +120,8 @@ Page({ | @@ -120,6 +120,8 @@ Page({ | ||
| 120 | 120 | ||
| 121 | tabs: ['门店自提', '快递邮寄'], | 121 | tabs: ['门店自提', '快递邮寄'], |
| 122 | currentTabIndex: 1, | 122 | currentTabIndex: 1, |
| 123 | + | ||
| 124 | + in_zhact_gdmap:{}, //不同门店参与同一活动的限购 | ||
| 123 | }, | 125 | }, |
| 124 | onLoad: function (t) { | 126 | onLoad: function (t) { |
| 125 | wx.setNavigationBarTitle({title: "填写订单",}) | 127 | wx.setNavigationBarTitle({title: "填写订单",}) |
| @@ -413,6 +415,7 @@ Page({ | @@ -413,6 +415,7 @@ Page({ | ||
| 413 | var arr = new Array(); | 415 | var arr = new Array(); |
| 414 | var carr = su.data.data.pageData; | 416 | var carr = su.data.data.pageData; |
| 415 | th.data.cartlist_y = carr; //存储原始购物车列表 | 417 | th.data.cartlist_y = carr; //存储原始购物车列表 |
| 418 | + th.data.in_zhact_gdmap={}; | ||
| 416 | 419 | ||
| 417 | //---是不是购买等级卡成功的返回---等级卡显示的判断--- | 420 | //---是不是购买等级卡成功的返回---等级卡显示的判断--- |
| 418 | var is_card_back = getApp().globalData.is_card_back; | 421 | var is_card_back = getApp().globalData.is_card_back; |
| @@ -651,6 +654,7 @@ Page({ | @@ -651,6 +654,7 @@ Page({ | ||
| 651 | } | 654 | } |
| 652 | } | 655 | } |
| 653 | 656 | ||
| 657 | + | ||
| 654 | //每一个门店内的组合购要进行拆分, | 658 | //每一个门店内的组合购要进行拆分, |
| 655 | //还得把组合商品的多余商品的线下价格算一算 | 659 | //还得把组合商品的多余商品的线下价格算一算 |
| 656 | for (let var1 in arr) { | 660 | for (let var1 in arr) { |
pages/cart/cart2/zh_calculate.js
| @@ -2,7 +2,7 @@ var regeneratorRuntime = require('../../../utils/runtime.js'); | @@ -2,7 +2,7 @@ var regeneratorRuntime = require('../../../utils/runtime.js'); | ||
| 2 | module.exports = { | 2 | module.exports = { |
| 3 | //主要的作用,就是把组合购多余的商品进行拆分, | 3 | //主要的作用,就是把组合购多余的商品进行拆分, |
| 4 | //如果没有达成组合购的要求,所有的商品都打回原价购买 | 4 | //如果没有达成组合购的要求,所有的商品都打回原价购买 |
| 5 | - fir_set_arr: function (c_item) { | 5 | + fir_set_arr: function (c_item,th) { |
| 6 | //组合活动,以及组合活动从表的商品 | 6 | //组合活动,以及组合活动从表的商品 |
| 7 | let zh_prom_goods = c_item.zh_prom_goods; | 7 | let zh_prom_goods = c_item.zh_prom_goods; |
| 8 | let goods = c_item.goods; //一个门店中所有的商品 | 8 | let goods = c_item.goods; //一个门店中所有的商品 |
| @@ -47,7 +47,14 @@ module.exports = { | @@ -47,7 +47,14 @@ module.exports = { | ||
| 47 | var cart_num=item.cart_num =item_j.goods_num; | 47 | var cart_num=item.cart_num =item_j.goods_num; |
| 48 | var zh_b_num=item_j.promgoodsbuynum; | 48 | var zh_b_num=item_j.promgoodsbuynum; |
| 49 | if(item.buyqty>0){ | 49 | if(item.buyqty>0){ |
| 50 | + | ||
| 51 | + var key=item.goods_id+""+act.id; | ||
| 50 | var cbuy=item.buyqty-zh_b_num; | 52 | var cbuy=item.buyqty-zh_b_num; |
| 53 | + if(th.data.in_zhact_gdmap[key]){ | ||
| 54 | + var cbuy=item.buyqty-zh_b_num-th.data.in_zhact_gdmap[key]; | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + | ||
| 51 | //当可买的数量为0 | 58 | //当可买的数量为0 |
| 52 | if(cbuy<=0){ | 59 | if(cbuy<=0){ |
| 53 | item.num=0; | 60 | item.num=0; |
| @@ -97,6 +104,21 @@ module.exports = { | @@ -97,6 +104,21 @@ module.exports = { | ||
| 97 | 104 | ||
| 98 | //当满足组合的要求:总数要满足,起购数要满足 | 105 | //当满足组合的要求:总数要满足,起购数要满足 |
| 99 | if (all_num >= act.zhbuyqty && !need_to_buy) { | 106 | if (all_num >= act.zhbuyqty && !need_to_buy) { |
| 107 | + | ||
| 108 | + //商品的列表 | ||
| 109 | + for (var u in act_goos) { | ||
| 110 | + var ite=act_goos[u]; | ||
| 111 | + if(ite.buyqty>0 && ite.num>0){ | ||
| 112 | + var key=ite.goods_id+""+act.id; | ||
| 113 | + if(th.data.in_zhact_gdmap[key]){ | ||
| 114 | + th.data.in_zhact_gdmap[key]+=ite.num; | ||
| 115 | + }else{ | ||
| 116 | + th.data.in_zhact_gdmap[key]=ite.num; | ||
| 117 | + } | ||
| 118 | + } | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + | ||
| 100 | function sortData(a, b) { | 122 | function sortData(a, b) { |
| 101 | return a.price - b.price | 123 | return a.price - b.price |
| 102 | } | 124 | } |