提交记录查看
页面元信息
- 终端:教师小程序
- Astro 路由:
/teacher-mp/grading-history - 原始 HTML:
tm_grading_history.html - 来源章节:
4.3.8 - 维护规则:后续以本页面 PRD 为准;若改动影响通用规则,再同步总览 / 全局规则文档。
视觉描述
- 原型引用:
产出文档/作业管理模块/原型图/tm_grading_history.html。 - 页面为教师小程序全屏原卷查看页,自上而下分为导航栏、原卷查看区、页码角标、底部工具条、底部提交记录选择弹层5个层级。背景以深色查看底承载浅色卷面,提高原卷回看对比度。
- 顶部导航栏左侧为返回图标,中间标题展示当前选中的提交记录名称,右侧为小程序胶囊占位。标题区仅展示记录名称,不展示
教研院标签和作业来源说明。参见 R56。 - 原卷查看区居中展示当前页当前提交记录的原卷图片;右下角页码角标展示当前页码。
- 底部工具条包含
提交记录、放大、缩小、返回4个控件;其中提交记录用于打开当前页记录弹层,返回用于回到来源页。 - 提交记录选择弹层从底部上滑出现,包含
取消、标题提交记录、确定和同页记录列表。列表项采用单列按钮样式,当前选中记录高亮。
功能描述
页面入口
- 教师在
tm_grading.html或tm_student_analysis.html点击页级工具条中的提交记录进入本页,必须透传homework_id、student_id、status、current_page_no、current_submission_id、source_page。 - 本页默认展示“当前页”范围内的最新一条提交记录;若来源页已透传
current_submission_id且该记录属于当前页,则优先展示该记录。 - 当前页提交记录按页隔离。若要查看其他页的提交记录,必须回到来源页切换到对应页,再点击
提交记录重新进入本页;本页不直接提供跨页切换记录入口。参见 R54。
页面分区与控件交互
- 本页按
导航栏、原卷查看区、底部工具条、提交记录选择弹层4个交互分区展开说明。
导航栏
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 左侧返回 | 始终展示 | 点击后返回来源页,并带回当前选中的 submission_id 与 current_page_no。若来源页为 tm_grading.html,则恢复到对应学生和对应页码;若来源页为 tm_student_analysis.html,则恢复到对应学生题目查看页。 |
| 记录标题 | 始终展示 | 展示当前选中的 submission_label;切换记录后即时更新。 |
| 右侧胶囊占位 | 始终展示 | 不承接业务点击事件。 |
原卷查看区
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 当前记录原卷 | 始终展示 | 展示当前页当前提交记录的原卷图片;切换记录后刷新。 |
| 页码角标 | 始终展示 | 只读展示 current_page_no;本页不支持直接跳页。 |
底部工具条
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
提交记录 | 始终展示 | 点击打开当前页提交记录选择弹层;弹层内只展示当前页的记录列表。参见 R54。 |
放大 | 始终展示 | 以 10% 为步长放大原卷;与手势缩放共用缩放比例状态。 |
缩小 | 始终展示 | 以 10% 为步长缩小原卷;到达最小值后按钮保留可见但点击无效。 |
返回 | 始终展示 | 执行与导航返回一致的回跳逻辑;优先使用当前已确认选中的提交记录作为回传值。 |
- 缩放与手势规则:
- 双指缩放:支持双指捏合缩放原卷,范围固定为 50%-200%。参见 R55。
- 单指长按拖移:单指长按 300ms 后进入拖移模式,仅允许上下滑动拖移当前原卷;释放手指后退出拖移模式。参见 R55。
- 手势与工具条共用同一缩放状态;按钮缩放、手势缩放之间不允许出现两套比例口径。
提交记录选择弹层
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
取消 | 弹层打开时始终展示 | 关闭弹层,不修改当前选中的提交记录。 |
标题 提交记录 | 弹层打开时始终展示 | 固定文案,不显示页码和数量。 |
确定 | 弹层打开时始终展示 | 确认当前高亮记录为新的当前记录,关闭弹层并刷新本页原卷;不立即返回来源页。 |
| 记录列表项 | 当前页存在记录时展示 | 按 submit_time 倒序展示当前页记录;点击某一项后仅切换高亮态,不立即生效。 |
文案和按钮状态变化
- 当前记录切换后,导航标题同步更新为新的
submission_label。 - 弹层中被点击的记录项切换为高亮态;未点击
确定前,本页原卷不切换。 - 当前页只有 1 条记录时,
提交记录按钮仍可点击,弹层内仅展示该条记录。
页面跳转和返回逻辑
- 从
tm_grading.html进入:返回时回到原学生、原页码,并将当前确认选中的submission_id带回。 - 从
tm_student_analysis.html进入:返回时回到原学生题目查看页、原页码,并将当前确认选中的submission_id带回。 - 在本页切换记录不自动返回来源页;只有点击导航返回或工具条
返回才执行回跳。
批量操作范围
- 本页不支持批量选择多条提交记录,不支持多选确认、批量删除、批量导出。
- 当前页弹层的记录切换只影响“当前页当前学生”的查看上下文,不影响任何批改结果和来源页的学生列表顺序。
弹层规格
弹层 1:提交记录选择弹层
| 要素 | 内容 |
|---|---|
| 触发条件 | 点击底部工具条 提交记录 |
| 标题 | 提交记录 |
| 正文 | 展示当前页提交记录列表,仅含当前页记录,不展示其他页记录 |
| 主按钮 | 确定 → 将当前高亮记录设为当前记录,刷新本页原卷 |
| 次按钮 | 取消 → 关闭弹层,不切换记录 |
| [x] 关闭 | 同 取消 |
- 业务规则:R18、R54、R55、R56。
异常描述
| 异常场景 | 处理方式 |
|---|---|
| 原卷图片加载失败 | 查看区展示错误态和 重试 按钮;记录弹层仍可打开,便于教师切换到同页其他记录重试。 |
| 当前页无提交记录 | 页面展示空态 当前页暂无提交记录;提交记录 按钮点击后弹层显示空列表,不自动跳转其他页。 |
| 记录切换后详情加载失败 | 保留旧记录原卷不清空,并 Toast 提示 记录加载失败,请重试。 |
| 缩放超出边界 | 达到 50% 或 200% 后停止缩放;按钮点击无效,手势缩放回弹到边界值。 |
| 来源页参数缺失 | Toast 提示 页面来源已失效,并返回 tm_grading_list.html。 |
数据需求
- 接口:
- 当前页提交记录列表接口:按
student_id + homework_id + current_page_no返回当前页记录列表。 - 提交记录详情接口:按
submission_id + current_page_no返回当前记录当前页原卷图片。
- 当前页提交记录列表接口:按
- 关键字段:
- 页面上下文:
homework_id、student_id、status、source_page、current_page_no、current_submission_id。 - 记录维度:
submission_id、submission_label、submit_time、page_no、page_image_url。 - 查看状态:
zoom_ratio、drag_offset_y、selected_submission_id、confirmed_submission_id。
- 页面上下文:
- 页面状态缓存:
tm_grading_history_context至少保存source_page、student_id、current_page_no、confirmed_submission_id、zoom_ratio。
- 埋点:
- 页面浏览:记录
source_page、student_id、current_page_no、默认记录ID。 - 工具条操作:记录
提交记录点击、放大、缩小、返回。 - 弹层过程:记录弹层曝光、记录项点击、确认切换、取消切换。
- 页面浏览:记录