From b509d59af23c6afba086fa3fb4c2afb47ab0becb Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 02 十月 2026 10:01:25 +0800
Subject: [PATCH] feat(节假日): 新增重要节假日专项统计模块

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

diff --git a/traffic-audit-web/src/views/AuditResult.vue b/traffic-audit-web/src/views/AuditResult.vue
index 7db2d4f..e3b218a 100644
--- a/traffic-audit-web/src/views/AuditResult.vue
+++ b/traffic-audit-web/src/views/AuditResult.vue
@@ -10,9 +10,14 @@
           <el-menu-item index="/explain">浼佷笟瑙i噴</el-menu-item>
           <el-menu-item index="/audit">瀹℃牳缁撴灉</el-menu-item>
           <el-menu-item index="/report">鎶ヨ〃鐢熸垚</el-menu-item>
+          <el-submenu index="/special-stats">
+            <template slot="title">涓撻」缁熻</template>
+            <el-menu-item index="/holiday-stat">鑺傚亣鏃�</el-menu-item>
+          </el-submenu>
           <el-menu-item index="/rules">瑙勫垯绠$悊</el-menu-item>
           <el-menu-item index="/users">鐢ㄦ埛绠$悊</el-menu-item>
-</el-menu>
+          <el-menu-item v-if="operatorIsAdmin" index="/system-config">绯荤粺閰嶇疆</el-menu-item>
+        </el-menu>
       </el-aside>
       <el-main :class="{ 'main-focus': focusMode }" style="display:flex;flex-direction:column;min-height:0">
         <h3 v-show="!focusMode" style="flex:none;margin:0 0 10px">瀹℃牳缁撴灉</h3>
@@ -609,8 +614,26 @@
     },
     exportExcel() {
       if (!this.period) { this.$message.warning('璇烽�夋嫨鎶ヨ〃鏈�'); return }
-      const q = 'period=' + this.period + '&reportType=' + this.reportType + '&onlyVerify=' + (this.issueScope !== 'all') + '&status=' + (this.statusScope || 'all')
-      window.open('/api/audit/export?' + q)
+      const params = {
+        period: this.period,
+        reportType: this.reportType,
+        onlyVerify: this.issueScope !== 'all',
+        status: this.statusScope || 'all'
+      }
+      api.get('/audit/export', { params, responseType: 'blob' })
+        .then(res => this.downloadBlob(res, '瀹℃牳缁撴灉_' + this.period + '.xlsx'))
+        .catch(() => this.$message.error('瀵煎嚭澶辫触锛氳纭璇ユ姤琛ㄦ湡宸叉湁瀹℃牳缁撴灉'))
+    },
+    downloadBlob(res, fileName) {
+      const blob = res instanceof Blob ? res : new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
+      const url = window.URL.createObjectURL(blob)
+      const a = document.createElement('a')
+      a.href = url
+      a.download = fileName
+      document.body.appendChild(a)
+      a.click()
+      window.URL.revokeObjectURL(url)
+      document.body.removeChild(a)
     },
     review(row, status) {
       if (status === 'IGNORED') {

--
Gitblit v1.9.1