feat(wip): 产品入库检验等级控制
- 在产品入库页面添加检验等级显示和控制功能- 扫描产品时,验证检验等级是否匹配 - 不同检验等级的产品不允许同时入库 - 入库列表为空时,重置检验等级状态
This commit is contained in:
parent
e487bc42fb
commit
96f37675d0
@ -169,7 +169,18 @@
|
||||
<!-- 托盘号/条码号 -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="托盘号/条码号" prop="carrierNumberOrLotNumber">
|
||||
<el-input clearable v-model="form.carrierNumberOrLotNumber" ref="carrierNumberOrLotNumberInput" @change="scanEvent"></el-input>
|
||||
<el-input clearable v-model="form.carrierNumberOrLotNumber"
|
||||
ref="carrierNumberOrLotNumberInput"
|
||||
@change="scanEvent">
|
||||
<template slot="prepend">
|
||||
<el-tag v-if="qualityInspectionStatus" type="success">
|
||||
要求等级: {{ qualityInspectionStatus }}
|
||||
</el-tag>
|
||||
<el-tag v-else type="info">
|
||||
未设置等级
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- 备注 -->
|
||||
@ -178,6 +189,7 @@
|
||||
<el-input clearable v-model="form.notes"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<!--分割线-->
|
||||
<el-divider></el-divider>
|
||||
@ -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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user