优化下单折扣

This commit is contained in:
gyq
2025-03-20 18:30:32 +08:00
parent 87e8976353
commit a914adc9f8
5 changed files with 50 additions and 12 deletions

View File

@@ -465,7 +465,7 @@ async function confirmOrder() {
emit("paySuccess");
}
} catch (error) {
if (error.code == 701) {
if (error.code == 701 || error.code == 603) {
// 订单已过期需刷新购物车和订单
emit('orderExpired')
}
@@ -593,6 +593,32 @@ const discountInput = _.debounce(function (e) {
pointOptions.value.amount = 0
}, 500)
// const discountInput = (e) => {
// setTimeout(() => {
// couponForm.value.amount = couponForm.value.originAmount
// couponForm.value.discountRatio = inputFilterFloat(e)
// if (couponForm.value.discountRatio > 9.9) {
// couponForm.value.discountRatio = 9.9
// }
// if (couponForm.value.discountRatio < 0.1) {
// couponForm.value.discountRatio = 0.1
// }
// if (couponForm.value.discountRatio) {
// couponForm.value.amount = formatDecimal(couponForm.value.amount * (couponForm.value.discountRatio / couponFormDiscountRate.value))
// } else {
// couponForm.value.amount = formatDecimal(+couponForm.value.originAmount)
// }
// // 将优惠券/积分所有设置初始化
// couponResList1.value = []
// couponResList2.value = []
// couponForm.value.pointsNum = ''
// pointOptions.value.amount = 0
// }, 50)
// }
// 积分输入格式化
function pointInput(e) {
setTimeout(() => {
@@ -624,7 +650,7 @@ function pointInput(e) {
const calcPointMoney = _.debounce(async function () {
try {
const res = await calcDeductionAmount({
userId: couponFormUser.value.id,
shopUserId: couponFormUser.value.id,
orderAmount: couponForm.value.amount,
points: couponForm.value.pointsNum
})
@@ -701,7 +727,7 @@ function resetCoupon() {
async function pointOptionsAjax() {
try {
const res = await calcUsablePoints({
userId: couponFormUser.value.id,
shopUserId: couponFormUser.value.id,
orderAmount: couponForm.value.amount
})
@@ -797,7 +823,18 @@ function delCoupon(index, t) {
function discountConfirm() {
// 确认折扣
discountRateVlaue.value = couponForm.value.discountRatio || ''
payData.value.checkOrderPay.discountAmount = couponForm.value.discountRatio ? formatDecimal(couponForm.value.originAmount - (couponForm.value.originAmount * (couponForm.value.discountRatio / couponFormDiscountRate.value))) : 0
// 计算折扣金额
if (couponForm.value.discountRatio) {
let rate = couponForm.value.discountRatio / couponFormDiscountRate.value
let discount = formatDecimal(couponForm.value.originAmount * rate)
payData.value.checkOrderPay.discountAmount = formatDecimal(couponForm.value.originAmount - discount)
// console.log(rate);
// console.log(discount);
// console.log(payData.value.checkOrderPay.discountAmount);
} else {
payData.value.checkOrderPay.discountAmount = 0
}
if (couponFormUser.value.id) {
payData.value.checkOrderPay.userId = couponFormUser.value.userId