
xuyueandClaude Opus 5
f581029eb2
refactor(统计面板): 抽出 useHiddenStudents,两份逐字相同的「请假隐藏」合成一份
StatisticsPanel.vue 和 FlowchartStatisticsPanel.vue 各写了一遍隐藏学生的逻辑
(loadHidden / saveHidden / hideStudent / showAll / onMounted 里的过期清理),除了
存储键和一个参数名逐字相同;「这个人有没有被隐藏」的判断两边还各自内联了三处。
现在是 shared/composables/hiddenStudents.ts,存储键作参数传进去 —— 两个面板仍然各用
各的键,提交统计里隐掉的人不该连带在流程图统计里也消失,那是两件事。
composable 不导出 hiddenStudents 那张表本身,只给 isHidden / notHidden:两个面板要的
都是「这个人该不该显示」,把表递出去只会让判断逻辑又散回组件里。
## 验证
起全栈在浏览器里真点了一遍(提交列表 → 数据统计 → 未完成 tab):
- 打开「请假隐藏」开关后学生标签变成可关闭,关掉「单田芳」,未完成从 5 变 4、
「还没交」也同步从 5 变 4;
- localStorage 落的是 {"ks251单田芳": <时间戳>},刷新页面后仍在,到期时间 120 分钟;
- 流程图那把键 oj_hidden_students_flowchart 全程为 null,没被串到。
vue-tsc、vite build 通过。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012j1vgeDqay8wKCh8dPgPcH
2026-09-10 19:46:32 -06:00
..
2026-08-27 06:27:19 -06:00
2026-08-06 21:18:16 -06:00
2026-08-06 21:18:16 -06:00
2026-08-25 22:42:20 -06:00
2026-08-06 21:18:16 -06:00
2026-08-06 21:18:16 -06:00
2026-09-01 00:49:56 -06:00
2026-08-30 10:28:36 -06:00
2026-08-25 13:44:24 -06:00
2026-08-25 13:44:24 -06:00
2026-08-06 21:18:16 -06:00
2026-09-10 19:46:32 -06:00
2026-09-07 05:34:31 -06:00
2026-08-31 07:36:14 -06:00
2026-08-25 22:42:20 -06:00
2026-09-03 02:13:59 -06:00
2026-08-25 13:44:24 -06:00
2026-08-06 21:18:16 -06:00
2026-08-27 06:27:02 -06:00
2026-08-06 21:18:16 -06:00
2026-08-25 14:04:10 -06:00
2026-09-10 19:46:32 -06:00
2026-08-06 21:18:16 -06:00
2026-08-30 10:28:36 -06:00
2026-08-06 21:18:16 -06:00
2026-08-06 21:18:16 -06:00
2026-08-25 13:44:24 -06:00