From 5a537b356ffc7f36e3360bdb2d53496078149ad2 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 29 一月 2026 10:33:23 +0800
Subject: [PATCH] 进销存升级 1.来票登记优化

---
 src/views/procurementManagement/invoiceEntry/components/Modal.vue |   42 +++++++++++++++++++++++++-----------------
 1 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index efd4a4e..b723175 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -411,13 +411,15 @@
 					item.futureTicketsAmount !== undefined ? item.futureTicketsAmount : (item.taxInclusiveTotalPrice || 0)
 				);
 
-				// 鏂板鏃讹細鏈寮�绁ㄩ粯璁や笉濉紙0锛夛紝閬垮厤涓�鎵撳紑灏辨妸鈥滄湭鏉ョエ鏁扳�濇墸鎴� 0
-				item.ticketsNum = 0;
-				item.ticketsAmount = 0;
-
-				// 椤甸潰灞曠ず鐨勨�滄湭鏉ョエ鏁�/鏈潵绁ㄩ噾棰濃�濋粯璁ゅ睍绀哄師濮嬫湭鏉ュ��
-				item.futureTickets = item.tempFutureTickets;
-				item.futureTicketsAmount = item.tempFutureTicketsAmount;
+				// 鏂板鏃讹細鏈寮�绁ㄦ暟榛樿 = 鏈潵绁ㄦ暟锛堜笖涓嶈兘澶т簬鏈潵绁ㄦ暟锛�
+				item.ticketsNum = Number(item.tempFutureTickets || 0);
+				// 鑱斿姩璁$畻鏈寮�绁ㄩ噾棰濄�佹湭鏉ョエ鏁般�佹湭鏉ョエ閲戦
+				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)
+				);
 			});
 			
 			form.productData = allProductData;
@@ -426,7 +428,7 @@
 			const totalAmount = allProductData.reduce((sum, item) => {
 				return sum + (Number(item.ticketsAmount) || 0);
 			}, 0);
-			form.invoiceAmount = totalAmount.toFixed(2);
+			form.invoiceAmount = Number(totalAmount.toFixed(2));
 			
 			// 瀛樺偍閫変腑鐨勫悎鍚屾暟鎹�
 			selectedContracts.value = selectedRows;
@@ -467,11 +469,11 @@
 		row.ticketsNum = Number(row.tempFutureTickets || 0);
 	}
 	// 璁$畻鏈鏉ョエ閲戦
-	row.ticketsAmount = (row.ticketsNum * row.taxInclusiveUnitPrice).toFixed(2)
+	row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
 	// 璁$畻鏈潵绁ㄦ暟
-	row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
+	row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));
 	// 璁$畻鏈潵绁ㄩ噾棰�
-	row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
+	row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(2));
 	calculateinvoiceAmount();
 };
 
@@ -494,12 +496,12 @@
 		proxy.$modal.msgWarning("鏈寮�绁ㄦ暟涓嶈兘澶т簬鏈潵绁ㄦ暟");
 		row.ticketsNum = Number(row.tempFutureTickets || 0);
 		// 閲嶆柊璁$畻鏈鏉ョエ閲戦
-		row.ticketsAmount = (row.ticketsNum * row.taxInclusiveUnitPrice).toFixed(2);
+		row.ticketsAmount = Number((Number(row.ticketsNum) * Number(row.taxInclusiveUnitPrice || 0)).toFixed(2));
 	}
 	// 璁$畻鏈潵绁ㄦ暟
-	row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
+	row.futureTickets = Number((Number(row.tempFutureTickets || 0) - Number(row.ticketsNum || 0)).toFixed(2));
 	// 璁$畻鏈潵绁ㄩ噾棰�
-	row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
+	row.futureTicketsAmount = Number((Number(row.tempFutureTicketsAmount || 0) - Number(row.ticketsAmount || 0)).toFixed(2));
 	calculateinvoiceAmount();
 };
 
@@ -510,7 +512,7 @@
 			invoiceAmountTotal += Number(item.ticketsAmount);
 		}
 	});
-	form.invoiceAmount = invoiceAmountTotal.toFixed(2);
+	form.invoiceAmount = Number(invoiceAmountTotal.toFixed(2));
 };
 
 const open = async (type, selectedRows) => {
@@ -518,9 +520,15 @@
 	
 	// 濡傛灉鏄壒閲忔搷浣滐紝璁剧疆鏍囬
 	if (Array.isArray(selectedRows) && selectedRows.length > 1) {
-		modalOptions.title = `鎵归噺鏂板 (${selectedRows.length}鏉�)`;
+		modalOptions.value = {
+			...(modalOptions.value || {}),
+			title: `鎵归噺鏂板 (${selectedRows.length}鏉�)`,
+		};
 	} else {
-		modalOptions.title = type === "add" ? "鏂板" : "缂栬緫";
+		modalOptions.value = {
+			...(modalOptions.value || {}),
+			title: type === "add" ? "鏂板" : "缂栬緫",
+		};
 	}
 	
 	// 濡傛灉鏄崟涓搷浣滐紝鑾峰彇id

--
Gitblit v1.9.3