Commit 1607bfaef591a893c4589302a9024fdc3d8ea5dd

Authored by yvan.ni
1 parent a644a95d

1、购物多活动的商品排序

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
... ... @@ -16,7 +16,7 @@ function is_more_act(items,show_can_cx){
16 16  
17 17 function check_show(items,sele_prom_type){
18 18 if([7,10].indexOf(sele_prom_type)>-1){
19   - if(!items.is_act_last) return false;
  19 + if(items.is_act_last==0) return false;
20 20 }
21 21 return true;
22 22 }
... ...
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)
... ...
utils/more_cx.js
... ... @@ -65,10 +65,6 @@ module.exports = {
65 65 }
66 66 }
67 67  
68   - if(!need_ok) {
69   - item_act_map.is_no_ok = 1;
70   - return true;
71   - }
72 68 //-- 判断组合购的限购是不是到了 --
73 69 if(act.buy_limit>0){
74 70 var need_ck0=0;
... ...