Commit 5b4a9bc70784de63c6fc26b8d4dabdb1ce8f329d

Authored by yvan.ni
1 parent 5ed41758

不参与活动的优化

packageE/pages/cart/cart2/cart2.js
... ... @@ -934,11 +934,11 @@ Page({
934 934 }
935 935 }
936 936 }
937   -
938 937 }
  938 +
939 939 //按门店分类的数组
940 940 var arr = new Array();
941   -
  941 +
942 942 var th=this;
943 943 th.data.in_zhact_gdmap = {};
944 944 //---是不是购买等级卡成功的返回---等级卡显示的判断---
... ... @@ -8342,8 +8342,69 @@ Page({
8342 8342 },
8343 8343  
8344 8344 //--- 不参与优惠促销的开关 ---
8345   - no_cj_prom:function (e){
8346   - let can_cx_idx=e.currentTarget.dataset.can_cx_idx;
  8345 + no_cj_prom: function (e) {
  8346 +
  8347 + let th=this;
  8348 + let can_cx_idx = e.currentTarget.dataset.can_cx_idx; //多促销的索引
  8349 + let pidx = e.currentTarget.dataset.pidx; //订单索引
  8350 + let item = this.data.cartlist[pidx].show_can_cx[can_cx_idx]; //促销内容
  8351 + let pk=this.data.cartlist[pidx].pickup_id; //门店ID
  8352 +
  8353 + //给no_cj_prom进行赋值
  8354 + item.no_cj_prom = !item.no_cj_prom ? 1 : 0;
  8355 + var txt = 'cartlist[' + pidx + '].show_can_cx';
  8356 + this.setData({
  8357 + [txt]: this.data.cartlist[pidx].show_can_cx,
  8358 + })
  8359 +
  8360 + let ck_prom_type=item.cur_act;
  8361 + //处理一下商品
  8362 + let goods0 = JSON.parse(JSON.stringify(th.data.cartlist_y));
  8363 + let goods = [];
  8364 + for (var ik = 0; ik < goods0.length; ik++) {
  8365 + var item_c = goods0[ik];
  8366 + if (item_c.pick_id == pk && item_c.is_collocation) continue;
  8367 + goods.push(item_c);
  8368 + }
  8369 +
  8370 + //-- 此时要把购物车中的商品确定活动 --
  8371 + for (var b = 0; b < ck_prom_type.goods.length; b++) {
  8372 + //-- 开始查找 --
  8373 + var fg = goods.findIndex(function (g_item) {
  8374 + return g_item.goods_id == ck_prom_type.goods[b].goods_id
  8375 + && [0, 3, 5, 7, 10].indexOf(g_item.prom_type) > -1
  8376 + && g_item.pick_id == pk && g_item.is_gift == 0;
  8377 + })
  8378 + if (fg > -1) {
  8379 + goods[fg].prom_type = ck_prom_type.prom_type;
  8380 + goods[fg].prom_id = ck_prom_type.prom_id;
  8381 +
  8382 + //如果是不参与的话,商品的活动状态要清理
  8383 + if(item.no_cj_prom){
  8384 + goods[fg].prom_type=0;
  8385 + goods[fg].prom_id=0;
  8386 + }
  8387 +
  8388 + for (var ik = 0; ik < th.data.cartlist[pidx].goods.length; ik++) {
  8389 + if (th.data.cartlist[pidx].goods[ik].id == goods[fg].id) {
  8390 + th.data.cartlist[pidx].goods[ik].prom_type = goods[fg].prom_type;
  8391 + th.data.cartlist[pidx].goods[ik].prom_id = goods[fg].prom_id;
  8392 + }
  8393 + }
  8394 + }
  8395 + }
  8396 +
  8397 + //原始数据要有深拷贝不能有地址的牵连
  8398 + th.data.cartlist_y = JSON.parse(JSON.stringify(goods))
  8399 +
  8400 +
  8401 + //重新调用cart_next,进行下一步计算
  8402 + wx.showLoading({
  8403 + title: "处理中.",
  8404 + })
  8405 + this.get_cart_next(null, 1, {prom_type: 0, prom_id: 0});
  8406 +
  8407 +
8347 8408 }
8348 8409  
8349 8410  
... ...
packageE/pages/cart/cart2/cart2.wxml
... ... @@ -171,7 +171,7 @@
171 171 </block>
172 172 </block>
173 173  
174   - <view class="set-mes" wx:if="{{items.prom_type==3 || items.cj_prom_type==3}}">
  174 + <view class="set-mes" wx:if="{{items.prom_type==3 || (items.prom_type==0 && item.show_can_cx[items.goods_id].no_cj_prom) }}">
175 175 <view class="use-item" data-pidx="{{pidx}}" data-can_cx_idx="{{items.goods_id}}" bindtap='no_cj_prom'>
176 176 <icon color="{{!item.show_can_cx[items.goods_id].no_cj_prom?'red':'gray'}}" size="16" type="success"></icon>
177 177 <view class="yu_er">参与优惠活动</view>
... ... @@ -231,7 +231,7 @@
231 231 </view>
232 232 </block>
233 233  
234   - <view class="set-mes" wx:if="{{(items.prom_type==3 || items.cj_prom_type==3) && util.check_is_last(index,items.goods_id) && pitem.is_duo_gd }}">
  234 + <view class="set-mes" wx:if="{{pitem.is_duo_gd && (items.prom_type==3 || items.cj_prom_type==3) && util.check_is_last(index,items.goods_id) }}">
235 235 <view class="use-item" data-pidx="{{pidx}}" data-can_cx_idx="{{index}}" bindtap='no_cj_prom'>
236 236 <icon color="{{!item.show_can_cx[items.goods_id].no_cj_prom?'red':'gray'}}" size="16" type="success"></icon>
237 237 <view class="yu_er">参与优惠活动</view>
... ...
packageE/pages/cart/cart2/filter.wxs
... ... @@ -27,6 +27,10 @@ function check_show(items,sele_prom_type){
27 27 //is_act_last 是不是最后一个
28 28  
29 29 function check_is_last(index,goods_id){
  30 +
  31 + if(!index) index='';
  32 + index+='';
  33 +
30 34 var gd_arr=index.split(',');
31 35 var idx=-1;
32 36 //-- 判断有没有包含商品 --
... ...