You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dianshang-qianduan/docs/superpowers/specs/2026-07-31-class-task-alloc...

1.9 KiB

任务分配按教学班显示实训任务名称

目标

教师在“任务分配”页面选择教学班后,列表应显示该教学班在“实训任务管理”中维护的任务名称。教师仅修改任务名称时,不改变可分配任务的范围、勾选状态、排序或已保存的任务分配。

现状

任务分配页在页面初始化时调用 GET /api/training-tasks 获取学校默认任务,并将其 taskName 显示在列表中。该页面按 taskKey 保存和读取任务分配,因此教学班的任务名称覆盖配置没有被用于显示。

设计

  1. 保留任务分配的 taskKey 作为唯一的选择、保存和排序标识。
  2. 当教师选择或切换教学班时,调用现有 GET /api/training-tasks/classes/{teachingClassId} 接口,并以返回任务的 taskName 渲染任务分配表格。
  3. 该接口已按“教学班覆盖配置优先、学校默认配置兜底”的规则返回任务;因此教师编辑本班任务名称后,任务分配页会显示更新后的名称,其他教学班不受影响。
  4. 任务分配的勾选范围维持现状:页面仍以返回列表中的全部任务为候选项,发布配置仍只保存选中的 taskKey
  5. 若获取班级任务失败,显示请求错误,不使用其他班级或不确定的数据替代。

验收标准

  • 教师为教学班 A 修改任务名称后,任务分配页选择 A 时展示新名称。
  • 切换至教学班 B 时展示 B 的名称覆盖或默认名称,不泄露 A 的名称。
  • 保存发布配置发送的任务标识仍是 taskKey,不受名称修改影响。
  • 未编辑名称的任务继续显示学校默认名称。

测试

  • 为任务分配页的班级任务加载逻辑增加单元测试,验证调用班级任务接口及按 taskKey 保持已选择项。
  • 运行前端现有的单元测试和生产构建,确保页面可编译。