From 238fb1839c0c234436c13ecf3ceb7344f1c24cd2 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Wed, 5 Jul 2023 13:44:27 +0800 Subject: [PATCH] 购物车要清理掉 赠品,凑单的信息后,才重新计算 --- pages/cart/cart/cart.js | 65 +++++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index b7887ce..fe72fe5 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -1440,7 +1440,6 @@ Page({ [txt0]: {}, }); - if (e.data.checkAllToggle) { var txt = "requestData[" + i + "].selected"; e.setData({ @@ -1681,6 +1680,12 @@ Page({ fir = 0, iarr = item; + //清空-- 多个促销的切换 -- + var txt0 = "requestData[" + pitems + "].show_can_cx"; + e.setData({ + [txt0]: {}, + }); + if (!sele) { var check_is_service_selected = 0; for (var ii in garr) { @@ -1837,8 +1842,6 @@ Page({ th.doCheckAll(async function () { - - e.data.duo_zp_num_arr = {}; if (sele) { await e.check_prom_activity(pitems); @@ -2155,7 +2158,7 @@ Page({ this.doCheckAll(); }, - //----------检查是否全选--------- + //----------检查是否全选,同时检验各种活动--------- doCheckAll: async function (func, n_ok) { var th = this, tfeel = 0, @@ -2198,6 +2201,7 @@ Page({ if(car.length>1 && c_ind>-1){ var ite2 = car[c_ind].goods; + //检验和设置商品的最终是以 取用什么活动,因为多促销 await m_cx.cart_cx_group(th, ite2, car[c_ind], 0, n_ok, (show_can_cx) => { rd_arr[c_ind]=show_can_cx; }) @@ -2210,19 +2214,37 @@ Page({ car[a].zh_map = null; car[a].ladder_map = null; + //-- 这里是清理了组合购的去凑单 -- var txt = "requestData[" + a + "].need_list"; //car[a].need_list = []; th.setData({[txt]:[]}); + //-- 这里清理赠品 -- + var txt2 = "requestData[" + a + "].send_gift_arr"; + //car[a].need_list = []; + th.setData({[txt2]:[]}); + //-- 这里是清理了优惠的去凑单 -- + var rq_text2 = "requestData[" + a + "].make_up_arr"; + this.setData({ + [rq_text2]: null, + }) + var item = car[a].goods,is_s_sele = 1; - var item = car[a].goods, - is_s_sele = 1; //-- 先批量判断一下活动的类型,同时要同步跟新 -- - var offline_price = 0; var offline_num = 0; for (var c = 0; c < item.length; c++) { - if (item[c].is_gift) continue; + //清理一下赠品 + if (item[c].is_gift) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item[c].id; + //getApp().request.delete(url, {}); + await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除 + item.splice(c, 1); + //索引要回退一下 + --c; + continue; + } + all_num += item[c].goods_num; if (item[c].prom_type == 7) { @@ -2253,7 +2275,6 @@ Page({ } else { - if (item[c].prom_type == 7) { //先把商品放入组合计算的专用的区域 console.log('是组合商品---') @@ -2298,8 +2319,10 @@ Page({ }); var txt1 = "requestData[" + a + "].show_can_cx"; + var txt_g = "requestData[" + a + "].goods"; th.setData({ - [txt1]: show_can_cx + [txt1]: show_can_cx, + [txt_g]:item }); //-- var et={show_can_cx:show_can_cx}; @@ -3093,18 +3116,19 @@ Page({ getApp().request.put("/api/weshop/cart/update", { data: t, success: async function (ee) { - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; - e.setData({ - [txt]: t.goods_num, - }); + e.doCheckAll(async function (){ + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; + e.setData({ + [txt]: t.goods_num, + }); - e.data.duo_zp_num_arr = {}; - //await e.check_prom_activity(pitem) - for (var i in e.data.requestData) { - await e.check_prom_activity(i) - } - e.doCheckAll(); + e.data.duo_zp_num_arr = {}; + //await e.check_prom_activity(pitem) + for (var i in e.data.requestData) { + await e.check_prom_activity(i) + } + }); getApp().requestCardNum(e); } }); @@ -4673,6 +4697,7 @@ Page({ else cx_prom_group[dx].sele = 1; } + // -- 判断 -- this.cx_check_ok2(async function (the_rs) { if (the_rs.code == 0) { th.data.change_act = 1; -- libgit2 0.21.4