fix(提交列表/统计): 按方向键会顺手切掉「代码/流程图」、重判后右栏还是旧内容、没人交时统计说「全都做完了」
提交列表: - 焦点在单选框、下拉框上时方向键不再一边切控件一边换条;跨页没回来前不再连跳一整页 - 重判、重新评分之后右栏重新拉,不再命中旧缓存;同一条新旧请求不再互相覆盖 - 从「我的提交」点顶栏「提交」、浏览器后退时,地址里没有的筛选回到默认 - 找回点用户名开个人主页;「只看他 / 只看这题」学生也能用;重判不用等代码拉下来 - 手机上老师也能重判、能按语言筛,流程图行有手机排版;学生界面带着的班级筛选显示成能点掉的标签 - mermaid 画不出来时先说中文、原始报错折起来 统计页: - 没人交时说「这段时间没有人交」,不再说「全都做完了」;没填题号时各处统一叫「做对过题」 - 班级按 class_name 单独传;查询失败清掉旧数据并说清原因;标签跟着查出来的那一份走 - 「语法未过」的格子单独标「语」;正确率不算还在判的;截断提示说清哪些数字受影响 - 看板的请假隐藏只藏还没交过、没在举手的人,「恢复」只恢复这个班的 - 手机上筛选折行、上下排,不再挤出屏幕 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
26c8d65e89
commit
0bcc981e6f
15 files changed
+613
-197
No files matched your search
@@ -142,12 +142,19 @@ function nameOf(student: ClassBoardStudent) {
|
||||
* 请假隐藏(原来在「数据统计」弹框里,统计改成回头看之后挪到这儿 —— 盯这节课的是看板)。
|
||||
* 请假、转班、学号错了的那几个一直挂在「还没交过」里,会盖住真正要去看的人。
|
||||
* 藏两个小时(够一节课),下节课自动回来;只记在这台电脑上,换人换机器都不继承。
|
||||
* 键沿用统计弹框那份,老师上午藏的人这里接着藏着
|
||||
* 键沿用统计弹框那份,老师上午藏的人这里接着藏着。
|
||||
*
|
||||
* **只藏「还没交过」的人**:一个学生只要今天交过、或者正在举手,就不算请假,照常显示、
|
||||
* 照常算进人数。迟到的学生后来交了题、卡住了、举手了,老师得看得见
|
||||
*/
|
||||
const { hideMode, hideStudent, showAll, isHidden } = useHiddenStudents("oj_hidden_students")
|
||||
const hiddenStudents = computed(() =>
|
||||
(board.value?.students ?? []).filter((student) => isHidden(student.username)),
|
||||
)
|
||||
const { hideMode, hideStudent, unhide, isHidden } = useHiddenStudents("oj_hidden_students")
|
||||
function hiddenNow(student: ClassBoardStudent) {
|
||||
return !student.lastSubmitAt && !helpOf(student) && isHidden(student.username)
|
||||
}
|
||||
const hiddenStudents = computed(() => (board.value?.students ?? []).filter(hiddenNow))
|
||||
function restoreHidden() {
|
||||
unhide(hiddenStudents.value.map((student) => student.username))
|
||||
}
|
||||
|
||||
const students = computed(() =>
|
||||
[...(board.value?.students ?? [])]
|
||||
@@ -328,7 +335,7 @@ function submissionsHref(student: ClassBoardStudent, problemDisplayId?: string)
|
||||
<n-alert
|
||||
v-if="idle.length || hiddenStudents.length"
|
||||
type="warning"
|
||||
:title="`今天还没交过(${idle.length} 人)`"
|
||||
:title="idle.length ? `今天还没交过(${idle.length} 人)` : '今天没交过的都隐藏了'"
|
||||
class="section"
|
||||
>
|
||||
<n-flex align="center" :size="10" class="hide-bar">
|
||||
@@ -341,7 +348,7 @@ function submissionsHref(student: ClassBoardStudent, problemDisplayId?: string)
|
||||
size="tiny"
|
||||
text
|
||||
type="primary"
|
||||
@click="showAll"
|
||||
@click="restoreHidden"
|
||||
>
|
||||
隐藏了 {{ hiddenStudents.length }} 位:{{ hiddenStudents.map(nameOf).join("、") }} ·
|
||||
恢复
|
||||
|
||||
Reference in new issue
Block a user