From cd45fca6c019e013784e221ed5b3ac54a6258d82 Mon Sep 17 00:00:00 2001 From: Vion Date: Mon, 24 Jan 2022 20:42:51 +0800 Subject: [PATCH] Order confirm page refined --- rc-busness/pages/personal/settlement.vue | 63 ++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 5 deletions(-) diff --git a/rc-busness/pages/personal/settlement.vue b/rc-busness/pages/personal/settlement.vue index 6f7fe256..9253ca11 100644 --- a/rc-busness/pages/personal/settlement.vue +++ b/rc-busness/pages/personal/settlement.vue @@ -52,7 +52,7 @@

¥{{ item.productPrice }}

X{{ item.buyCount }}

-

¥{{ item.productPrice }}

+

¥{{ item.productPrice * item.buyCount }}

@@ -295,6 +295,7 @@ export default { break; case 3: //Limited product % discount case 4: //% discount + debugger; total = total + (itemInCart.productPrice * itemInCart.buyCount) * this.curCoupon.discount; this.discountAmount = (itemInCart.productPrice * itemInCart.buyCount) * ( 1 - this.curCoupon.discount); this.discountedItemIndex = tmpCounter; @@ -328,16 +329,68 @@ export default { methods: { ...mapMutations(["checkIsLogin"]), wholeOrderDiscount(){ - //TODO + this.discountedItemIndex = 0; if(this.curCoupon.minPrice && this.curCoupon.minPrice > this.sumPrice) { - if(this.curCoupon.couponAmount && this.curCoupon.couponAmount>0) + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount>0) { + this.discountAmount = this.curCoupon.discount; return this.sumPrice - this.curCoupon.couponAmount; - else - return 0; + } else if(this.curCoupon.discount && this.curCoupon.discount>0) { + this.discountAmount = this.sumPrice*this.curCoupon.discount; + return this.sumPrice * (1-this.curCoupon.discount); + } } }, qualifiedProductDiscount(){ //TODO + this.discountedItemIndex = 0; + let tmpCounter = 0 ; + + //Sort items by items amount + + //Sort items by items amount end + + for(let itemInCart of this.goldmedal) { + if((!this.curCoupon.productCodes || this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) && !couponUsed) { + if(this.curCoupon.minQuantity && this.curCoupon.minQuantity>itemInCart.buyCount) { + //Check minQuantity + total+=(itemInCart.buyCount * itemInCart.productPrice); + } else if(this.curCoupon.minPrice && this.curCoupon.minPrice > (itemInCart.buyCount * itemInCart.productPrice)) { + //Check minPrice + total+=(itemInCart.buyCount * itemInCart.productPrice); + } else { + //Into coupon discount calculation + switch(this.curCoupon.couponTypeId) { + case 1: //Amount deduct + total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount); + this.discountAmount = this.curCoupon.couponAmount; + this.discountedItemIndex = tmpCounter; + couponUsed=true; + break; + case 2: //Amount deduct with minPrice restriction + case 6: + total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount; + this.discountAmount = this.curCoupon.couponAmount; + this.discountedItemIndex = tmpCounter; + couponUsed=true; + break; + case 3: //Limited product % discount + case 4: //% discount + total = total + (itemInCart.productPrice * itemInCart.buyCount) * this.curCoupon.discount; + this.discountAmount = (itemInCart.productPrice * itemInCart.buyCount) * ( 1 - this.curCoupon.discount); + this.discountedItemIndex = tmpCounter; + couponUsed=true; + break; + default: + total += itemInCart.productPrice * itemInCart.buyCount; + break; + } + //Into coupon discount calculation end + } + } else { + total += itemInCart.productPrice * itemInCart.buyCount; + } + tmpCounter++; + } }, async getAddressList() { let memberId = JSON.parse(localStorage.getItem("userInfo")).data.id;