From b53c1c4851f1b305165545891b91635a2ff15ab6 Mon Sep 17 00:00:00 2001
From: zlwu <704541015@qq.com>
Date: Wed, 12 Aug 2026 20:59:13 +0800
Subject: [PATCH] fix(web-admin): allow reimburse submit with insufficient
invoice balance
Replace blocking tip with a soft warning and remove client-side submit guards.
Co-authored-by: Cursor
---
.../src/views/bx/reimburse/apply/index.vue | 25 +------------------
1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a/web-admin/src/views/bx/reimburse/apply/index.vue b/web-admin/src/views/bx/reimburse/apply/index.vue
index 03f99c850..d6b0cee86 100644
--- a/web-admin/src/views/bx/reimburse/apply/index.vue
+++ b/web-admin/src/views/bx/reimburse/apply/index.vue
@@ -345,7 +345,7 @@
当前发票余额:{{ formatMoneyYuan(walletBalance) }}
;本次合计:{{ formatMoneyYuan(detailTotalAmount) }}
- (余额不足,提交时将被拦截)
+ (余额不足,提交后余额将为负,请后续补发票)
@@ -1136,22 +1136,6 @@ async function handleToolbarSubmit() {
ElMessage.warning(`已跳过 ${skippedCount} 条不可提交的报销单(仅草稿或已驳回可提交),将继续提交其余 ${validTargets.length} 条`)
}
- // 按申请人分别校验发票余额(代申请时用申请人额度)
- const needByApplicant = new Map()
- for (const row of validTargets) {
- const aid = String(row.applicantId || currentUserId())
- needByApplicant.set(aid, (needByApplicant.get(aid) || 0) + Number(row.amount || 0))
- }
- for (const [aid, need] of needByApplicant) {
- await refreshWalletBalance(aid)
- if (Number(walletBalance.value) < need) {
- ElMessage.warning(
- `发票额度不足(余额 ${formatMoneyYuan(walletBalance.value)},本次 ${formatMoneyYuan(need)})`
- )
- return
- }
- }
-
loadingMap.submit = true
try {
const results = await Promise.allSettled(validTargets.map((row) => reimburseApi.submit(row.id)))
@@ -1309,13 +1293,6 @@ async function openFlowDialog(row?: any) {
}
async function handleSubmit(row: any) {
- await refreshWalletBalance(String(row.applicantId || currentUserId()))
- if (Number(walletBalance.value) < Number(row.amount || 0)) {
- ElMessage.warning(
- `发票额度不足(余额 ${formatMoneyYuan(walletBalance.value)},本次 ${formatMoneyYuan(row.amount)})`
- )
- return
- }
loadingMap[`submit_${row.id}`] = true
try {
await reimburseApi.submit(row.id)