diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 9a253c1..8cadea0 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -797,7 +797,8 @@ Page({ a.get("/api/weshop/cart/list", { data: { user_id: to.globalData.user_id, selected: 1, state: state, - store_id: oo.stoid, pageSize: 600 + store_id: oo.stoid, pageSize: 600, + isorder:1 }, success: async function (su) { @@ -820,7 +821,7 @@ Page({ } }) - th.data.cartlist_y = carr; //存储原始购物车列表 + th.data.cartlist_y =JSON.parse(JSON.stringify(carr)); //存储原始购物车列表 wx.showLoading(); @@ -832,7 +833,7 @@ Page({ //-- is_change是有没有切换活动的意思 -- - async get_cart_next(carr,is_change){ + async get_cart_next(carr,is_change,old_prom){ //--- 切换的时候一定要把赠品去掉 --- if(is_change){ @@ -841,7 +842,14 @@ Page({ //-- 剔除赠品的数据,等到确定活动是优惠促销的时候,在显示赠品, 赠品直接删除 -- var new_arr=[]; for (var ir = 0; ir < carr.length; ir++) { - if(carr[ir].is_gift && carr[ir].id) { + + var c_ok=1; + if(old_prom && (carr[ir].prom_type!=old_prom.prom_type || carr[ir].prom_id!=old_prom.prom_id) ){ + c_ok=0; + } + + if(carr[ir].is_gift && carr[ir].id && c_ok) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + carr[ir].id; getApp().request.delete(url, { success: function (t) {} @@ -2118,37 +2126,43 @@ Page({ cart_add_gift(item_map,pickid,i,ord_goods,get_data){ var th=this; - var pos=this.find_pro_last(ord_goods,3,item_map.prom_id); var is_has_gift=this.is_has_gift(ord_goods,item_map.prom_id) //-- 没有赠品的时候才添加,避免购物车重复出现 -- - if(pos>-1 && !is_has_gift){ - var newd = { - goods_id: get_data.goods_id, - goods_num: get_data.bs * get_data.zp_num, //是赠品的翻倍 - pick_id: pickid, - user_id: app.globalData.user_id, - store_id: os.stoid, - goods_price: 0, - member_goods_price: 0, - goods_name: get_data.goods_name, - goods_sn: get_data.goodsinfo.goods_sn, - sku: get_data.goodsinfo.sku, - is_gift: 1, - prom_id: item_map.prom_id, - prom_type: 3, - selected: 1, - gift_id: get_data.gift_id, - original_img: th.data.imgUrl + get_data.goodsinfo.original_img - }; - var fd_gd=ord_goods[pos] - - newd.guide_id=fd_gd.guide_id; - newd.guide_type=fd_gd.guide_type; - newd.distr_type=fd_gd.distr_type; + if(!is_has_gift){ + + //看一下要插入的位置 + var pos=this.find_pro_last(ord_goods,3,item_map.prom_id); + var pos2=this.find_pro_last(th.data.old_cartlist[i].goods,3,item_map.prom_id); + + if(pos>-1){ + var newd = { + goods_id: get_data.goods_id, + goods_num: get_data.bs * get_data.zp_num, //是赠品的翻倍 + pick_id: pickid, + user_id: app.globalData.user_id, + store_id: os.stoid, + goods_price: 0, + member_goods_price: 0, + goods_name: get_data.goods_name, + goods_sn: get_data.goodsinfo.goods_sn, + sku: get_data.goodsinfo.sku, + is_gift: 1, + prom_id: item_map.prom_id, + prom_type: 3, + selected: 1, + gift_id: get_data.gift_id, + original_img: th.data.imgUrl + get_data.goodsinfo.original_img + }; + var fd_gd=ord_goods[pos] - ord_goods.splice(1,0,newd); + newd.guide_id=fd_gd.guide_id; + newd.guide_type=fd_gd.guide_type; + newd.distr_type=fd_gd.distr_type; + ord_goods.splice(pos+1,0,newd); + th.data.old_cartlist[i].goods.splice(pos2+1,0,newd); + } } @@ -4799,7 +4813,7 @@ Page({ //如果活动一样,那么商品的活动就要清理成0 var sh_can_cx=t_item.show_can_cx; - if(sh_can_cx){ + if(sh_can_cx && !g_item.is_zh_split){ for (let kh in sh_can_cx) { var cur=sh_can_cx[kh]?sh_can_cx[kh].cur_act:null; if(cur && cur.is_no_ok){ @@ -4845,7 +4859,7 @@ Page({ } var txt = goods.prom_id + ',' + goods.prom_type + ',' + goods.goods_id + ',' + goods.is_gift; - //--赠品的时候,阶梯促销会右重复的情况 -- + //--赠品的时候,阶梯促销会右重复的情况,还有组合购的时候拆分出去的 -- if (check_map[txt] && goods.prom_type != 10) { getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新"); return false; @@ -7740,7 +7754,8 @@ Page({ th.setData({ send_lb:{}, - month_lb:{} + month_lb:{}, + send_gf:{} }) th.data.prom_goods_map={}; @@ -7789,7 +7804,7 @@ Page({ mask: true }) //-- 重新计算一下价格 -- - th.get_cart_next(null,1); + th.get_cart_next(null,1,cx_prom_group[fir_sele]); }else{ wx.showToast({ title: ck_res.msg, diff --git a/packageE/pages/cart/cart2/cart2.wxml b/packageE/pages/cart/cart2/cart2.wxml index 5559cee..07ee0dc 100644 --- a/packageE/pages/cart/cart2/cart2.wxml +++ b/packageE/pages/cart/cart2/cart2.wxml @@ -114,10 +114,11 @@ + - + + -1){ - if(!items.is_act_last) return false; + if(items.is_act_last==0) return false; } return true; } diff --git a/packageE/pages/cart/cart2/zh_calculate.js b/packageE/pages/cart/cart2/zh_calculate.js index d6bffe1..f6b803f 100644 --- a/packageE/pages/cart/cart2/zh_calculate.js +++ b/packageE/pages/cart/cart2/zh_calculate.js @@ -264,9 +264,12 @@ module.exports = { }) goods[idx].goods_num -= num; let new_g = JSON.parse(JSON.stringify(goods[idx])); + + if(new_g.more_cx) delete new_g.more_cx; new_g.goods_num = num; new_g.prom_type = 0; new_g.prom_id = 0; + new_g.is_zh_split = 1; //-- 是组合购拆分出去的 -- goods.push(new_g); //如果商品的数量已经为空了 diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 6c0ba8b..fa4b87f 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -2207,6 +2207,7 @@ Page({ car[a].zh_map = null; car[a].ladder_map = null; + car[a].need_list = []; var item = car[a].goods, @@ -4669,7 +4670,6 @@ Page({ if (the_rs.code == 0) { th.data.change_act = 1; - th.doCheckAll(async function () { for (var i in th.data.requestData) { await th.check_prom_activity(i) diff --git a/utils/more_cx.js b/utils/more_cx.js index 36e432d..3e28e0a 100644 --- a/utils/more_cx.js +++ b/utils/more_cx.js @@ -65,10 +65,6 @@ module.exports = { } } - if(!need_ok) { - item_act_map.is_no_ok = 1; - return true; - } //-- 判断组合购的限购是不是到了 -- if(act.buy_limit>0){ var need_ck0=0;