Commit 4b2bab0e533df5842773a4928c86229a96c11aba
1 parent
07cf3463
小程序多活动的优化
Showing
2 changed files
with
69 additions
and
7 deletions
packageE/pages/cart/cart2/cart2.js
| ... | ... | @@ -146,6 +146,9 @@ Page({ |
| 146 | 146 | all_collocation_list: [], |
| 147 | 147 | appoint_pick_keyid: '', |
| 148 | 148 | is_pre_cut:0, //是否可以使用预存 0是不可以1的可以 |
| 149 | + | |
| 150 | + coll_prom:{} //搭配活动存储 | |
| 151 | + | |
| 149 | 152 | }, |
| 150 | 153 | onLoad: function (t) { |
| 151 | 154 | wx.setNavigationBarTitle({ title: "填写订单", }) |
| ... | ... | @@ -621,6 +624,7 @@ Page({ |
| 621 | 624 | distr_t = gd.distr_type || pick.distr_type; |
| 622 | 625 | } |
| 623 | 626 | |
| 627 | + var prom=null; | |
| 624 | 628 | await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew/" |
| 625 | 629 | + os.stoid + "/" + gd.goods_id + "/0/" + user_id, { |
| 626 | 630 | }).then(res => { |
| ... | ... | @@ -628,6 +632,7 @@ Page({ |
| 628 | 632 | var r_data = res.data.data; |
| 629 | 633 | if (r_data.collocationList) { |
| 630 | 634 | collocation_list = r_data.collocationList; |
| 635 | + prom= r_data.collocationPromList; | |
| 631 | 636 | } |
| 632 | 637 | } |
| 633 | 638 | }) |
| ... | ... | @@ -645,9 +650,15 @@ Page({ |
| 645 | 650 | // } |
| 646 | 651 | |
| 647 | 652 | if (!new_arr.length) return null; |
| 653 | + | |
| 654 | + this.data.coll_prom[prom.id]=prom; | |
| 655 | + | |
| 656 | + for (let i = 0; i < new_arr.length; i++) { | |
| 657 | + new_arr[i].is_coupon=prom.is_coupon; | |
| 658 | + } | |
| 659 | + | |
| 648 | 660 | if (arr) { |
| 649 | 661 | arr[index].collocationList = new_arr; |
| 650 | - | |
| 651 | 662 | } |
| 652 | 663 | else th.setData({ |
| 653 | 664 | all_collocation_list: new_arr |
| ... | ... | @@ -5203,6 +5214,9 @@ Page({ |
| 5203 | 5214 | continue; |
| 5204 | 5215 | } |
| 5205 | 5216 | |
| 5217 | + if(gd.prom_type==5 && !th.data.coll_prom[gd.prom_id].is_coupon){ | |
| 5218 | + continue; | |
| 5219 | + } | |
| 5206 | 5220 | //--如果是团购,要判断有没有限制使用优惠券 |
| 5207 | 5221 | if (gd.prom_type == 2) { |
| 5208 | 5222 | var prom1 = null; |
| ... | ... | @@ -6472,6 +6486,9 @@ Page({ |
| 6472 | 6486 | item.is_collocation = 1; |
| 6473 | 6487 | item.prom_type = 5; |
| 6474 | 6488 | |
| 6489 | + | |
| 6490 | + th.setData({is_coupon:item.is_coupon}) | |
| 6491 | + | |
| 6475 | 6492 | var coll_arr = []; |
| 6476 | 6493 | if (this.data.collocation_goods && this.data.collocation_goods.length) { |
| 6477 | 6494 | coll_arr = this.data.collocation_goods; |
| ... | ... | @@ -6495,6 +6512,9 @@ Page({ |
| 6495 | 6512 | th.get_cart_quan(); |
| 6496 | 6513 | |
| 6497 | 6514 | } else { |
| 6515 | + | |
| 6516 | + th.setData({is_coupon:item.is_coupon}) | |
| 6517 | + | |
| 6498 | 6518 | var item = this.data.all_collocation_list[e.index]; |
| 6499 | 6519 | var coll_arr = this.data.collocation_goods; |
| 6500 | 6520 | var find = coll_arr.findIndex(function (e) { | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
| ... | ... | @@ -1874,15 +1874,24 @@ Page({ |
| 1874 | 1874 | //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); |
| 1875 | 1875 | if ("add" == t.currentTarget.dataset.action) { |
| 1876 | 1876 | |
| 1877 | - // if (newd.prom_type==0 && th.data.prom_goods && !th.data.sele_g.whsle_id) { | |
| 1878 | - // newd.prom_type = 3; | |
| 1879 | - // newd.prom_id = th.data.prom_goods[0].prom_id; | |
| 1880 | - // } | |
| 1877 | + | |
| 1881 | 1878 | if( [3,5,10].indexOf(newd.prom_type)>-1){ |
| 1882 | 1879 | newd.prom_type=0; |
| 1883 | 1880 | newd.prom_id=0; |
| 1884 | 1881 | } |
| 1885 | 1882 | |
| 1883 | + //如果有搭配购的时候的时候 | |
| 1884 | + if(th.data.collocationGoods && newd.prom_type==0){ | |
| 1885 | + newd.prom_type = 5; | |
| 1886 | + newd.prom_id = th.data.collocationGoods.id; | |
| 1887 | + } | |
| 1888 | + | |
| 1889 | + //如果有搭配购的时候的时候 | |
| 1890 | + if(th.data.zh_act && newd.prom_type==0){ | |
| 1891 | + newd.prom_type = 7; | |
| 1892 | + newd.prom_id = th.data.zh_act.id; | |
| 1893 | + } | |
| 1894 | + | |
| 1886 | 1895 | //----先看会员在购物车中是否加入了该商品----- |
| 1887 | 1896 | i.get("/api/weshop/cart/page", { |
| 1888 | 1897 | data: { |
| ... | ... | @@ -2159,6 +2168,12 @@ Page({ |
| 2159 | 2168 | newd.prom_id = th.data.zh_act.id; |
| 2160 | 2169 | } |
| 2161 | 2170 | |
| 2171 | + //如果有搭配购的时候的时候 | |
| 2172 | + if(th.data.jt && newd.prom_type==0){ | |
| 2173 | + newd.prom_type = 7; | |
| 2174 | + newd.prom_id = th.data.zh_act.id; | |
| 2175 | + } | |
| 2176 | + | |
| 2162 | 2177 | |
| 2163 | 2178 | newd['pick_name'] = th.data.sto_sele_name; |
| 2164 | 2179 | newd['pick_dis'] = th.data.sto_sele_distr; |
| ... | ... | @@ -2617,9 +2632,36 @@ Page({ |
| 2617 | 2632 | callback(); |
| 2618 | 2633 | } else { |
| 2619 | 2634 | //-- 判断有没有优惠活动 -- |
| 2620 | - getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0" + "/" + usr.user_id, {}).then(res => { | |
| 2635 | + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0" + "/" + usr.user_id, {}).then(async res => { | |
| 2621 | 2636 | if (res.data.code == 0) { |
| 2637 | + | |
| 2622 | 2638 | var r_data = res.data.data; |
| 2639 | + | |
| 2640 | + if(r_data.collocationList){ | |
| 2641 | + th.data.ladderLists =null; | |
| 2642 | + th.data.prom_goods =null; | |
| 2643 | + r_data.promGoodsLists=null; | |
| 2644 | + r_data.ladderLists=null; | |
| 2645 | + } | |
| 2646 | + | |
| 2647 | + if (r_data.ladderLists) { | |
| 2648 | + var act_id = r_data.ladderLists[0].form_id; | |
| 2649 | + //-- 判断会员能不能参与阶梯促销 -- | |
| 2650 | + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + usr.user_id + "/" + act_id, {}).then(res => { | |
| 2651 | + if (res.data.code == 0 && res.data.data) { | |
| 2652 | + var prom_content = ""; | |
| 2653 | + //暂定优惠促销还不能重叠 | |
| 2654 | + if (res.data.data.good_object == 0 && (r_data.promGoodsLists || th.data.zh_act)) { | |
| 2655 | + return false; | |
| 2656 | + } | |
| 2657 | + if (res.data.data.good_object == 1) { | |
| 2658 | + r_data.promGoodsLists = null; | |
| 2659 | + } | |
| 2660 | + th.data.ladderLists = r_data.ladderLists; | |
| 2661 | + } | |
| 2662 | + }) | |
| 2663 | + } | |
| 2664 | + | |
| 2623 | 2665 | th.data.prom_goods = r_data.promGoodsLists; |
| 2624 | 2666 | if (!th.data.prom_goods) { |
| 2625 | 2667 | callback(); |
| ... | ... | @@ -7142,7 +7184,7 @@ Page({ |
| 7142 | 7184 | |
| 7143 | 7185 | |
| 7144 | 7186 | //暂时积分够 不和 优惠,阶梯重叠 |
| 7145 | - if(th.data.has_jf || th.data.zh_act){ | |
| 7187 | + if(th.data.zh_act){ | |
| 7146 | 7188 | r_data.collocationList=null; |
| 7147 | 7189 | r_data.ladderLists=null; |
| 7148 | 7190 | r_data.promGoodsLists=null; | ... | ... |