From a76a8cce476ceccbc061a3f51681b6090a7d3741 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期五, 11 九月 2026 17:32:41 +0800
Subject: [PATCH] feat: 汇总大表排名页随报表期刷新 + 同比列统一百分数显示
---
traffic-audit-web/src/views/AuditResult.vue | 30 ++++++++++++++++++++----------
1 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/traffic-audit-web/src/views/AuditResult.vue b/traffic-audit-web/src/views/AuditResult.vue
index f4b7278..7db2d4f 100644
--- a/traffic-audit-web/src/views/AuditResult.vue
+++ b/traffic-audit-web/src/views/AuditResult.vue
@@ -50,7 +50,9 @@
<div class="sev-card sev-pending"><b>{{ severityStats.pending }}</b> 寰呭鐞�</div>
<div class="sev-card sev-done"><b>{{ severityStats.done }}</b> 宸插鐞�</div>
</div>
- <el-form v-if="!focusMode" :inline="true" style="margin-top:8px;flex:none">
+ <div v-if="!focusMode" class="audit-filter-bar">
+ <el-form :inline="true">
+ <el-form-item label="绛涢��"></el-form-item>
<el-form-item label="浼佷笟鍚嶇О">
<el-input v-model="enterpriseFilter" placeholder="杈撳叆浼佷笟鍚嶇О鍏抽敭瀛�" clearable style="width:200px" @keyup.enter.native="queryResults"></el-input>
</el-form-item>
@@ -59,11 +61,12 @@
<el-option v-for="rn in ruleOptions" :key="rn" :label="rn" :value="rn"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="闂绫诲瀷">
+ <el-form-item label="闂鑼冨洿">
<el-radio-group v-model="issueScope" size="small" @change="updateBatchSelection">
- <el-radio-button label="verify">鏍稿疄鍨�</el-radio-button>
- <el-radio-button label="all">鍏ㄩ儴</el-radio-button>
+ <el-radio-button label="verify">浠呴渶鏍稿疄</el-radio-button>
+ <el-radio-button label="all">鍚彁閱掑瀷</el-radio-button>
</el-radio-group>
+ <span class="hint">鎻愰啋鍨嬩粎鎻愮ず鍙樺寲銆佷笉闇�澶勭悊锛屽鍑洪粯璁や笉鍚�</span>
</el-form-item>
<el-form-item label="鐘舵��">
<el-select v-model="statusScope" style="width:110px" @change="updateBatchSelection">
@@ -87,9 +90,11 @@
<el-button size="small" plain @click="statsCollapsed = !statsCollapsed">{{ statsCollapsed ? '灞曞紑' : '鏀惰捣' }}瑙勫垯缁熻</el-button>
</el-form-item>
<el-form-item>
- <span style="color:#909399;font-size:12px">鍏� {{ results.length }} 鏉¢棶棰橈紝{{ mergedResults.length }} 瀹朵紒涓�</span>
+ <span style="color:#303133;font-size:13px;font-weight:600">褰撳墠绛涢�� {{ filteredResults.length }} 鏉� / {{ mergedResults.length }} 瀹朵紒涓�</span>
+ <span style="color:#909399;font-size:12px;margin-left:8px">锛堝叡 {{ results.length }} 鏉¢棶棰橈級</span>
</el-form-item>
</el-form>
+ </div>
<div v-if="ruleStats.length && !statsCollapsed && !focusMode" class="rule-stats" style="flex:none">
<div class="stats-cards">
<div v-for="rs in sortedRuleStats" :key="rs.ruleId" class="stat-card"
@@ -354,7 +359,7 @@
data() {
return {
period: '', reportType: 'H2032', loading: false, marking: false, results: [], ruleStats: [], statsCollapsed: false,
- enterpriseFilter: '', ruleFilter: '', viewMode: 'detail', issueScope: 'verify', statusScope: 'all', batchSelection: [], focusMode: false,
+ enterpriseFilter: '', ruleFilter: '', viewMode: 'merged', issueScope: 'verify', statusScope: 'all', batchSelection: [], focusMode: false,
explainDrafts: {}, savingExplainId: null, expandedExplain: null,
monthVisible: false, monthLoading: false, monthType: '', monthPeriod: '', monthKeyword: '', monthRecords: [], monthColumns: []
}
@@ -367,7 +372,7 @@
},
severityStats() {
const s = { red: 0, yellow: 0, pending: 0, done: 0 }
- this.results.forEach(r => {
+ this.filteredResults.forEach(r => {
if (r.alertLevel === 'RED') s.red++
else if (r.alertLevel === 'YELLOW') s.yellow++
if (r.status === 'PENDING') s.pending++
@@ -383,9 +388,6 @@
someSelected() {
const list = this.filteredResults
return list.some(r => r._selected) && !this.allSelected
- },
- isReminderRow(r) {
- return !!(r && r.ruleCode === 'RULE_004')
},
filteredResults() {
const kw = (this.enterpriseFilter || '').trim()
@@ -424,6 +426,9 @@
}
},
methods: {
+ isReminderRow(r) {
+ return !!(r && r.ruleCode === 'RULE_004')
+ },
dataType(t) { return DATA_TYPE_MAP[t] || '' },
explainType(t) { return EXPLAIN_TYPES.indexOf(t) >= 0 },
openMonthReport(row) {
@@ -769,4 +774,9 @@
.mr-sec-tab th { background: #F5F7FA; font-weight: 600; }
.mr-note { margin: 6px 12px 12px; background: #FDF6EC; border: 1px solid #FAECD8; border-radius: 4px; padding: 8px 10px; font-size: 12px; color: #8a6d3b; white-space: pre-wrap; word-break: break-all; }
.mr-note-line { margin: 2px 0; }
+
+.audit-filter-bar { background:#FAFAFA; border:1px solid #EBEEF5; border-radius:8px; padding:2px 12px 0; margin-top:8px; flex:none; }
+.audit-filter-bar .el-form-item { margin-bottom:6px; }
+.audit-filter-bar .el-form-item__label { color:#606266; font-weight:600; }
+.hint { color:#909399; font-size:12px; margin-left:6px; white-space:nowrap; }
</style>
--
Gitblit v1.9.1