報表與儀表板功能群總覽(Reporting Overview)
選單歸屬(2026-07-06 對齊產品選單):專案摘要報表掛在側欄「專案與任務」群(產品選單它與專案列表同群);本群(AI 分析)項下為 AI 儀表板。本頁仍是兩者共用的領域總覽。
本檔放「本功能群多個頁面共用的知識」:頁面地圖、報表 / 儀表板兩類產出、版本歷史機制、角色基調。
各頁面 spec 引用本檔,只寫自己頁面的差異——改共用邏輯時改這裡一份。
事實基準:2026-07-05 從 FE(
views/project-summary-report/、views/dynamic-dashboard/、config/router/index.js)/ BE(api/project_summary_report、api/ai_dashboard)code 與db_schema.json掃出;route 存廢對public.ui_routes。
1. 頁面地圖
本群是稽核成果的對外呈現層:把專案資料整理成可讀報表 / 視覺化儀表板。
| 頁面 | FE route | 用途一句話 | 持久性 | spec |
|---|---|---|---|---|
| 專案摘要報表 | /project-summary-report(+ -tab-view /
-history) |
每專案富文本總結報告,可匯出、有版本歷史 | 存 DB | ⬜ project-summary-report.md |
| AI 儀表板 | /dashboard/ai-dashboard |
自然語言 prompt → 即時生成動態儀表板 | 即時(不落 DB) | ⬜ ai-dashboard.md |
相鄰但不在本群:GRC 內建儀表板(全域落地頁
/project/dashboard、/grc/dashboard/summary、每
AP 儀表板)歸專案管理群
project-dashboard;證據分類報表歸證據管理群。
已除名(驗死,2026-07-05):
analysis(/analysis):ThreatAnalysis.vue為 Sigma.js 硬編範例 demo(節點 John / Mary / Sushis…),無 API、ui_routes無此列、0 個 nav 進入點——scaffolding 殘留,非功能頁。customer-dashboard-editor(/dashboard/customer-dashboard-editor):DashboardEditor.vue為vue-grid-layoutdemo(TodoCard / BarStatsCard / PeiStatsCard 假卡),無 API、無持久化、template 留有未完成item.h"npmtypo、ui_routesenable=0(選單停用)——未完成 scaffold。
2. 兩類產出
- 持久化報表(專案摘要報表):
compliance.project_summary_reports——每專案一份富文本(TipTap 編輯器)總結,summarytext 欄存 HTML;支援匯出與版本歷史(project_summary_report_histories,typeU=更新 / R=還原)。這是傳統「編輯 → 存檔 → 匯出」報表。 - 即時 AI 儀表板:使用者輸入自然語言
prompt(
/ai-dashboard/auto-generate),後端生成儀表板配置 / widget,前端渲染。per-request 生成、不落 DB(無專屬儀表板表)。/ai-dashboard/health檢查生成服務可用性。
3. 版本歷史機制(摘要報表)
專案摘要報表的歷史與問卷填答歷史同 pattern:
- 每次存檔在
project_summary_report_histories寫一筆快照(type=U);還原某版時把快照套回主檔並記一筆type=R。 - 版本鏈只增不減;還原不刪後續版本。
4. 角色基調
角色是誰:
專案 manager / 參與者——稽核告一段落後撰寫 / 更新專案摘要報表,匯出給客戶或主管看。「身為 manager,我要把這輪稽核的重點整理成一份摘要報表,匯出交給利害關係人。」
一般使用者(有 AI 儀表板選單能力者)——用自然語言直接生出想看的資料視覺化,不用等人做報表。「身為使用者,我要打一句話描述我想看的統計,馬上生成一個儀表板。」
專案摘要報表:專案層功能(
project_id綁定),實際 endpoint 守門以該頁 §3 為準。AI 儀表板:全域工具,只要登入就能用,靠選單能力決定看不看得到入口。
各頁的實際權限強制以該頁 §3 為準(多為 JWT + 選單能力)。
5. 本群共用的已知坑
- 摘要報表
summary存 HTML:TipTap 富文本輸出 HTML 字串存text欄;渲染 / 匯出 / 匯入時注意 XSS 與 HTML 淨化。 - AI 儀表板不持久:生成結果 per-request,重整即失;別假設有「我的儀表板」清單可回讀。
- 本群兩個 scaffold 已除名:
analysis/customer-dashboard-editor是 demo,勿誤當功能頁重寫(見 §1)。 - GRC
儀表板不在本群:
/grc/dashboard/summary、/project/dashboard的規格在專案管理群,別在本群重複。