From 2bd663b4488808814ea07685f527fc2eb51e5bfe Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 28 八月 2026 17:36:13 +0800
Subject: [PATCH] fix: 菜单/布局统一——企业解释重复 components 键导致 app-header 未注册;规则管理/用户管理改为统一上下布局(顶部系统栏+登出),移除菜单内失效的退出登录项
---
traffic-audit-web/src/views/ReportExport.vue | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/traffic-audit-web/src/views/ReportExport.vue b/traffic-audit-web/src/views/ReportExport.vue
index bcfd56b..c7935b4 100644
--- a/traffic-audit-web/src/views/ReportExport.vue
+++ b/traffic-audit-web/src/views/ReportExport.vue
@@ -1,6 +1,6 @@
<template>
- <el-container>
- <el-header>浜ら�氱粺璁℃姤琛ㄥ鏍哥郴缁� - 鎶ヨ〃鐢熸垚</el-header>
+ <el-container direction="vertical">
+ <app-header title="浜ら�氱粺璁℃姤琛ㄥ鏍哥郴缁� - 鎶ヨ〃鐢熸垚"></app-header>
<el-container>
<el-aside width="200px">
<el-menu router :default-active="activeMenu">
@@ -12,7 +12,6 @@
<el-menu-item index="/report">鎶ヨ〃鐢熸垚</el-menu-item>
<el-menu-item index="/rules">瑙勫垯绠$悊</el-menu-item>
<el-menu-item index="/users">鐢ㄦ埛绠$悊</el-menu-item>
- <el-menu-item index="/login" @click="logout">閫�鍑虹櫥褰�</el-menu-item>
</el-menu>
</el-aside>
<el-main>
@@ -146,9 +145,11 @@
</template>
<script>
+import AppHeader from '@/components/AppHeader.vue'
import api from '@/api'
export default {
+ components: { AppHeader },
name: 'ReportExport',
data() {
return {
@@ -303,7 +304,7 @@
const m = this.curModule
if (!m || !this.period) return
const params = Object.assign(this.buildParams(), { types: m.items.map(i => i.key).join(',') })
- api.get('/report/ready', { params })
+ api.get('/report/ready', { params, timeout: 60000 })
.then(res => {
const list = (res && res.data && res.data.items) || []
list.forEach(r => {
@@ -348,7 +349,7 @@
if (!items.length) { this.$message.warning('璇烽�夋嫨瑕侀瑙堢殑鎶ヨ〃'); return }
this.loading = 'preview-' + m.key
const params = Object.assign(this.buildParams(), { types: items.map(i => i.key).join(',') })
- api.get('/report/preview', { params })
+ api.get('/report/preview', { params, timeout: 60000 })
.then(res => {
const list = (res && res.data && res.data.items) || []
this.previewItems = list.map(it => {
@@ -386,18 +387,18 @@
const params = this.buildParams()
const doExport = () => {
if (items.length === 1) {
- api.get('/report/export/' + items[0].key, { params, responseType: 'blob' })
+ api.get('/report/export/' + items[0].key, { params, responseType: 'blob', timeout: 120000 })
.then(res => { this.downloadBlob(res, items[0].fileName); this.$message.success('鎶ヨ〃瀵煎嚭鎴愬姛'); this.loading = '' })
.catch(err => this.failWith(err))
return
}
const zipParams = Object.assign({}, params, { types: items.map(i => i.key).join(',') })
- api.get('/report/export/selected', { params: zipParams, responseType: 'blob' })
+ api.get('/report/export/selected', { params: zipParams, responseType: 'blob', timeout: 120000 })
.then(res => { this.downloadBlob(res, '鐢熸垚_鎵�閫夋姤琛╛' + this.period + '.zip'); this.$message.success('宸插鍑� ' + items.length + ' 寮犳姤琛紙zip锛�'); this.loading = '' })
.catch(err => this.failWith(err))
}
const readyParams = Object.assign({}, params, { types: items.map(i => i.key).join(',') })
- api.get('/report/ready', { params: readyParams })
+ api.get('/report/ready', { params: readyParams, timeout: 60000 })
.then(rd => {
const list = (rd && rd.data && rd.data.items) || []
const missing = list.filter(i => !i.ready)
@@ -419,6 +420,7 @@
.catch(() => doExport())
},
failWith(err) {
+ if (err && err._toast) { this.loading = ''; return }
let msg = ''
const d = err && err.response && err.response.data
if (d && typeof d === 'object' && d.message) msg = d.message
--
Gitblit v1.9.1