Commit 6c0e604bf5427596b954b7f4ab76ab6314c338c6

Authored by yvan.ni
1 parent 4eb04adf

多促销的优化

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