From feaeb3e3ac6d9e7606fce5e3ae80de3cca9c846f Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 20 五月 2026 09:30:54 +0800
Subject: [PATCH] feat:1.库存成品展示电压,工序类别 2.销售页面调整
---
src/views/inventoryManagement/stockManagement/New.vue | 50 ++++++++++++++++
src/views/procurementManagement/procurementLedger/index.vue | 9 ++-
src/views/collaborativeApproval/purchaseApproval/index.vue | 8 ++
src/views/productionManagement/workOrder/index.vue | 12 ++++
src/views/inventoryManagement/stockManagement/index.vue | 8 ++
src/views/productionManagement/workOrder/components/CopperPrintingForm.vue | 4
src/views/salesManagement/salesLedger/index.vue | 23 +++++--
src/views/inventoryManagement/stockManagement/Record.vue | 11 +++
8 files changed, 106 insertions(+), 19 deletions(-)
diff --git a/src/views/collaborativeApproval/purchaseApproval/index.vue b/src/views/collaborativeApproval/purchaseApproval/index.vue
index af17bbe..6620bc2 100644
--- a/src/views/collaborativeApproval/purchaseApproval/index.vue
+++ b/src/views/collaborativeApproval/purchaseApproval/index.vue
@@ -571,8 +571,12 @@
getProductOptions();
};
const getProductOptions = () => {
- productTreeList().then((res) => {
- productOptions.value = convertIdToValue(res);
+ productTreeList({ productName: "鎴愬搧" }).then((res) => {
+ const tree = convertIdToValue(res);
+ const finishedNode = tree.find(
+ (item) => item?.label === "鎴愬搧" || item?.productName === "鎴愬搧"
+ );
+ productOptions.value = finishedNode?.children || tree;
});
};
const getModels = (value) => {
diff --git a/src/views/inventoryManagement/stockManagement/New.vue b/src/views/inventoryManagement/stockManagement/New.vue
index fd3226b..940b734 100644
--- a/src/views/inventoryManagement/stockManagement/New.vue
+++ b/src/views/inventoryManagement/stockManagement/New.vue
@@ -45,6 +45,39 @@
</el-form-item>
<el-form-item
+ v-if="props.isFinishedProduct"
+ label="宸ュ簭绫诲埆"
+ prop="processCategory"
+ :rules="[
+ {
+ required: true,
+ message: '璇烽�夋嫨宸ュ簭绫诲埆',
+ trigger: 'change',
+ }
+ ]"
+ >
+ <el-select v-model="formState.processCategory" placeholder="璇烽�夋嫨宸ュ簭绫诲埆" clearable>
+ <el-option label="閾滄瀬" value="閾滄瀬" />
+ <el-option label="閾舵瀬" value="閾舵瀬" />
+ </el-select>
+ </el-form-item>
+
+ <el-form-item
+ v-if="props.isFinishedProduct"
+ label="鐢靛帇"
+ prop="voltage"
+ :rules="[
+ {
+ required: true,
+ message: '璇疯緭鍏ョ數鍘�',
+ trigger: 'blur',
+ }
+ ]"
+ >
+ <el-input v-model="formState.voltage" clearable placeholder="璇疯緭鍏ョ數鍘�" />
+ </el-form-item>
+
+ <el-form-item
label="搴撳瓨绫诲瀷"
prop="type"
:rules="[
@@ -115,6 +148,14 @@
visible: {
type: Boolean,
required: true,
+ },
+ topProductParentId: {
+ type: Number,
+ default: 0,
+ },
+ isFinishedProduct: {
+ type: Boolean,
+ default: false,
}
});
@@ -128,6 +169,8 @@
productModelName: "",
materialCode: "",
unit: "",
+ processCategory: "",
+ voltage: "",
batchNo: "",
type: undefined,
qualitity: 0,
@@ -157,6 +200,8 @@
productModelName: "",
materialCode: "",
unit: "",
+ processCategory: "",
+ voltage: "",
batchNo: "",
type: undefined,
qualitity: 0,
@@ -197,6 +242,11 @@
const payload = { ...formState.value };
const bn = (payload.batchNo || "").trim();
payload.batchNo = bn;
+ payload.voltage = (payload.voltage || "").trim();
+ if (!props.isFinishedProduct) {
+ delete payload.processCategory;
+ delete payload.voltage;
+ }
if (payload.type === 'qualified') {
createStockInventory(payload).then(res => {
// 鍏抽棴妯℃�佹
diff --git a/src/views/inventoryManagement/stockManagement/Record.vue b/src/views/inventoryManagement/stockManagement/Record.vue
index 5b0a5f1..2168107 100644
--- a/src/views/inventoryManagement/stockManagement/Record.vue
+++ b/src/views/inventoryManagement/stockManagement/Record.vue
@@ -27,8 +27,10 @@
<el-table-column label="瑙勬牸鍨嬪彿" prop="model" show-overflow-tooltip />
<el-table-column label="鍗曚綅" prop="unit" show-overflow-tooltip />
<el-table-column label="鏂欏彿" prop="materialCode" show-overflow-tooltip />
- <el-table-column label="鍚堟牸鎵瑰彿" prop="qualifiedBatchNo" show-overflow-tooltip />
- <el-table-column label="涓嶅悎鏍兼壒鍙�" prop="unQualifiedBatchNo" show-overflow-tooltip />
+<!-- <el-table-column label="鍚堟牸鎵瑰彿" prop="qualifiedBatchNo" show-overflow-tooltip />-->
+<!-- <el-table-column label="涓嶅悎鏍兼壒鍙�" prop="unQualifiedBatchNo" show-overflow-tooltip />-->
+ <el-table-column v-if="props.isFinishedProduct" label="宸ュ簭绫诲埆" prop="processCategory" show-overflow-tooltip />
+ <el-table-column v-if="props.isFinishedProduct" label="鐢靛帇" prop="voltage" show-overflow-tooltip />
<el-table-column label="鍚堟牸搴撳瓨鏁伴噺" prop="qualifiedQuantity" show-overflow-tooltip />
<el-table-column label="涓嶅悎鏍煎簱瀛樻暟閲�" prop="unQualifiedQuantity" show-overflow-tooltip />
<el-table-column label="鍚堟牸鍐荤粨鏁伴噺" prop="qualifiedLockedQuantity" show-overflow-tooltip />
@@ -50,6 +52,7 @@
<new-stock-inventory v-if="isShowNewModal"
v-model:visible="isShowNewModal"
:top-product-parent-id="props.productId"
+ :is-finished-product="props.isFinishedProduct"
@completed="handleQuery" />
<subtract-stock-inventory v-if="isShowSubtractModal"
@@ -83,6 +86,10 @@
type: Number,
required: true,
default: 0
+ },
+ isFinishedProduct: {
+ type: Boolean,
+ default: false
}
});
diff --git a/src/views/inventoryManagement/stockManagement/index.vue b/src/views/inventoryManagement/stockManagement/index.vue
index b3aa7ee..fb2a29b 100644
--- a/src/views/inventoryManagement/stockManagement/index.vue
+++ b/src/views/inventoryManagement/stockManagement/index.vue
@@ -6,7 +6,11 @@
:label="tab.productName"
:name="tab.id"
:key="tab.id">
- <Record :product-id="tab.id" v-if="tab.id === activeTab" />
+ <Record
+ :product-id="tab.id"
+ :is-finished-product="tab.productName?.includes('鎴愬搧')"
+ v-if="tab.id === activeTab"
+ />
</el-tab-pane>
</el-tabs>
</div>
@@ -41,4 +45,4 @@
onMounted(() => {
fetchProducts();
})
-</script>
\ No newline at end of file
+</script>
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 99a1790..d1a0097 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -1716,9 +1716,12 @@
}
};
const getProductOptions = () => {
- return productTreeList().then((res) => {
- const tree = convertIdToValue(res);
- productOptions.value = filterOutSemiFinished(tree);
+ return productTreeList({ productName: "鎴愬搧" }).then((res) => {
+ const tree = filterOutSemiFinished(convertIdToValue(res));
+ const finishedNode = tree.find(
+ (item) => item?.label === "鎴愬搧" || item?.productName === "鎴愬搧"
+ );
+ productOptions.value = finishedNode?.children || tree;
return res;
});
};
diff --git a/src/views/productionManagement/workOrder/components/CopperPrintingForm.vue b/src/views/productionManagement/workOrder/components/CopperPrintingForm.vue
index 6539b4d..0a27bd0 100644
--- a/src/views/productionManagement/workOrder/components/CopperPrintingForm.vue
+++ b/src/views/productionManagement/workOrder/components/CopperPrintingForm.vue
@@ -409,7 +409,7 @@
<td colspan="14"></td>
</tr>
<tr class="report-row report-row--triple">
- <td class="label" colspan="2">鐑ч挗鏃ユ湡</td>
+ <td class="label" colspan="2">鐑ч摐鏃ユ湡</td>
<td colspan="5" class="cell-field">
<el-date-picker
v-if="props.isEdit"
@@ -433,7 +433,7 @@
/>
<span v-else class="view-value">{{ displayValue(formData.otherData.copperFiringTime) }}</span>
</td>
- <td class="label label--compact" colspan="2">鐑ч挗鍑虹倝鏃堕棿</td>
+ <td class="label label--compact" colspan="2">鐑ч摐鍑虹倝鏃堕棿</td>
<td colspan="5" class="cell-field">
<el-date-picker
v-if="props.isEdit"
diff --git a/src/views/productionManagement/workOrder/index.vue b/src/views/productionManagement/workOrder/index.vue
index 895bffa..1592ffd 100644
--- a/src/views/productionManagement/workOrder/index.vue
+++ b/src/views/productionManagement/workOrder/index.vue
@@ -28,6 +28,18 @@
</div>
<div class="search-item">
+ <span class="search_title">宸ュ簭锛�</span>
+ <el-input
+ v-model="searchForm.processName"
+ style="width: 240px"
+ placeholder="璇疯緭鍏�"
+ @change="handleQuery"
+ clearable
+ prefix-icon="Search"
+ />
+ </div>
+
+ <div class="search-item">
<el-button type="primary" @click="handleQuery">鎼滅储 </el-button>
</div>
</div>
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 9c99662..c2be59c 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -104,18 +104,21 @@
</template>
</el-table-column>
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
- <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" width="180" show-overflow-tooltip />
<el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="300" show-overflow-tooltip />
- <el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
+ <el-table-column label="鍨嬪彿" prop="model" width="100" show-overflow-tooltip />
+ <el-table-column label="鐢靛帇" prop="voltage" width="100" show-overflow-tooltip />
+ <el-table-column label="qty" prop="qty" width="100" show-overflow-tooltip />
<el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />
- <el-table-column label="浠樻鏂瑰紡" prop="paymentMethod" show-overflow-tooltip />
- <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="220" show-overflow-tooltip
- :formatter="formattedNumber" />
+ <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="220" show-overflow-tooltip
+ :formatter="formattedNumber" />
+ <el-table-column label="浠樻鏂瑰紡" prop="paymentMethod" show-overflow-tooltip />
<el-table-column label="褰曞叆浜�" prop="entryPersonName" width="100" show-overflow-tooltip />
<el-table-column label="褰曞叆鏃ユ湡" prop="entryDate" width="120" show-overflow-tooltip />
<el-table-column label="绛捐鏃ユ湡" prop="executionDate" width="120" show-overflow-tooltip />
<el-table-column label="浜や粯鏃ユ湡" prop="deliveryDate" width="120" show-overflow-tooltip />
- <el-table-column label="澶囨敞" prop="remarks" width="200" show-overflow-tooltip />
+ <el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
+ <el-table-column label="澶囨敞" prop="remarks" width="200" show-overflow-tooltip />
+ <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" width="180" show-overflow-tooltip />
<el-table-column fixed="right" label="鎿嶄綔" min-width="100" align="center">
<template #default="scope">
<el-button link type="primary" size="small" @click="openForm('edit', scope.row)"
@@ -918,7 +921,11 @@
const getProductOptions = () => {
// 杩斿洖 Promise锛屼究浜庡湪缂栬緫浜у搧鏃剁瓑寰呭姞杞藉畬鎴�
return productTreeList({productName: '鎴愬搧'}).then((res) => {
- productOptions.value = convertIdToValue(res);
+ const tree = convertIdToValue(res);
+ const finishedNode = tree.find(
+ (item) => item?.label === '鎴愬搧' || item?.productName === '鎴愬搧'
+ );
+ productOptions.value = finishedNode?.children || tree;
return productOptions.value;
});
};
@@ -2345,4 +2352,4 @@
page-break-after: avoid;
}
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3