V1.1 主要針對列印功能進行全面修正,並強化資料穩健性與安全性。
修正項目
- 列印時統計圓餅圖覆蓋表格內容(V1.0 已知問題)
原因是 Chart.js 依螢幕版面計算 canvas 尺寸,與瀏覽器切換列印版面的時機不同步,導致 canvas 維持螢幕尺寸而溢出。現改為監聽beforeprint/afterprint事件,在列印樣式確實套用後才重新計算圖表尺寸。 - 列印時圖表超出紙張寬度被裁切
原本統計表格與長條圖左右並排,計算時機若未與列印版面同步,算出的寬度可能偏大。改為列印時「表格在上、圖表在下」垂直堆疊,並加上max-width:100%。 - 列印時圖表高度被裁切
量到的圖表高度是切換列印模式前的舊值,比實際容器還高。改為列印時明確指定高度,並加上max-height:100%雙重防護。 - 列印時圖表文字對比度不佳
深色模式下直接列印,淺色文字印在白紙上幾乎看不見。列印時強制套用「列印安全配色」,結束後再還原原本主題。 - 列印時無法手動選擇紙張方向
原本勾選列印圖表就會強制橫式。現在列印選項新增「紙張方向」(自動 / 直式 / 橫式)。 - 項目統計總數兜不起來
不在五大分類內的主要項目(例如還原舊版資料)原本被直接忽略。現已併入「其他」類別,與服務對象統計邏輯一致。
新增功能
- 列印選項新增「紙張方向」選擇(自動 / 直式 / 橫式)。
- 資料正規化機制(
normalizeRecord):還原 JSON 備份或資料有缺漏欄位時,自動補上預設值,避免畫面因格式異常而整個壞掉。
調整項目
- 報表版面順序:「分散式資源班間接服務紀錄詳表」移至統計圖表之前,先看明細、再看統計。
- 圓餅圖標籤優化:佔比過小(< 8%)時不顯示文字標籤,避免互相重疊;標籤文字顏色改為依切片底色動態計算對比色。
安全性與穩健性
- CSV 匯出正確處理逗號、引號、換行,避免含特殊符號時跑欄位錯位。
- 學生姓名、服務摘要等輸入文字輸出至畫面前進行 HTML 轉義,避免特殊符號造成版面問題。
- 讀取
localStorage加上例外處理,資料毀損時系統仍可正常載入。
關於未來更新
自 V1.1 起,版本更新將以 GitHub 為主要發布管道,包含版本下載、更新紀錄(CHANGELOG)與問題回報。Blogspot 將持續作為功能說明與社群連結的入口。
如有使用上的問題或建議,歡迎至 資源班教師社群 討論。
沒有留言:
張貼留言