题目页「各班做得怎样」和数据统计「按班级汇总」一起改,两边顺序一致。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
50d8e072ac
commit
13051926cf
4 files changed
+64
-51
No files matched your search
@@ -203,20 +203,26 @@ async function classRows(problemId: number): Promise<NonNullable<ProblemStats["c
|
||||
)
|
||||
.groupBy(schema.user.className)
|
||||
: []
|
||||
return rows
|
||||
.map((row) => {
|
||||
const classSize =
|
||||
(row.class_name && sizes.find((item) => item.className === row.class_name)?.value) ||
|
||||
row.tried
|
||||
return {
|
||||
className: row.class_name,
|
||||
classSize,
|
||||
solved: row.solved,
|
||||
unsolved: row.tried - row.solved,
|
||||
untouched: Math.max(0, classSize - row.tried),
|
||||
correctRate: row.judged ? Math.round((row.accepted / row.judged) * 100) : null,
|
||||
lastTime: row.last_time,
|
||||
}
|
||||
})
|
||||
.sort((a, b) => b.lastTime.localeCompare(a.lastTime))
|
||||
return (
|
||||
rows
|
||||
.map((row) => {
|
||||
const classSize =
|
||||
(row.class_name && sizes.find((item) => item.className === row.class_name)?.value) ||
|
||||
row.tried
|
||||
return {
|
||||
className: row.class_name,
|
||||
classSize,
|
||||
solved: row.solved,
|
||||
unsolved: row.tried - row.solved,
|
||||
untouched: Math.max(0, classSize - row.tried),
|
||||
correctRate: row.judged ? Math.round((row.accepted / row.judged) * 100) : null,
|
||||
lastTime: row.last_time,
|
||||
}
|
||||
})
|
||||
// 交过的人多的在前:按最近一次排的话,零星一两个人补做的班会压在全班做过的班上面
|
||||
.sort(
|
||||
(a, b) =>
|
||||
b.solved + b.unsolved - (a.solved + a.unsolved) || b.lastTime.localeCompare(a.lastTime),
|
||||
)
|
||||
)
|
||||
}
|
||||
Reference in new issue
Block a user