From 842336cb13319389ec8328bedc52491478d24203 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 09 三月 2026 11:56:18 +0800
Subject: [PATCH] 入库管理:新增原料入库增加入库时间

---
 src/views/inventoryManagement/receiptManagement/components/formDia.vue |  107 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 68 insertions(+), 39 deletions(-)

diff --git a/src/views/inventoryManagement/receiptManagement/components/formDia.vue b/src/views/inventoryManagement/receiptManagement/components/formDia.vue
index ff057b2..fe0204b 100644
--- a/src/views/inventoryManagement/receiptManagement/components/formDia.vue
+++ b/src/views/inventoryManagement/receiptManagement/components/formDia.vue
@@ -2,27 +2,41 @@
   <el-dialog v-model="dialogFormVisible" :title="getDialogTitle()" width="70%"
     @close="closeDia">
     <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
-      <el-form-item label="閲囪喘璁㈠崟鍙�" prop="purchaseContractNumber">
-        <el-select
-          v-model="form.purchaseContractNumber"
-          placeholder="璇烽�夋嫨閲囪喘璁㈠崟鍙�"
-          clearable
-          filterable
-          remote
-          :remote-method="loadPurchaseOptions"
-          :loading="loadingPurchaseOptions"
-          @change="handlePurchaseChange"
-          :disabled="operationType === 'edit'"
-          style="width: 100%"
-        >
-          <el-option
-            v-for="item in purchaseOptions"
-            :key="item.purchaseContractNumber"
-            :label="formatPurchaseOption(item)"
-            :value="item.purchaseContractNumber"
-          />
-        </el-select>
-      </el-form-item>
+      <el-row :gutter="24">
+        <el-col :span="12">
+          <el-form-item label="閲囪喘璁㈠崟鍙�" prop="purchaseContractNumber">
+            <el-select
+                v-model="form.purchaseContractNumber"
+                placeholder="璇烽�夋嫨閲囪喘璁㈠崟鍙�"
+                clearable
+                filterable
+                :loading="loadingPurchaseOptions"
+                @change="handlePurchaseChange"
+                :disabled="operationType === 'edit'"
+                style="width: 100%"
+            >
+              <el-option
+                  v-for="item in purchaseOptions"
+                  :key="item.purchaseContractNumber"
+                  :label="formatPurchaseOption(item)"
+                  :value="item.purchaseContractNumber"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="12">
+          <el-form-item label="鍏ュ簱鏃堕棿" prop="inboundTime">
+            <el-date-picker
+                v-model="form.inboundTime"
+                value-format="YYYY-MM-DD"
+                format="YYYY-MM-DD"
+                type="date"
+            ></el-date-picker>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
       <el-table
         :data="productList"
         border
@@ -39,33 +53,27 @@
         <el-table-column label="浜у搧澶х被" prop="productCategory" />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
         <el-table-column label="鍗曚綅" prop="unit" width="70" />
-        <el-table-column label="渚涘簲鍟�" prop="supplierName" width="100" />
+        <!-- <el-table-column label="渚涘簲鍟�" prop="supplierName" width="100" /> -->
         <el-table-column label="閲囪喘鏁伴噺" prop="quantity" width="100" />
         <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" 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="鍚◣鍗曚环(鍏�)"
-          prop="taxInclusiveUnitPrice"
-          :formatter="formattedNumber"
-          width="150"
-        />
-        <el-table-column
-          label="鍚◣鎬讳环(鍏�)"
+          label="鎬讳环(鍏�)"
+					:formatter="formattedNumber"
           prop="taxInclusiveTotalPrice"
-          :formatter="formattedNumber"
           width="150"
-        />
-        <el-table-column
-          label="涓嶅惈绋庢�讳环(鍏�)"
-          prop="taxExclusiveTotalPrice"
-          :formatter="formattedNumber"
-          width="150"
-        />
+        >
+        </el-table-column>
       </el-table>
     </el-form>
     <template #footer>
@@ -199,6 +207,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('璇烽�夋嫨鍚堝悓鍙�')
@@ -217,6 +237,8 @@
     productList.value = productRes.data.map(item => ({
       ...item,
       quantityStock: 0,
+      taxInclusiveUnitPrice: Number(item?.taxInclusiveUnitPrice ?? 0),
+      taxInclusiveTotalPrice: 0,
       originalQuantityStock: Number(item.quantityStock ?? item.inboundQuantity ?? 0),
     }))
   } catch (error) {
@@ -283,7 +305,10 @@
       nickName: userStore.nickName,
       details: selectedRows.value.map(product => ({
         id: product.id,
-        inboundQuantity: Number(product.quantityStock)
+        inboundQuantity: Number(product.quantityStock),
+				unitPrice: Number(product.taxInclusiveUnitPrice),
+        taxRate: Number(product.taxRate),
+				taxInclusiveTotalPrice: Number(product.taxInclusiveTotalPrice)
       })),
     };
     loading.value = true
@@ -365,6 +390,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 +412,5 @@
 
 <style scoped lang="scss"></style>
 
+
+

--
Gitblit v1.9.3