From 6e0aa101e90008a0be14a6d60716acc18caf7ffc Mon Sep 17 00:00:00 2001
From: ZN <zhang_12370@163.com>
Date: 星期三, 25 三月 2026 14:37:05 +0800
Subject: [PATCH] fix: 修复发货台账显示与采购/销售台账计算逻辑

---
 src/views/procurementManagement/procurementLedger/index.vue |   23 +++++++++++++++++------
 src/views/salesManagement/deliveryLedger/index.vue          |   10 ++++++----
 src/views/salesManagement/salesLedger/index.vue             |   14 +++++++++-----
 3 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 1432657..c28276d 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -1699,8 +1699,12 @@
         productForm.value.taxInclusiveUnitPrice,
         productForm.value.quantity
       );
-    // 浼樺寲锛氫娇甯︾◣鍜屼笉甯︾◣浠锋牸涓�鑷�
-    productForm.value.taxExclusiveTotalPrice = productForm.value.taxInclusiveTotalPrice;
+    
+    // 鏍规嵁绋庣巼璁$畻涓嶅惈绋庢�讳环
+    const taxRate = Number(productForm.value.taxRate) || 0;
+    productForm.value.taxExclusiveTotalPrice = (
+      Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)
+    ).toFixed(2);
   };
   const reverseMathNum = field => {
     // 纭繚杈撳叆鍊间笉涓鸿礋鏁�
@@ -1715,6 +1719,8 @@
         return;
       }
     }
+
+    const taxRate = Number(productForm.value.taxRate) || 0;
 
     if (field === "taxInclusiveTotalPrice") {
       // 宸茬煡鍚◣鎬讳环鍜屾暟閲忥紝鍙嶇畻鍚◣鍗曚环
@@ -1739,11 +1745,16 @@
           productForm.value.quantity = "0";
         }
       }
-      // 浼樺寲锛氫娇甯︾◣鍜屼笉甯︾◣浠锋牸涓�鑷�
-      productForm.value.taxExclusiveTotalPrice = productForm.value.taxInclusiveTotalPrice;
+      // 鏍规嵁绋庣巼璁$畻涓嶅惈绋庢�讳环
+      productForm.value.taxExclusiveTotalPrice = (
+        Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)
+      ).toFixed(2);
     } else if (field === "taxExclusiveTotalPrice") {
-      // 浼樺寲锛氫娇甯︾◣鍜屼笉甯︾◣浠锋牸涓�鑷�
-      productForm.value.taxInclusiveTotalPrice = productForm.value.taxExclusiveTotalPrice;
+      // 鏍规嵁绋庣巼璁$畻鍚◣鎬讳环
+      productForm.value.taxInclusiveTotalPrice = (
+        Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100)
+      ).toFixed(2);
+      
       // 宸茬煡鏁伴噺锛屽弽绠楀惈绋庡崟浠�
       if (productForm.value.quantity) {
         productForm.value.taxInclusiveUnitPrice = (
diff --git a/src/views/salesManagement/deliveryLedger/index.vue b/src/views/salesManagement/deliveryLedger/index.vue
index 7ce4955..31ade4e 100644
--- a/src/views/salesManagement/deliveryLedger/index.vue
+++ b/src/views/salesManagement/deliveryLedger/index.vue
@@ -36,6 +36,8 @@
         <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip />
         <el-table-column label="浜у搧鍚嶇О" prop="productName" show-overflow-tooltip />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" show-overflow-tooltip />
+        <el-table-column label="鍟嗗搧鎬绘暟" prop="quantity" show-overflow-tooltip />
+        <el-table-column label="鏈鍙戣揣鏁伴噺" prop="partSendAmount" show-overflow-tooltip />
         <el-table-column label="鍙戣揣鏃堕棿" prop="shippingDate" show-overflow-tooltip />
         <el-table-column label="蹇�掑叕鍙�" prop="expressCompany" show-overflow-tooltip />
         <el-table-column label="蹇�掑崟鍙�" prop="expressNumber" show-overflow-tooltip />
@@ -75,8 +77,8 @@
     <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '鏂板鍙戣揣鍙拌处' : '缂栬緫鍙戣揣鍙拌处'" width="40%"
       @close="closeDia">
       <el-form :model="form" label-width="120px" label-position="top" :rules="rules" ref="formRef">
-        <el-row :gutter="30">
-          <el-col :span="24">
+        <!-- <el-row :gutter="30"> -->
+          <!-- <el-col :span="24">
             <el-form-item label="鍙戣揣绫诲瀷锛�" prop="type">
               <el-select
                 v-model="form.type"
@@ -87,8 +89,8 @@
                 <el-option label="蹇��" value="蹇��" />
               </el-select>
             </el-form-item>
-          </el-col>
-        </el-row>
+          </el-col> -->
+        <!-- </el-row> -->
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="鍙戣揣鏃ユ湡锛�" prop="shippingDate">
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 968ed7a..6c05604 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -61,7 +61,11 @@
 								</template>
 							</el-table-column>
               <el-table-column label="鏁伴噺" prop ="quantity" />
-					<el-table-column label="宸插彂璐ф暟閲�" prop="partSendAmount" />
+					<el-table-column label="宸插彂璐ф暟閲�" prop="partSendAmount" >
+						<template #default="scope">
+										{{ scope.row.partSendAmount || 0 }}
+								</template>
+						</el-table-column>
               <el-table-column label="绋庣巼(%)" prop="taxRate" />
               <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
               <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
@@ -555,7 +559,7 @@
 		>
 			<el-form :model="deliveryForm" label-width="120px" label-position="top" :rules="deliveryRules" ref="deliveryFormRef">
 				<el-row :gutter="30">
-					<el-col :span="12">
+					<!-- <el-col :span="12">
 						<el-form-item label="鍙戣揣绫诲瀷锛�" prop="type">
 							<el-select
 								v-model="deliveryForm.type"
@@ -566,7 +570,7 @@
 								<el-option label="蹇��" value="蹇��" />
 							</el-select>
 						</el-form-item>
-					</el-col>
+					</el-col> -->
       <el-col :span="12">
 						<el-form-item label="寰呭彂璐ф暟閲忥細">
 							<el-input v-model="deliveryForm.remainAmount" disabled placeholder="璇疯緭鍏ュ緟鍙戣揣鏁伴噺"></el-input>
@@ -908,7 +912,7 @@
 	if (!deliveryDetailSalesLedgerId.value) return;
 	deliveryDetailLoading.value = true;
 	return deliveryLedgerListPage({
-		salesLedgerId: deliveryDetailSalesLedgerId.value,
+		salesLedgerProductId: deliveryDetailSalesLedgerId.value,
 		current: deliveryDetailPage.current,
 		size: deliveryDetailPage.size,
 	}).then((res) => {
@@ -926,7 +930,7 @@
 };
 
 const openDeliveryDetail = (row) => {
-	deliveryDetailSalesLedgerId.value = row?.salesLedgerId ?? null;
+	deliveryDetailSalesLedgerId.value = row?.id ?? null;
 	deliveryDetailPage.current = 1;
 	deliveryDetailVisible.value = true;
 	getDeliveryDetailList();

--
Gitblit v1.9.3