Skip to content

Repository files navigation

弱點彙總 Dashboard

讀取「弱點彙總報告(New).xlsx」,於瀏覽器本機自動產生 HTML 弱點追蹤 Dashboard。 純前端(SheetJS + Chart.js),檔案不上傳、無後端、無資料庫。

使用方式

  1. 用瀏覽器開啟 index.html
  2. 選擇或拖放 Excel(.xlsx / .xls / .csv)。
  3. 自動解析並顯示 Dashboard 與人員追蹤。

多工作表(1- ~ 10-)

  • 會讀取所有**「數字-」開頭**的工作表(如 1-系統弱點掃描弱點2-IoT設備弱點…),左側導覽可點選切換,每張表各一套看板。
  • 依欄位名稱自動對應(各表欄位不同也可):嚴重度中/英/BitSight 統一映射、首次展延上限/期限負責單位/部門負責人/負責人員 都容錯;表 9 風險計數「中4 低2」自動展開、表 8 單位含人名自動拆。設定見 config/profiles.js
  • 篩選:每張表可選「部門(含全部)」與「結案狀態(未結案/已結案/全部)」,即時重算。
  • 面板自適應:該表沒有的欄位就自動隱藏對應面板(無嚴重度→藏嚴重度卡/圖/修復表;無例外/展延→藏「例外/展延統計」分頁)。
  • 核對工具docs/多表檢查.html(雙擊即可用)可丟入 Excel,逐表檢查讀取/欄位對映/嚴重度與結案分布是否正確。

記住上次匯入:匯入成功後會存在瀏覽器本機(localStorage),下次開啟自動還原同一份資料,不必重匯;匯入新檔才會覆蓋。頁首「換一個檔案」可換檔、「🗑 清除記憶」可清除記住的資料。(換電腦/換瀏覽器不會帶著走。)

離線(無網路)環境請先看 assets/vendor/README.txt 換成本機函式庫。

功能

TAB1 Dashboard

指標卡(皆可點擊 drill-down):未結案、已逾期、30天內、31–90天、91–180天、180天以上、無到期日、 Critical / High / Medium / Low(到期採互斥,相加=未結案);嚴重度圓餅圖、到期長條圖、AI 摘要。

🩺 嚴重度 × 修復狀態:Critical/High/Medium/Low 各自的未修復(未結案)/ 已修復(結案)/ 修復率(含全部紀錄,主管一眼看進度),數字可 drill-down。

🧮 數字平衡檢核(對帳):四種互斥切法各自加總=未結案;母體「未結案+結案」兩總對帳。

TAB2 人員追蹤(通知相關人員)

每位負責人:未結案、已逾期、30天內、31–90天、91–180天、180天以上、無到期日,數字皆可點擊 drill-down。 到期欄採互斥區間(非累進),故每列各欄相加 = 該人未結案,可逐列驗算。 每人「產生催辦內容」→ 產生可複製的 Mail 主旨 + 內容(可一鍵複製 / 開啟郵件軟體)。 催辦只聚焦「已逾期 + 快到期」,並自動標註各案處置階段(例外管理中 / 首次展延中)。

另有 未來六個月到期矩陣(人員 × 月):每位負責人未來 6 個月各月到期筆數 + 合計,格子可點開明細。 (月數可於 config.jsdueMatrixMonths 調整。)

Drill-down 明細欄位:Host、負責人、Name、Risk、Severity、Plugin ID、修補期限、首次展延上限、 例外核准期限、真正到期日、逾期天數、備註(可排序、匯出 CSV、另開新分頁)。

TAB3 例外/展延統計(主管快速掌握)

依「處置階段」分類統計,數字皆可 drill-down:

階段判定
例外管理中有例外核准期限
首次展延中有首次展延上限、無例外
原始修補期限兩者皆無,只有修補期限

每階段顯示:件數・占比・已逾期・快到期・尚安全;另有安全名單(例外保護中)、 處置階段占比圖、到期時間帶 × 階段堆疊圖。

進階(弱點管理員視角)

  • 今日行動清單(Dashboard 頂):逾期 + 今日到期 + 例外即將到期,依風險排序,一鍵批次催辦。
  • 風險加權排行(Dashboard):分數 = 嚴重度權重 × 急迫倍數(逾期越久越高),撈出真正該先燒的 Top N。
  • 例外治理雷達(例外/展延統計分頁):例外覆蓋率、例外破口(例外中卻已逾期)、例外到期預警(7/14/30 天)、慢性風險(反覆展延/例外 ≥ 2 次)。
  • 批次催辦(人員追蹤分頁):一次彙整所有「有逾期/快到期」的負責人。
  • 資料品質檢核(全域橫幅):缺到期日、例外/展延日期早於修補期限、負責人未指定、嚴重度無法辨識。
  • 全文查詢分頁:關鍵字搜尋(可空格分隔多字,AND)+快速篩選(逾期/快到期/六個月到期/各嚴重度/例外中/慢性…)。例:查某負責人所有 CASE、未來六個月到期清單。
  • 表格皆可排序:點欄位標題升/降序(空值恆墊底)。明細表固定高度、凍結 Host 欄,左右捲軸永遠在視野內。
  • 另開新分頁:任何點出來的明細可彈出獨立頁面(可排序、自由左右捲動),方便多張並排比對。
  • 數字平衡檢核(對帳)(Dashboard):用「處置階段 / 到期時間帶 / 嚴重度 / 負責人」四種互斥切法拆未結案,各自加總都應 = 未結案總數,打 ✓/✗;另有「全檔=各單位」「單位=未結案+結案+其他」母體對帳。任一組對不起來即代表資料或邏輯有異。

分析規則

  • 分析母體負責單位 = 資訊架構部結案狀態 = 未結案
  • 真正到期日:例外核准期限 → 首次展延上限 → 修補期限(依序取第一個有值者)
  • 逾期天數:今日 − 真正到期日(正值為已逾期)
  • 到期時間帶(互斥):已逾期 / 30天內 / 31–90天 / 91–180天 / 180天以上 / 無到期日 —— 每筆剛好落一帶,相加=未結案,可驗算
  • 結案狀態拆解:資訊架構部 = 未結案 + 結案 + 其他(對帳面板顯示「兩總」)
  • 快到期soonDays(預設 30)天內到期、未逾期
  • 安全名單:例外管理中且例外核准期限尚未到 → 暫免催辦
  • 風險分數:嚴重度權重(Critical 100 / High 40 / Medium 10…)× 急迫倍數(逾期 2 + 逾期天數/30、快到期 1.5、其餘 1
  • 慢性風險:備註中處置申請(iForm)次數 ≥ chronicThreshold(預設 2)
  • 以上權重、門檻、預警級距皆可於 config/config.js 調整

Excel 相容性

  • 欄位名稱讀取,不依賴欄位位置;欄位順序改變仍正常運作。
  • 缺少必要欄位時,畫面提示「缺少哪些欄位」,不會當機。
  • 欄位別名 / 分析條件 / 門檻皆可於 config/config.js 調整。

專案結構

index.html
css/style.css
config/config.js 設定(欄位對應、分析條件、門檻、顏色、信件)
js/utils.js 日期解析、格式化、DOM 輔助
js/excel.js SheetJS 讀檔 + 依名稱建立欄位對應
js/analysis.js 真正到期日、逾期、分類統計、依負責人分組
js/ai-summary.js 規則式 AI 摘要
js/reminder.js 催辦信件產生
js/ui-common.js Modal / drill-down 明細表 / Toast / 複製 / CSV
js/dashboard.js TAB1 指標卡 + 圖表 + AI 摘要
js/tracking.js TAB2 人員追蹤 + 催辦
js/main.js 主控(上傳 / 拖放 / 分頁 / 錯誤)
assets/vendor/ 離線函式庫放置處

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages