From 5538ad997b2f2c78340d50992b0787dc6ec2f915 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Wed, 16 Sep 2026 11:01:06 +0800 Subject: [PATCH] site --- src/views/modules/recv/inspectionResults.vue | 7 ++++ src/views/modules/recv/unqualifiedProcess.vue | 32 +++++++++++++++---- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/views/modules/recv/inspectionResults.vue b/src/views/modules/recv/inspectionResults.vue index 379058d..01ae228 100644 --- a/src/views/modules/recv/inspectionResults.vue +++ b/src/views/modules/recv/inspectionResults.vue @@ -240,6 +240,12 @@ export default { // 选择处理项目 selectProcessItem(item) { this.selectedItem = { ...item }; + // 处理页扫描/确认必须带单据行工厂编码,不能回退到登录大site + const contract = item.contract || item.site; + if (!contract) { + this.$message.error('当前单据缺少站点信息,无法处理'); + return; + } // 跳转到统一的不合格处理页面,通过processType参数区分处理类型 this.$router.push({ @@ -250,6 +256,7 @@ export default { processType: item.processType, partNo: item.partNo, unqualifiedQty: item.unqualifiedQty, + contract: contract, scannedItems: JSON.stringify(this.scannedItems) } }); diff --git a/src/views/modules/recv/unqualifiedProcess.vue b/src/views/modules/recv/unqualifiedProcess.vue index f8e3525..c30a3f4 100644 --- a/src/views/modules/recv/unqualifiedProcess.vue +++ b/src/views/modules/recv/unqualifiedProcess.vue @@ -128,7 +128,8 @@ export default { processInfo: {}, scannedItems: [], isRemoveMode: false, // 默认为添加模式 - processType: '' // RETURN/SCRAP/EXCHANGE + processType: '', // RETURN/SCRAP/EXCHANGE + site: '' // 选中单据行的IFS工厂编码(contract),不是登录大site }; }, computed: { @@ -203,6 +204,11 @@ export default { return `border: 1px solid ${this.processConfig.color}; background: white; color: ${this.processConfig.color};`; }, + // 处理页实际site来自检验结果选中行的contract + getProcessSite() { + return this.site || (this.processInfo && this.processInfo.contract) || ''; + }, + // 处理扫描 handleScan() { if (!this.scanCode.trim()) { @@ -219,9 +225,15 @@ export default { // 验证标签并添加到列表 validateAndAddLabel(unitId) { + const processSite = this.getProcessSite(); + if (!processSite) { + this.$message.error('缺少单据站点信息,请返回重新选择'); + return; + } + const params = { unitId: unitId, - site: localStorage.getItem('site'), + site: processSite }; scanHandlingUnitLabel(params).then(({ data }) => { @@ -238,8 +250,8 @@ export default { this.$message.error('HandlingUnit不是未入库状态,无法处理'); return; } - // 校验HU是否属于当前单据 - if (huInfo.site !== localStorage.getItem('site')) { + // HU站点必须与选中单据行的contract一致,不能用登录大site比对 + if (huInfo.site !== processSite) { this.$message.error('HandlingUnit站点不匹配'); return; } @@ -340,10 +352,16 @@ export default { // 提交确认处理 submitConfirmProcess() { + const processSite = this.getProcessSite(); + if (!processSite) { + this.$message.error('缺少单据站点信息,请返回重新选择'); + return; + } + const handlingUnitIds = this.scannedItems.map(item => item.unitId); const params = { - site: localStorage.getItem('site'), + site: processSite, transNo: this.processInfo.transNo, processType: this.processInfo.processType, handlingUnitIds: handlingUnitIds @@ -385,12 +403,14 @@ export default { // 获取路由参数 const query = this.$route.query; this.processType = query.processType || 'RETURN'; + this.site = query.contract || ''; this.processInfo = { transNo: query.transNo, itemNo: query.itemNo, processType: query.processType, partNo: query.partNo, - unqualifiedQty: query.unqualifiedQty + unqualifiedQty: query.unqualifiedQty, + contract: query.contract }; // 如果有传入的扫描项目,恢复它们