From 96f37675d0d62faa8d27dadb32cfed8bcd2ee088 Mon Sep 17 00:00:00 2001
From: tangyu <1184163753@qq.com>
Date: Wed, 11 Jun 2025 10:54:36 +0800
Subject: [PATCH] =?UTF-8?q?feat(wip):=20=E4=BA=A7=E5=93=81=E5=85=A5?=
=?UTF-8?q?=E5=BA=93=E6=A3=80=E9=AA=8C=E7=AD=89=E7=BA=A7=E6=8E=A7=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在产品入库页面添加检验等级显示和控制功能- 扫描产品时,验证检验等级是否匹配
- 不同检验等级的产品不允许同时入库
- 入库列表为空时,重置检验等级状态
---
.../mes/wip/product-storag-request/index.vue | 57 ++++++++++++++++++-
1 file changed, 55 insertions(+), 2 deletions(-)
diff --git a/src/views/mes/wip/product-storag-request/index.vue b/src/views/mes/wip/product-storag-request/index.vue
index 134bedd..29ec357 100644
--- a/src/views/mes/wip/product-storag-request/index.vue
+++ b/src/views/mes/wip/product-storag-request/index.vue
@@ -169,7 +169,18 @@
-
+
+
+
+ 要求等级: {{ qualityInspectionStatus }}
+
+
+ 未设置等级
+
+
+
@@ -178,6 +189,7 @@
+
@@ -338,6 +350,7 @@ export default {
current: 1,
size: 20
},
+ qualityInspectionStatus: null,
}
},
created() {
@@ -491,8 +504,11 @@ export default {
let dnOrder= "";
// 销售订单行号
let dnOrderSeq = "";
+ let qualityInspectionStatus = null;
let scanListLength = 0;
if (storagRequestList.length > 0) {
+ qualityInspectionStatus = storagRequestList[0].qualityInspectionStatus;
+ scanListLength = storagRequestList.length;
inventoryStatus = storagRequestList[0].storageStatus;
inventorySpecialMarking = storagRequestList[0].inventorySpecialMarking;
dnOrder = storagRequestList[0].dnOrder;
@@ -509,7 +525,8 @@ export default {
"salesOrderControl": this.salesOrderControl,
"dnOrder": dnOrder,
"dnOrderSeq": dnOrderSeq,
- "scanListLength":scanListLength
+ "scanListLength":scanListLength,
+ "qualityInspectionStatus": qualityInspectionStatus, // 传递当前库存等级给后端
};
me.$refs.storagRequestData.clearSelection();
@@ -521,6 +538,25 @@ export default {
}
if (res.data.data) {
let data = res.data.data;
+
+ let currentGrade = null;
+ if (me.storagRequestList.length === 0 && data.length > 0) {
+ // 首次扫描,设置库存等级基准
+ me.qualityInspectionStatus = data[0].qualityInspectionStatus;
+ currentGrade = me.qualityInspectionStatus;
+ } else {
+ currentGrade = me.qualityInspectionStatus;
+ }
+
+ // 验证所有返回条码的库存等级
+ for (let item of data) {
+ if (item.qualityInspectionStatus !== currentGrade) {
+ // 等级不匹配
+ let errorMsg = `库存等级不匹配!当前要求等级: ${currentGrade || '空'},扫描条码等级: ${item.qualityInspectionStatus || '空'}`;
+ return me.$message.error(errorMsg);
+ }
+ }
+
for (let dataObject of data) {
let isDuplicate = false;
// 检查 dataObject.lotNumber 是否已经存在于 storagRequestList 中
@@ -671,8 +707,14 @@ export default {
}
me.$refs.storagRequestData.clearSelection();
setSeq(this.storagRequestList, 'seq');
+
+ // 移除后如果列表为空,重置库存等级
+ if (me.storagRequestList.length === 0) {
+ me.qualityInspectionStatus = null;
+ }
},
+
//删除
doDelete() {
let me = this;
@@ -712,6 +754,10 @@ export default {
me.doSearch('delete');
me.$message.success('删除成功');
me.$refs.storagRequestData.clearSelection();
+ // 删除后检查列表是否为空
+ if (me.storagRequestList.length === 0) {
+ me.qualityInspectionStatus = null;
+ }
}).catch(e => {
console.log(e);
hideLoading();
@@ -764,6 +810,12 @@ export default {
}
}
me.storagRequestList = res.data.data.records;
+ // 设置库存等级(如果列表不为空)
+ if (me.storagRequestList.length > 0) {
+ me.qualityInspectionStatus = me.storagRequestList[0].qualityInspectionStatus;
+ } else {
+ me.qualityInspectionStatus = null;
+ }
me.form.notes = res.data.data.records[0].masterNotes;
me.page.total = res.data.data.total;
me.page.current = res.data.data.current;
@@ -858,6 +910,7 @@ export default {
this.multipleSelection = [];
// 清空列表信息
this.storagRequestList = [];
+ this.qualityInspectionStatus = null; // 重置库存等级
},
handleSizeChange(val) {