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) {