Commit 1607bfaef591a893c4589302a9024fdc3d8ea5dd
1 parent
a644a95d
1、购物多活动的商品排序
Showing
6 changed files
with
57 additions
and
41 deletions
packageE/pages/cart/cart2/cart2.js
... | ... | @@ -797,7 +797,8 @@ Page({ |
797 | 797 | a.get("/api/weshop/cart/list", { |
798 | 798 | data: { |
799 | 799 | user_id: to.globalData.user_id, selected: 1, state: state, |
800 | - store_id: oo.stoid, pageSize: 600 | |
800 | + store_id: oo.stoid, pageSize: 600, | |
801 | + isorder:1 | |
801 | 802 | }, |
802 | 803 | success: async function (su) { |
803 | 804 | |
... | ... | @@ -820,7 +821,7 @@ Page({ |
820 | 821 | } |
821 | 822 | }) |
822 | 823 | |
823 | - th.data.cartlist_y = carr; //存储原始购物车列表 | |
824 | + th.data.cartlist_y =JSON.parse(JSON.stringify(carr)); //存储原始购物车列表 | |
824 | 825 | |
825 | 826 | wx.showLoading(); |
826 | 827 | |
... | ... | @@ -832,7 +833,7 @@ Page({ |
832 | 833 | |
833 | 834 | |
834 | 835 | //-- is_change是有没有切换活动的意思 -- |
835 | - async get_cart_next(carr,is_change){ | |
836 | + async get_cart_next(carr,is_change,old_prom){ | |
836 | 837 | |
837 | 838 | //--- 切换的时候一定要把赠品去掉 --- |
838 | 839 | if(is_change){ |
... | ... | @@ -841,7 +842,14 @@ Page({ |
841 | 842 | //-- 剔除赠品的数据,等到确定活动是优惠促销的时候,在显示赠品, 赠品直接删除 -- |
842 | 843 | var new_arr=[]; |
843 | 844 | for (var ir = 0; ir < carr.length; ir++) { |
844 | - if(carr[ir].is_gift && carr[ir].id) { | |
845 | + | |
846 | + var c_ok=1; | |
847 | + if(old_prom && (carr[ir].prom_type!=old_prom.prom_type || carr[ir].prom_id!=old_prom.prom_id) ){ | |
848 | + c_ok=0; | |
849 | + } | |
850 | + | |
851 | + if(carr[ir].is_gift && carr[ir].id && c_ok) { | |
852 | + | |
845 | 853 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + carr[ir].id; |
846 | 854 | getApp().request.delete(url, { |
847 | 855 | success: function (t) {} |
... | ... | @@ -2118,37 +2126,43 @@ Page({ |
2118 | 2126 | cart_add_gift(item_map,pickid,i,ord_goods,get_data){ |
2119 | 2127 | |
2120 | 2128 | var th=this; |
2121 | - var pos=this.find_pro_last(ord_goods,3,item_map.prom_id); | |
2122 | 2129 | var is_has_gift=this.is_has_gift(ord_goods,item_map.prom_id) |
2123 | 2130 | |
2124 | 2131 | //-- 没有赠品的时候才添加,避免购物车重复出现 -- |
2125 | - if(pos>-1 && !is_has_gift){ | |
2126 | - var newd = { | |
2127 | - goods_id: get_data.goods_id, | |
2128 | - goods_num: get_data.bs * get_data.zp_num, //是赠品的翻倍 | |
2129 | - pick_id: pickid, | |
2130 | - user_id: app.globalData.user_id, | |
2131 | - store_id: os.stoid, | |
2132 | - goods_price: 0, | |
2133 | - member_goods_price: 0, | |
2134 | - goods_name: get_data.goods_name, | |
2135 | - goods_sn: get_data.goodsinfo.goods_sn, | |
2136 | - sku: get_data.goodsinfo.sku, | |
2137 | - is_gift: 1, | |
2138 | - prom_id: item_map.prom_id, | |
2139 | - prom_type: 3, | |
2140 | - selected: 1, | |
2141 | - gift_id: get_data.gift_id, | |
2142 | - original_img: th.data.imgUrl + get_data.goodsinfo.original_img | |
2143 | - }; | |
2144 | - var fd_gd=ord_goods[pos] | |
2145 | - | |
2146 | - newd.guide_id=fd_gd.guide_id; | |
2147 | - newd.guide_type=fd_gd.guide_type; | |
2148 | - newd.distr_type=fd_gd.distr_type; | |
2132 | + if(!is_has_gift){ | |
2133 | + | |
2134 | + //看一下要插入的位置 | |
2135 | + var pos=this.find_pro_last(ord_goods,3,item_map.prom_id); | |
2136 | + var pos2=this.find_pro_last(th.data.old_cartlist[i].goods,3,item_map.prom_id); | |
2137 | + | |
2138 | + if(pos>-1){ | |
2139 | + var newd = { | |
2140 | + goods_id: get_data.goods_id, | |
2141 | + goods_num: get_data.bs * get_data.zp_num, //是赠品的翻倍 | |
2142 | + pick_id: pickid, | |
2143 | + user_id: app.globalData.user_id, | |
2144 | + store_id: os.stoid, | |
2145 | + goods_price: 0, | |
2146 | + member_goods_price: 0, | |
2147 | + goods_name: get_data.goods_name, | |
2148 | + goods_sn: get_data.goodsinfo.goods_sn, | |
2149 | + sku: get_data.goodsinfo.sku, | |
2150 | + is_gift: 1, | |
2151 | + prom_id: item_map.prom_id, | |
2152 | + prom_type: 3, | |
2153 | + selected: 1, | |
2154 | + gift_id: get_data.gift_id, | |
2155 | + original_img: th.data.imgUrl + get_data.goodsinfo.original_img | |
2156 | + }; | |
2157 | + var fd_gd=ord_goods[pos] | |
2149 | 2158 | |
2150 | - ord_goods.splice(1,0,newd); | |
2159 | + newd.guide_id=fd_gd.guide_id; | |
2160 | + newd.guide_type=fd_gd.guide_type; | |
2161 | + newd.distr_type=fd_gd.distr_type; | |
2151 | 2162 | |
2163 | + ord_goods.splice(pos+1,0,newd); | |
2164 | + th.data.old_cartlist[i].goods.splice(pos2+1,0,newd); | |
2165 | + } | |
2152 | 2166 | |
2153 | 2167 | } |
2154 | 2168 | |
... | ... | @@ -4799,7 +4813,7 @@ Page({ |
4799 | 4813 | |
4800 | 4814 | //如果活动一样,那么商品的活动就要清理成0 |
4801 | 4815 | var sh_can_cx=t_item.show_can_cx; |
4802 | - if(sh_can_cx){ | |
4816 | + if(sh_can_cx && !g_item.is_zh_split){ | |
4803 | 4817 | for (let kh in sh_can_cx) { |
4804 | 4818 | var cur=sh_can_cx[kh]?sh_can_cx[kh].cur_act:null; |
4805 | 4819 | if(cur && cur.is_no_ok){ |
... | ... | @@ -4845,7 +4859,7 @@ Page({ |
4845 | 4859 | } |
4846 | 4860 | |
4847 | 4861 | var txt = goods.prom_id + ',' + goods.prom_type + ',' + goods.goods_id + ',' + goods.is_gift; |
4848 | - //--赠品的时候,阶梯促销会右重复的情况 -- | |
4862 | + //--赠品的时候,阶梯促销会右重复的情况,还有组合购的时候拆分出去的 -- | |
4849 | 4863 | if (check_map[txt] && goods.prom_type != 10) { |
4850 | 4864 | getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新"); |
4851 | 4865 | return false; |
... | ... | @@ -7740,7 +7754,8 @@ Page({ |
7740 | 7754 | |
7741 | 7755 | th.setData({ |
7742 | 7756 | send_lb:{}, |
7743 | - month_lb:{} | |
7757 | + month_lb:{}, | |
7758 | + send_gf:{} | |
7744 | 7759 | }) |
7745 | 7760 | |
7746 | 7761 | th.data.prom_goods_map={}; |
... | ... | @@ -7789,7 +7804,7 @@ Page({ |
7789 | 7804 | mask: true |
7790 | 7805 | }) |
7791 | 7806 | //-- 重新计算一下价格 -- |
7792 | - th.get_cart_next(null,1); | |
7807 | + th.get_cart_next(null,1,cx_prom_group[fir_sele]); | |
7793 | 7808 | }else{ |
7794 | 7809 | wx.showToast({ |
7795 | 7810 | title: ck_res.msg, | ... | ... |
packageE/pages/cart/cart2/cart2.wxml
... | ... | @@ -114,10 +114,11 @@ |
114 | 114 | </view> |
115 | 115 | </navigator> |
116 | 116 | </view> |
117 | + | |
117 | 118 | <!-- 验证活动是不是多个,要不要显示切换 --> |
118 | 119 | <!-- 新增促销多活动的排版 --> |
119 | 120 | <block wx:if="{{(util.is_more_act(items,item.show_can_cx) && item.show_can_cx[items.goods_id] && item.show_can_cx[items.goods_id].act_arr.length>1)}}"> |
120 | - <view class="bdb16" wx:if="{{util.check_show(items,item.show_can_cx[items.goods_id].sele_prom_type)}}"> | |
121 | + <view class="bdb16" wx:if="{{util.check_show(items,item.show_can_cx[items.goods_id].cur_act.prom_type)}}"> | |
121 | 122 | <view bindtap="switch_cx_group" |
122 | 123 | data-index="{{pidx}}" |
123 | 124 | data-gd_key="{{items.goods_id}}" |
... | ... | @@ -144,6 +145,7 @@ |
144 | 145 | <!--此时是多个商品参与活动的切换 验证活动是不是多个,要不要显示切换 --> |
145 | 146 | <!-- 新增促销多活动的排版 --> |
146 | 147 | <block wx:if="{{item.show_can_cx}}"> |
148 | + | |
147 | 149 | <block wx:for="{{item.show_can_cx}}" wx:for-item="pitem"> |
148 | 150 | <view class="bdb16" wx:if="{{pitem.is_duo_gd && pitem.act_arr.length>1}}" > |
149 | 151 | <view bindtap="switch_cx_group" | ... | ... |
packageE/pages/cart/cart2/filter.wxs
packageE/pages/cart/cart2/zh_calculate.js
... | ... | @@ -264,9 +264,12 @@ module.exports = { |
264 | 264 | }) |
265 | 265 | goods[idx].goods_num -= num; |
266 | 266 | let new_g = JSON.parse(JSON.stringify(goods[idx])); |
267 | + | |
268 | + if(new_g.more_cx) delete new_g.more_cx; | |
267 | 269 | new_g.goods_num = num; |
268 | 270 | new_g.prom_type = 0; |
269 | 271 | new_g.prom_id = 0; |
272 | + new_g.is_zh_split = 1; //-- 是组合购拆分出去的 -- | |
270 | 273 | goods.push(new_g); |
271 | 274 | |
272 | 275 | //如果商品的数量已经为空了 | ... | ... |
pages/cart/cart/cart.js
... | ... | @@ -2207,6 +2207,7 @@ Page({ |
2207 | 2207 | |
2208 | 2208 | car[a].zh_map = null; |
2209 | 2209 | car[a].ladder_map = null; |
2210 | + car[a].need_list = []; | |
2210 | 2211 | |
2211 | 2212 | |
2212 | 2213 | var item = car[a].goods, |
... | ... | @@ -4669,7 +4670,6 @@ Page({ |
4669 | 4670 | if (the_rs.code == 0) { |
4670 | 4671 | th.data.change_act = 1; |
4671 | 4672 | |
4672 | - | |
4673 | 4673 | th.doCheckAll(async function () { |
4674 | 4674 | for (var i in th.data.requestData) { |
4675 | 4675 | await th.check_prom_activity(i) | ... | ... |