Browse Source

优惠券

zhengjinyi 3 years ago
parent
commit
be4e821f45
1 changed files with 24 additions and 16 deletions
  1. 24 16
      src/main/resources/static/js/shopping/cart.js

+ 24 - 16
src/main/resources/static/js/shopping/cart.js

@@ -268,37 +268,50 @@ var shoppingCart = new Vue({
                             switch(coupon.couponType){
                                 case 0:// 活动券
                                     if(coupon.productType == 1){// 活动券-全商城商品
-                                        eligibleCoupons = _self.setCouponsArr(coupon)
+                                        if(_self.totalPrice >= coupon.touchPrice){
+                                            eligibleCoupons = _self.setCouponsArr(coupon)
+                                        }
                                     }else if(coupon.productType == 2){// 活动券-指定商品
                                         if(coupon.productIds && coupon.productIds.includes(pros.productId)){
-                                            eligibleCoupons = _self.setCouponsArr(coupon)
+                                            if(_self.totalPrice >= coupon.touchPrice){
+                                                eligibleCoupons = _self.setCouponsArr(coupon)
+                                            }
                                         }
                                     }
                                     break;
                                 case 1:// 品类券适用于产品或者仪器 categoryType(commodityType) : 1 产品  2 仪器
                                     if( coupon.categoryType && coupon.categoryType == pros.commodityType){
-                                        eligibleCoupons = _self.setCouponsArr(coupon)
+                                        if(_self.totalPrice >= coupon.touchPrice){
+                                            eligibleCoupons = _self.setCouponsArr(coupon)
+                                        }
                                     }
                                     break;
                                 case 2:// 用户专享券 适用于商城全部商品
-                                    eligibleCoupons = _self.setCouponsArr(coupon)
+                                    if(_self.totalPrice >= coupon.touchPrice){
+                                        eligibleCoupons = _self.setCouponsArr(coupon)
+                                    }
                                     break;
                                 case 3:// 店铺券适用于某个供应商的全部商品
                                     if(coupon.shopId && pros.supplierId == coupon.shopId){
-                                        eligibleCoupons = _self.setCouponsArr(coupon)
+                                        if(_self.totalPrice >= coupon.touchPrice){
+                                            eligibleCoupons = _self.setCouponsArr(coupon)
+                                        }
                                     }
                                     break;
                                 case 4://新用户券 适用于商城全部商品
-                                    eligibleCoupons = _self.setCouponsArr(coupon)
+                                    if(_self.totalPrice >= coupon.touchPrice){
+                                        eligibleCoupons = _self.setCouponsArr(coupon)
+                                    }
                                     break;
                             }
                         })
                     }else{
-                        eligibleCoupons.splice(0,eligibleCoupons.length)
+                        return;
                     }
                 })
             })
             if(eligibleCoupons.length>0){
+                _self.eligibleCoupons.splice(0,_self.eligibleCoupons.length);
                 _self.eligibleCoupons.push(eligibleCoupons[0])
                 _self.couponPrice = _self.eligibleCoupons.sort((a,b)=> b.couponAmount - a.couponAmount)[0].couponAmount
             }else{
@@ -306,15 +319,10 @@ var shoppingCart = new Vue({
             }
         },
         setCouponsArr: function(coupon){//处理
-            var _self = this;
-            const list = []
-            if(_self.totalPrice >= coupon.touchPrice){
-                list.push(coupon)
-                list.sort((a,b)=> b.couponAmount - a.couponAmount )
-                return list
-            }else{
-                return false
-            }
+            var list = [];
+            list.push(coupon)
+            list.sort((a,b)=> b.couponAmount - a.couponAmount )
+            return list
         },
         cartNumberSub: function(cart){
             cart.number -= cart.step;