diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index c607087..566da66 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -1076,10 +1076,42 @@ Page({ [atxt7]: all_order_prom, }) th.data.order_prom_list_cart=c_arr; + th.set_can_num(); }); }); }, + + set_can_num:function(){ + var th=this; + //-- 这个地方,循环计算几张优惠券可用-- + for ( var iter in th.data.cartlist){ + var num=0; + var c_item=th.data.cartlist[iter]; + var pkid=c_item.pickup_id; + //-- 普通券 -- + if(c_item.quan_list){ + for (var iter1 in c_item.quan_list){ + //判断是不是其他订单有选用 + var is_other_is_use=th.check_other_use(c_item.quan_list[iter1],pkid); + if(!is_other_is_use) num++; + } + } + //-- 包邮券 -- + var by_quan=th.data.get_by_quan_list_cart[pkid]; + if(by_quan){ + for (var iter2 in by_quan){ + //判断是不是其他订单有选用 + var is_other_is_use=th.check_other_use_by(by_quan[iter2],pkid); + if(!is_other_is_use) num++; + } + } + var set_txt="cartlist["+iter+"].can_num"; + th.setData({ [set_txt]: num}); + } + }, + + //---------计算立即购买---------- calculatePrice2: function () { var th = this, good = this.data.bn_goods; @@ -2103,16 +2135,22 @@ Page({ //对于在其他门店已经选择了的券 要判断是否显示到界面 + var t_user=th.data.using_quan[pickid]; + for(var i in quanlist){ quanlist[i].is_using= th.check_in_sele(quanlist[i].CashRepNo,pickid); + if(!t_user || quanlist[i].CashRepNo!=t_user.coupon_no) quanlist[i].show_red=0; } if(get_by_quan_list_cart){ for(var i in get_by_quan_list_cart){ get_by_quan_list_cart[i].is_using= th.check_in_sele(get_by_quan_list_cart[i].no,pickid); + if(!t_user || get_by_quan_list_cart[i].no!=t_user.coupon_no) get_by_quan_list_cart[i].show_red=0; } th.setData({by_quan_list_cart:get_by_quan_list_cart}); - } + }else { + th.setData({by_quan_list_cart:null}); + } console.log("2222222券的列表", quanlist); th.setData({ sele_cart_ind:cindx,sele_exp_type:exp_type,open_quan:1,selected_quan_pick:pickid,selected_quan_list:quanlist,disabled:1}); @@ -2129,7 +2167,7 @@ Page({ if(th.data.using_quan.length<=0) return false; for(var i in th.data.using_quan){ //--如果键值等于本身就要跳出-- - if(i==pick_id) continue; + if(parseInt(i)==parseInt(pick_id)) continue; var item=th.data.using_quan[i]; if(item.coupon_no==no){ return true; @@ -2624,9 +2662,9 @@ Page({ th.setData({selected_quan_list:quanlist,cartlist:arr}) }else{ th.setData({cartlist:arr }) + th.set_can_num(); } - }) }, @@ -2869,7 +2907,38 @@ Page({ for(var i in arr){ if(arr[i].goods_id==goods_id) return arr[i]; } + }, + + //检查是不是有其他门店的订单在选择了券 + check_other_use:function (iter,pkid) { + var using=this.data.using_quan; + var is_use=0; + if(using){ + for(var i in using){ + if(i==pkid) continue; + if(iter.CashRepNo==using[i].coupon_no){ + is_use=1; break; + } + } + } + return is_use; + + }, + //检查是不是有其他门店的订单在选择了包邮券 + check_other_use_by:function (iter,pkid) { + var using=this.data.using_quan; + var is_use=0; + if(using){ + for(var i in using){ + if(i==pkid) continue; + if(iter.no==using[i].coupon_no){ + is_use=1; break; + } + } + } + return is_use; } + }); diff --git a/pages/cart/cart2/cart2.wxml b/pages/cart/cart2/cart2.wxml index 79a0ab8..e8552aa 100644 --- a/pages/cart/cart2/cart2.wxml +++ b/pages/cart/cart2/cart2.wxml @@ -70,12 +70,12 @@ - !!!!---{{item.quan_list.length}}---!!! + - 优惠券 + 优惠券{{item.can_num}}张可用 不使用 ¥{{using_quan[item.pickup_id].money}}元优惠券 @@ -249,7 +249,7 @@ wx:if="{{(selected_quan_list && selected_quan_list.length>0) || get_by_quan_list!=null}}"> - 优惠券 + 优惠券 {{(selected_quan_list?selected_quan_list.length:0)+ (get_by_quan_list?get_by_quan_list.length:0)}}张可用 不使用 diff --git a/pages/cart/cart2/cart2.wxss b/pages/cart/cart2/cart2.wxss index c10b952..90f871c 100644 --- a/pages/cart/cart2/cart2.wxss +++ b/pages/cart/cart2/cart2.wxss @@ -819,4 +819,6 @@ margin-left: 20rpx; color: #808080; } .n_guige{ display: inline-block; background:rgb(236, 236, 236); color: rgb(63,63,63); padding: 3rpx 10rpx; border-radius: 3rpx } -.gift_image{ width: 60rpx; height: 60rpx; position: absolute; top: 0; left: 0} \ No newline at end of file +.gift_image{ width: 60rpx; height: 60rpx; position: absolute; top: 0; left: 0} + +.quan_num_show{ padding: 6rpx 10rpx; background-color:#ea5551; color:#fff; border-radius: 6rpx } \ No newline at end of file