mirror of
https://github.com/Awuqing/BackupX.git
synced 2026-08-21 16:23:04 +08:00
feat(reports): 企业合规报表(后端聚合 + CSV 导出 + 前端页面) (#82)
新增合规报表:ReportService 逐任务聚合备份合规证据(成功率/最近成功/SLA 判定/加密/受保护量)+ JSON/CSV API;前端新增 /reports 页面(汇总卡片+明细表+CSV 导出)。后端 go test、前端 tsc+vite、端到端路由验证均通过。
This commit is contained in:
40
web/src/types/reports.ts
Normal file
40
web/src/types/reports.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
export type ComplianceRisk = 'ok' | 'at_risk' | 'not_applicable'
|
||||
|
||||
export interface ComplianceTaskRow {
|
||||
taskId: number
|
||||
taskName: string
|
||||
type: string
|
||||
enabled: boolean
|
||||
nodeName: string
|
||||
cronExpr: string
|
||||
encrypted: boolean
|
||||
retentionDays: number
|
||||
slaHoursRpo: number
|
||||
totalRuns: number
|
||||
successes: number
|
||||
failures: number
|
||||
successRate: number
|
||||
lastStatus: string
|
||||
lastRunAt?: string
|
||||
lastSuccessAt?: string
|
||||
protectedBytes: number
|
||||
compliant: boolean
|
||||
risk: ComplianceRisk
|
||||
}
|
||||
|
||||
export interface ComplianceSummary {
|
||||
totalTasks: number
|
||||
enabledTasks: number
|
||||
compliantTasks: number
|
||||
atRiskTasks: number
|
||||
encryptedTasks: number
|
||||
overallSuccessRate: number
|
||||
totalProtectedBytes: number
|
||||
}
|
||||
|
||||
export interface ComplianceReport {
|
||||
generatedAt: string
|
||||
rangeDays: number
|
||||
summary: ComplianceSummary
|
||||
tasks: ComplianceTaskRow[]
|
||||
}
|
||||
Reference in New Issue
Block a user