diff --git a/README.md b/README.md index 8ba0d68..963814b 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,14 @@ - 查看个人加减分历史明细(时间、分数变化、原因、操作人) - 查看个人作业提交情况 - 查看个人考勤记录 +- 查看历史学期归档数据(操行分、考勤统计、作业统计) - 修改个人登录密码(首次登录强制修改) ### 家长端 - 查询子女当前操行总分和班级排名 - 查看子女操行分历史记录(加分/减分明细) - 查看子女考勤记录 +- 默认仅显示当前学期数据 ### 管理端 @@ -25,6 +27,8 @@ - 考勤管理:查看全班考勤记录、自定义考勤扣分值 - 科目管理:动态增删学科 - 管理员管理:添加/编辑/删除/重置密码班长/科代表/考勤委员/劳动委员/志愿委员 +- 学期管理:创建/编辑/删除学期、激活学期、归档学期(含考勤/作业统计快照)、关联历史记录、归档后可选重置分数 +- 排行榜百分比筛选:在排行榜上方输入百分比,筛选显示前N%的学生(抹零法) - 数据导出:导出历史记录、导出德育分记录(含加分/减分历史) **班长权限:** @@ -88,6 +92,7 @@ classmanager/ │ │ ├── conduct.py # 操行分模型 │ │ ├── homework.py # 作业模型 │ │ ├── log.py # 日志模型 +│ │ ├── semester.py # 学期模型 │ │ ├── student.py # 学生模型 │ │ ├── subject.py # 科目模型 │ │ └── user.py # 用户模型 @@ -98,6 +103,7 @@ classmanager/ │ │ ├── auth.py # 认证接口 │ │ ├── debug.py # 调试入口 │ │ ├── parent.py # 家长端接口 +│ │ ├── semester.py # 学期管理接口 │ │ ├── student.py # 学生端接口 │ │ └── subject.py # 科目管理接口 │ │ @@ -108,6 +114,7 @@ classmanager/ │ │ ├── common.py │ │ ├── conduct.py │ │ ├── parent.py +│ │ ├── semester.py # 学期请求模型 │ │ ├── student.py │ │ └── subject.py │ │ @@ -120,6 +127,7 @@ classmanager/ │ │ ├── homework_service.py │ │ ├── log_service.py │ │ ├── parent_service.py +│ │ ├── semester_service.py # 学期服务 │ │ ├── student_service.py │ │ └── subject_service.py │ │ @@ -146,6 +154,7 @@ classmanager/ │ │ ├── history.php # 历史记录 │ │ ├── homework.php # 作业管理 │ │ ├── password.php # 修改密码 +│ │ ├── semesters.php # 学期管理 │ │ ├── students.php # 学生管理 │ │ └── subjects.php # 科目管理 │ │ @@ -166,7 +175,8 @@ classmanager/ │ │ │ ├── includes/ # 公共包含文件 │ │ ├── footer.php # 公共底部 -│ │ └── header.php # 公共头部 +│ │ ├── header.php # 公共头部 +│ │ └── nav.php # 导航栏 │ │ │ ├── parent/ # 家长端 │ │ ├── attendance.php # 考勤记录 @@ -178,7 +188,8 @@ classmanager/ │ ├── conduct.php # 操行分详情 │ ├── dashboard.php # 学生端首页 │ ├── homework.php # 作业情况 -│ └── password.php # 修改密码 +│ ├── password.php # 修改密码 +│ └── semester_history.php # 学期记录 │ ├── sql/ # 数据库脚本 │ └── init.sql # 初始化表结构 @@ -207,7 +218,7 @@ classmanager/ |------|-----------|-----------|---------|-------------|---------| | 班主任 | 全班 | 无限制 | 可撤销任何记录 | 全班所有记录 | 学生/管理员/科目管理、数据导出 | | 班长 | 全班 | ±5分 | 可撤销任何记录 | 全班所有记录 | - | -| 学习委员 | 全班 | 仅扣分(按规则) | 不可撤销 | 仅自己提交的 | 作业管理、科目管理 | +| 学习委员 | 全班 | ±5分以内(加减分) | 不可撤销 | 仅自己提交的 | 作业管理、科目管理 | | 考勤委员 | 全班 | 仅扣分(按规则) | 不可撤销 | 仅自己提交的 | 考勤管理 | | 劳动委员 | 全班 | 仅±1分(卫生值日) | 不可撤销 | 仅自己提交的 | - | | 志愿委员 | 全班 | 仅加分 | 不可撤销 | 仅自己提交的 | - | @@ -243,7 +254,7 @@ classmanager/ |------|---------|------| | v1.0 | 2026.4.19 | 初始版本发布,包含基础功能 | | v1.1 | 2026.4.20 | 更新家长端查看加减分记录功能 | -| v1.2 | 2026.4.22 | 新增学期功能 | +| v1.2 | 2026.4.22 | 学期管理(创建/编辑/归档/补录关联/归档重置)、env加减分上限、排行榜百分比筛选、学习委员加减分、撤销操作日志、调试入口开关 | ## 许可证 diff --git a/docs/cadre.md b/docs/cadre.md index 2a43699..0d12097 100644 --- a/docs/cadre.md +++ b/docs/cadre.md @@ -16,7 +16,7 @@ | 角色 | 操行分管理 | 历史记录 | 作业管理 | 考勤管理 | 科目管理 | |------|-----------|---------|---------|---------|---------| | 班长 | ±5分以内 | 全部(可撤销) | - | - | - | -| 学习委员 | - | 自己的 | ✓ | - | ✓ | +| 学习委员 | ±5分以内 | 自己的 | ✓ | - | ✓ | | 考勤委员 | - | 自己的 | - | ✓ | - | | 劳动委员 | ±1分(卫生值日) | 自己的 | - | - | - | | 志愿委员 | 仅加分 | 自己的 | - | - | - | @@ -49,8 +49,6 @@ #### 作业管理 (homework.php) -本模块用于管理学生作业缺交情况。 - **批量扣分**: 1. 在学生列表中勾选目标学生 2. 点击"批量加减分"按钮 @@ -64,6 +62,16 @@ > 扣分限制:每次加减分不超过3分。 +#### 操行分管理 (conduct.php) + +**加减分操作**: +1. 在学生列表中勾选目标学生 +2. 点击"批量加减分"按钮 +3. 填写分数变动(±5分以内)和原因 +4. 点击"确认提交" + +> 加减分限制:每次操作不超过±5分(上限可在系统环境变量中配置)。 + #### 科目管理 (subjects.php) - 查看科目列表 diff --git a/docs/guide/cadre.md b/docs/guide/cadre.md index 8f20253..b69f320 100644 --- a/docs/guide/cadre.md +++ b/docs/guide/cadre.md @@ -11,7 +11,7 @@ | 角色 | 操行分管理 | 历史记录 | 作业管理 | 考勤管理 | 科目管理 | |------|-----------|---------|---------|---------|---------| | 班长 | ±5分以内 | 全部(可撤销) | - | - | - | -| 学习委员 | - | 自己的 | ✓ | - | ✓ | +| 学习委员 | ±5分以内 | 自己的 | ✓ | - | ✓ | | 考勤委员 | - | 自己的 | - | ✓ | - | | 劳动委员 | ±1分(卫生值日) | 自己的 | - | - | - | | 志愿委员 | 仅加分 | 自己的 | - | - | - | @@ -24,6 +24,7 @@ ### 学习委员 - **作业扣分**:勾选学生 → 批量加减分 → 选择未交/迟交/自定义 → 填写原因 +- **加减分**:勾选学生 → 批量加减分 → 填写分值(±5分以内)和原因 - **科目管理**:添加/编辑/删除科目 ### 考勤委员 diff --git a/docs/guide/parent.md b/docs/guide/parent.md index 601ebe8..15d2c94 100644 --- a/docs/guide/parent.md +++ b/docs/guide/parent.md @@ -12,6 +12,8 @@ | 历史记录 | 查看子女加减分明细(时间、类型、原因、分值、记录人),支持分页 | | 考勤记录 | 查看子女考勤记录(出勤/缺勤/迟到/请假统计 + 明细列表) | +> 家长端默认仅显示当前学期数据。 + ## 常见问题 - **忘记密码**:联系班主任重置。 diff --git a/docs/guide/parent.pdf b/docs/guide/parent.pdf index 934fbb2..f371863 100644 Binary files a/docs/guide/parent.pdf and b/docs/guide/parent.pdf differ diff --git a/docs/guide/student.md b/docs/guide/student.md index 55d6076..296587d 100644 --- a/docs/guide/student.md +++ b/docs/guide/student.md @@ -14,6 +14,7 @@ | 操行分详情 | 查看完整加减分历史(时间、分值、原因、操作人) | | 作业情况 | 查看缺交作业记录(科目、状态、备注) | | 考勤记录 | 查看个人考勤记录(按月) | +| 学期记录 | 查看历史学期归档数据(操行分排名、考勤统计、作业统计) | | 修改密码 | 修改登录密码 | ## 常见问题 diff --git a/docs/guide/student.pdf b/docs/guide/student.pdf index ab443e5..4f1540b 100644 Binary files a/docs/guide/student.pdf and b/docs/guide/student.pdf differ diff --git a/docs/guide/teacher.md b/docs/guide/teacher.md index 9389378..cf86977 100644 --- a/docs/guide/teacher.md +++ b/docs/guide/teacher.md @@ -20,6 +20,7 @@ | 学生管理 | 新增/编辑/删除/批量导入学生 | | 科目管理 | 增删改科目 | | 管理员管理 | 添加/编辑/删除/重置密码班干部账号 | +| 学期管理 | 创建/编辑/删除/归档学期、关联历史记录、归档重置分数 | | 修改密码 | 修改登录密码 | ## 常用操作 @@ -31,6 +32,8 @@ - **导入学生**:学生管理页 → 导入学生(JSON格式,需包含 `student_no` 和 `name`) - **添加班干部**:管理员管理页 → 添加管理员 → 填写账号信息和角色 - **重置班干部密码**:管理员管理页 → 重置密码 → 输入新密码 +- **学期管理**:学期管理页 → 创建学期(可快捷填充日期)→ 关联历史数据 → 归档(可选重置分数) +- **排行榜筛选**:首页 → 输入百分比 → 点击筛选(抹零法,如15%显示前15%的学生) ## 常见问题 diff --git a/docs/parent.md b/docs/parent.md index 84c6f3f..10cea2d 100644 --- a/docs/parent.md +++ b/docs/parent.md @@ -49,6 +49,8 @@ - 考勤状态(正常/迟到/缺勤/请假) - 备注(如有) +> 家长端默认仅显示当前学期的数据。历史学期归档数据请在管理端或学生端查看。 + --- ## 导航栏说明 diff --git a/docs/student.md b/docs/student.md index 89b537c..f93d4de 100644 --- a/docs/student.md +++ b/docs/student.md @@ -58,7 +58,18 @@ - 考勤状态(正常/迟到/缺勤/请假) - 备注(如有) -### 5. 修改密码 +### 5. 学期记录 + +查看历史学期的归档数据: + +- 显示所有已归档学期的列表 +- 每个学期显示: + - 学期名称、日期范围 + - 最终操行分和排名 + - 考勤统计(出勤/缺勤/迟到/请假次数) + - 作业统计(已交/未交/迟交数量) + +### 6. 修改密码 - 输入原密码和新密码 - 新密码需符合密码强度要求 @@ -74,6 +85,7 @@ | 操行分详情 | 完整加减分历史 | | 作业情况 | 作业缺交记录 | | 考勤记录 | 考勤记录明细 | +| 学期记录 | 查看历史学期归档数据(操行分、考勤、作业统计) | | 修改密码 | 修改登录密码 | --- diff --git a/docs/teacher.md b/docs/teacher.md index 83170db..d0b3f12 100644 --- a/docs/teacher.md +++ b/docs/teacher.md @@ -24,7 +24,7 @@ - 操行分管理 - 导入学生 - 导出德育分记录 -- **操行分排行榜**:展示前100名学生的排名、学号、姓名和操行分 +- **操行分排行榜**:展示前100名学生的排名、学号、姓名和操行分。排行榜上方提供百分比筛选框,可输入1-100的数字筛选显示前N%的学生(抹零法:如49人×15%=7.35,显示前7人)。 --- @@ -189,7 +189,59 @@ --- -### 9. 修改密码 (password.php) +### 9. 学期管理 (semesters.php) + +#### 创建学期 +1. 点击"创建新学期"按钮 +2. 填写学期名称(如"2025秋季学期") +3. 可使用快捷按钮自动填充日期: + - **上学期**:9月1日 - 次年2月末(自动处理闰年) + - **下学期**:3月1日 - 7月15日 +4. 结束日期为可选,不确定可不填 +5. 点击"创建学期" +6. 系统自动根据日期判断是否为当前活跃学期 + +> 创建学期的日期范围包含今天时,自动设为当前活跃学期;否则(如补录上学期)不会自动激活。 + +#### 编辑学期 +1. 在学期列表中点击"编辑"按钮 +2. 修改学期名称或日期 +3. 点击"保存修改" +4. 已归档的学期不可编辑 + +#### 删除学期 +1. 在编辑模态框中点击"删除学期"按钮 +2. 确认删除操作 +3. 已有归档数据的学期不可删除 + +#### 激活学期 +- 点击"激活"按钮将学期设为当前活跃学期 +- 当前活跃学期标记为"当前学期"(绿色标签) + +#### 关联历史数据 +1. 点击"关联数据"按钮 +2. 系统将自动把该学期日期范围内未分配学期的操行分记录和考勤记录关联到该学期 +3. 关联完成后显示关联的记录数量 + +> 用于补录上学期数据:创建上学期的学期记录后,通过"关联数据"将已有的历史记录关联到该学期。 + +#### 归档学期 +1. 点击"归档"按钮 +2. 确认归档操作: + - 系统将保存所有学生的操行分快照、考勤统计和作业统计 + - 可选勾选"归档后重置所有学生操行分为初始值(60分)" +3. 点击"确认归档" +4. 归档成功后该学期变为只读 + +> **归档说明**:归档仅创建数据快照,不会删除或修改任何原始数据。如勾选重置,归档完成后将所有学生操行分恢复为初始值,所有历史记录和操作日志完整保留。 + +#### 查看归档数据 +- 已归档学期显示"查看归档"按钮 +- 展示归档时的学生排名、操行分、考勤统计、作业统计 + +--- + +### 10. 修改密码 (password.php) - 输入原密码和新密码 - 新密码需符合密码强度要求