教师小程序 / 批改作业列表
周策 老师
Prototype

教师小程序 · 批改作业列表

补齐移动端批改名单页与进入逐题批改链路。

设计视口: 375 x 812 · 当前缩放: 100% · 左右分栏: 拖动中线调整
Page PRD

批改作业列表

当前文档: prds/作业管理模块/teacher-mp/tm_grading_list.md

当前对照重点: 批改作业列表
Review Hint

左侧现在支持三种演示模式: 默认按设计稿完整缩放、按宽度铺满、以及 100% 原始尺寸滚动查看。 右侧默认读取当前页面对应的页面级 PRD,而不是整本总 PRD;改页面时,直接同步维护这个页面文档即可。

批改作业列表

页面元信息

  • 终端:教师小程序
  • Astro 路由:/teacher-mp/grading-list
  • 原始 HTML:tm_grading_list.html
  • 来源章节:4.3.6
  • 维护规则:后续以本页面 PRD 为准;若改动影响通用规则,再同步总览 / 全局规则文档。

视觉描述

  • 原型引用:产出文档/作业管理模块/原型图/tm_grading_list.html
  • 页面为教师小程序单栏列表页,自上而下分为导航栏、页签工具条、学生列表区、空状态区4个层级。背景为白色内容区,列表区卡片为白底细分隔线。
  • 顶部导航栏左侧为返回图标,中间标题固定为批改作业,右侧为小程序胶囊占位,不作为业务入口。
  • 页签工具条包含两个页签按钮:待批改(x)已批改(x),当前选中页签高亮并带下划线;右侧为文字按钮查看分析
  • 学生列表为纵向单列按钮行,每行左侧展示学生姓名,右侧为箭头指示。列表为空时展示文案暂无学生数据

功能描述

页面入口

  • 教师在 tm_list.html 作业卡片点击批改进入本页,必须透传 homework_idhomework_typeclass_idtab=pending|graded。初始页签遵循 R33。
  • 若从 tm_grading.html 返回,需恢复离开前的页签、已加载页数与滚动位置。参见 R29。

页面分区与控件交互

  • 本页按导航栏页签工具条学生列表区3个可交互分区展开说明;空状态仅替换列表区内容,不覆盖导航栏与页签工具条。

导航栏

区域/控件展示规则交互与系统行为
左侧返回始终展示返回 tm_list.html,恢复 tm_list_context 中的页签、筛选条件、分页与滚动位置。参见 R29。
标题 批改作业始终展示固定文案,不随页签和人数变化。
右侧胶囊占位始终展示不承接业务点击事件。

页签工具条

区域/控件展示规则交互与系统行为
待批改(x)始终展示x 为待批改学生数;点击切换到待批改列表,写入 tm_grading_list_context.active_tab=pending 并刷新列表。
已批改(x)始终展示x 为已批改学生数;点击切换到已批改列表,写入 tm_grading_list_context.active_tab=graded 并刷新列表。
查看分析始终展示点击进入 tm_report.html?homework_id={homework_id}&homework_type={homework_type}&source_page=tm_grading_list。若报告未生成或无任何已提交答卷,Toast 提示作业分析数据生成中,请稍后查看并停留当前页。

学生列表区

  • 列表加载策略:
    • 首屏加载 50 条学生记录,向下滚动触底后继续加载下一页 50 条。
    • 切换页签后清空已加载列表并回到顶部,展示局部骨架屏。
    • 排序规则:待批改last_submit_time 升序(先提交先批改);已批改last_graded_time 降序(最近批改优先)。
    • 当前版本学生行仅展示学生姓名,不展示头像、最近提交时间、最近批改时间、得分、批改标签和提交页数;即使接口返回这些字段,前端也不得在本页渲染,避免列表密度过高导致移动端误触。
  • 列表字段与交互说明:
区域/字段/按钮展示规则交互与系统行为
学生姓名每行固定展示展示 student_name,姓名过长显示省略。
右侧箭头每行固定展示仅作为可点击提示,不承载独立事件。
行点击有数据时可点击点击进入 tm_grading.html?student_id={student_id}&student={student_name}&status={active_tab}&homework_id={homework_id}&homework_type={homework_type};若当前页签无数据,行不渲染。

文案与按钮状态变化

  • 页签计数 x 根据接口返回的 pending_count/graded_count 实时更新。
  • 当当前页签列表为空时,显示空状态文案暂无学生数据,页签与查看分析按钮仍保持可见。

页面跳转与返回逻辑

  • 本页进入 tm_grading.html 后,返回时需回到本页并恢复当前页签、滚动位置与分页游标。
  • 进入 tm_report.html 后返回,需回到本页并恢复当前页签与滚动位置。

批量操作范围

  • 本页不支持学生多选,不提供批量批改、批量导出、批量备注等操作。

  • 页签切换仅影响本页列表展示范围,不修改任何批改结果数据。

  • 业务规则:R18、R29、R33、R34。

异常描述

异常场景处理方式
学生列表加载失败列表区展示错误占位与重试按钮;保留当前页签与已加载列表缓存。
待批改为空列表区展示空状态暂无学生数据;不自动切换到已批改页签。
已批改为空列表区展示空状态暂无学生数据;不自动切换到待批改页签。
作业不存在或无权限Toast 提示作业不存在或已无权限查看并返回 tm_list.html
触底加载下一页失败已加载数据保留,列表底部提示加载失败,点击重试

数据需求

  • 接口:
    • 批改学生列表:入参 homework_idclass_idstatus=pending|gradedpage_nopage_size
    • 批改人数统计:返回 pending_countgraded_count
  • 关键字段:
    • 学生维度:student_idstudent_namelast_submit_timelast_graded_time
    • 页面上下文:homework_idhomework_typeclass_idsource_page
  • 页面状态缓存:
    • tm_grading_list_context 至少保存 active_tabpage_noscroll_tophomework_idclass_idupdated_at
  • 埋点:
    • 页面浏览:记录入口来源(tm_list/tm_grading返回)、homework_idhomework_typeclass_id、默认页签。
    • 页签切换:记录 from_tabto_tab、切换后列表数量。
    • 列表点击:记录 student_idstudent_namestatushomework_id
    • 查看分析点击:记录 homework_idhomework_type、是否命中报告未生成提示。
当前这页已经是“原型 + 页面 PRD”评审工作台。跨页面规则请维护在总览 / 全局规则文档,页面细节请直接维护右侧页面 PRD。
Review Workspace - Prototype + Page PRD