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