From 1156fbe1fa77e4a6b7d890604d25e98edf8a7059 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期三, 28 一月 2026 17:40:09 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management into dev_New

---
 src/views/salesManagement/receiptPayment/index.vue |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/src/views/salesManagement/receiptPayment/index.vue b/src/views/salesManagement/receiptPayment/index.vue
index 66af76a..a2a0b2f 100644
--- a/src/views/salesManagement/receiptPayment/index.vue
+++ b/src/views/salesManagement/receiptPayment/index.vue
@@ -433,7 +433,8 @@
     specificationModel: row.specificationModel || "",
     pendingInvoiceTotal: Number(row.pendingInvoiceTotal || 0),
     taxRate: row.taxRate ?? "",
-    receiptPaymentAmount: "",
+    // 榛樿鏈鍥炴閲戦 = 寰呭洖娆鹃噾棰�
+    receiptPaymentAmount: Number(row.pendingInvoiceTotal || 0),
     receiptPaymentType: "",
     registrant: userStore.nickName,
     receiptPaymentDate: "",
@@ -518,6 +519,29 @@
 
 // 淇濆瓨鍥炴璁板綍
 const saveReceiptPayment = (row) => {
+  // 瀛愯〃鍥炴閲戦鍚堣鏍¢獙锛氭墍鏈夊洖娆捐褰曢噾棰濅箣鍜屼笉鑳藉ぇ浜庣埗鏁版嵁鍚堝悓閲戦
+  // 杩欓噷鐖舵暟鎹�滃悎鍚岄噾棰濃�濇寜锛氬凡鍥炴閲戦( invoiceTotal ) + 寰呭洖娆鹃噾棰�( pendingInvoiceTotal ) 璁$畻
+  const findParentRowByChildId = (childId) => {
+    return tableData.value.find((p) =>
+      Array.isArray(p.children) && p.children.some((c) => c.id === childId)
+    );
+  };
+  const parentRow = findParentRowByChildId(row.id);
+  if (parentRow) {
+    const contractAmount =
+      Number(parentRow.invoiceTotal || 0) + Number(parentRow.pendingInvoiceTotal || 0);
+    const sumReceipt = (parentRow.children || []).reduce((sum, item) => {
+      const val = Number(item?.receiptPaymentAmount ?? 0);
+      return sum + (Number.isFinite(val) ? val : 0);
+    }, 0);
+    if (sumReceipt > contractAmount) {
+      proxy.$modal.msgError(
+        `鍥炴閲戦鍚堣(${sumReceipt.toFixed(2)})涓嶈兘澶т簬鍚堝悓閲戦(${contractAmount.toFixed(2)})`
+      );
+      return;
+    }
+  }
+
   let updateData = {
     id: row.id,
     receiptPaymentType: row.receiptPaymentType,

--
Gitblit v1.9.3