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 @@ - + + + @@ -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) {