From a914adc9f857abeb23c9780692ca342b8e93301d Mon Sep 17 00:00:00 2001 From: gyq <875626088@qq.com> Date: Thu, 20 Mar 2025 18:30:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8B=E5=8D=95=E6=8A=98?= =?UTF-8?q?=E6=89=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/payCard/payCard.vue | 45 +++++++++++++++++++-- src/views/home/components/settleAccount.vue | 2 +- src/views/home/index.vue | 2 +- src/views/work/index.vue | 6 ++- src/views/work/record.vue | 7 ++-- 5 files changed, 50 insertions(+), 12 deletions(-) diff --git a/src/components/payCard/payCard.vue b/src/components/payCard/payCard.vue index 4906d69..99cf09e 100644 --- a/src/components/payCard/payCard.vue +++ b/src/components/payCard/payCard.vue @@ -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 diff --git a/src/views/home/components/settleAccount.vue b/src/views/home/components/settleAccount.vue index 9d61fa4..cd04fcb 100644 --- a/src/views/home/components/settleAccount.vue +++ b/src/views/home/components/settleAccount.vue @@ -225,12 +225,12 @@ function paySuccess() { emits('success') dialogVisible.value = false; ElMessage.success('支付成功') + goodsStore.clearCart() useStorage.del('tableCode') socket.cartInit() goodsStore.successClearCart() } - const payCardRef = ref(null) function show(t) { dialogVisible.value = true; diff --git a/src/views/home/index.vue b/src/views/home/index.vue index e6b107b..a047055 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -90,7 +90,7 @@ + v-if="!store.shopInfo.isTableFee && goodsStore.tableInfo.id" />
{{ `第${arr.orderNum}次下单` }}
{ try { + if (loading.value) return + loading.value = true; // await staffPermission('yun_xu_jiao_ban') const res = await handover(isPrint.value) const data = await handoverData(res) @@ -188,8 +190,8 @@ const exit = async () => { } logoutHandle() } catch (error) { - console.log(error); loading.value = false; + console.log(error); } } @@ -205,9 +207,9 @@ async function logoutHandle() { }); }, 1000); } catch (error) { + loading.value = false; console.log('退出失败'); } - loading.value = false; } // 获取交班打印数据前置 diff --git a/src/views/work/record.vue b/src/views/work/record.vue index ec5af69..b60eed4 100644 --- a/src/views/work/record.vue +++ b/src/views/work/record.vue @@ -25,7 +25,7 @@
- {{ infoData.amount }} + {{ formatDecimal(+infoData.amount) }}
总收款 @@ -62,7 +62,7 @@
挂账金额 - {{ item.creditAmount }} + {{ formatDecimal(+item.creditAmount) }}
@@ -123,8 +123,7 @@ import { reactive, onMounted } from 'vue' import { useRouter } from 'vue-router' import { handoverRecordPage } from '@/api/account.js' -import { useUser } from "@/store/user.js" -import { ElMessage, dayjs } from 'element-plus' +import { formatDecimal } from "@/utils/index.js"; const router = useRouter()