作业分析
页面元信息
- 终端:教师小程序
- Astro 路由:
/teacher-mp/report - 原始 HTML:
tm_report.html - 来源章节:
4.3.9 - 维护规则:后续以本页面 PRD 为准;若改动影响通用规则,再同步总览 / 全局规则文档。
视觉描述
- 原型引用:
产出文档/作业管理模块/原型图/tm_report.html。 - 页面为教师小程序移动端作业分析页,采用单页多页签结构,自上而下分为导航栏、作业信息卡、统计摘要卡、页签切换区、条件搜索区、内容展示区、底部 Bottom Sheet 和 Toast 提示层。
- 顶部导航栏左侧为返回图标,中间标题固定为
作业分析,右侧··仅作视觉占位,本期不承接更多菜单、分享、导出等业务操作。 - 作业信息卡展示学科标识、作业标题、可选来源标签、发布班级、发布时间、提交情况。其中“书名标签”不展示;若后端返回教材名称、教材版本、出版社等字段,本页也不得渲染。参见 R64。
- 统计摘要卡固定为左右 2 个指标块:左侧展示
提交人数和未提交 x ↓下钻入口,右侧展示班级平均分以及最高分 · 最低分辅助信息。 - 页签区固定包含
作业分析、错题分析、学生学情3 个页签;默认高亮作业分析。学生学情页签激活时才展示姓名搜索框。参见 R66。 作业分析页签内包含 3 个分析卡片:学生评价分布环形图、易错知识点雷达图、题目前三错误率列表。题目前三错误率需与系统现有口径保持一致:按最小可判分小题展示,不按大题或题组聚合;列表采用“左侧题目缩略内容 + 右侧错误率”的双列结构,优先展示题目截图缩略图,缺失截图时退化为题干文本片段;不展示原型中的题型 · 知识点 · 做错人数辅助文案。参见 R65。错题分析页签顶部为排序、筛选两个按钮,下方为错题卡片列表;单张卡片默认收起,只展示题目原文摘要和题型,展开后展示参考答案、题目难度、错题人数/错误率、知识点。学生学情页签展示学生卡片列表。已提交学生卡片展示姓名、正确率、错题数、批改时间、查看、作业报告和只读评价标签;未提交学生仅展示姓名、占位指标和未提交状态文案,不展示下钻按钮。参见 R67。- Bottom Sheet 为本页统一交互组件,用于知识点选择、排序、题型筛选;弹层底部固定展示
重置、确定、取消。Toast 用于展示轻量结果反馈,如已更新知识点、已切换为错题率由高到低、已筛选填空题。
功能描述
页面入口
- 入口一:教师在
tm_list.html点击整张作业卡片或卡片按钮查看分析进入本页,需透传homework_id、homework_type、class_id、source_page=tm_list。参见 R29、R31。 - 入口二:教师在
tm_grading_list.html点击顶部查看分析进入本页,需透传homework_id、homework_type、class_id、source_page=tm_grading_list。 - 入口三:教师在
tm_grading.html点击保存并查看分析进入本页,需透传homework_id、homework_type、class_id、student_id、current_page_no、source_page=tm_grading。 - 回流入口:教师从
tm_student_report.html、tm_student_analysis.html、tm_submission_status.html返回本页时,需透传homework_id、class_id、source_page=tm_report、tab,并恢复本页上下文。参见 R66。
页面范围与初始化
- 报告范围固定为
当前作业 + 当前班级。本页不提供班级切换器;若教师要查看其他班级数据,需从来源页切换到目标班级后重新进入。参见 R63。 - 若系统检测到当前账号存在未完成上传任务,必须优先拦截进入
tm_submit.html继续上传,上传任务结束前不得停留本页。参见 R34。 - 首次进入本页默认打开
作业分析页签;仅当 URL 中存在有效tab=analysis|errors|students时,才按透传页签打开。无效值一律回退到analysis。参见 R66。 - 页面首屏先加载
作业信息卡 + 统计摘要卡 + 当前激活页签数据;非当前页签数据在首次切换到该页签时再懒加载。各页签区块独立加载、独立失败、独立重试,不因某一区块失败阻塞其他区块展示。 - 右上角
··本期不响应点击,不弹出菜单,不跳转其他页面。
页面分区与控件交互
- 本页按
导航栏、作业信息卡、统计摘要卡、页签切换区、搜索区、作业分析页签、错题分析页签、学生学情页签、Bottom Sheet9 个分区展开说明。
导航栏
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 左侧返回 | 始终展示 | 点击后按来源页回跳:source_page=tm_list 时返回 tm_list.html 并恢复离开前页签、筛选和滚动位置;source_page=tm_grading_list 时返回 tm_grading_list.html 并恢复原页签与列表位置;source_page=tm_grading 时返回 tm_grading.html 并恢复原学生、原页码;无有效来源时返回 tm_list.html。 |
| 页面标题 | 始终展示 | 固定文案 作业分析,不随页签切换改名。 |
右侧 ·· | 始终展示 | 本期仅保留视觉样式,不承接点击事件,不弹出操作菜单。 |
作业信息卡
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 学科标识 | 始终展示 | 根据作业学科显示 2-4 字简称,如语文、数学。只读,不可点击。 |
| 作业标题 | 始终展示 | 展示作业名称;标题过长时允许 2 行换行,不做中间截断。 |
| 来源标签 | 有来源时展示 | 仅作为标题后的附属标签展示,如教研院;无来源标签时不占位。 |
| 书名/教材行 | 不展示 | 本页不得出现书名标签、教材名称、版本、出版社等字段。参见 R64。 |
| 发布班级 | 始终展示 | 展示当前班级名称,只读,不提供班级切换。 |
| 发布时间 | 始终展示 | 展示发布时间,格式统一为 YYYY-MM-DD HH:mm:ss。 |
| 提交情况 | 始终展示 | 展示 已提交人数/应提交人数,格式示例 1/45人;只读,不可点击。 |
统计摘要卡
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
提交人数 指标块 | 始终展示 | 主值展示 submitted_count/total_student_count;仅作摘要展示,不支持点击。 |
未提交 x ↓ | 始终展示 | 点击进入 tm_submission_status.html?homework_id={homework_id}&homework_type=personal&class_id={class_id}&source_page=tm_report;即使 x=0 也保留入口,便于教师查看当前班级提交汇总。参见 R58、R63。 |
班级平均分 指标块 | 始终展示 | 主值展示 class_avg_score;辅助文案展示 最高分 {max_score} · 最低分 {min_score}。无已批改成绩时,主值和辅助文案均展示 —,不以 0 占位。 |
页签切换区
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
作业分析 页签 | 始终展示 | 点击切换到分析页签,页签高亮,页面不整页跳转;如该页签数据尚未加载,则首次切换时触发加载。 |
错题分析 页签 | 始终展示 | 点击切换到错题分析页签,保留其他页签已选条件,不重置本页已加载数据。 |
学生学情 页签 | 始终展示 | 点击切换到学生学情页签,并显示姓名搜索框;再次切走时隐藏搜索框,但保留搜索关键词。 |
搜索区
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 学生姓名搜索框 | 仅 学生学情 页签展示 | 占位文案固定为 请输入您要查找的学生姓名;教师输入后实时按姓名模糊匹配当前作业、当前班级的学生集合,清空关键词后恢复完整列表。搜索不改变原排序,不产生页面跳转。 |
作业分析页签
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
学生评价分布 环形图 | 有评价数据时展示正式图表;无数据时展示空态 | 环形图按 A-E 5 档评价展示分布。圆心主文案展示占比最高档位的百分比,副文案展示如 A级占比最高。如多个档位并列最高,按 A→E 顺序取第一个最高档位展示。图表本身只读,不承接点击钻取。 |
学生评价分布 帮助图标 | 区块标题处始终展示 | 点击后展示轻提示 按 A-E 评级统计全班本次作业表现,点击空白区域关闭。 |
易错知识点雷达图 | 有知识点数据时展示正式图表;无数据时展示空态 | 依据当前已选知识点集合绘制雷达图。外圈表示当前已选知识点中错误率最高项,其余点按相对比例缩放。 |
选择知识点 ∨ | 始终展示 | 点击打开知识点 Bottom Sheet。初始文案为 选择知识点 ∨;教师完成一次确认后,按钮文案变为 选择知识点(N)∨。参见 R68。 |
| 雷达点位 | 图表渲染完成后展示 | 点击任一点位,显示深色 Tooltip,文案格式为 知识点名称 + 正确率 xx%;点击图表空白区域关闭 Tooltip。 |
易错知识点雷达图 帮助图标 | 区块标题处始终展示 | 点击后展示轻提示 越靠近外圈代表该知识点错题表现越明显,点击空白区域关闭。 |
题目前三错误率 列表 | 有错题数据时展示最多 3 行;无数据时展示空态 | 列表按 R65 排序后截取前 3 条。每行左侧展示最小颗粒度小题的缩略内容,右侧展示 错误率 xx%;不提供展开、排序切换、知识点标签和做错人数展示。 |
| Top3 单行项 | 有数据时逐行展示 | 不承接点击,不跳转到其他页面;仅用于摘要浏览。题目缩略图缺失时,退化为题干文本片段。 |
错题分析页签
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
排序 按钮 | 页签激活时始终展示 | 点击打开排序 Bottom Sheet。首次进入默认生效项为 错题率由高到低,按钮文案随已生效选项更新为 {排序文案} ∨。 |
筛选 按钮 | 页签激活时始终展示 | 点击打开题型筛选 Bottom Sheet。首次进入默认生效项为 全部类型,按钮文案随已生效选项更新为 {题型文案} ∨。 |
| 错题卡片列表 | 有数据时展示;无数据时展示空态 | 列表仅作用于当前作业、当前班级。筛选和排序变更后,列表立即刷新。 |
| 错题卡片摘要区 | 每张卡片默认展示 | 展示题目原文摘要和题型,右侧按钮初始文案为 ∨ 展开。 |
∨ 展开 / ∧ 收起 | 每张卡片固定展示 | 点击后切换卡片详情区显示状态;展开时按钮文案变为 ∧ 收起,收起时恢复 ∨ 展开。 |
| 错题卡片详情区 | 卡片展开时展示 | 展示参考答案、题目难度、错题人数、错误率、知识点。详情展示仅影响当前卡片,不联动其他卡片。 |
- 错题列表加载策略:
- 首屏加载当前结果集前 20 条错题卡片,触底后继续加载下一批 20 条。
- 排序或筛选条件变化后,列表回到顶部并重新从第 1 批开始加载。
- 卡片详情区按展开动作懒加载,避免首屏请求过大。
学生学情页签
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 已提交学生卡片 | status=submitted 且已生成学生分析结果时展示可操作态 | 展示学生姓名、正确率 xx%、错题数 x、批改时间、查看、作业报告、评价标签。 |
查看 | 仅已提交且 analysis_ready=true 时可点击 | 点击进入 tm_student_analysis.html?homework_id={homework_id}&student_id={student_id}&source_page=tm_report&from_tab=students,用于查看该学生题目批改结果。 |
作业报告 | 仅已提交且 report_ready=true 时可点击 | 点击进入 tm_student_report.html?homework_id={homework_id}&student_id={student_id}&source_page=tm_report&from_tab=students,用于查看该学生个人作业报告。 |
| 评价标签 | 已提交学生固定展示 | 文案格式为 评价 A/B/C/D/E,只读展示,不承接点击。 |
| 未提交学生卡片 | status=pending 时展示 | 仅展示学生姓名、正确率 -、错题数 -、未提交状态文案;不展示查看、作业报告、评价标签。参见 R67。 |
- 学生列表加载策略:
- 首屏加载 20 名学生卡片,触底后继续加载下一批 20 条。
- 搜索关键词变化后,从结果集顶部重新展示匹配项。
- 搜索范围覆盖当前作业、当前班级的全量学生集合,不限于当前屏幕已渲染卡片。
Bottom Sheet
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 弹层标题 | 弹层打开时展示 | 知识点模式标题为 选择知识点(最多选择8个);排序模式标题为 排序;题型模式标题为 题型。 |
| 选项列表 | 弹层打开时展示 | 知识点模式为多选;排序、题型模式为单选。点击列表项仅修改弹层内待确认状态,不立即刷新页面。 |
重置 | 弹层打开时展示 | 将当前弹层内待确认状态恢复为默认值:知识点恢复为默认推荐集合,排序恢复为 错题率由高到低,题型恢复为 全部类型;点击后不立即生效,需再点 确定。 |
确定 | 弹层打开时展示 | 将当前待确认状态正式应用到页面,并关闭弹层。 |
取消 | 弹层打开时展示 | 关闭弹层,不应用任何变更。 |
| 遮罩关闭 | 弹层打开时展示 | 点击遮罩关闭弹层,行为同 取消。 |
文案和按钮状态变化
未提交人数入口文案固定为未提交 {count} ↓,数值随当前班级提交状态实时刷新。知识点按钮默认展示选择知识点 ∨;完成一次确认后展示选择知识点(N)∨。排序、筛选按钮默认展示当前已生效选项,而不是通用文案;示例:错题率由高到低 ∨、全部类型 ∨。- 错题卡片详情展开前按钮文案为
∨ 展开,展开后切换为∧ 收起。 学生学情页签激活时搜索框显示,切换到其他页签立即隐藏,但隐藏不代表清空关键词。- 未提交学生卡片不展示操作按钮;已提交但分析结果尚未生成时,
查看或作业报告按钮保持可见禁用态,点击 Toast 提示学生分析生成中,请稍后查看。
页面跳转和返回逻辑
- 从
tm_list.html进入:返回时回到tm_list.html,并恢复列表页签、筛选条件、滚动位置。参见 R29。 - 从
tm_grading_list.html进入:返回时回到原页签(待批改/已批改)和原滚动位置。 - 从
tm_grading.html进入:返回时回到原学生、原页码,继续当前批改上下文。 - 从本页下钻到
tm_student_report.html、tm_student_analysis.html、tm_submission_status.html后返回:必须恢复本页的当前页签、搜索词、知识点选择、排序条件、题型筛选和对应页签滚动位置。参见 R66。 - 本页内部切换 3 个页签时不修改页面路由,不产生新的浏览历史记录。
批量操作范围
- 本页不支持批量批改、批量导出、批量评价、批量复制学生名单。
知识点多选只影响雷达图展示范围,不修改任何批改结果、学生评价或知识点归因数据。排序、题型筛选只作用于当前作业、当前班级的错题列表,不跨作业、不跨班级生效。学生学情页签中的查看、作业报告均为单学生粒度操作,不支持多选后批量下钻。
弹层规格
弹层 1:知识点选择弹层
| 要素 | 内容 |
|---|---|
| 触发条件 | 点击 选择知识点 ∨ |
| 标题 | 选择知识点(最多选择8个) |
| 正文 | 展示当前作业、当前班级的可分析知识点列表;默认选中系统推荐集合 |
| 主按钮 | 确定 → 应用当前勾选的知识点集合,刷新雷达图与按钮文案 |
| 次按钮 | 取消 → 关闭弹层,不更新雷达图 |
| [x] 关闭 | 点击遮罩关闭,行为同 取消 |
补充规则:
- 最少保留 1 个知识点;若教师试图取消最后 1 个知识点,Toast 提示
至少选择1个知识点。 - 最多选择 8 个知识点;超出时 Toast 提示
最多选择8个知识点,并保持原勾选态。
弹层 2:排序弹层
| 要素 | 内容 |
|---|---|
| 触发条件 | 点击 排序 按钮 |
| 标题 | 排序 |
| 正文 | 单选项固定为 错题率由高到低、错题率由低到高、错题人数由多到少、错题人数由少到多 |
| 主按钮 | 确定 → 应用当前排序方式并刷新错题列表 |
| 次按钮 | 取消 → 关闭弹层,不修改错题列表 |
| [x] 关闭 | 点击遮罩关闭,行为同 取消 |
弹层 3:题型筛选弹层
| 要素 | 内容 |
|---|---|
| 触发条件 | 点击 筛选 按钮 |
| 标题 | 题型 |
| 正文 | 单选项为 全部类型 + 当前作业实际存在的题型集合 |
| 主按钮 | 确定 → 应用当前题型条件并刷新错题列表 |
| 次按钮 | 取消 → 关闭弹层,不修改错题列表 |
| [x] 关闭 | 点击遮罩关闭,行为同 取消 |
- 业务规则:R18、R29、R34、R52、R58、R63、R64、R65、R66、R67、R68。
异常描述
| 异常场景 | 处理方式 |
|---|---|
| 检测到未完成上传任务 | 不展示本页内容,直接跳转 tm_submit.html 继续上传;上传完成后再允许进入本页。参见 R34。 |
homework_id、class_id 或来源上下文缺失 | Toast 提示 未找到对应作业分析,并返回来源页;若来源页不可恢复,则返回 tm_list.html。 |
| 报告尚未生成或正在计算中 | 作业信息卡正常展示;统计摘要卡和各分析区块展示 数据生成中,请稍后查看 状态,不以 0 占位。 |
作业分析 页签某区块无数据 | 对应区块展示独立空态:评价分布显示 暂无评价数据,雷达图显示 暂无知识点分析数据,Top3 显示 暂无错题数据;其他区块继续正常展示。 |
错题分析 页签筛选后无结果 | 错题列表区域展示空态 暂无该题型错题,保留当前排序和筛选按钮文案,不自动回退到默认结果集。 |
学生学情 搜索无结果 | 学生列表区域展示空态 未找到匹配的学生,保留当前关键词,支持继续修改。 |
| 知识点勾选超限或少于下限 | 不关闭弹层,直接 Toast 提示 最多选择8个知识点 或 至少选择1个知识点,并保持当前待确认状态。 |
| 已提交学生的个人分析结果尚未生成 | 查看、作业报告按钮保持禁用态,点击 Toast 提示 学生分析生成中,请稍后查看。 |
| 页面分区接口局部失败 | 失败区块展示错误态和 重试 按钮;已成功加载的区块不回滚、不清空。 |
数据需求
- 接口:
- 页面基础信息接口:返回
homework_id、homework_type、class_id、subject_code、subject_name、homework_name、source_label、publish_time、class_name、submitted_count、total_student_count、unsubmitted_count、class_avg_score、max_score、min_score。 - 评价分布接口:返回 A-E 五档评价人数与占比。
- 知识点雷达接口:返回知识点集合、正确率、错误率、默认推荐勾选状态。
- Top3 错题接口:返回最小颗粒度小题列表、缩略图地址/文本片段、错误率、做错人数、题目顺序。
- 错题列表接口:支持排序、题型筛选,返回题目原文、题型、答案、难度、错题人数、错误率、知识点。
- 学生学情列表接口:返回学生姓名、提交状态、正确率、错题数、批改时间、评价等级、
report_ready、analysis_ready。
- 页面基础信息接口:返回
- 请求参数:
- 公共参数:
homework_id、homework_type、class_id、source_page、tab。 - 雷达图参数:
knowledge_ids[]。 - 错题列表参数:
sort_by、sort_order、question_type、page_no、page_size。 - 学生列表参数:
keyword、page_no、page_size。
- 公共参数:
- 返回字段建议:
- Top3 错题需包含
sub_question_id、parent_question_id、question_preview_image_url、question_preview_text、wrong_rate、wrong_count、question_order、sub_question_order,用于保证 R65 排序和展示口径。 - 学生列表需包含
student_id、student_name、status(submitted/pending)、accuracy_rate、wrong_count、review_time、evaluation、report_ready、analysis_ready。 - 知识点列表需包含
knowledge_id、knowledge_name、accuracy_rate、wrong_rate、is_default_selected。
- Top3 错题需包含
- 页面状态缓存:
tm_report_context至少保存homework_id、class_id、source_page、active_tab、student_keyword、selected_knowledge_ids、sort_option、question_type_filter、analysis_scroll_top、errors_scroll_top、students_scroll_top,用于页内切换和下钻返回恢复。参见 R66。
- 埋点:
- 页面浏览:
tm_report_view,记录homework_id、homework_type、class_id、source_page、default_tab。 - 页签切换:
tm_report_tab_click,记录from_tab、to_tab。 - 未提交入口点击:
tm_report_unsubmitted_click,记录homework_id、class_id、unsubmitted_count、source_page=tm_report。 - 知识点弹层过程:
tm_report_knowledge_sheet_open、tm_report_knowledge_sheet_confirm、tm_report_knowledge_sheet_reset、tm_report_knowledge_sheet_cancel,记录所选知识点数量和知识点 ID 集合。 - 雷达点位点击:
tm_report_radar_point_click,记录knowledge_id、knowledge_name、accuracy_rate、wrong_rate。 - 排序与筛选:
tm_report_sort_confirm、tm_report_filter_confirm,记录当前页签、排序项、题型项。 - 错题卡片交互:
tm_report_error_card_toggle,记录question_id、expanded。 - 学生搜索:
tm_report_student_search,记录keyword、result_count。 - 学生下钻:
tm_report_student_analysis_click、tm_report_student_report_click,记录student_id、status、active_tab=students。
- 页面浏览: