feat(school,classes): 实现 P2 长期问题全量改进项

P2-2: 新增 OrgTreeNav 组件(学校→年级→班级三级树形导航,支持搜索过滤/选中高亮/展开折叠)

P2-3: 新增 promoteGradesAction 年级升级功能(中文数字/阿拉伯数字识别,按 order 降序避免冲突)

P2-4: 新增 bulkEnrollStudentsAction(CSV 批量导入学生)+ bulkAssignSubjectTeachersAction(CSV 批量分配教师)

P2-5: 为 department/academicYear/grade 的 9 个 CRUD Action 补充 logAudit 审计日志

同步更新架构图文档 004/005
This commit is contained in:
SpecialX
2026-06-23 08:55:21 +08:00
parent 4da9194a5e
commit c766951374
11 changed files with 761 additions and 81 deletions

View File

@@ -122,7 +122,15 @@
"optional": "可选",
"failedCreate": "创建年级失败",
"failedUpdate": "更新年级失败",
"failedDelete": "删除年级失败"
"failedDelete": "删除年级失败",
"promote": {
"title": "年级升级",
"description": "将选定学校的所有年级升级一级(如一年级→二年级),保留历史档案。",
"confirm": "确认升级",
"selectSchool": "请选择学校",
"success": "成功升级 {count} 个年级",
"failed": "升级失败"
}
},
"departments": {
"title": "部门管理",
@@ -205,6 +213,24 @@
"classManagement": {
"title": "班级管理",
"description": "管理班级并分配教师。",
"bulk": {
"importStudents": {
"title": "批量导入学生",
"description": "每行一个邮箱格式name,email 或仅 email",
"placeholder": "张三,zhangsan@example.com\nlisi@example.com",
"submit": "导入",
"success": "成功导入 {imported} 个学生,{failed} 个失败",
"failed": "批量导入失败"
},
"assignTeachers": {
"title": "批量分配教师",
"description": "每行格式:班级名称,科目,教师邮箱",
"placeholder": "一班,语文,zhangsan@example.com\n二班,数学,lisi@example.com",
"submit": "分配",
"success": "成功更新 {updated} 个分配,{failed} 个失败",
"failed": "批量分配失败"
}
},
"grade": {
"title": "班级管理",
"description": "管理你所在年级的班级。",
@@ -253,5 +279,12 @@
"description": "数据加载时发生错误,请重试",
"retry": "重试"
}
},
"orgTree": {
"title": "组织架构",
"search": "搜索学校/年级/班级...",
"empty": "暂无数据",
"expandAll": "全部展开",
"collapseAll": "全部折叠"
}
}