Commit 238fb1839c0c234436c13ecf3ceb7344f1c24cd2

Authored by yvan.ni
1 parent 6b519695

购物车要清理掉 赠品,凑单的信息后,才重新计算

Showing 1 changed file with 45 additions and 20 deletions
pages/cart/cart/cart.js
@@ -1440,7 +1440,6 @@ Page({ @@ -1440,7 +1440,6 @@ Page({
1440 [txt0]: {}, 1440 [txt0]: {},
1441 }); 1441 });
1442 1442
1443 -  
1444 if (e.data.checkAllToggle) { 1443 if (e.data.checkAllToggle) {
1445 var txt = "requestData[" + i + "].selected"; 1444 var txt = "requestData[" + i + "].selected";
1446 e.setData({ 1445 e.setData({
@@ -1681,6 +1680,12 @@ Page({ @@ -1681,6 +1680,12 @@ Page({
1681 fir = 0, 1680 fir = 0,
1682 iarr = item; 1681 iarr = item;
1683 1682
  1683 + //清空-- 多个促销的切换 --
  1684 + var txt0 = "requestData[" + pitems + "].show_can_cx";
  1685 + e.setData({
  1686 + [txt0]: {},
  1687 + });
  1688 +
1684 if (!sele) { 1689 if (!sele) {
1685 var check_is_service_selected = 0; 1690 var check_is_service_selected = 0;
1686 for (var ii in garr) { 1691 for (var ii in garr) {
@@ -1837,8 +1842,6 @@ Page({ @@ -1837,8 +1842,6 @@ Page({
1837 1842
1838 th.doCheckAll(async function () { 1843 th.doCheckAll(async function () {
1839 1844
1840 -  
1841 -  
1842 e.data.duo_zp_num_arr = {}; 1845 e.data.duo_zp_num_arr = {};
1843 if (sele) { 1846 if (sele) {
1844 await e.check_prom_activity(pitems); 1847 await e.check_prom_activity(pitems);
@@ -2155,7 +2158,7 @@ Page({ @@ -2155,7 +2158,7 @@ Page({
2155 this.doCheckAll(); 2158 this.doCheckAll();
2156 }, 2159 },
2157 2160
2158 - //----------检查是否全选--------- 2161 + //----------检查是否全选,同时检验各种活动---------
2159 doCheckAll: async function (func, n_ok) { 2162 doCheckAll: async function (func, n_ok) {
2160 var th = this, 2163 var th = this,
2161 tfeel = 0, 2164 tfeel = 0,
@@ -2198,6 +2201,7 @@ Page({ @@ -2198,6 +2201,7 @@ Page({
2198 2201
2199 if(car.length>1 && c_ind>-1){ 2202 if(car.length>1 && c_ind>-1){
2200 var ite2 = car[c_ind].goods; 2203 var ite2 = car[c_ind].goods;
  2204 + //检验和设置商品的最终是以 取用什么活动,因为多促销
2201 await m_cx.cart_cx_group(th, ite2, car[c_ind], 0, n_ok, (show_can_cx) => { 2205 await m_cx.cart_cx_group(th, ite2, car[c_ind], 0, n_ok, (show_can_cx) => {
2202 rd_arr[c_ind]=show_can_cx; 2206 rd_arr[c_ind]=show_can_cx;
2203 }) 2207 })
@@ -2210,19 +2214,37 @@ Page({ @@ -2210,19 +2214,37 @@ Page({
2210 car[a].zh_map = null; 2214 car[a].zh_map = null;
2211 car[a].ladder_map = null; 2215 car[a].ladder_map = null;
2212 2216
  2217 + //-- 这里是清理了组合购的去凑单 --
2213 var txt = "requestData[" + a + "].need_list"; 2218 var txt = "requestData[" + a + "].need_list";
2214 //car[a].need_list = []; 2219 //car[a].need_list = [];
2215 th.setData({[txt]:[]}); 2220 th.setData({[txt]:[]});
  2221 + //-- 这里清理赠品 --
  2222 + var txt2 = "requestData[" + a + "].send_gift_arr";
  2223 + //car[a].need_list = [];
  2224 + th.setData({[txt2]:[]});
  2225 + //-- 这里是清理了优惠的去凑单 --
  2226 + var rq_text2 = "requestData[" + a + "].make_up_arr";
  2227 + this.setData({
  2228 + [rq_text2]: null,
  2229 + })
2216 2230
  2231 + var item = car[a].goods,is_s_sele = 1;
2217 2232
2218 - var item = car[a].goods,  
2219 - is_s_sele = 1;  
2220 //-- 先批量判断一下活动的类型,同时要同步跟新 -- 2233 //-- 先批量判断一下活动的类型,同时要同步跟新 --
2221 -  
2222 var offline_price = 0; 2234 var offline_price = 0;
2223 var offline_num = 0; 2235 var offline_num = 0;
2224 for (var c = 0; c < item.length; c++) { 2236 for (var c = 0; c < item.length; c++) {
2225 - if (item[c].is_gift) continue; 2237 + //清理一下赠品
  2238 + if (item[c].is_gift) {
  2239 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item[c].id;
  2240 + //getApp().request.delete(url, {});
  2241 + await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除
  2242 + item.splice(c, 1);
  2243 + //索引要回退一下
  2244 + --c;
  2245 + continue;
  2246 + }
  2247 +
2226 all_num += item[c].goods_num; 2248 all_num += item[c].goods_num;
2227 2249
2228 if (item[c].prom_type == 7) { 2250 if (item[c].prom_type == 7) {
@@ -2253,7 +2275,6 @@ Page({ @@ -2253,7 +2275,6 @@ Page({
2253 2275
2254 } else { 2276 } else {
2255 2277
2256 -  
2257 if (item[c].prom_type == 7) { 2278 if (item[c].prom_type == 7) {
2258 //先把商品放入组合计算的专用的区域 2279 //先把商品放入组合计算的专用的区域
2259 console.log('是组合商品---') 2280 console.log('是组合商品---')
@@ -2298,8 +2319,10 @@ Page({ @@ -2298,8 +2319,10 @@ Page({
2298 }); 2319 });
2299 2320
2300 var txt1 = "requestData[" + a + "].show_can_cx"; 2321 var txt1 = "requestData[" + a + "].show_can_cx";
  2322 + var txt_g = "requestData[" + a + "].goods";
2301 th.setData({ 2323 th.setData({
2302 - [txt1]: show_can_cx 2324 + [txt1]: show_can_cx,
  2325 + [txt_g]:item
2303 }); 2326 });
2304 2327
2305 //-- var et={show_can_cx:show_can_cx}; 2328 //-- var et={show_can_cx:show_can_cx};
@@ -3093,18 +3116,19 @@ Page({ @@ -3093,18 +3116,19 @@ Page({
3093 getApp().request.put("/api/weshop/cart/update", { 3116 getApp().request.put("/api/weshop/cart/update", {
3094 data: t, 3117 data: t,
3095 success: async function (ee) { 3118 success: async function (ee) {
3096 - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";  
3097 3119
3098 - e.setData({  
3099 - [txt]: t.goods_num,  
3100 - }); 3120 + e.doCheckAll(async function (){
  3121 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  3122 + e.setData({
  3123 + [txt]: t.goods_num,
  3124 + });
3101 3125
3102 - e.data.duo_zp_num_arr = {};  
3103 - //await e.check_prom_activity(pitem)  
3104 - for (var i in e.data.requestData) {  
3105 - await e.check_prom_activity(i)  
3106 - }  
3107 - e.doCheckAll(); 3126 + e.data.duo_zp_num_arr = {};
  3127 + //await e.check_prom_activity(pitem)
  3128 + for (var i in e.data.requestData) {
  3129 + await e.check_prom_activity(i)
  3130 + }
  3131 + });
3108 getApp().requestCardNum(e); 3132 getApp().requestCardNum(e);
3109 } 3133 }
3110 }); 3134 });
@@ -4673,6 +4697,7 @@ Page({ @@ -4673,6 +4697,7 @@ Page({
4673 else cx_prom_group[dx].sele = 1; 4697 else cx_prom_group[dx].sele = 1;
4674 } 4698 }
4675 4699
  4700 + // -- 判断 --
4676 this.cx_check_ok2(async function (the_rs) { 4701 this.cx_check_ok2(async function (the_rs) {
4677 if (the_rs.code == 0) { 4702 if (the_rs.code == 0) {
4678 th.data.change_act = 1; 4703 th.data.change_act = 1;