{{ auth.user ? '班级智慧管理平台' : '班级智慧管理平台 · 演示数据' }}
{{ page.desc || '班级管理台账 · 数据来自数据库' }}
| {{ labelOf(f) }}{{ sortDir === 'asc' ? '↑' : '↓' }} | 操作 |
|---|---|
|
{{ r[f] }}
|
课堂记录 |
| {{ activeRes === 'rewards' ? '暂无奖惩记录' : '暂无记录' }} |
有效座位 {{ layoutCapacity }} 个 = {{ layoutForm.rows }} 行 ×({{ layoutForm.cols }} 列 − {{ layoutAisles.length }} 个走道列)· 全班 {{ boot.students.length }} 人 超出 {{ boot.students.length - layoutCapacity }} 人,请减少走道列或增加列数
说明:应用布局会按行优先重建座位网格;在座学生按原顺序保留,未入座学生自动补入剩余空位,走道列不生成课桌。配置写入数据库,刷新后保持。
| 学生 | 原座位 | 新座位 | 原因 | 时间 |
|---|---|---|---|---|
| {{ c.student_name }} | {{ c.from_seat }} | {{ c.to_seat }} | {{ c.reason }} | {{ c.created_at }} |
| 暂无调换记录 | ||||
| 节次 | {{ d.day_name }} |
|---|---|
| {{ row.name }} {{ row.start_time }}–{{ row.end_time }} | {{ courseOf(row, d.day_of_week).subject }} {{ courseOf(row, d.day_of_week).teacher }} — |
| 暂无节次,请先在「编辑节次」中添加。 |
| 序号 | 名称 | 开始 | 结束 | 类型 | 排序 | 操作 |
|---|---|---|---|---|---|---|
| {{ i + 1 }} | ||||||
| 该天还没有节次,点「+ 添加节次」开始。 | ||||||
| 时间 | 学生 | 类型 | 积分 | 学科 |
|---|---|---|---|---|
| {{ e.created_at }} | {{ e.student_name }} | {{ e.event_type }} | {{ e.score_delta > 0 ? '+' : '' }}{{ e.score_delta }} | {{ e.subject }} |
| 今日暂无标记 | ||||
| 学号 | 学生 | 小组 | 状态(点击评价) | 手填内容 | 扣分 | 等级 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ r.student_no }} | {{ r.name }} | {{ r.group_name }} | {{ r.custom_status_text ? '手填' : r.status }} {{ r.custom_status_text }} | {{ r.custom_status_text || '-' }} | {{ r.deduct_points || 0 }} |
| # | 姓名 | 小组 | 加分 | 扣分 | 净分 | 出勤率 | 违纪 |
|---|---|---|---|---|---|---|---|
| {{ s.rank }} | {{ s.name }} | {{ s.group_name }} | {{ s.pos > 0 ? '+' + s.pos : 0 }} | {{ s.neg }} | {{ fmtSign(s.net) }} | {{ s.attendance_rate }}% | {{ s.discipline }} |
| 该区间暂无记录 | |||||||
| # | 姓名 | 净分 | 违纪 | 结果 |
|---|---|---|---|---|
| {{ s.rank }} | {{ s.name }} | {{ fmtSign(s.net) }} | {{ s.discipline }} | {{ s.selected ? '入选' : '未入选' }} |
| # | 小组 | 净分 | 人数 | 结果 |
|---|---|---|---|---|
| {{ g.rank }} | {{ g.name }} | {{ fmtSign(g.net) }} | {{ g.members }} | {{ g.selected ? '入选' : '未入选' }} |
| # | 姓名 | 本区间 | 上一区间 | 提升 | 结果 |
|---|---|---|---|---|---|
| {{ s.rank }} | {{ s.name }} | {{ fmtSign(s.net) }} | {{ fmtSign(s.prev_net) }} | {{ fmtSign(s.delta) }} | {{ s.selected ? '入选' : '未入选' }} |
评优结果按所选区间实时重算,非硬编码;可在“奖惩记录”“违纪处理”中调整原始数据。
口径:出勤率 =(出勤 + 迟到 + 早退)/ 当日考勤记录数;区间内日期超过 30 天自动按自然周汇总。
口径:区间内全部考勤记录按状态统计,缺勤 / 请假 / 迟到单独成色。
口径:区间内 status=缺勤 的记录条数,按学生汇总取前 10(并列按学号排序)。
口径:按日期统计 discipline 表违纪记录条数;超过 30 个日期自动按自然周汇总。
口径:区间内纪律台账(discipline)按 type 统计,取全部类型。
口径:区间内违纪记录条数最多(高频)的 10 名学生。
口径:按日期统计 events 表课堂表现记录条数(含表扬与提醒);超过 30 个日期按自然周汇总。
口径:区间内 events 表按 event_type 统计,包含专注/走神/讲话/举手等全部类型。
口径:区间内课堂事件条数最多的 10 名学生(表扬与提醒合并计数)。
口径:按日期对 hygiene 表各小组评分求平均(满分 10);超过 30 个日期自动按自然周汇总。
口径:区间内各小组卫生评分的平均值,降序排列;未指定小组的历史记录单独显示为「未指定小组」。
口径:完成率 =(已完成 + 优秀 + 补交)/ 应交记录数,按作业发布时间(publish_date)归档,横轴为 月-日+学科。
口径:区间内作业记录的状态快照占比(未记录不计入)。
口径:按作业累计 deduct_points 负值合计(取绝对值),0 表示该次作业无扣分。
口径:区间内未完成、漏做、未交等非完成状态记录条数最多的 10 名学生。
口径:仅统计有效分数(不含缺考),分段为 <60 / 60-69 / 70-79 / 80-84 / 85-89 / 90-100。
口径:本场有效分数从高到低排列;缺考学生以灰色条显示在末尾,不计入平均/及格率/优秀率。
口径:同一科目上一场考试平均分(不含缺考)与本场对比;本场 {{ stats.data.avg }} 分,上一场 {{ stats.data.prev_avg }} 分,变化 {{ stats.data.delta > 0 ? '+' : '' }}{{ stats.data.delta }} 分。
口径:同一科目上一场考试平均分(不含缺考)与本场对比。
{{ reportProfile.student.group_name || '未分组' }} · {{ reportProfile.student.student_no }} · {{ reportProfile.student.gender }} · 累计积分 {{ reportProfile.points }}
| 日期 | 状态 | 签到时间 |
|---|---|---|
| {{ r.date }} | {{ r.status }} | {{ r.checkin_time || '—' }} |
| 时间 | 类型 | 分值 | 科目 |
|---|---|---|---|
| {{ r.date }} | {{ r.event_type }} | {{ fmtSign(r.score_delta) }} | {{ r.subject || '—' }} |
| 作业 | 学科 | 发布日期 | 状态 |
|---|---|---|---|
| {{ r.title }} | {{ r.subject }} | {{ r.publish_date }} | {{ r.custom_status_text || r.status || '—' }} |
| 考试 | 日期 | 平均分 | 班级排名 |
|---|---|---|---|
| {{ s.name }} | {{ s.date }} | {{ s.avg }} | {{ s.rank }} / {{ s.class_size }} |
| 考试 | 日期 | 分数 | 班级排名 | 班级均分 |
|---|---|---|---|---|
| {{ p.exam }} | {{ p.date }} | {{ p.score }} | {{ p.rank ? p.rank + ' / ' + p.class_size : '—' }} | {{ p.class_avg === null ? '—' : p.class_avg }} |
| 日期 | 事由 | 类别 | 分值 |
|---|---|---|---|
| {{ r.date }} | {{ r.reason }} | {{ r.category }} | {{ fmtSign(r.points) }} |
| 时间 | 类型 | 分值 |
|---|---|---|
| {{ r.date }} | {{ r.event_type }} | {{ fmtSign(r.score_delta) }} |
| 日期 | 方式 | 内容 | 教师 |
|---|---|---|---|
| {{ c.date }} | {{ c.method }} | {{ c.content }} | {{ c.teacher || '—' }} |
| 日期 | 类型 | 说明 | 状态 |
|---|---|---|---|
| {{ p.date }} | {{ p.type }} | {{ p.description }} | {{ p.status }} |
| 日期 | 类型 | 级别 | 状态 |
|---|---|---|---|
| {{ d.date }} | {{ d.type }} | {{ d.level }} | {{ d.status }} |
{{ reportComments.current.content }}
{{ v.content }}
所有台账均从 MySQL 实时查询导出,Excel 与 PDF 均为完整数据(PDF 自动分页)。
可回溯查询:当前数据类型「{{ historyLabel }}」,共 {{ rows.length }} 条。支持按日期、学生、关键词筛选。
| {{ labelOf(f) }} |
|---|
| {{ displayValue(f, r[f]) }} |
| 暂无记录 |
| 学号 | 姓名 | {{ d.label }}{{ d.weekday }} | 实出勤 | 迟到 | 请假 | 缺勤 | 出勤率 |
|---|---|---|---|---|---|---|---|
| {{ r.student_no }} | {{ r.name }} | {{ c ? attSymbol(c) : '—' }} | {{ r.present }} | {{ r.counts['迟到'] || 0 }} | {{ (r.counts['请假'] || 0) + (r.counts['病假'] || 0) + (r.counts['事假'] || 0) }} | {{ (r.counts['缺勤'] || 0) + (r.counts['旷课'] || 0) }} | {{ r.rate === null ? '—' : r.rate + '%' }} |
拍照或选择图片,会保存到课堂相册。
左右滑动查看整周;点格子可改课。
| 节次 | {{ d.day_name }} |
|---|---|
| {{ row.name }} {{ row.start_time }}–{{ row.end_time }} | {{ courseOf(row, d.day_of_week).subject }} {{ courseOf(row, d.day_of_week).teacher }} — |
{{ mobileSeat.name }} · 学号 {{ mobileSeat.student_no }}
空位 · 可指定学生入座
暂无未入座学生,全部学生已入座
{{ profile.student.group_name }} · {{ profile.student.student_no }}
{{ profile.comment }}
草稿依据该学期的真实考勤、作业、成绩、课堂与奖惩数据生成;保存后旧版本自动转为历史,不会被覆盖。
{{ commentEditorError }}
组名同班内唯一(数据库唯一索引校验);颜色保存后会同步到座位页围巾与按组分配。
确定删除「{{ groupDelete.name }}」?
该组 {{ groupDelete.count }} 名组员将退回未分组,组长将清空。
该组暂无组员,删除后不可恢复。
这是最后一个小组,删除后分组列表为空,可稍后重新新建。
没有匹配的学生
仅本组组员可设为组长;从其他小组加入会同步减少原小组人数。
| 行号 | 结果 | 学号 | 姓名 | 性别 | 出生日期 | 所属小组 | 提示 |
|---|---|---|---|---|---|---|---|
| {{ r.line }} | {{ importStatusLabel(r.status) }} | {{ r.student_no || '-' }} | {{ r.name || '-' }} | {{ r.gender || '-' }} | {{ r.birth_date || '-' }} | {{ r.group_name ? (r.group_id ? r.group_name : r.group_name + '(未匹配)') : '-' }} | {{ r.messages.join(';') }} {{ r.warnings.join(';') }} - |
{{ importResult.message }}
错误行:{{ importResult.error_lines.map(e => e.line + ':' + e.message).join(';') }}
导入后已自动刷新档案列表、座位未入座清单与分组人数。
{{ importError }}
勾选要显示的列(保存在本机浏览器)。学生档案默认全部显示,可关闭不常用的列。
同一科目在所有天、所有格子使用同一颜色;选定后点保存立即生效,刷新不变。
{{ periodAddHint }}
评价按钮按「排序 + 启用状态」生成;停用后不再出现在新评价,历史记录仍按原名显示。被历史引用的状态只能停用,不能删除。
| 排序 | 状态名称 | 符号 | 颜色 | 计入已完成 | 默认扣分 | 启用 | 操作 |
|---|---|---|---|---|---|---|---|
| 学号 | 姓名 | 小组 | 状态 | 等级 | 符号 | 数值 | 手填内容 | 备注 | 扣分 | 记录时间 | 记录人 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ r.student_no }} | {{ r.name }} | {{ r.group_name }} | {{ r.status_label }} | {{ r.quality || '—' }} | {{ r.mark_symbol || '—' }} | {{ r.mark_value !== null ? r.value_text : '—' }} | {{ r.custom_text || '-' }} | {{ r.note || '-' }} | {{ r.deduct_text }} | {{ r.recorded_at || '-' }} | {{ r.recorded_by || '-' }} |
当前 {{ hwResult.stats.total }} 人 · 统计条与逐行数据一致;未记录学生以灰色「—」显示并计入应交。
统计口径:及格 ≥60 分,优秀 ≥85 分;平均分/最高分/最低分/及格率/优秀率只统计「已录入且未缺考」的学生;完成率 = 已录入 / 应交 = {{ examResult.stats ? examResult.stats.rate : 0 }}%。
| 学号 | 姓名 | 小组 | 分数 | 等级 | 班级排名 | 较上次 | 状态 |
|---|---|---|---|---|---|---|---|
| {{ r.student_no }} | {{ r.name }} | {{ r.group_name }} | {{ r.recorded ? (r.absent ? '缺考' : r.score_text) : '—' }} | {{ r.level_text || '—' }} | {{ r.rank ? '第 ' + r.rank + ' 名' : '—' }} | {{ r.delta_text || '—' }} | {{ r.recorded ? (r.absent ? '缺考' : '已录入') : '未录入' }} |
未录入学生以灰色「—」显示并计入应交 {{ examResult.stats.total }} 人。
新班级为独立数据空间,默认 8 行 × 6 列空座位,可在「学生管理」中导入名单。
{{ classModal.error }}
成长评语