From 6b35989783d91899169f89e21a7d3734d8cadc1d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 04 一月 2026 15:19:54 +0800
Subject: [PATCH] 1.海川开心

---
 src/views/procurementManagement/invoiceEntry/components/Modal.vue |   99 +++++++++++++++++++++++++++++--------------------
 1 files changed, 59 insertions(+), 40 deletions(-)

diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index 6e9346c..90b8a9a 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -1,5 +1,5 @@
 <template>
-	<el-dialog :title="modalOptions.title" v-model="visible" width="70%">
+	<el-dialog :title="modalOptions.title" v-model="visible" width="70%" draggable>
 		<el-form
 			ref="formRef"
 			:model="form"
@@ -408,7 +408,6 @@
 			
 			// 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄噰璐悎鍚屽彿鐣欑┖锛�
 			form.purchaseLedgerNo = ""; // 閲囪喘鍚堝悓鍙风暀绌猴紝鍥犱负浼氬湪浜у搧琛ㄦ牸涓垎鍒樉绀�
-			form.invoiceAmount = 0;
 			form.invoiceNumber = "";
 			form.entryDate = dayjs().format("YYYY-MM-DD");
 			form.enterDate = dayjs().format("YYYY-MM-DD");
@@ -419,7 +418,27 @@
 			form.issUerId = userStore.id;
 			form.issUer = userStore.nickName;
 			
+			// 璁剧疆浜у搧鏁版嵁锛屽苟鍒濆鍖栧紑绁ㄦ暟閲忓拰閲戦
+			allProductData.forEach(item => {
+				// 鏈寮�绁ㄦ暟榛樿涓烘�绘暟閲�
+				item.ticketsNum = Number(item.quantity || 0);
+				// 鏈寮�绁ㄩ噾棰濋粯璁や负鍚◣鎬讳环
+				item.ticketsAmount = Number(item.taxInclusiveTotalPrice || 0);
+				// 淇濆瓨鍘熷鏈潵绁ㄦ暟鍜岄噾棰濓紙鐢ㄤ簬璁$畻锛�
+				item.tempFutureTickets = Number(item.quantity || 0);
+				item.tempFutureTicketsAmount = Number(item.taxInclusiveTotalPrice || 0);
+				// 鏈潵绁ㄦ暟鍜岄噾棰濆垵濮嬩负0锛堝洜涓哄叏閮ㄥ紑绁級
+				item.futureTickets = 0;
+				item.futureTicketsAmount = 0;
+			});
+			
 			form.productData = allProductData;
+			
+			// 璁$畻鍙戠エ閲戦锛氭墍鏈変骇鍝佺殑鍚◣鎬讳环涔嬪拰
+			const totalAmount = allProductData.reduce((sum, item) => {
+				return sum + (Number(item.taxInclusiveTotalPrice) || 0);
+			}, 0);
+			form.invoiceAmount = totalAmount.toFixed(2);
 			
 			// 瀛樺偍閫変腑鐨勫悎鍚屾暟鎹�
 			selectedContracts.value = selectedRows;
@@ -586,45 +605,45 @@
 					proxy.$modal.msgError("鎵归噺鐧昏澶辫触");
 				});
 			} else {
-				// 鍗曚釜鍚堝悓鎻愪氦閫昏緫
-				const singleContract = selectedContracts.value[0];
-				const singleForm = {
-					// 鍩虹琛ㄥ崟鏁版嵁
-					invoiceNumber: form.invoiceNumber,
-					invoiceAmount: form.invoiceAmount,
-					entryDate: form.entryDate,
-					enterDate: form.enterDate,
-					issUerId: form.issUerId, // 褰曞叆浜篿d
-					issUer: form.issUer, // 褰曞叆浜�
-					tempFileIds: form.tempFileIds,
+					// 鍗曚釜鍚堝悓鎻愪氦閫昏緫 - 浠ユ暟缁勬牸寮忎紶閫�
+					const singleContract = selectedContracts.value[0];
+					const singleFormArray = [{
+						// 鍩虹琛ㄥ崟鏁版嵁
+						invoiceNumber: form.invoiceNumber,
+						invoiceAmount: form.invoiceAmount,
+						entryDate: form.entryDate,
+						enterDate: form.enterDate,
+						issUerId: form.issUerId, // 褰曞叆浜篿d
+						issUer: form.issUer, // 褰曞叆浜�
+						tempFileIds: form.tempFileIds,
+						
+						// 鍚堝悓瀹為檯淇℃伅
+						purchaseLedgerId: singleContract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负purchaseLedgerId
+						purchaseContractNumber: singleContract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐悎鍚屽彿
+						salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+						supplierName: singleContract.supplierName, // 浣跨敤瀹為檯鐨勪緵搴斿晢鍚嶇О
+						projectName: singleContract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
+						
+						// 浜у搧鏁版嵁
+						productData: proxy.HaveJson(form.productData),
+						
+						// 鎵归噺鏍囪瘑
+						isBatch: false,
+						type: 4
+					}];
 					
-					// 鍚堝悓瀹為檯淇℃伅
-					purchaseLedgerId: singleContract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负purchaseLedgerId
-					purchaseContractNumber: singleContract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐悎鍚屽彿
-					salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
-					supplierName: singleContract.supplierName, // 浣跨敤瀹為檯鐨勪緵搴斿晢鍚嶇О
-					projectName: singleContract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
-					
-					// 浜у搧鏁版嵁
-					productData: proxy.HaveJson(form.productData),
-					
-					// 鎵归噺鏍囪瘑
-					isBatch: false,
-					type: 4
-				};
-				
-				modalLoading.value = true;
-				addOrUpdateRegistration(singleForm).then((res) => {
-					modalLoading.value = false;
-					if (res.code === 200) {
-						proxy.$modal.msgSuccess("鐧昏鎴愬姛");
-						closeAndRefresh();
-					}
-				}).catch(() => {
-					modalLoading.value = false;
-					proxy.$modal.msgError("鐧昏澶辫触");
-				});
-			}
+					modalLoading.value = true;
+					addOrUpdateRegistration(singleFormArray).then((res) => {
+						modalLoading.value = false;
+						if (res.code === 200) {
+							proxy.$modal.msgSuccess("鐧昏鎴愬姛");
+							closeAndRefresh();
+						}
+					}).catch(() => {
+						modalLoading.value = false;
+						proxy.$modal.msgError("鐧昏澶辫触");
+					});
+				}
 		}
 	});
 };

--
Gitblit v1.9.3