From 0537cc9f7695f85a4cd206398648e7ebd2f620b3 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Sat, 16 Apr 2022 17:23:34 +0800 Subject: [PATCH] 多增品 多门店的时候的优化 --- packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js | 4 ++-- packageC/pages/payForAnother/payForAnother.js | 4 ++-- packageC/pages/presell/cart/cart2.js | 2 +- pages/cart/cart/cart.js | 37 +++++++++++++++++++++++++------------ pages/cart/cart2/cart2.js | 18 +++++++++++------- 5 files changed, 41 insertions(+), 24 deletions(-) diff --git a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js index dc20cad..82fb3dc 100644 --- a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js +++ b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js @@ -1115,7 +1115,7 @@ Page({ //等待,获取一下优惠活动的信息 await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: item_map.price, prom_id: item_map.prom_id, + price: parseFloat(item_map.price).toFixed(2),prom_id: item_map.prom_id, goods_num: item_map.goods_num, user_id: getApp().globalData.user_id, is_bz: item_map.is_bz } @@ -3653,7 +3653,7 @@ Page({ prom = res.data.data; return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: price, + price: parseFloat(price).toFixed(2), prom_id: prom_id, goods_num: arr.goods_num, user_id: getApp().globalData.user_id, diff --git a/packageC/pages/payForAnother/payForAnother.js b/packageC/pages/payForAnother/payForAnother.js index 7c3cffd..8f220da 100644 --- a/packageC/pages/payForAnother/payForAnother.js +++ b/packageC/pages/payForAnother/payForAnother.js @@ -1036,7 +1036,7 @@ Page({ //等待,获取一下优惠活动的信息 await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: item_map.price, prom_id: item_map.prom_id, + price: parseFloat(item_map.price).toFixed(2),prom_id: item_map.prom_id, goods_num: item_map.goods_num, user_id: getApp().globalData.user_id, is_bz: item_map.is_bz } @@ -3509,7 +3509,7 @@ Page({ prom = res.data.data; return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: price, + price:parseFloat(price).toFixed(2) , prom_id: prom_id, goods_num: arr.goods_num, user_id: getApp().globalData.user_id, diff --git a/packageC/pages/presell/cart/cart2.js b/packageC/pages/presell/cart/cart2.js index cd3c262..9116ed3 100644 --- a/packageC/pages/presell/cart/cart2.js +++ b/packageC/pages/presell/cart/cart2.js @@ -2440,7 +2440,7 @@ Page({ prom = res.data.data; return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: price, + price: parseFloat(price).toFixed(2), prom_id: prom_id, goods_num: arr.goods_num, user_id: getApp().globalData.user_id, diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index d7151b4..a00528d 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -1314,6 +1314,7 @@ Page({ total_num: t_num, }); + th.data.duo_zp_num_arr={}; for (var i in e.data.requestData) { e.check_prom_activity(i) } @@ -1418,9 +1419,13 @@ Page({ [txt]: Number(!sele), }); - await e.check_prom_activity(pitems); + e.data.duo_zp_num_arr={}; + if (sele) { + await e.check_prom_activity(pitems); + } for (var i in e.data.requestData) { - if (i != pitems) await e.check_prom_activity(i); + if(sele && i==pitems) continue; + await e.check_prom_activity(i); } this.doCheckAll(); }, @@ -1486,11 +1491,14 @@ Page({ }); if (a.prom_type == 3) { - - await e.check_prom_activity(pitems); + e.data.duo_zp_num_arr={}; + if (!a.selected) { + await e.check_prom_activity(pitems); + } //判断商品是不是优惠活动 for (var i in e.data.requestData) { - if (i != pitems) await e.check_prom_activity(i); + if(!a.selected && i==pitems) continue; + await e.check_prom_activity(i); } } this.doCheckAll(); @@ -2374,9 +2382,10 @@ Page({ [txt]: t.goods_num, }); - await e.check_prom_activity(pitem) + e.data.duo_zp_num_arr={}; + //await e.check_prom_activity(pitem) for (var i in e.data.requestData) { - if (i != pitem) await e.check_prom_activity(i) + await e.check_prom_activity(i) } e.doCheckAll(); getApp().requestCardNum(e); @@ -2846,6 +2855,7 @@ Page({ var list2 = alllist[cindex]; var no_gift_arr = []; + //主要判断有没有促销活动 var is_sele_prom = 0; var is_gift_del = 0; @@ -2984,7 +2994,7 @@ Page({ //-- 只有在单赠品的时候,才要进行计算 -- await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: ob.price, + price: parseFloat(ob.price).toFixed(2), prom_id: p_item[0], goods_num: ob.num, user_id: getApp().globalData.user_id, @@ -3001,21 +3011,24 @@ Page({ if (parseInt(discount.zp_mode)== 1 ) { - var a_stock_num=0; + var can_zp_num=0; var a_limit_num=0; for(let iy in discount.giftsinfo){ let item=discount.giftsinfo[iy]; - a_stock_num+= parseInt(item.gift_storecount); - a_limit_num+=parseInt(item.limit_num); + can_zp_num+= parseInt(item.gift_storecount)>parseInt(item.limit_num)?parseInt(item.limit_num): parseInt(item.gift_storecount); } var t_zp_num=parseInt(discount.zp_num)*parseInt(discount.bs); - if(a_limit_num>=t_zp_num && a_stock_num>=t_zp_num ) { + if(th.data.duo_zp_num_arr[prom.id]){ + t_zp_num+=th.data.duo_zp_num_arr[prom.id]; + } + if(can_zp_num>=t_zp_num ) { var json={}; json.prom_id=prom.id; json.prom_name=prom.name; send_gift_arr.push(json); + th.data.duo_zp_num_arr[prom.id]=t_zp_num; } } diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 8623add..7e1ecdf 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -1175,6 +1175,7 @@ Page({ calc_per: async function (c_arr) { var send_gf={}; + var duo_zp_num_arr={}; var th = this; //-- 循环处理 -- for (var i in c_arr) { @@ -1196,7 +1197,7 @@ Page({ //等待,获取一下优惠活动的信息 await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: item_map.price, prom_id: item_map.prom_id, + price:parseFloat(item_map.price).toFixed(2),prom_id:item_map.prom_id, goods_num: item_map.goods_num, user_id: getApp().globalData.user_id, is_bz: item_map.is_bz } @@ -1240,17 +1241,18 @@ Page({ if(parseInt(get_data.zp_mode)==1){ if(!send_gf[pickid]) send_gf[pickid]=[]; - var a_stock_num=0; - var a_limit_num=0; + var can_zp_num=0; for(let iy in get_data.giftsinfo){ let item=get_data.giftsinfo[iy]; - a_stock_num+= parseInt(item.gift_storecount); - a_limit_num+=parseInt(item.limit_num); + can_zp_num+= parseInt(item.gift_storecount)>parseInt(item.limit_num)?parseInt(item.limit_num):parseInt(item.gift_storecount); } var t_zp_num=parseInt(get_data.zp_num)*parseInt(get_data.bs); - if(a_limit_num>=t_zp_num && a_stock_num>=t_zp_num) { + if(duo_zp_num_arr[item_map.prom_id]){ + t_zp_num+=duo_zp_num_arr[item_map.prom_id]; + } + if(can_zp_num>=t_zp_num) { send_gf[pickid].push({ pickup_id: pickid, giftsinfo: get_data.giftsinfo, @@ -1258,6 +1260,8 @@ Page({ gf_pr_name: item_map.name, prom_id: item_map.prom_id }); + + duo_zp_num_arr[item_map.prom_id]=t_zp_num; } } } @@ -4049,7 +4053,7 @@ Page({ prom = res.data.data; return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { - price: price, + price: parseFloat(price).toFixed(2), prom_id: prom_id, goods_num: arr.goods_num, user_id: getApp().globalData.user_id, -- libgit2 0.21.4