From 1ba8928d4131f4361ca2e8d0ba145df4c791029f Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Fri, 9 Oct 2026 10:38:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=AF=BE=E5=A0=82=E7=9C=8B=E6=9D=BF):=20?= =?UTF-8?q?=E3=80=8C=E8=AF=B7=E5=81=87=E9=9A=90=E8=97=8F=E3=80=8D=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E7=94=A8=E2=80=94=E2=80=94=E6=94=B9=E6=88=90=E7=8F=AD?= =?UTF-8?q?=E7=BA=A7=E6=97=81=E4=B8=80=E4=B8=AA=E3=80=8C=E8=AF=B7=E5=81=87?= =?UTF-8?q?=E3=80=8D=E6=8C=89=E9=92=AE=E5=8B=BE=E5=90=8D=E5=8D=95=EF=BC=8C?= =?UTF-8?q?=E8=AF=B7=E5=81=87=E7=9A=84=E4=BA=BA=E5=8F=98=E7=81=B0=E6=8E=92?= =?UTF-8?q?=E5=88=B0=E6=9C=80=E5=90=8E=E3=80=81=E4=BB=8A=E5=A4=A9=E6=9C=89?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原来要先打开开关、名字变成带 × 的标签再点 ×,× 像删除;标完人从页面上消失, 恢复只能全部恢复。现在: - 班级下拉旁「请假」按钮,标了人之后按钮直接写「请假 2 人:陈言、黄依露 · 修改」 - 弹框只列今天还没交过的人(请假的人一定在里面,刚上课时就是全班),勾上点确定 - 请假的人在表格里变灰排到最后,不算进进度和「还没交过」 - 交了题或举手就算来了,自动取消标记 - 有效期从两小时改成今天(请假一般是一整天),仍然只记在这台电脑上 顺带修掉:被标过的学生后来交了题,会从表格里整个消失、也不算进进度。 Co-Authored-By: Claude Opus 5.5 --- apps/web/CLAUDE.md | 2 +- apps/web/src/oj/classroom/board.vue | 370 ++++++++++++------ .../src/shared/composables/hiddenStudents.ts | 73 ---- .../src/shared/composables/leaveStudents.ts | 84 ++++ 4 files changed, 331 insertions(+), 198 deletions(-) delete mode 100644 apps/web/src/shared/composables/hiddenStudents.ts create mode 100644 apps/web/src/shared/composables/leaveStudents.ts diff --git a/apps/web/CLAUDE.md b/apps/web/CLAUDE.md index 7ff22be..c5d47f5 100644 --- a/apps/web/CLAUDE.md +++ b/apps/web/CLAUDE.md @@ -59,7 +59,7 @@ API 调用不按模块分:学生端全在 `oj/api.ts`、后台全在 `admin/ap Shared logic lives in `shared/`: - `store/` — Pinia stores: `user` (auth/roles), `config` (site-wide settings), `authModal` (login/signup form state), `collab` (help-request queue + collab room), `achievement` (解锁弹窗队列), `myFlowchart` (题面「你画的流程图」那张 A/S 图的 mermaid 源码) -- `composables/` — `aiStream`, `pagination` (URL-synced), `websocket` (reconnect + heartbeat), `collabDoc` (Yjs binding for the collab channel), `configUpdate` (WS-pushed config sync), `useMermaid` (lazy Mermaid render), `darkTransition` (View Transitions,111 以下走降级分支), `hiddenStudents` (课堂看板的「请假隐藏」), `chartTheme`, `breakpoints`, `maxkb`, `learnProgress`, `rarity` +- `composables/` — `aiStream`, `pagination` (URL-synced), `websocket` (reconnect + heartbeat), `collabDoc` (Yjs binding for the collab channel), `configUpdate` (WS-pushed config sync), `useMermaid` (lazy Mermaid render), `darkTransition` (View Transitions,111 以下走降级分支), `leaveStudents` (课堂看板的「请假」), `chartTheme`, `breakpoints`, `maxkb`, `learnProgress`, `rarity` - `layout/` — `default.vue` and `admin.vue` layout wrappers - `api.ts` — shared API calls (auth, profile, tags, captcha) diff --git a/apps/web/src/oj/classroom/board.vue b/apps/web/src/oj/classroom/board.vue index 2181afb..46b9632 100644 --- a/apps/web/src/oj/classroom/board.vue +++ b/apps/web/src/oj/classroom/board.vue @@ -1,6 +1,6 @@