feat: 支持单套试卷同一提交人多次刷卷并展示

- DataService::build 新增 aggregateByStudent 按学号聚合:
  dedupe=true 仅保留最新一份;false 则每学号一行(代表成绩取最高分)
  附 attempts(次数) 与 attempts_list(每次提交明细),修正提交人数被多次提交inflate的问题
- api.php dashboard 透传 attempts/attempts_list;statOf 增加 attempts 求和;export 增加刷题次数列
- dashboard.php 成员榜加"刷N次"徽标,点击下钻弹窗看每次提交(时间/成绩/时长/暂存);hero 显示总提交次数
- 主统计页成绩明细同样加"刷N次"徽标与下钻弹窗
- stats 新增 attempts_total
This commit is contained in:
2026-09-09 15:55:06 +08:00
parent 3952c77afe
commit d2f0908385
6 changed files with 188 additions and 27 deletions
+6
View File
@@ -311,6 +311,12 @@ table.grid tbody tr.new:hover td { background: #d6f2e2; }
.tag-ok { background: var(--ok-weak); color: var(--ok); }
.tag-warn { background: var(--warn-weak); color: var(--warn); }
.tag-gray { background: var(--border-2); color: var(--text-3); }
.tag-att { background: #e8eefc; color: #3457c9; cursor: pointer; }
/* 多次刷题:成员榜可点击行 */
tr.clickable { cursor: pointer; }
tr.clickable:hover td { background: var(--border-2); }
.muted { color: var(--text-3); }
/* ---------- 弹窗 ---------- */
.modal {