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,7 +5504,7 @@ Page({ | ||
5504 | for (var i in goodlist) { | 5504 | for (var i in goodlist) { |
5505 | var gd = goodlist[i]; | 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 | continue; | 5508 | continue; |
5509 | } | 5509 | } |
5510 | 5510 |
pages/cart/cart/cart.js
@@ -1137,6 +1137,8 @@ Page({ | @@ -1137,6 +1137,8 @@ Page({ | ||
1137 | var th = this; | 1137 | var th = this; |
1138 | 1138 | ||
1139 | if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) { | 1139 | if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) { |
1140 | + this.clear_req(); | ||
1141 | + | ||
1140 | var s = { | 1142 | var s = { |
1141 | goods_num: a, | 1143 | goods_num: a, |
1142 | goods_id: e.goods_id, | 1144 | goods_id: e.goods_id, |
@@ -1147,6 +1149,14 @@ Page({ | @@ -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 | addNum: function (t) { | 1161 | addNum: function (t) { |
1152 | if (!this.data.is_load) return false; | 1162 | if (!this.data.is_load) return false; |
@@ -1178,6 +1188,7 @@ Page({ | @@ -1178,6 +1188,7 @@ Page({ | ||
1178 | } | 1188 | } |
1179 | } | 1189 | } |
1180 | 1190 | ||
1191 | + this.clear_req(); | ||
1181 | 1192 | ||
1182 | var e = { | 1193 | var e = { |
1183 | goods_num: a.goods_num + 1, | 1194 | goods_num: a.goods_num + 1, |
@@ -1206,6 +1217,9 @@ Page({ | @@ -1206,6 +1217,9 @@ Page({ | ||
1206 | } | 1217 | } |
1207 | 1218 | ||
1208 | if (1 != a.goods_num) { | 1219 | if (1 != a.goods_num) { |
1220 | + | ||
1221 | + this.clear_req(); | ||
1222 | + | ||
1209 | var e = { | 1223 | var e = { |
1210 | goods_num: a.goods_num - 1, | 1224 | goods_num: a.goods_num - 1, |
1211 | id: a.id, | 1225 | id: a.id, |
@@ -1466,7 +1480,7 @@ Page({ | @@ -1466,7 +1480,7 @@ Page({ | ||
1466 | 1480 | ||
1467 | this.doCheckAll(function (){ | 1481 | this.doCheckAll(function (){ |
1468 | e.all_check_prom_activity(); | 1482 | e.all_check_prom_activity(); |
1469 | - },1); | 1483 | + }); |
1470 | 1484 | ||
1471 | } | 1485 | } |
1472 | } | 1486 | } |
@@ -1893,6 +1907,23 @@ Page({ | @@ -1893,6 +1907,23 @@ Page({ | ||
1893 | //-- 购物车 -- | 1907 | //-- 购物车 -- |
1894 | if (car && car.length > 0) { | 1908 | if (car && car.length > 0) { |
1895 | th.data.in_zhact_gdmap = {}; | 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 | for (var a = 0; a < car.length; a++) { | 1927 | for (var a = 0; a < car.length; a++) { |
1897 | 1928 | ||
1898 | car[a].zh_map=null; | 1929 | car[a].zh_map=null; |
@@ -1981,11 +2012,14 @@ Page({ | @@ -1981,11 +2012,14 @@ Page({ | ||
1981 | [txt]: Number(is_s_sele) | 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 | if (offline_price) { | 2024 | if (offline_price) { |
1991 | var txt1 = "requestData[" + a + "].offline_price"; | 2025 | var txt1 = "requestData[" + a + "].offline_price"; |
@@ -2005,7 +2039,10 @@ Page({ | @@ -2005,7 +2039,10 @@ Page({ | ||
2005 | } | 2039 | } |
2006 | } | 2040 | } |
2007 | }); | 2041 | }); |
2042 | + | ||
2008 | } | 2043 | } |
2044 | + | ||
2045 | + var gb=1; | ||
2009 | //-- 切换活动的按钮要把他返回 -- | 2046 | //-- 切换活动的按钮要把他返回 -- |
2010 | this.data.change_act=0; | 2047 | this.data.change_act=0; |
2011 | if(func) func(); | 2048 | if(func) func(); |
utils/more_cx.js
@@ -298,7 +298,7 @@ module.exports = { | @@ -298,7 +298,7 @@ module.exports = { | ||
298 | }, | 298 | }, |
299 | //-- 判读一下促销分组的问题 -- | 299 | //-- 判读一下促销分组的问题 -- |
300 | //-- is_need_ck_num 是多门店计算的时候,数量是不是要累家计算,主要是拿来计算限购 -- | 300 | //-- is_need_ck_num 是多门店计算的时候,数量是不是要累家计算,主要是拿来计算限购 -- |
301 | - //-- need_ok是判断要不要满足条件 -- | 301 | + //-- need_ok是判断要不要满足条件,这是在cart2的时候,才会赋值成1 -- |
302 | async cart_cx_group(th,goods,car_item,is_need_ck_num,need_ok,func){ | 302 | async cart_cx_group(th,goods,car_item,is_need_ck_num,need_ok,func){ |
303 | 303 | ||
304 | var os= getApp().globalData.setting; | 304 | var os= getApp().globalData.setting; |
@@ -538,23 +538,6 @@ module.exports = { | @@ -538,23 +538,6 @@ module.exports = { | ||
538 | //当满足组合的要求:总数要满足,起购数要满足 | 538 | //当满足组合的要求:总数要满足,起购数要满足 |
539 | if(this.ch_zh_ok(zh_pro0,zhact_gdlist,zh_goods,th,item_act_map,is_need_ck_num,need_ok)){ | 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 | can_calc_cx.push(item_act_map) | 541 | can_calc_cx.push(item_act_map) |
559 | } | 542 | } |
560 | break; | 543 | break; |
@@ -625,11 +608,15 @@ module.exports = { | @@ -625,11 +608,15 @@ module.exports = { | ||
625 | return el.sele; | 608 | return el.sele; |
626 | }) | 609 | }) |
627 | 610 | ||
611 | + //如果 | ||
612 | + | ||
628 | } | 613 | } |
629 | //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 -- | 614 | //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 -- |
630 | if(!ck_prom_type){ | 615 | if(!ck_prom_type){ |
631 | ck_prom_type=k_item.act_arr[0]; | 616 | ck_prom_type=k_item.act_arr[0]; |
632 | k_item.act_arr[0].sele=1; | 617 | k_item.act_arr[0].sele=1; |
618 | + //-- 把当前活动进行赋值 -- | ||
619 | + k_item.cur_act=ck_prom_type; | ||
633 | } | 620 | } |
634 | 621 | ||
635 | //-- 如果是要控制数量的时候,也就是全选的时候,或者加减号的时候 -- | 622 | //-- 如果是要控制数量的时候,也就是全选的时候,或者加减号的时候 -- |