Skip to content

feat(substitution): 全校教師週總表(含調代課);發布 v1.4.14 - #79

Merged
begin0808 merged 1 commit into
mainfrom
feat/teacher-week-sheets
Nov 10, 2026
Merged

begin0808 merged 1 commit into
mainfrom
feat/teacher-week-sheets

Conversation

@begin0808

Copy link
Copy Markdown
Owner

需求

設備組長建議:學校每週手做一張「全校老師一週總表」貼在辦公室,標出誰請假、誰代誰、誰和誰調課,希望系統能直接產生,也能一次產生好幾週。

做法

入口:「今日調代課」看板,巡堂表那組按鈕旁邊多了「教師週總表:[1~4 週] [列印] [Excel]」,從選定日期那一週起算。

版面(照學校手做的表):

  • 老師為欄,排序是:有行政職稱的在前,再依班級排導師(表頭寫「801導師」),其餘照建檔順序。
  • 日期 × 節次為列,一週一張,沒有課的日子不列。
  • 格子寫「班級 科目」,已套用調代課:
    • 原本的課沒上(請假、對調出去):劃掉,後面寫去向,例如「陳師代」「調給陳師」「自習」「請假待處理」。
    • 代課、併班:藍字,寫「代王師」。
    • 調課:紅字,記號指向對調的另一節,和調課單用同一套(例如 調10/30_56)。

格式:

  • 列印頁是 A3 橫式,每頁 16 位老師,老師多時同一週分成幾頁。
  • Excel 一週一個分頁,用 rich text 呈現刪除線和字色;已設成 A3 橫向一頁寬,並凍結標題列與左邊兩欄。

資料:直接用巡堂表的 patrol_sheets.Day(已發布課表疊上當天的調代課,單雙週只列當週的課)。不需要改資料表。

變更

  • 後端
    • services/teacher_week_sheets.py(新)
    • services/teacher_week_xlsx.py(新)
    • API GET /teacher-week-sheets、GET /teacher-week-sheets.xlsx:限教學組長和教務主任,與巡堂表相同
  • 前端
    • TeacherWeekPrint.vue(新),路由 /teacher-week/print
    • DailyBoard.vue 加入口按鈕
    • api/substitutionLog.ts
  • 測試
    • 後端新增 test_teacher_week_sheets.py,共 7 項:欄位排序、代課與待處理、自習、調課兩端記號、跑班、多週與錯誤、Excel
    • e2e:patrol-sheets.spec.ts 加上週總表的列印與 Excel 下載
  • 文件
    • 手冊新增 8.9 節(原 8.9 即時概況改為 8.10)
    • 版本與日期更新到 v1.4.14(2026-11-10):CHANGELOG、README、功能總覽、升級說明、roadmap、.env.example

測試

  • 後端:765 項全部通過,ruff、mypy 無誤。
  • 前端:vitest 58 項通過,lint、vue-tsc 無誤。
  • 本機用新映像跑 patrol-sheets.spec.ts 通過。
  • 用示範資料(48 位老師)看過列印頁:分成 3 頁,版面正常。

🤖 Generated with Claude Code

設備組長建議:學校每週手做「全校老師一週總表」標出調代課。
今日調代課看板可選 1~4 週,列印(A3 橫式)或匯出 Excel;
老師為欄、日期 × 節次為列,原本的課沒上劃掉並寫去向,代課藍字、調課紅字。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@begin0808
begin0808 merged commit 509bcbf into main Nov 10, 2026
6 checks passed
@begin0808
begin0808 deleted the feat/teacher-week-sheets branch November 10, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant