From ce5179a02af0239ec32cd1fa0cd1c1476e02a2c0 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 27 七月 2026 23:10:22 +0800
Subject: [PATCH] fix: 来票登记未来票金额计算错误
---
src/views/procurementManagement/invoiceEntry/components/Modal.vue | 40 ++++++++++++++++++++++++++++++----------
1 files changed, 30 insertions(+), 10 deletions(-)
diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index 15f9d42..62888fb 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -430,8 +430,12 @@
// 鏂板鏃讹細鏈寮�绁ㄦ暟榛樿 = 鏈潵绁ㄦ暟锛堜笖涓嶈兘澶т簬鏈潵绁ㄦ暟锛�
item.ticketsNum = Number(item.tempFutureTickets || 0);
// 鑱斿姩璁$畻鏈寮�绁ㄩ噾棰濄�佹湭鏉ョエ鏁般�佹湭鏉ョエ閲戦
- const unitPrice = Number(item.taxInclusiveUnitPrice || 0);
- item.ticketsAmount = Number((item.ticketsNum * unitPrice).toFixed(2));
+ if (Number(item.ticketsNum) === Number(item.tempFutureTickets)) {
+ item.ticketsAmount = Number(item.tempFutureTicketsAmount || 0);
+ } else {
+ const unitPrice = Number(item.taxInclusiveUnitPrice || 0);
+ item.ticketsAmount = Number((item.ticketsNum * unitPrice).toFixed(2));
+ }
item.futureTickets = Number((item.tempFutureTickets - item.ticketsNum).toFixed(2));
item.futureTicketsAmount = Number(
(item.tempFutureTicketsAmount - item.ticketsAmount).toFixed(2)
@@ -515,8 +519,14 @@
proxy.$modal.msgWarning("鏈寮�绁ㄦ暟涓嶈兘澶т簬鏈潵绁ㄦ暟");
row.ticketsNum = Number(row.tempFutureTickets || 0);
}
- // 璁$畻鏈鏉ョエ閲戦
- row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
+
+ if (Number(row.ticketsNum) === Number(row.tempFutureTickets)) {
+ row.ticketsAmount = Number(row.tempFutureTicketsAmount || 0);
+ } else {
+ // 璁$畻鏈鏉ョエ閲戦
+ row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
+ }
+
// 璁$畻鏈潵绁ㄦ暟
row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));
// 璁$畻鏈潵绁ㄩ噾棰�
@@ -534,16 +544,26 @@
proxy.$modal.msgWarning("鏈鏉ョエ閲戦涓嶅緱澶т簬鏈潵绁ㄩ噾棰�");
row.ticketsAmount = Number(row.tempFutureTicketsAmount || 0);
}
- // 璁$畻鏈鏉ョエ鏁�
- row.ticketsNum = Number(
- (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2)
- );
+
+ if (Number(row.ticketsAmount) === Number(row.tempFutureTicketsAmount)) {
+ row.ticketsNum = Number(row.tempFutureTickets || 0);
+ } else {
+ // 璁$畻鏈鏉ョエ鏁�
+ row.ticketsNum = Number(
+ (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2)
+ );
+ }
+
// 妫�鏌ユ湰娆″紑绁ㄦ暟鏄惁澶т簬鏈潵绁ㄦ暟
if (Number(row.ticketsNum) > Number(row.tempFutureTickets)) {
proxy.$modal.msgWarning("鏈寮�绁ㄦ暟涓嶈兘澶т簬鏈潵绁ㄦ暟");
row.ticketsNum = Number(row.tempFutureTickets || 0);
- // 閲嶆柊璁$畻鏈鏉ョエ閲戦
- row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
+ if (Number(row.ticketsNum) === Number(row.tempFutureTickets)) {
+ row.ticketsAmount = Number(row.tempFutureTicketsAmount || 0);
+ } else {
+ // 閲嶆柊璁$畻鏈鏉ョエ閲戦
+ row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
+ }
}
// 璁$畻鏈潵绁ㄦ暟
row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));
--
Gitblit v1.9.3