Commit ac9e5f465e35ef340d934dfb45f11fdb0c756343
1 parent
b52067b0
多活动的优化
Showing
3 changed files
with
146 additions
and
10 deletions
packageE/pages/cart/cart2/cart2.js
... | ... | @@ -5967,10 +5967,50 @@ Page({ |
5967 | 5967 | }, |
5968 | 5968 | |
5969 | 5969 | setexptype2: function (e) { |
5970 | + | |
5971 | + if(this.data.all_collocation_list){ | |
5972 | + var bn_coll= this.selectComponent('#bn_coll'); | |
5973 | + bn_coll.clear_sele(); | |
5974 | + this.setData({ collocation_goods: [] }); | |
5975 | + //让主商品的活动变成5,搭配购 | |
5976 | + this.setData({ 'bn_goods.prom_type': 0, 'bn_goods.prom_id': 0 }); | |
5977 | + } | |
5978 | + | |
5970 | 5979 | this.debounce(this.setexptype.bind(this, e), 400)(); |
5980 | + | |
5971 | 5981 | }, |
5972 | 5982 | |
5973 | 5983 | setexptype_w2: function (e) { |
5984 | + | |
5985 | + | |
5986 | + for (let i = 0; i <this.data.cartlist ; i++) { | |
5987 | + var collocationList=this.data.cartlist[i].collocationList; | |
5988 | + if(collocationList){ | |
5989 | + | |
5990 | + var txt2 = 'cartlist[' + cart_index + '].collocationList'; | |
5991 | + for (let jy = 0; jy <collocationList.length ; jy++) { | |
5992 | + collocationList[jy].selected=0; | |
5993 | + } | |
5994 | + th.setData({[txt2]:collocationList}) | |
5995 | + | |
5996 | + | |
5997 | + var bn_coll= this.selectComponent("#col"+i); | |
5998 | + bn_coll.clear_sele(); | |
5999 | + var goods = this.data.cartlist[i].goods; | |
6000 | + | |
6001 | + var g_arr=[]; | |
6002 | + for (var j = 0; j < goods.length; j++) { | |
6003 | + if(goods[j].is_collocation) continue; | |
6004 | + g_arr.push(goods[j]); | |
6005 | + } | |
6006 | + var txt = 'cartlist[' + cart_index + '].goods'; | |
6007 | + | |
6008 | + th.setData({ [txt]: g_arr}); | |
6009 | + } | |
6010 | + } | |
6011 | + | |
6012 | + this.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist)); | |
6013 | + | |
5974 | 6014 | this.debounce(this.setexptype_w.bind(this, e), 400)(); |
5975 | 6015 | }, |
5976 | 6016 | |
... | ... | @@ -6394,12 +6434,40 @@ Page({ |
6394 | 6434 | //如果是选中 |
6395 | 6435 | if (e.selected) { |
6396 | 6436 | var item = this.data.all_collocation_list[e.index]; |
6437 | + | |
6438 | + //如果是自提的时候 | |
6439 | + if(this.data.bn_exp_type==1){ | |
6440 | + | |
6441 | + if(item.distr_type==2){ | |
6442 | + wx.showToast({ | |
6443 | + title: "商品的配送方式不一致", | |
6444 | + icon: 'none', | |
6445 | + duration: 2000 | |
6446 | + }) | |
6447 | + th.setData({ submit: 0 }); | |
6448 | + return false; | |
6449 | + } | |
6450 | + | |
6451 | + }else{ | |
6452 | + if(item.distr_type==1){ | |
6453 | + wx.showToast({ | |
6454 | + title: "商品的配送方式不一致", | |
6455 | + icon: 'none', | |
6456 | + duration: 2000 | |
6457 | + }) | |
6458 | + th.setData({ submit: 0 }); | |
6459 | + return false; | |
6460 | + } | |
6461 | + } | |
6462 | + | |
6463 | + var bn_coll = th.selectComponent("#bn_coll"); //组件的id | |
6464 | + bn_coll.set_sele(e.index); | |
6465 | + | |
6397 | 6466 | item.goods_num = 1; |
6398 | 6467 | item.goods_price = item.price; |
6399 | 6468 | item.is_collocation = 1; |
6400 | 6469 | item.prom_type = 5; |
6401 | 6470 | |
6402 | - | |
6403 | 6471 | var coll_arr = []; |
6404 | 6472 | if (this.data.collocation_goods && this.data.collocation_goods.length) { |
6405 | 6473 | coll_arr = this.data.collocation_goods; |
... | ... | @@ -6451,6 +6519,7 @@ Page({ |
6451 | 6519 | } |
6452 | 6520 | } |
6453 | 6521 | }, |
6522 | + | |
6454 | 6523 | //购物车购买的时候,选中和不选中搭配商品 |
6455 | 6524 | async select_coll_buy_cart(e) { |
6456 | 6525 | var th = this; |
... | ... | @@ -6465,6 +6534,34 @@ Page({ |
6465 | 6534 | |
6466 | 6535 | //-- 如果是选中 -- |
6467 | 6536 | if (e.selected) { |
6537 | + | |
6538 | + var exp_type=this.data.order_prom_list_cart[cart_index].exp_type; //配送方式 | |
6539 | + //如果是自提的时候 | |
6540 | + if(exp_type==1){ | |
6541 | + | |
6542 | + if(item.distr_type==2){ | |
6543 | + wx.showToast({ | |
6544 | + title: "商品的配送方式不一致", | |
6545 | + icon: 'none', | |
6546 | + duration: 2000 | |
6547 | + }) | |
6548 | + return false; | |
6549 | + } | |
6550 | + | |
6551 | + }else{ | |
6552 | + if(item.distr_type==1){ | |
6553 | + wx.showToast({ | |
6554 | + title: "商品的配送方式不一致", | |
6555 | + icon: 'none', | |
6556 | + duration: 2000 | |
6557 | + }) | |
6558 | + return false; | |
6559 | + } | |
6560 | + } | |
6561 | + | |
6562 | + var bn_coll = th.selectComponent("#col"+cart_index); //组件的id | |
6563 | + bn_coll.set_sele(index); | |
6564 | + | |
6468 | 6565 | item.goods_num = 1; |
6469 | 6566 | item.goods_price = item.price; |
6470 | 6567 | item.prom_type = 5; | ... | ... |
packageE/pages/cart/cart2/cart2.wxml
... | ... | @@ -109,7 +109,11 @@ |
109 | 109 | </view> |
110 | 110 | |
111 | 111 | <!-- 使用搭配 --> |
112 | - <cart_collect_temp bind:childFun="select_coll" sales_rules="{{sales_rules}}" pick="{{item.pickup_id}}" is_cart="1" cart_index="{{pidx}}" distr_t="{{item.distr_t}}" appoint_pick_keyid="{{appoint_pick_keyid}}" all_collocation_list="{{item.collocationList}}" /> | |
112 | + <cart_collect_temp id="col{{pidx}}" | |
113 | + bind:childFun="select_coll" sales_rules="{{sales_rules}}" | |
114 | + pick="{{item.pickup_id}}" is_cart="1" cart_index="{{pidx}}" | |
115 | + distr_t="{{item.distr_t}}" | |
116 | + appoint_pick_keyid="{{appoint_pick_keyid}}" all_collocation_list="{{item.collocationList}}" /> | |
113 | 117 | |
114 | 118 | <!-- 如果是等级卡的商品,会员没有注册,要提醒注册 --> |
115 | 119 | <view class="plus_buy fs28" wx:if="{{item.card_cut_price>0}}"> |
... | ... | @@ -384,7 +388,9 @@ |
384 | 388 | </block> |
385 | 389 | |
386 | 390 | <!-- 使用搭配 --> |
387 | - <cart_collect_temp bind:childFun="select_coll" all_collocation_list="{{all_collocation_list}}" distr_t="{{bn_goods.distr_type}}" appoint_pick_keyid="{{appoint_pick_keyid}}" sales_rules="{{sales_rules}}" pick="{{bn_pick}}" /> | |
391 | + <cart_collect_temp bind:childFun="select_coll" id="bn_coll" | |
392 | + all_collocation_list="{{all_collocation_list}}" distr_t="{{bn_goods.distr_type}}" | |
393 | + appoint_pick_keyid="{{appoint_pick_keyid}}" sales_rules="{{sales_rules}}" pick="{{bn_pick}}" /> | |
388 | 394 | |
389 | 395 | |
390 | 396 | <!-- 如果是等级卡的商品,会员没有注册,要提醒注册 --> | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
... | ... | @@ -2210,6 +2210,12 @@ Page({ |
2210 | 2210 | newd.prom_id = th.data.collocationGoods.id; |
2211 | 2211 | } |
2212 | 2212 | |
2213 | + //如果有搭配购的时候的时候 | |
2214 | + if(th.data.zh_act && newd.prom_type==0){ | |
2215 | + newd.prom_type = 7; | |
2216 | + newd.prom_id = th.data.zh_act.id; | |
2217 | + } | |
2218 | + | |
2213 | 2219 | |
2214 | 2220 | newd['pick_name'] = th.data.sto_sele_name; |
2215 | 2221 | newd['pick_dis'] = th.data.sto_sele_distr; |
... | ... | @@ -2288,6 +2294,11 @@ Page({ |
2288 | 2294 | e.prom_id=th.data.data.prom_id |
2289 | 2295 | e.collocation_goods=[] |
2290 | 2296 | } |
2297 | + | |
2298 | + if(th.data.collocationGoods){ | |
2299 | + e.prom_type=5 | |
2300 | + e.prom_id=th.data.collocationGoods.id | |
2301 | + } | |
2291 | 2302 | |
2292 | 2303 | s.set_b_now(e); |
2293 | 2304 | /*-- |
... | ... | @@ -7125,12 +7136,18 @@ Page({ |
7125 | 7136 | } else { |
7126 | 7137 | //调用接口判断订单优惠, |
7127 | 7138 | getApp().request.get("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gid + "/0" + "/" + user_id, { |
7128 | - success: function (res) { | |
7139 | + success: async function (res) { | |
7129 | 7140 | if (res.data.code == 0 && res.data.data) { |
7130 | 7141 | var r_data = res.data.data; |
7131 | - var max = 0, | |
7132 | - min = 0; | |
7142 | + var max = 0, min = 0; | |
7143 | + | |
7133 | 7144 | |
7145 | + //暂时积分够 不和 优惠,阶梯重叠 | |
7146 | + if(th.data.has_jf || th.data.zh_act){ | |
7147 | + r_data.collocationList=null; | |
7148 | + r_data.ladderLists=null; | |
7149 | + r_data.promGoodsLists=null; | |
7150 | + } | |
7134 | 7151 | |
7135 | 7152 | if (r_data.collocationList) { |
7136 | 7153 | for (var i in r_data.collocationList) { |
... | ... | @@ -7152,7 +7169,7 @@ Page({ |
7152 | 7169 | if (r_data.ladderLists) { |
7153 | 7170 | var act_id = r_data.ladderLists[0].form_id; |
7154 | 7171 | //-- 判断会员能不能参与阶梯促销 -- |
7155 | - getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { | |
7172 | + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { | |
7156 | 7173 | if (res.data.code == 0 && res.data.data) { |
7157 | 7174 | var prom_content = ""; |
7158 | 7175 | |
... | ... | @@ -7161,6 +7178,10 @@ Page({ |
7161 | 7178 | return false; |
7162 | 7179 | } |
7163 | 7180 | |
7181 | + if(res.data.data.good_object==1){ | |
7182 | + r_data.promGoodsLists=null; | |
7183 | + } | |
7184 | + | |
7164 | 7185 | for (let jj in r_data.ladderLists) { |
7165 | 7186 | if (r_data.ladderLists[jj].discount == 10) { |
7166 | 7187 | prom_content += "第" + (parseInt(jj) + 1) + "件原价,"; |
... | ... | @@ -7474,7 +7495,7 @@ Page({ |
7474 | 7495 | let item = arr_data[i]; |
7475 | 7496 | //找不到活动要剔除 |
7476 | 7497 | if (!item.act_name) continue; |
7477 | - if ([1,2,6].indexOf(item.prom_type)==-1) continue; | |
7498 | + if ([1,2,4,6].indexOf(item.prom_type)==-1) continue; | |
7478 | 7499 | new_arr.push(item); |
7479 | 7500 | } |
7480 | 7501 | |
... | ... | @@ -7609,6 +7630,10 @@ Page({ |
7609 | 7630 | return e.s_time < ut.gettimestamp() && e.prom_type==7; |
7610 | 7631 | }) |
7611 | 7632 | |
7633 | + var arr4 = arr.filter(function (e) { | |
7634 | + return e.s_time < ut.gettimestamp() && e.prom_type==4; | |
7635 | + }) | |
7636 | + | |
7612 | 7637 | //-- 如果只有一个活动的话 -- |
7613 | 7638 | if (arr.length == 1) { |
7614 | 7639 | th.data.prom_type = arr[0].prom_type; |
... | ... | @@ -7620,6 +7645,9 @@ Page({ |
7620 | 7645 | th.data.prom_id = arr2[0].act_id; |
7621 | 7646 | } |
7622 | 7647 | |
7648 | + if(arr4.length>0){ | |
7649 | + th.data.has_jf=1; | |
7650 | + } | |
7623 | 7651 | |
7624 | 7652 | if(arr3 && arr3.length>0){ |
7625 | 7653 | //获取活动信息 |
... | ... | @@ -7640,13 +7668,18 @@ Page({ |
7640 | 7668 | } |
7641 | 7669 | |
7642 | 7670 | } |
7671 | + | |
7672 | + //-- 调用回调 -- | |
7673 | + func(); | |
7643 | 7674 | } |
7644 | 7675 | }); |
7676 | + }else { | |
7677 | + //-- 调用回调 -- | |
7678 | + func(); | |
7645 | 7679 | } |
7646 | 7680 | |
7647 | 7681 | } |
7648 | - //-- 调用回调 -- | |
7649 | - func(); | |
7682 | + | |
7650 | 7683 | } |
7651 | 7684 | }); |
7652 | 7685 | }, | ... | ... |