diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 3317088..75799a2 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -934,11 +934,11 @@ Page({ } } } - } + //按门店分类的数组 var arr = new Array(); - + var th=this; th.data.in_zhact_gdmap = {}; //---是不是购买等级卡成功的返回---等级卡显示的判断--- @@ -8342,8 +8342,69 @@ Page({ }, //--- 不参与优惠促销的开关 --- - no_cj_prom:function (e){ - let can_cx_idx=e.currentTarget.dataset.can_cx_idx; + no_cj_prom: function (e) { + + let th=this; + let can_cx_idx = e.currentTarget.dataset.can_cx_idx; //多促销的索引 + let pidx = e.currentTarget.dataset.pidx; //订单索引 + let item = this.data.cartlist[pidx].show_can_cx[can_cx_idx]; //促销内容 + let pk=this.data.cartlist[pidx].pickup_id; //门店ID + + //给no_cj_prom进行赋值 + item.no_cj_prom = !item.no_cj_prom ? 1 : 0; + var txt = 'cartlist[' + pidx + '].show_can_cx'; + this.setData({ + [txt]: this.data.cartlist[pidx].show_can_cx, + }) + + let ck_prom_type=item.cur_act; + //处理一下商品 + let goods0 = JSON.parse(JSON.stringify(th.data.cartlist_y)); + let goods = []; + for (var ik = 0; ik < goods0.length; ik++) { + var item_c = goods0[ik]; + if (item_c.pick_id == pk && item_c.is_collocation) continue; + goods.push(item_c); + } + + //-- 此时要把购物车中的商品确定活动 -- + for (var b = 0; b < ck_prom_type.goods.length; b++) { + //-- 开始查找 -- + var fg = goods.findIndex(function (g_item) { + return g_item.goods_id == ck_prom_type.goods[b].goods_id + && [0, 3, 5, 7, 10].indexOf(g_item.prom_type) > -1 + && g_item.pick_id == pk && g_item.is_gift == 0; + }) + if (fg > -1) { + goods[fg].prom_type = ck_prom_type.prom_type; + goods[fg].prom_id = ck_prom_type.prom_id; + + //如果是不参与的话,商品的活动状态要清理 + if(item.no_cj_prom){ + goods[fg].prom_type=0; + goods[fg].prom_id=0; + } + + for (var ik = 0; ik < th.data.cartlist[pidx].goods.length; ik++) { + if (th.data.cartlist[pidx].goods[ik].id == goods[fg].id) { + th.data.cartlist[pidx].goods[ik].prom_type = goods[fg].prom_type; + th.data.cartlist[pidx].goods[ik].prom_id = goods[fg].prom_id; + } + } + } + } + + //原始数据要有深拷贝不能有地址的牵连 + th.data.cartlist_y = JSON.parse(JSON.stringify(goods)) + + + //重新调用cart_next,进行下一步计算 + wx.showLoading({ + title: "处理中.", + }) + this.get_cart_next(null, 1, {prom_type: 0, prom_id: 0}); + + } diff --git a/packageE/pages/cart/cart2/cart2.wxml b/packageE/pages/cart/cart2/cart2.wxml index 6a37c8d..d31f524 100644 --- a/packageE/pages/cart/cart2/cart2.wxml +++ b/packageE/pages/cart/cart2/cart2.wxml @@ -171,7 +171,7 @@ - + 参与优惠活动 @@ -231,7 +231,7 @@ - + 参与优惠活动 diff --git a/packageE/pages/cart/cart2/filter.wxs b/packageE/pages/cart/cart2/filter.wxs index d217310..d32491d 100644 --- a/packageE/pages/cart/cart2/filter.wxs +++ b/packageE/pages/cart/cart2/filter.wxs @@ -27,6 +27,10 @@ function check_show(items,sele_prom_type){ //is_act_last 是不是最后一个 function check_is_last(index,goods_id){ + + if(!index) index=''; + index+=''; + var gd_arr=index.split(','); var idx=-1; //-- 判断有没有包含商品 --