fix(前端): 一批表格列静默空白,题单进度点「移除」还会抛
没有 render 的列,naive-ui 直接按 key 取 row[key]。上一批把响应字段改成 camelCase 之后,这些列的 key 还留着 snake_case,取不到值就渲染成空白 —— 排行榜、题单进度、AI 报告、后台首页共 13 处。 这类问题类型检查够不着(列 key 是字符串),是扫「没有 render 的列 key 里 还带下划线」的组合才找出来的。 同一张表还有两处更严重的: - 「用户」列 key 写的是 user.username,但后台 /admin/problem-sets/:id/progress 下发的是扁平的 username,没有嵌套 user。 - 点「移除」emit 的是 row.user.id —— row.user 是 undefined,直接抛, 学生根本移不掉。 test_case 那两处保留:读的是判题机 info.data 的原始键。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -111,7 +111,7 @@ const progressColumns = [
|
||||
title: "排名",
|
||||
key: "rank",
|
||||
width: 80,
|
||||
render: (row: ProblemSetProgress, index: number) => {
|
||||
render: (_row: ProblemSetProgress, index: number) => {
|
||||
// 计算全局排名:当前页偏移 + 当前行索引 + 1
|
||||
const globalRank = (query.page - 1) * query.limit + index + 1
|
||||
return globalRank
|
||||
@@ -132,7 +132,7 @@ const progressColumns = [
|
||||
},
|
||||
{
|
||||
title: "已完成数量",
|
||||
key: "completed_problems_count",
|
||||
key: "completedProblemsCount",
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user