1.9 KiB
1.9 KiB
Why
目前仍有部分報表頁維持大型 inline script,且已遷移的 Vite 模組存在實際行為缺口(例如 KPI 0% 呈現、矩陣篩選選取、模組作用域匯出失敗)。這造成「舊版 Jinja 報表效果」與「新架構模組化」之間存在落差,無法完全發揮 Vite 在複用、可維護性與前端運算轉移的優勢。
What Changes
- 將 WIP Overview / WIP Detail 的報表互動完整納入 Vite entry,保留既有頁面操作語意與 drill-down 路徑。
- 修復已遷移頁面的核心行為缺陷(Resource History 模組初始化、Resource Status KPI 與矩陣交互)。
- 統一報表前端 API 呼叫路徑,優先透過
MesApi以承接既有 retry/backoff 與降級錯誤契約。 - 補強報表頁字串輸出安全與欄位契約一致性,確保畫面欄位、查詢結果與下載欄位名稱一致。
- 新增/調整模板整合驗證,確保 Vite 模組載入與 fallback 行為在報表頁完整覆蓋。
Capabilities
New Capabilities
report-effects-parity: 定義舊版 Jinja 報表在新 Vite 架構下的效果對齊要求(圖表、篩選、表格、KPI、互動與下載語意)。
Modified Capabilities
full-vite-page-modularization: 擴展到 WIP 報表頁完整模組化與 fallback 覆蓋。frontend-compute-shift: 擴大前端運算承載並修復前端計算與呈現邏輯缺陷。field-contract-governance: 強化欄位名稱與匯出標頭一致性及頁面渲染安全。runtime-resilience-recovery: 明確要求前端呼叫在降級/壓力情境下遵循退避契約。
Impact
- Affected code:
frontend/src/,frontend/vite.config.js,src/mes_dashboard/templates/,tests/test_template_integration.py。 - Affected runtime behavior: 報表頁 JS 載入模式、矩陣/篩選互動、KPI 顯示與下載欄位對齊。
- Affected operations: 單一對外 port 架構不變,仍由 Flask/Gunicorn 提供頁面與 Vite build 輸出資產。