From cf90ce90092b0362134299d80289c5347d383312 Mon Sep 17 00:00:00 2001 From: Vion Date: Tue, 15 Mar 2022 20:07:55 +0800 Subject: [PATCH] Combined product Coupon amount calculating issue fixed --- rc-busness/pages/personal/settlement.vue | 31 ++++++++++++++++++------ 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/rc-busness/pages/personal/settlement.vue b/rc-busness/pages/personal/settlement.vue index 513d4e8b..5ea680de 100644 --- a/rc-busness/pages/personal/settlement.vue +++ b/rc-busness/pages/personal/settlement.vue @@ -306,9 +306,17 @@ export default { let total = 0; let couponUsed = false; let tmpShoppingCartList = this.arrSort(this.goldmedal); - + let qualifiedProductAmount = 0; + let skipQualifiedProductAmountCalculating = false; + for(let itemInCart of tmpShoppingCartList) { - if((!this.curCoupon.productCodes || this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) && !couponUsed) { + if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + qualifiedProductAmount += (itemInCart.productPrice * itemInCart.buyCount); + } + } + + for(let itemInCart of tmpShoppingCartList) { + if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1 && !couponUsed) { if(this.curCoupon.minQuantity && this.curCoupon.minQuantity>itemInCart.buyCount) { //Check minQuantity total+=(itemInCart.buyCount * itemInCart.productPrice); @@ -318,7 +326,8 @@ export default { } else { //Into coupon discount calculation switch(this.curCoupon.couponTypeId) { - case 1: //Amount deduct + case 1: //Amount deduct + /* if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) { total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount); this.discountAmount = this.curCoupon.couponAmount; @@ -330,14 +339,16 @@ export default { this.curCoupon = {couponName:'未能使用该优惠券'}; } break; + */ case 2: //Amount deduct with minPrice restriction case 6: - if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) { - total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount; + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= qualifiedProductAmount && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + total = total + qualifiedProductAmount - this.curCoupon.couponAmount; this.discountAmount = this.curCoupon.couponAmount; - this.discountedProductCode = itemInCart.productCode; + this.discountedProductCode = itemInCart.productCode; + skipQualifiedProductAmountCalculating = true; couponUsed=true; - } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > (itemInCart.productPrice * itemInCart.buyCount)) { + } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) { total = total + itemInCart.productPrice * itemInCart.buyCount; this.discountAmount = 0; this.curCoupon = {couponName:'未能使用该优惠券'}; @@ -357,7 +368,11 @@ export default { //Into coupon discount calculation end } } else { - total += itemInCart.productPrice * itemInCart.buyCount; + if(skipQualifiedProductAmountCalculating && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + + } else { + total += itemInCart.productPrice * itemInCart.buyCount; + } } } return total;