diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index e1813d1..68584da 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -2844,6 +2844,30 @@ Page({ if (i_arr[j].is_pd_normal || i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3) { normal_arr[i_arr[j].goods_id] = 1; } + + //检查活动是不是满足了条件,或者要取满足条件的活动 + var fd1=null; + if(this.data.requestData[i].show_can_cx && (i_arr[j].prom_type == 3 || i_arr[j].prom_type == 7) ){ + for(var ik in this.data.requestData[i].show_can_cx){ + var ch_map=this.data.requestData[i].show_can_cx[ik].ch_map; + if(ch_map.indexOf(i_arr[j].goods_id)==-1) continue; + + var item_arr=this.data.requestData[i].show_can_cx[ik].act_arr; + fd1=item_arr.find(function (hb){ + return !hb.is_no_ok; + }) + if(fd1) break; + } + if(!fd1){ + i_arr[j].prom_id=0; + i_arr[j].prom_type=0; + }else{ + i_arr[j].prom_id=fd1.prom_id; + i_arr[j].prom_type=fd1.prom_type; + } + } + + if (i_arr[j].prom_type == 7 && (!this.data.requestData[i].need_list || (this.data.requestData[i].need_list && this.data.requestData[i].need_list.length == 0)) && i_arr[j].act && i_arr[j].act.buy_limit != 0) { let userbuynum = await this.getUserBuyPromNum(i_arr[j].goods_prom_id) console.log('活动次数:' + userbuynum); diff --git a/utils/more_cx.js b/utils/more_cx.js index fd456b6..a567d78 100644 --- a/utils/more_cx.js +++ b/utils/more_cx.js @@ -79,7 +79,7 @@ module.exports = { } } - if(!need_ok) return true; + for (var i in goods) { var item = goods[i]; var cart_num = get_num(item).goods_num; @@ -288,6 +288,12 @@ module.exports = { item_act_map.in_zhact_gdmap=in_zhact_gdmap; return true; } + + if(!need_ok) { + item_act_map.is_no_ok=1; + return true; + } + return false; }, //-- 判读一下促销分组的问题 -- @@ -436,10 +442,7 @@ module.exports = { } } - if(!need_ok){ - can_calc_cx.push(item_act_map); - continue; - } + var fir_act=item_act_map.act.fir_act; var t_goods=item_act_map.goods; @@ -465,6 +468,11 @@ module.exports = { //-- 如果有满足优惠条件的时候 -- if(yh_ok){ can_calc_cx.push(item_act_map) + }else{ + if(!need_ok){ + item_act_map.is_no_ok=1; + can_calc_cx.push(item_act_map); + } } break