diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 765e633..e4f0392 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -133,6 +133,8 @@ Page({ in_zhact:{}, //组合购活动在列表中的显示 in_yhact:{}, //优惠活动在列表中的显示 + in_zh_gd_buy_map:{}, //就是商品在组合购中的 + in_zhact_gdmap_new: {}, //不同门店参与同一活动的限购,这些都是map表,是多促销互动专用,不能和in_zhact_gdmap重叠 in_zhact_new:{}, //组合购活动在列表中的显示 是多促销互动专用,不能和in_zhact重叠 in_yhact_new:{}, //组合购活动在列表中的显示 是多促销互动专用,不能和in_yhact重叠 diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 63caa60..56447b4 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -46,6 +46,7 @@ Page({ in_zhact_gdmap: {}, //不同门店参与同一活动的限购 in_zhact:{}, //组合购活动在列表中的显示 in_yhact:{}, //优惠活动在列表中的显示 + in_zh_gd_buy_map:{}, //就是商品在组合购中的 ladder_map: {}, //阶梯促销需要的map @@ -1908,7 +1909,6 @@ Page({ if (car && car.length > 0) { th.data.in_zhact_gdmap = {}; - //-- 第一次过滤,show_can_cx的还要遍历一遍,确保数据的正确性 -- var rd_arr=[]; for (var a = 0; a < car.length; a++) { @@ -1917,22 +1917,52 @@ Page({ rd_arr.push(show_can_cx) }) } + //--- 第二次过滤 --- for(var ui=0;ui{ + rd_arr[ui]=show_can_cx; + }) + } } for (var a = 0; a < car.length; a++) { + //-- 把活动组装进去 --- + var show_can_cx=rd_arr[a]; + + car[a].zh_map=null; + car[a].ladder_map=null; - car[a].zh_map=null; - car[a].ladder_map=null; + var item = car[a].goods, is_s_sele = 1; + //-- 先批量判断一下活动的类型,同时要同步跟新 -- - var item = car[a].goods, is_s_sele = 1; - //-- 先批量判断一下活动的类型,同时要同步跟新 -- - await m_cx.cart_cx_group(th,item,car[a],1,n_ok,(show_can_cx)=>{ var offline_price = 0; var offline_num = 0; for (var c = 0; c < item.length; c++) { @@ -2012,13 +2042,13 @@ Page({ [txt]: Number(is_s_sele) }); - // var txt1 = "requestData[" + a + "].show_can_cx"; - // th.setData({ - // [txt1]: show_can_cx - // }); + var txt1 = "requestData[" + a + "].show_can_cx"; + th.setData({ + [txt1]: show_can_cx + }); - var et={show_can_cx:show_can_cx}; - rd_arr.push(et); + //-- var et={show_can_cx:show_can_cx}; + //-- rd_arr.push(et); //当有线下取价的时候 if (offline_price) { @@ -2038,11 +2068,9 @@ Page({ }); } } - }); - } - var gb=1; + //-- 切换活动的按钮要把他返回 -- this.data.change_act=0; if(func) func(); diff --git a/utils/more_cx.js b/utils/more_cx.js index 21815c7..4cf12a0 100644 --- a/utils/more_cx.js +++ b/utils/more_cx.js @@ -440,21 +440,33 @@ module.exports = { need_num=th.data.in_yhact_new[aid]?th.data.in_yhact_new[aid]:0; } //-- 判断优惠促销要不要限购 -- - var fd=null; - var fd_res = await getApp().request.promiseGet('/api/weshop/promgoods/get/'+os.stoid+'/'+ky0,{}) - if(fd_res && fd_res.data.code==0 ){ - fd=fd_res.data.data; + var fd=th.data.in_yhact[aid]; + if(!fd) { + var fd_res = await getApp().request.promiseGet('/api/weshop/promgoods/get/' + os.stoid + '/' + aid, {}) + if (fd_res && fd_res.data.code == 0) { + fd = fd_res.data.data; + th.data.in_yhact[aid]=fd; + } } //如果有限购的时候,也要计算一下 if (fd && fd['limit_num'] > 0){ - //-- 获取已经购买了多少件 -- - var url = "/api/weshop/ordergoods/getUserBuyPromNum?store_id="+os.stoid+"&user_id=" - +getApp().globalData.user_id+"&prom_type=3&prom_id="+zh_pro0.id; - await getApp().request.promiseGet(url, {}).then(rh => { - if(rh.data.code==0){ - item_act_map.buyed=rh.data.data.userbuynum; - } - }) + // 优惠的促销的限购要反写进去不和 + item_act_map.limit_num=fd['limit_num']; + if(fd.hasOwnProperty('buyed')){ + item_act_map.buyed= fd.buyed; + }else{ + //-- 获取已经购买了多少件 -- + var url = "/api/weshop/ordergoods/getUserBuyPromNum?store_id="+os.stoid+"&user_id=" + +getApp().globalData.user_id+"&prom_type=3&prom_id="+zh_pro0.id; + await getApp().request.promiseGet(url, {}).then(rh => { + if(rh.data.code==0){ + item_act_map.buyed=rh.data.data.userbuynum; + fd.buyed=rh.data.data.userbuynum; + th.data.in_yhact[aid].buyed=rh.data.data.userbuynum; + } + }) + } + if(item_act_map.buyed+need_num>=fd['limit_num']){ continue; //-- 进行下一个循环 -- } @@ -500,21 +512,30 @@ module.exports = { var zh_goods=item_act_map.goods; //--- 要循环计算一下商品的已购数量 --- for(var h=0;h { + if(rh.data.code==0){ + item_act_map.buyed=rh.data.data.userbuynum; + zh_pro0.buyed=rh.data.data.userbuynum; + } + }) + } - //-- 获取活动信息 -- - var url = "/api/weshop/ordergoods/getUserBuyPromNum?store_id="+os.stoid+"&user_id=" - +getApp().globalData.user_id+"&prom_type=7&prom_id="+zh_pro0.id; - await getApp().request.promiseGet(url, {}).then(rh => { - if(rh.data.code==0){ - item_act_map.buyed=rh.data.data.userbuynum; - } - }) //当满足组合的要求:总数要满足,起购数要满足 if(this.ch_zh_ok(zh_pro0,zhact_gdlist,zh_goods,th,item_act_map,is_need_ck_num,need_ok)){ - can_calc_cx.push(item_act_map) } break;