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) | ... | ... |