From 2b7b6f5348205b013440d7ddfd8a20b40ede344b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Mon, 21 Sep 2026 14:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=95=99=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../warehouse/ifsCallErrorLog54.vue | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/views/modules/haianWarehouse/warehouse/ifsCallErrorLog54.vue b/src/views/modules/haianWarehouse/warehouse/ifsCallErrorLog54.vue index 81535dc..c8aa824 100644 --- a/src/views/modules/haianWarehouse/warehouse/ifsCallErrorLog54.vue +++ b/src/views/modules/haianWarehouse/warehouse/ifsCallErrorLog54.vue @@ -232,13 +232,20 @@ export default { }, // 标记已处理:要求填写备注,避免后续无法追溯处理依据 - rqrq markAsProcessed() { + // 共用操作锁防止重复提交;必须使用所选记录的实际site,缺失时禁止回退大site误处理 - rqrq + if (this.markProcessedLoading || this.markIgnoredLoading) return + if (!this.currentRow.site || !this.currentRow.id) { + this.$message.error('日志工厂或记录编号缺失,请重新查询后操作') + return + } if (!this.processRemark || this.processRemark.trim() === '') { this.$message.warning('请填写处理备注') return } this.markProcessedLoading = true const params = { - site: this.$store.state.user.site, + // 大site列表包含小site日志,按记录site提交,后端继续核对site与id对应关系 - rqrq + site: this.currentRow.site, id: this.currentRow.id, remark: this.processRemark, processedBy: this.$store.state.user.name @@ -259,13 +266,20 @@ export default { }, // 标记已忽略:只做人工状态确认,不触发重试逻辑 - rqrq markAsIgnored() { + // 共用操作锁防止重复提交;小site记录按自身site处理,缺失业务主键时终止请求 - rqrq + if (this.markProcessedLoading || this.markIgnoredLoading) return + if (!this.currentRow.site || !this.currentRow.id) { + this.$message.error('日志工厂或记录编号缺失,请重新查询后操作') + return + } if (!this.processRemark || this.processRemark.trim() === '') { this.$message.warning('请填写忽略原因') return } this.markIgnoredLoading = true const params = { - site: this.$store.state.user.site, + // 保留所选日志的实际工厂,避免大site与小site不一致导致忽略操作被拒绝 - rqrq + site: this.currentRow.site, id: this.currentRow.id, remark: this.processRemark, processedBy: this.$store.state.user.name