From 4f51c5dfbb3354d01c6ad4cfe260b703e15269dd Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 16 十二月 2025 16:05:26 +0800
Subject: [PATCH] 1.海川开心-增加价格字段,所有的原料,材料版块添加供应商字段

---
 src/views/inventoryManagement/receiptManagement/components/formDia.vue |   56 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/src/views/inventoryManagement/receiptManagement/components/formDia.vue b/src/views/inventoryManagement/receiptManagement/components/formDia.vue
index 7825e1e..6bb7b6c 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="unitPrice" width="150">
+					<template #default="scope">
+						<el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.unitPrice" @change="() => calculateTotalPrice(scope.row)" />
+					</template>
+				</el-table-column>
+        <el-table-column
+          label="鎬讳环(鍏�)"
+					:formatter="formattedNumber"
+          prop="totalPrice"
+          width="150"
+        >
+        </el-table-column>
       </el-table>
     </el-form>
     <template #footer>
@@ -199,6 +191,18 @@
   return parseFloat(cellValue).toFixed(2);
 };
 
+// 璁$畻鎬讳环
+const calculateTotalPrice = (row) => {
+  const quantityStock = Number(row?.quantityStock ?? 0);
+  const unitPrice = Number(row?.unitPrice ?? 0);
+  
+  if (Number.isFinite(quantityStock) && Number.isFinite(unitPrice)) {
+    row.totalPrice = quantityStock * unitPrice;
+  } else {
+    row.totalPrice = 0;
+  }
+};
+
 const fetchProductsByContract = async () => {
   if (!form.value.purchaseContractNumber) {
     proxy.$modal.msgWarning('璇烽�夋嫨鍚堝悓鍙�')
@@ -217,6 +221,8 @@
     productList.value = productRes.data.map(item => ({
       ...item,
       quantityStock: 0,
+      unitPrice: Number(item?.unitPrice ?? 0),
+      totalPrice: 0,
       originalQuantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? 0),
     }))
   } catch (error) {
@@ -283,7 +289,9 @@
       nickName: userStore.nickName,
       details: selectedRows.value.map(product => ({
         id: product.id,
-        inboundQuantity: Number(product.quantityStock)
+        inboundQuantity: Number(product.quantityStock),
+				unitPrice: Number(product.unitPrice),
+				totalPrice: Number(product.totalPrice)
       })),
     };
     loading.value = true
@@ -365,6 +373,8 @@
       productList.value = res.data.map(item => ({
         ...item,
         quantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? row.inboundNum ?? 0),
+        unitPrice: Number(item?.unitPrice ?? 0),
+        totalPrice: Number(item?.quantityStock ?? 0) * Number(item?.unitPrice ?? 0),
         originalQuantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? row.inboundNum ?? 0),
       }))
       selectedRows.value = productList.value

--
Gitblit v1.9.3