Commit 6c0e604bf5427596b954b7f4ab76ab6314c338c6
1 parent
4eb04adf
多促销的优化
Showing
3 changed files
with
49 additions
and
25 deletions
packageE/pages/cart/cart2/cart2.js
... | ... | @@ -5504,7 +5504,7 @@ Page({ |
5504 | 5504 | for (var i in goodlist) { |
5505 | 5505 | var gd = goodlist[i]; |
5506 | 5506 | //--如果是秒杀就跳出,如果是赠品,如果是组合购限制使用优惠券-- |
5507 | - if (gd.whsle_id == 1 || gd.prom_type == 1 || gd.is_gift || (gd.prom_type == 7 && gd.act.is_xz_yh) || gd.is_xz_yh == 1) { | |
5507 | + if (gd.whsle_id == 1 || gd.prom_type == 1 || gd.is_gift || (gd.prom_type == 7 && gd.act && gd.act.is_xz_yh) || gd.is_xz_yh == 1) { | |
5508 | 5508 | continue; |
5509 | 5509 | } |
5510 | 5510 | ... | ... |
pages/cart/cart/cart.js
... | ... | @@ -1137,6 +1137,8 @@ Page({ |
1137 | 1137 | var th = this; |
1138 | 1138 | |
1139 | 1139 | if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) { |
1140 | + this.clear_req(); | |
1141 | + | |
1140 | 1142 | var s = { |
1141 | 1143 | goods_num: a, |
1142 | 1144 | goods_id: e.goods_id, |
... | ... | @@ -1147,6 +1149,14 @@ Page({ |
1147 | 1149 | } |
1148 | 1150 | }, |
1149 | 1151 | |
1152 | + clear_req:function (){ | |
1153 | + var carr=this.data.requestData; | |
1154 | + for(var i=0;i<carr.length;i++){ | |
1155 | + var txt='requestData['+i+'].show_can_cx' | |
1156 | + this.setData({[txt]:null}); | |
1157 | + } | |
1158 | + }, | |
1159 | + | |
1150 | 1160 | //-------------加数量------------- |
1151 | 1161 | addNum: function (t) { |
1152 | 1162 | if (!this.data.is_load) return false; |
... | ... | @@ -1178,6 +1188,7 @@ Page({ |
1178 | 1188 | } |
1179 | 1189 | } |
1180 | 1190 | |
1191 | + this.clear_req(); | |
1181 | 1192 | |
1182 | 1193 | var e = { |
1183 | 1194 | goods_num: a.goods_num + 1, |
... | ... | @@ -1206,6 +1217,9 @@ Page({ |
1206 | 1217 | } |
1207 | 1218 | |
1208 | 1219 | if (1 != a.goods_num) { |
1220 | + | |
1221 | + this.clear_req(); | |
1222 | + | |
1209 | 1223 | var e = { |
1210 | 1224 | goods_num: a.goods_num - 1, |
1211 | 1225 | id: a.id, |
... | ... | @@ -1466,7 +1480,7 @@ Page({ |
1466 | 1480 | |
1467 | 1481 | this.doCheckAll(function (){ |
1468 | 1482 | e.all_check_prom_activity(); |
1469 | - },1); | |
1483 | + }); | |
1470 | 1484 | |
1471 | 1485 | } |
1472 | 1486 | } |
... | ... | @@ -1893,6 +1907,23 @@ Page({ |
1893 | 1907 | //-- 购物车 -- |
1894 | 1908 | if (car && car.length > 0) { |
1895 | 1909 | th.data.in_zhact_gdmap = {}; |
1910 | + | |
1911 | + | |
1912 | + //-- 第一次过滤,show_can_cx的还要遍历一遍,确保数据的正确性 -- | |
1913 | + var rd_arr=[]; | |
1914 | + for (var a = 0; a < car.length; a++) { | |
1915 | + var ite1=car[a].goods; | |
1916 | + await m_cx.cart_cx_group(th,ite1,car[a],1,n_ok,(show_can_cx)=>{ | |
1917 | + rd_arr.push(show_can_cx) | |
1918 | + }) | |
1919 | + } | |
1920 | + //--- 第二次过滤 --- | |
1921 | + for(var ui=0;ui<rd_arr.length;ui++){ | |
1922 | + | |
1923 | + } | |
1924 | + | |
1925 | + | |
1926 | + | |
1896 | 1927 | for (var a = 0; a < car.length; a++) { |
1897 | 1928 | |
1898 | 1929 | car[a].zh_map=null; |
... | ... | @@ -1981,11 +2012,14 @@ Page({ |
1981 | 2012 | [txt]: Number(is_s_sele) |
1982 | 2013 | }); |
1983 | 2014 | |
1984 | - var txt1 = "requestData[" + a + "].show_can_cx"; | |
1985 | - th.setData({ | |
1986 | - [txt1]: show_can_cx | |
1987 | - }); | |
1988 | - | |
2015 | + // var txt1 = "requestData[" + a + "].show_can_cx"; | |
2016 | + // th.setData({ | |
2017 | + // [txt1]: show_can_cx | |
2018 | + // }); | |
2019 | + | |
2020 | + var et={show_can_cx:show_can_cx}; | |
2021 | + rd_arr.push(et); | |
2022 | + | |
1989 | 2023 | //当有线下取价的时候 |
1990 | 2024 | if (offline_price) { |
1991 | 2025 | var txt1 = "requestData[" + a + "].offline_price"; |
... | ... | @@ -2005,7 +2039,10 @@ Page({ |
2005 | 2039 | } |
2006 | 2040 | } |
2007 | 2041 | }); |
2042 | + | |
2008 | 2043 | } |
2044 | + | |
2045 | + var gb=1; | |
2009 | 2046 | //-- 切换活动的按钮要把他返回 -- |
2010 | 2047 | this.data.change_act=0; |
2011 | 2048 | if(func) func(); | ... | ... |
utils/more_cx.js
... | ... | @@ -298,7 +298,7 @@ module.exports = { |
298 | 298 | }, |
299 | 299 | //-- 判读一下促销分组的问题 -- |
300 | 300 | //-- is_need_ck_num 是多门店计算的时候,数量是不是要累家计算,主要是拿来计算限购 -- |
301 | - //-- need_ok是判断要不要满足条件 -- | |
301 | + //-- need_ok是判断要不要满足条件,这是在cart2的时候,才会赋值成1 -- | |
302 | 302 | async cart_cx_group(th,goods,car_item,is_need_ck_num,need_ok,func){ |
303 | 303 | |
304 | 304 | var os= getApp().globalData.setting; |
... | ... | @@ -538,23 +538,6 @@ module.exports = { |
538 | 538 | //当满足组合的要求:总数要满足,起购数要满足 |
539 | 539 | if(this.ch_zh_ok(zh_pro0,zhact_gdlist,zh_goods,th,item_act_map,is_need_ck_num,need_ok)){ |
540 | 540 | |
541 | - if(is_need_ck_num){ | |
542 | - //先缓存活动数量 | |
543 | - var need_ck=th.data.in_zhact_new[aid]?th.data.in_zhact_new[aid]:0; | |
544 | - need_ck+=item_act_map.act_num; | |
545 | - th.data.in_zhact_new[aid]=need_ck; | |
546 | - | |
547 | - if(item_act_map.in_zhact_gdmap){ | |
548 | - var in_zhact_gdmap1 = item_act_map['in_zhact_gdmap']; | |
549 | - for (var vg in in_zhact_gdmap1) { | |
550 | - if (!th.data.in_zhact_gdmap_new[vg]) th.data.in_zhact_gdmap_new[vg] = 0; | |
551 | - th.data.in_zhact_gdmap_new[vg] += in_zhact_gdmap1[vg]; | |
552 | - } | |
553 | - } | |
554 | - | |
555 | - | |
556 | - } | |
557 | - | |
558 | 541 | can_calc_cx.push(item_act_map) |
559 | 542 | } |
560 | 543 | break; |
... | ... | @@ -625,11 +608,15 @@ module.exports = { |
625 | 608 | return el.sele; |
626 | 609 | }) |
627 | 610 | |
611 | + //如果 | |
612 | + | |
628 | 613 | } |
629 | 614 | //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 -- |
630 | 615 | if(!ck_prom_type){ |
631 | 616 | ck_prom_type=k_item.act_arr[0]; |
632 | 617 | k_item.act_arr[0].sele=1; |
618 | + //-- 把当前活动进行赋值 -- | |
619 | + k_item.cur_act=ck_prom_type; | |
633 | 620 | } |
634 | 621 | |
635 | 622 | //-- 如果是要控制数量的时候,也就是全选的时候,或者加减号的时候 -- | ... | ... |