From a4203d1c0e24a69b3de3a4cf9f3cb1d727602224 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 15 一月 2026 17:24:58 +0800
Subject: [PATCH] 来票登记,开票登记一些计算问题(后端接口未完善)

---
 src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue b/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
index 85f83ff..b0a2278 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
@@ -75,10 +75,16 @@
     taxInclusiveUnitPrice: undefined, // 鍚◣鍗曚环
     ticketRegistrationId: undefined, // 鍚◣鍗曚环
   });
-
-  const load = async id => {
-    const { code, data } = await getProductRecordById({ id });
+  const cuticketsAmount = ref(0);
+  const cufutureTickets = ref(0);
+  const load = async (id, purchaseLedgerId, productModelId) => {
+    const { code, data } = await getProductRecordById({
+      id: id,
+      purchaseLedgerId: purchaseLedgerId,
+      productModelId: productModelId,
+    });
     if (code === 200) {
+      console.log(data, "鏉ョエ鍙拌处璇︽儏");
       form.id = data.id;
       form.purchaseContractNumber = data.purchaseContractNumber;
       form.salesContractNo = data.salesContractNo;
@@ -88,8 +94,11 @@
       form.ticketsAmount = data.ticketsAmount.toFixed(2);
       form.taxInclusiveUnitPrice = data.taxInclusiveUnitPrice;
       form.futureTickets = data.futureTickets;
+      form.futureTicketsAmount = data.futureTicketsAmount.toFixed(2);
       // temFutureTickets.value = data.futureTickets;
       temFutureTickets.value = data.quantity;
+      cuticketsAmount.value = data.futureTicketsAmount + data.ticketsAmount;
+      cufutureTickets.value = data.futureTickets + data.ticketsNum;
 
       form.ticketRegistrationId = data.ticketRegistrationId;
     }
@@ -101,16 +110,15 @@
       proxy.$modal.msgWarning("鍚◣鍗曚环涓嶈兘涓洪浂鎴栨湭瀹氫箟");
       return;
     }
-    if (Number(form.ticketsNum) > Number(temFutureTickets.value)) {
+    if (Number(form.ticketsNum) > Number(cufutureTickets.value)) {
       proxy.$modal.msgWarning("寮�绁ㄦ暟涓嶅緱澶т簬鏈紑绁ㄦ暟");
-      form.ticketsNum = temFutureTickets.value;
+      form.ticketsNum = cufutureTickets.value;
     }
 
     // 纭繚鎵�鏈夋暟鍊奸兘杞崲涓烘暟瀛楃被鍨嬭繘琛岃绠�
     const ticketsAmount =
       Number(form.ticketsNum) * Number(form.taxInclusiveUnitPrice);
-    const futureTickets =
-      Number(temFutureTickets.value) - Number(form.ticketsNum);
+    const futureTickets = Number(cufutureTickets.value) - Number(form.ticketsNum);
     form.futureTickets = Number(futureTickets.toFixed(2));
     form.ticketsAmount = Number(ticketsAmount.toFixed(2));
   };
@@ -121,14 +129,18 @@
       return;
     }
 
-    if (Number(val) > Number(form.futureTickets * form.taxInclusiveUnitPrice)) {
+    if (
+      Number(val) >
+      Number((form.futureTickets + form.ticketsNum) * form.taxInclusiveUnitPrice)
+    ) {
       proxy.$modal.msgWarning("鏈鏉ョエ閲戦涓嶅緱澶т簬鎬婚噾棰�");
-      form.ticketsAmount = (
-        form.futureTickets * form.taxInclusiveUnitPrice
-      ).toFixed(2);
+      form.ticketsAmount = cuticketsAmount.value.toFixed(2);
       const ticketsNum =
         Number(form.ticketsAmount) / Number(form.taxInclusiveUnitPrice);
       form.ticketsNum = Number(ticketsNum.toFixed(2));
+      form.futureTickets = Number(
+        (cufutureTickets.value - form.ticketsNum).toFixed(2)
+      );
       return;
     }
 

--
Gitblit v1.9.3