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/inventoryManagement/receiptManagement/components/formDia.vue |   76 ++++++++++++++++++++++---------------
 1 files changed, 45 insertions(+), 31 deletions(-)

diff --git a/src/views/inventoryManagement/receiptManagement/components/formDia.vue b/src/views/inventoryManagement/receiptManagement/components/formDia.vue
index 7825e1e..a736b52 100644
--- a/src/views/inventoryManagement/receiptManagement/components/formDia.vue
+++ b/src/views/inventoryManagement/receiptManagement/components/formDia.vue
@@ -8,8 +8,6 @@
           placeholder="璇烽�夋嫨閲囪喘璁㈠崟鍙�"
           clearable
           filterable
-          remote
-          :remote-method="loadPurchaseOptions"
           :loading="loadingPurchaseOptions"
           @change="handlePurchaseChange"
           :disabled="operationType === 'edit'"
@@ -44,28 +42,22 @@
         <el-table-column label="寰呭叆搴撴暟閲�" prop="quantity0" width="100" />
         <el-table-column label="鏈鍏ュ簱鏁伴噺" prop="quantityStock" width="150">
           <template #default="scope">
-            <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.quantityStock" />
+            <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.quantityStock" @change="() => calculateTotalPrice(scope.row)" />
           </template>
         </el-table-column>
-<!--        <el-table-column label="绋庣巼(%)" prop="taxRate" width="120" />-->
-<!--        <el-table-column-->
-<!--          label="鍚◣鍗曚环(鍏�)"-->
-<!--          prop="taxInclusiveUnitPrice"-->
-<!--          :formatter="formattedNumber"-->
-<!--          width="150"-->
-<!--        />-->
-<!--        <el-table-column-->
-<!--          label="鍚◣鎬讳环(鍏�)"-->
-<!--          prop="taxInclusiveTotalPrice"-->
-<!--          :formatter="formattedNumber"-->
-<!--          width="150"-->
-<!--        />-->
-<!--        <el-table-column-->
-<!--          label="涓嶅惈绋庢�讳环(鍏�)"-->
-<!--          prop="taxExclusiveTotalPrice"-->
-<!--          :formatter="formattedNumber"-->
-<!--          width="150"-->
-<!--        />-->
+        <el-table-column label="绋庣巼(%)" prop="taxRate" width="120" />
+        <el-table-column label="鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" width="150">
+					<template #default="scope">
+						<el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.taxInclusiveUnitPrice" @change="() => calculateTotalPrice(scope.row)" :disabled="operationType === 'edit'"/>
+					</template>
+				</el-table-column>
+        <el-table-column
+          label="鎬讳环(鍏�)"
+					:formatter="formattedNumber"
+          prop="taxInclusiveTotalPrice"
+          width="150"
+        >
+        </el-table-column>
       </el-table>
     </el-form>
     <template #footer>
@@ -86,6 +78,7 @@
   selectProductRecordListByPuechaserId
 } from "@/api/inventoryManagement/stockIn.js";
 import { purchaseListPage } from "@/api/procurementManagement/procurementLedger.js";
+import { getCurrentDate } from "@/utils/index.js";
 
 const userStore = useUserStore()
 const { proxy } = getCurrentInstance()
@@ -199,6 +192,18 @@
   return parseFloat(cellValue).toFixed(2);
 };
 
+// 璁$畻鎬讳环
+const calculateTotalPrice = (row) => {
+  const quantityStock = Number(row?.quantityStock ?? 0);
+  const taxInclusiveUnitPrice = Number(row?.taxInclusiveUnitPrice ?? 0);
+  
+  if (Number.isFinite(quantityStock) && Number.isFinite(taxInclusiveUnitPrice)) {
+    row.taxInclusiveTotalPrice = quantityStock * taxInclusiveUnitPrice;
+  } else {
+    row.taxInclusiveTotalPrice = 0;
+  }
+};
+
 const fetchProductsByContract = async () => {
   if (!form.value.purchaseContractNumber) {
     proxy.$modal.msgWarning('璇烽�夋嫨鍚堝悓鍙�')
@@ -214,11 +219,17 @@
       productList.value = [];
       return
     }
-    productList.value = productRes.data.map(item => ({
-      ...item,
-      quantityStock: 0,
-      originalQuantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? 0),
-    }))
+    productList.value = productRes.data.map(item => {
+      const quantityStock = Number(item?.quantity0 ?? 0);
+      const taxInclusiveUnitPrice = Number(item?.taxInclusiveUnitPrice ?? 0);
+      return {
+        ...item,
+        quantityStock,
+        taxInclusiveUnitPrice,
+        taxInclusiveTotalPrice: quantityStock * taxInclusiveUnitPrice,
+        originalQuantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? 0),
+      };
+    })
   } catch (error) {
     console.error('鏌ヨ浜у搧璁板綍澶辫触:', error)
     proxy.$modal.msgError('鏌ヨ浜у搧璁板綍澶辫触')
@@ -283,7 +294,9 @@
       nickName: userStore.nickName,
       details: selectedRows.value.map(product => ({
         id: product.id,
-        inboundQuantity: Number(product.quantityStock)
+        inboundQuantity: Number(product.quantityStock),
+				taxInclusiveUnitPrice: Number(product.taxInclusiveUnitPrice),
+				taxInclusiveTotalPrice: Number(product.taxInclusiveTotalPrice)
       })),
     };
     loading.value = true
@@ -330,9 +343,6 @@
   return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 }
 
-function getCurrentDate() {
-  return formatDateTime(new Date(), false);
-}
 
 const openDialog = async (type, row) => {
   operationType.value = type
@@ -365,6 +375,8 @@
       productList.value = res.data.map(item => ({
         ...item,
         quantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? row.inboundNum ?? 0),
+        taxInclusiveUnitPrice: Number(item?.taxInclusiveUnitPrice ?? 0),
+        taxInclusiveTotalPrice: Number(item?.quantityStock ?? 0) * Number(item?.taxInclusiveUnitPrice ?? 0),
         originalQuantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? row.inboundNum ?? 0),
       }))
       selectedRows.value = productList.value
@@ -385,3 +397,5 @@
 
 <style scoped lang="scss"></style>
 
+
+

--
Gitblit v1.9.3