From d42a044f6f7ca289a7b37affa00b6c385cd13b62 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期一, 31 八月 2026 09:46:26 +0800
Subject: [PATCH] fix: 报表生成页 el-tabs 同样触发布局无限循环风险,改为 el-radio-group 切换(与 /import 修复一致),并清理 DataImport 残留 el-tabs 样式

---
 traffic-audit-web/src/views/AuditResult.vue |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/traffic-audit-web/src/views/AuditResult.vue b/traffic-audit-web/src/views/AuditResult.vue
index 7ef313c..9f19f80 100644
--- a/traffic-audit-web/src/views/AuditResult.vue
+++ b/traffic-audit-web/src/views/AuditResult.vue
@@ -336,7 +336,7 @@
       const fd = new FormData()
       fd.append('period', this.period)
       fd.append('reportType', this.reportType)
-      api.post('/audit/execute', fd)
+      api.post('/audit/execute', fd, { timeout: 120000 })
         .then(res => {
           const count = (res.data || []).length
           return api.get('/audit/ruleStats', { params: { period: this.period, reportType: this.reportType } })
@@ -361,7 +361,7 @@
         .then(() => api.get('/audit/results', { params: { period: this.period, reportType: this.reportType } }))
         .then(res => { this.applyResults(res.data) })
         .then(() => this.loadRuleStats())
-        .catch(() => { this.$message.error('瀹℃牳鎵ц澶辫触') })
+        .catch(e => { if (e && e._toast) return; this.$message.error('瀹℃牳鎵ц澶辫触') })
         .finally(() => { this.loading = false })
     },
     markAudited() {
@@ -370,7 +370,7 @@
       const fd = new FormData()
       fd.append('period', this.period)
       fd.append('reportType', this.reportType)
-      api.post('/audit/markAudited', fd)
+      api.post('/audit/markAudited', fd, { timeout: 60000 })
         .then(res => {
           if (res.data) {
             this.$message.success('宸叉爣璁拌鏈熴��' + this.reportType + '銆嶄负宸插鏍革紝鎶ヨ〃瀵煎嚭涓嶅啀鎻愮ず鏈鏍�')
@@ -380,7 +380,7 @@
           return api.get('/audit/results', { params: { period: this.period, reportType: this.reportType } })
         })
         .then(res => { this.applyResults(res.data) })
-        .catch(() => { this.$message.error('鏍囪澶辫触') })
+        .catch(e => { if (e && e._toast) return; this.$message.error('鏍囪澶辫触') })
         .finally(() => { this.marking = false })
     },
     queryResults() {
@@ -389,7 +389,7 @@
       api.get('/audit/results', { params: { period: this.period, reportType: this.reportType } })
         .then(res => { this.applyResults(res.data) })
         .then(() => this.loadRuleStats())
-        .catch(() => { this.$message.error('鏌ヨ澶辫触') })
+        .catch(e => { if (e && e._toast) return; this.$message.error('鏌ヨ澶辫触') })
         .finally(() => { this.loading = false })
     },
     toggleExplain(reportId) {
@@ -412,13 +412,13 @@
       fd.append('reportType', this.reportType)
       fd.append('reportId', reportId)
       fd.append('explanation', explanation)
-      api.post('/explain/save', fd)
+      api.post('/explain/save', fd, { timeout: 60000 })
         .then(() => {
           this.$message.success('浼佷笟瑙i噴宸蹭繚瀛�')
           this.$set(this.explainDrafts, reportId, explanation)
           this.results.forEach(r => { if (r.reportId === reportId) r.verifyExplanation = explanation })
         })
-        .catch(e => { this.$message.error((e.response && e.response.data && e.response.data.message) || '淇濆瓨澶辫触') })
+        .catch(e => { if (e && e._toast) return; this.$message.error((e.response && e.response.data && e.response.data.message) || '淇濆瓨澶辫触') })
         .finally(() => { this.savingExplainId = null })
     },
     resetDraft(reportId) {
@@ -450,9 +450,9 @@
       fd.append('id', row.id)
       fd.append('status', status)
       if (comment) fd.append('comment', comment)
-      api.post('/audit/review', fd)
+      api.post('/audit/review', fd, { timeout: 60000 })
         .then(() => { row.status = status; this.$message.success(status === 'CONFIRMED' ? '宸茬‘璁�' : '宸插拷鐣�') })
-        .catch(() => { this.$message.error('鎿嶄綔澶辫触') })
+        .catch(e => { if (e && e._toast) return; this.$message.error('鎿嶄綔澶辫触') })
     },
     updateBatchSelection() { this.batchSelection = this.filteredResults.filter(r => r._selected) },
     toggleSelectAll(value) {
@@ -478,9 +478,9 @@
         fd.append('id', item.id)
         fd.append('status', status)
         if (comment) fd.append('comment', comment)
-        api.post('/audit/review', fd)
+        api.post('/audit/review', fd, { timeout: 60000 })
           .then(() => { item.status = status; done++; if (done === list.length) this.$message.success('宸�' + (status === 'CONFIRMED' ? '纭' : '蹇界暐') + ' ' + done + ' 鏉�') })
-          .catch(() => { this.$message.error('閮ㄥ垎鎿嶄綔澶辫触') })
+          .catch(e => { if (e && e._toast) return; this.$message.error('閮ㄥ垎鎿嶄綔澶辫触') })
       })
     },
     clearFilters() { this.enterpriseFilter = ''; this.ruleFilter = '' },

--
Gitblit v1.9.1