diff --git a/src/views/modules/warehouse/ifsCallErrorLog.vue b/src/views/modules/warehouse/ifsCallErrorLog.vue index 1a95454..3be25f1 100644 --- a/src/views/modules/warehouse/ifsCallErrorLog.vue +++ b/src/views/modules/warehouse/ifsCallErrorLog.vue @@ -118,15 +118,16 @@ @click="showDetailDialog(scope.row)"> 查看详情 + - {{ scope.row._retrying ? '重试中...' : '重试' }} + {{ retryingRowId === scope.row.id ? '重试中...' : '重试' }} - @@ -142,7 +143,21 @@ label="操作"> @@ -493,6 +508,7 @@ export default { processRemark: '', markProcessedLoading: false, markIgnoredLoading: false, + retryingRowId: null, // 正在重试的行ID,全局唯一 - rqrq // 导出相关 - rqrq exportData: [], exportName: 'IFS错误日志' + this.dayjs().format('YYYYMMDDHHmmss'), @@ -689,12 +705,19 @@ export default { // 手工重试IFS接口调用 - rqrq handleRetry(row) { + // 检查是否有其他行正在重试 - rqrq + if (this.retryingRowId !== null) { + this.$message.warning('请等待当前重试完成后再操作') + return + } + this.$confirm('确定要重试此记录的IFS接口调用吗?', '确认重试', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { - // 设置loading状态 - rqrq + // 设置全局重试状态 - rqrq + this.retryingRowId = row.id this.$set(row, '_retrying', true) const params = { @@ -719,6 +742,7 @@ export default { }).finally(() => { // 取消loading状态 - rqrq this.$set(row, '_retrying', false) + this.retryingRowId = null }) }).catch(() => { // 用户取消操作