Commit 8ec14eb5850373962431f2b371189b0caa81e39b

Authored by yvan.ni
1 parent 8f4fedfc

不同门店,买同一商品,同一组合购的活动的限购

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