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