From e016e2c4a1a5cf898cf9197f51ca31a9714f141d Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 30 Mar 2026 11:12:04 +0800 Subject: [PATCH] =?UTF-8?q?2026-03-30=20=E6=A0=87=E7=AD=BE=E5=8F=98?= =?UTF-8?q?=E5=8A=A8=E8=AE=B0=E5=BD=95=E5=A2=9E=E5=8A=A0=E3=80=90=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E9=87=8D=E8=AF=95=E3=80=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/warehouse/labelTransactionLog.vue | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/src/views/modules/warehouse/labelTransactionLog.vue b/src/views/modules/warehouse/labelTransactionLog.vue index 8bcd445..2d5ddbb 100644 --- a/src/views/modules/warehouse/labelTransactionLog.vue +++ b/src/views/modules/warehouse/labelTransactionLog.vue @@ -169,6 +169,13 @@ @click="batchRetryHandle"> 手动重试 + + 异常重试 + @@ -544,6 +551,67 @@ export default { this.dataListSelections = val }, + // 异常重试 + exceptionRetryHandle() { + if (this.dataListSelections.length === 0) { + this.$message.warning('请选择要重试的记录!') + return + } + + const count = this.dataListSelections.length + this.$confirm(`确定要异常重试选中的 ${count} 条记录吗?`, '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + const loading = this.$loading({ + lock: true, + text: `正在重试 ${count} 条记录,请稍候...`, + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }) + + // 构造批量重试参数 + const retryList = this.dataListSelections.map(item => ({ + site: item.site, + buNo: item.buNo, + transactionId: item.transactionId + })) + + // 调用批量重试接口 + labelTransactionLogRetry({ retryList, isExceptionRetry: true }).then(({ data }) => { + loading.close() + if (data && data.code === 0) { + const result = data.result || {} + const successCount = result.successCount || 0 + const failureCount = result.failureCount || 0 + + let message = `重试完成!成功:${successCount},失败:${failureCount}` + if (successCount === count) { + this.$message.success(message) + } else if (successCount > 0) { + this.$message.warning(message) + } else { + this.$message.error(message) + } + + // 显示详细结果对话框 + if (result.details && result.details.length > 0) { + this.showRetryResultDialog(result.details) + } + + // 刷新列表 + this.getDataList() + } else { + this.$message.error(data.msg || '重试失败') + } + }).catch(error => { + loading.close() + this.$message.error('重试失败:' + (error.message || '网络错误')) + }) + }).catch(() => {}) + }, + // 批量手动重试 batchRetryHandle() { if (this.dataListSelections.length === 0) {