Commit 6c0e604bf5427596b954b7f4ab76ab6314c338c6

Authored by yvan.ni
1 parent 4eb04adf

多促销的优化

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 //-- 如果是要控制数量的时候,也就是全选的时候,或者加减号的时候 --