|
@@ -35,7 +35,7 @@ import { moneyFormat } from '@/helpers/utils'
|
|
|
import OrderPinao from './order-pinao'
|
|
|
import { getMusicDetail } from '@/student/trade/tradeOrder'
|
|
|
import OrderActive from './order-active'
|
|
|
-import UseCoupon from './use-coupons'
|
|
|
+import UseCoupon, { couponToOrderTypeEnum } from './use-coupons'
|
|
|
import OrderAlbum from './order-album'
|
|
|
import { useRect } from '@vant/use'
|
|
|
import QrcodePayment from './qrcode-payment'
|
|
@@ -454,15 +454,39 @@ export default defineComponent({
|
|
|
},
|
|
|
onCouponSelect(item: any) {
|
|
|
let discountCount = 0
|
|
|
- ;(item || []).forEach((item: any) => {
|
|
|
- discountCount += Number(item.discountPrice)
|
|
|
+ let universalCount = 0
|
|
|
+ const tempPrice: any = {}
|
|
|
+ this.orderGoodsType.forEach((type: any) => {
|
|
|
+ tempPrice[type.orderType] = type.price
|
|
|
+ })
|
|
|
+ ;(item || []).forEach((child: any) => {
|
|
|
+ if(child.couponCategory === 'UNIVERSAL') {
|
|
|
+ universalCount += Number(child.discountPrice)
|
|
|
+ } else {
|
|
|
+ const tempCoupon = couponToOrderTypeEnum[child.couponCategory]
|
|
|
+ let price = tempPrice[tempCoupon] - Number(child.discountPrice)
|
|
|
+ // 折扣金额
|
|
|
+ if(price >= 0) {
|
|
|
+ discountCount += Number(child.discountPrice)
|
|
|
+ } else {
|
|
|
+ discountCount += Number(tempPrice[tempCoupon])
|
|
|
+ }
|
|
|
+ tempPrice[tempCoupon] = price >= 0 ? price : 0
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
+ // 获取金额
|
|
|
+ let tempAllAmount = 0
|
|
|
+ for(let i in tempPrice) {
|
|
|
+ tempAllAmount += tempPrice[i]
|
|
|
+ }
|
|
|
+ // 判断 通用券的金额是否大于订单的金额
|
|
|
+ if(universalCount >= tempAllAmount) {
|
|
|
+ universalCount = tempAllAmount
|
|
|
+ }
|
|
|
+
|
|
|
const lastAmount = Number(
|
|
|
- numberToTwoUp(
|
|
|
- Number(this.orderAmount) -
|
|
|
- orderStatus.orderObject.discountCardPrice -
|
|
|
- Number(discountCount)
|
|
|
+ numberToTwoUp(tempAllAmount - Number(universalCount)
|
|
|
)
|
|
|
)
|
|
|
this.orderPrice = lastAmount >= 0 ? lastAmount : 0
|
|
@@ -471,7 +495,8 @@ export default defineComponent({
|
|
|
return item.couponIssueId
|
|
|
})
|
|
|
orderStatus.orderObject.couponId = couponIds.join(',') || ''
|
|
|
- orderStatus.orderObject.couponDiscountPrice = discountCount
|
|
|
+ orderStatus.orderObject.couponDiscountPrice = discountCount + universalCount
|
|
|
+
|
|
|
},
|
|
|
onConfirm(val: any) {
|
|
|
// debugger
|