4.6 KiB
4.6 KiB
开发日志 - 2026年2月24日
昨日进展回顾
2026-02-23 完成内容
- 学校端任务管理功能完善
- 导航菜单二级结构重构
- UI规范:禁止Emoji图标
今日开发内容
1. 学校端家长管理功能实现
需求背景:
- 后端API已完整实现,但前端缺少家长管理界面
- 学校管理员需要管理家长账号、关联学生、重置密码等功能
实现内容:
1.1 路由配置
- 添加
/school/parents路由 - 添加菜单项到"人员管理"子菜单
- 使用 IdcardOutlined 图标
1.2 API接口 (school.ts)
// 类型定义
interface Parent {
id: number;
name: string;
phone: string;
email?: string;
loginAccount: string;
status: string;
childrenCount: number;
children: ParentChild[];
}
interface ParentChild {
id: number;
name: string;
relationship: string;
class?: { id: number; name: string; };
}
// API函数
getParents(params) // 获取家长列表
getParent(id) // 获取家长详情
createParent(data) // 创建家长
updateParent(id, data) // 更新家长
deleteParent(id) // 删除家长
resetParentPassword(id) // 重置密码
getParentChildren(parentId) // 获取家长的孩子列表
addChildToParent(parentId, data) // 关联学生
removeChildFromParent(parentId, studentId) // 解除关联
1.3 家长管理页面 (ParentListView.vue)
页面结构:
- 页面头部:标题、统计(家长总数、活跃家长)
- 搜索栏:按姓名/手机号/账号搜索
- 卡片网格布局:展示家长信息
- 操作按钮:编辑、孩子、重置密码、删除
核心功能:
- 家长CRUD操作
- 重置密码(生成临时密码)
- 管理关联孩子(查看、添加、解除)
1.4 后端补充
- 添加重置密码路由:
POST /school/parents/:id/reset-password - 实现
resetParentPassword服务方法
2. 选择孩子功能优化
问题描述:
- 原使用下拉框选择学生
- 实际学校学生数量成百上千,下拉框体验差
优化方案:
- 改用弹窗 + 表格 + 搜索的方式
- 支持按姓名搜索、按班级筛选
- 分页加载,支持大量数据
- 单选表格,点击行选中
技术实现:
// 新增变量
selectStudentModalVisible // 弹窗可见性
studentSearchKeyword // 搜索关键词
studentClassFilter // 班级筛选
selectedStudent // 选中的学生
studentTableData // 表格数据
studentPagination // 分页状态
classOptions // 班级选项
// 新增方法
openSelectStudentModal() // 打开选择弹窗
loadStudentsForSelect() // 加载学生数据
handleStudentSearch() // 搜索学生
handleStudentTableChange() // 分页变化
confirmAddChild() // 确认添加
3. UI调整
关系标签显示:
- 在孩子姓名同一行显示关系标签
- 标签格式:
关系:父亲/关系:母亲等 - 使用不同颜色区分:
- 父亲 - 蓝色
- 母亲 - 粉色
- 祖父 - 绿色
- 祖母 - 橙色
- 其他 - 默认灰色
样式优化:
- 孩子列表项垂直居中对齐
- 班级名称使用灰色文字显示
- 关系标签使用 Tag 组件
文件变更清单
新增文件
| 文件 | 说明 |
|---|---|
src/views/school/parents/ParentListView.vue |
家长管理页面 |
修改文件
| 文件 | 变更内容 |
|---|---|
src/router/index.ts |
添加家长管理路由 |
src/views/school/LayoutView.vue |
添加家长管理菜单项 |
src/api/school.ts |
添加家长相关API和类型 |
src/modules/school/school.controller.ts |
添加重置密码路由 |
src/modules/school/school.service.ts |
添加重置密码方法 |
测试验证
- 家长列表加载正常
- 搜索家长功能正常
- 添加家长功能正常
- 编辑家长功能正常
- 删除家长功能正常
- 重置密码功能正常
- 管理孩子弹窗正常
- 选择孩子弹窗(表格+搜索)正常
- 关联学生功能正常
- 解除关联功能正常
- 关系标签显示正常
待处理事项
明日计划
-
产品文档整理
- 完善API文档
- 用户操作手册
-
技术优化
- TypeScript 编译警告修复
- 前端构建优化
服务启动命令
cd /Users/retirado/ccProgram
./start-all.sh
测试账号
| 角色 | 账号 | 密码 |
|---|---|---|
| 超管 | admin | admin123 |
| 学校 | school1 / school | 123456 |
| 教师 | teacher1 | 123456 |
| 家长 | parent1 / parent2 | 123456 |
日志创建于 2026-02-24