提交汇总
页面元信息
- 终端:教师小程序
- Astro 路由:
/teacher-mp/submission-status - 原始 HTML:
tm_submission_status.html - 来源章节:
4.3.13 - 维护规则:后续以本页面 PRD 为准;若改动影响通用规则,再同步总览 / 全局规则文档。
视觉描述
- 原型引用:
产出文档/作业管理模块/原型图/tm_submission_status.html。 - 页面为教师小程序提交汇总页,自上而下包含导航栏、作业信息卡、班级切换卡、汇总统计卡、学生提交情况列表卡、底部复制操作区。
- 顶部导航栏左侧为返回图标,中间标题固定为
提交汇总;不展示额外筛选入口。 - 作业信息卡展示学科色块标识、作业标题、备注;当前页面不展示教材名称、教材版本、出版社等教辅字段,即使原型或接口返回相关字段也不得渲染。参见 R60。
- 班级切换区为单独卡片,采用下拉展开形式展示当前作业关联的班级列表;当前选中班级高亮,列表项右侧展示班级人数。
- 汇总统计区沿用当前原型的 4 个指标卡,依次展示
全部提交、部分提交、未提交、总人数;不新增其他指标。 - 学生提交情况卡片标题固定为
学生提交情况,右侧辅助文案展示共 X 页;卡片头部下方展示绿色/灰色图例,绿色表示已提交,灰色表示未提交。 - 学生列表每行展示头像、学生姓名、页码状态格;页码格按页序横向排列,无额外状态标签、无按钮、点击整行无动作。
- 卡片底部固定展示
复制未交名单按钮,页面不提供催交按钮、不提供提交作业按钮、不提供搜索或筛选入口。参见 R62。
功能描述
页面入口
- 入口一:教师在
tm_history.html点击卡片次按钮查看作业提交情况进入本页,需透传homework_id、homework_type=personal、class_id、source_page=tm_history。 - 入口二:教师在
tm_report.html作业分析页点击未提交 x入口进入本页,需透传homework_id、homework_type=personal、class_id、source_page=tm_report。 - 当前版本仅承接
个性化作业,不承接纸质教辅作业提交汇总。参见 R58。
页面范围与默认加载
- 页面统计范围固定为
当前作业 + 当前班级;若作业关联多个班级,教师可通过班级切换器查看其他班级的提交情况。参见 R59。 - 默认班级取来源页透传的
class_id;若来源页未透传或透传值失效,则默认选中该作业班级列表中的第一个班级。 - 返回时一律回到来源页,并恢复来源页的筛选条件、分页和滚动位置。参见 R62。
作业信息卡
- 展示字段仅包含:学科标识、作业标题、备注。
- 作业标题允许沿用作业来源标签,如原作业名中带
教研院标签则按标题整体展示;但不额外新增来源说明。 - 个性化作业不展示教材信息,不显示如
数学三年级下册(人教版)等文案。参见 R60。
班级切换器
- 当作业关联多个班级时,点击当前班级名称展开下拉列表;再次点击收起。
- 下拉列表按作业发布班级顺序展示全部班级;当前班级高亮,并在右侧展示该班人数。
- 切换班级后仅刷新当前页面统计卡与学生列表,不整页跳转,不重置到其他页面。
- 当作业仅关联 1 个班级时,班级切换器仍展示当前班级名称,但下拉行为置灰或不展开。
汇总统计区
- 指标固定为 4 项:
全部提交:当前班级中,全部页码均存在历史提交记录的学生人数。部分提交:当前班级中,至少有 1 页存在历史提交记录、但并非全部页都提交过的学生人数。未提交:当前班级中,所有页码均无历史提交记录的学生人数。总人数:当前班级应提交学生总人数。
- 统计口径按历史提交痕迹计算,不因识别异常或无法定位具体异常页而把已提交页回退为未提交。参见 R61。
学生提交情况列表
- 列表按学生姓名排序展示,不提供搜索、筛选、排序切换。参见 R62。
- 每个学生行只展示:
- 学生头像占位
- 学生姓名
- 页码状态格
- 页码状态格规则:
- 绿色:该页历史上至少提交过 1 次。
- 灰色:该页历史上从未提交过。
- 学生行点击无动作;不展开详情,不跳转查看上传结果,不提供行级按钮。参见 R62。
复制未交名单
- 页面唯一固定操作为
复制未交名单。 - 点击后按当前班级生成未完成提交名单:
- 若某学生所有页均未提交,复制格式为
姓名(未提交) - 若某学生仅缺部分页,复制格式为
姓名(缺第X页、第Y页)
- 若某学生所有页均未提交,复制格式为
- 复制内容抬头建议格式为
【作业名称】{班级名称} 未完成提交名单: - 当当前班级所有学生均全部提交时,点击按钮仅 Toast 提示
全班已全部提交,不生成空文本。
异常描述
- 本页不单独设计业务空状态、无权限状态和催交失败状态;当前业务默认基于有效作业和有效班级上下文进入。
- 若
homework_id、class_id或来源上下文失效,页面 Toast 提示未找到对应提交情况,并返回来源页。 - 若班级切换后统计或名单加载失败,保留当前已展示数据,Toast 提示
提交情况加载失败,请稍后重试。 - 若复制到剪贴板失败,Toast 提示
复制失败,请手动复制。 - 若当前班级无人未交,点击
复制未交名单时 Toast 提示全班已全部提交。
数据需求
- 接口:
- 提交汇总接口:根据
homework_id + homework_type=personal + class_id返回作业信息、班级列表、统计卡和学生列表。 - 班级切换复用同一接口,仅更新
class_id后重新拉取当前班级数据。
- 提交汇总接口:根据
- 请求参数:
homework_idhomework_type=personalclass_idsource_page
- 返回字段建议:
- 作业信息:
homework_id、homework_name、subject_code、subject_short、remark、total_pages - 班级信息:
class_id、class_name、student_count - 统计信息:
all_submitted_count、partial_submitted_count、unsubmitted_count、total_student_count - 学生列表:
student_id、student_name、page_submit_flags[]
- 作业信息:
- 字段约束:
page_submit_flags[]长度必须等于total_pagespage_submit_flags[n] = true表示第 n 页历史上至少提交过一次- 即使后端返回教材字段,如
book_name、edition_name、publisher_name,前端也不得在本页展示。参见 R60。
- 页面状态缓存:
tm_submission_status_context至少保存source_page、homework_id、homework_type、class_id、scroll_top、updated_at,用于返回来源页时恢复上下文。
- 埋点:
- 页面浏览:记录
source_page、homework_id、class_id - 班级切换:记录切换前后
class_id - 复制操作:记录点击
复制未交名单、当前班级未交人数、复制成功/失败
- 页面浏览:记录