- 新增SysUserController.listUsersByPermission接口 - 新增SysUserService.selectUserListByPermission方法 - 支持多租户和权限关联查询 - 更新变更记录文档
5.7 KiB
5.7 KiB
学生信息管理页面下拉菜单修复指引
📋 问题描述
学生信息管理页面中搜索栏的性别、班级和学籍状态下拉菜单都是空的,无法正常使用。
🔍 问题分析
根本原因
- 字典数据缺失:前端使用的是学工专用字典(
xg_gender、xg_student_status、xg_info_status等),但数据库中缺少这些字典数据 - 班级选项为空:班级选项通过查询学生信息表获取,如果表中没有数据,班级选项就会为空
- 测试数据缺失:缺少基础的学生信息测试数据
前端代码使用的字典
// 前端使用的字典类型
const { xg_gender, xg_student_status, xg_info_status, xg_education_level, xg_training_type, xg_political_status } = useDict(
'xg_gender', 'xg_student_status', 'xg_info_status', 'xg_education_level', 'xg_training_type', 'xg_political_status'
);
🛠️ 解决方案
步骤1:执行数据库修复脚本
-
执行修复脚本:
cd /Users/wuzhen/Documents/myworkspace/myproject/hzdyjspro/all-project # 方式1:使用现有的字典数据脚本 mysql -u root -p hzdyjs_xg < docs/设计文档/database/17-add-student-dict-data.sql # 方式2:使用完整修复脚本(推荐) mysql -u root -p hzdyjs_xg < docs/设计文档/database/18-student-info-fix-complete.sql -
验证脚本执行结果:
USE hzdyjs_xg; -- 验证字典类型 SELECT dict_id, dict_name, dict_type FROM sys_dict_type WHERE dict_type LIKE 'xg_%' ORDER BY dict_id; -- 验证字典数据 SELECT dict_type, dict_label, dict_value FROM sys_dict_data WHERE dict_type LIKE 'xg_%' ORDER BY dict_type, dict_sort; -- 验证学生信息数据 SELECT student_no, name, gender, class_name, college_name, student_status FROM xg_student_info LIMIT 5;
步骤2:重启后端服务
重要:执行完数据库脚本后,必须重启后端服务以加载新的字典数据。
# 停止后端服务
cd /Users/wuzhen/Documents/myworkspace/myproject/hzdyjspro/all-project
./stop.sh
# 启动后端服务
./start-backend.sh
步骤3:验证修复结果
-
访问前端页面:
- 打开浏览器访问:
http://localhost - 登录系统
- 导航到:学工管理 → 学生信息管理
- 打开浏览器访问:
-
检查下拉菜单:
- ✅ 性别下拉菜单:应该显示"男"和"女"选项
- ✅ 学籍状态下拉菜单:应该显示"在籍"、"休学"、"复学"、"退学"、"毕业"、"肄业"、"转学"等选项
- ✅ 班级下拉菜单:应该显示"计算机2023-1班"、"电子2023-1班"等选项
- ✅ 学院下拉菜单:应该显示"计算机学院"、"电子信息学院"等选项
-
检查学生列表:
- ✅ 学生列表应该显示8条测试数据
- ✅ 统计卡片应该显示正确的数据:总学生数8、男生数4、女生数4等
📊 脚本创建的数据
字典数据
- xg_gender:男(M)、女(F)
- xg_student_status:在籍(1)、休学(2)、复学(3)、退学(4)、毕业(5)、肄业(6)、转学(7)
- xg_info_status:正常(1)、待审核(2)、审核中(3)、已驳回(4)、已锁定(5)
- xg_education_level:专科(1)、本科(2)、硕士(3)、博士(4)
- xg_training_type:全日制(1)、非全日制(2)、函授(3)、业余(4)
- xg_political_status:中共党员(01)、中共预备党员(02)、共青团员(03)、群众(13)
测试学生数据
- 8条学生记录,涵盖不同学院、班级、年级和状态
- 3个学院:计算机学院(CS)、电子信息学院(EE)、经济管理学院(BM)
- 4个班级:计算机2023-1班、电子2023-1班、管理2023-1班、计算机2022-1班等
- 不同状态:在籍、休学、毕业等
🔧 故障排除
如果下拉菜单仍然为空
-
检查数据库连接:
-- 确认数据库连接正常 SELECT COUNT(*) FROM sys_dict_data WHERE dict_type LIKE 'xg_%'; -
检查后端服务:
# 查看后端日志 tail -f backend/ruoyi-admin/logs/sys-info.log # 确认服务正常运行 curl -X GET "http://localhost:8080/system/dict/data/type/xg_gender" -
清除浏览器缓存:
- 按
Ctrl+Shift+R强制刷新页面 - 或者清除浏览器缓存后重新访问
- 按
如果班级选项仍然为空
-
检查学生信息表:
-- 确认学生信息表有数据 SELECT COUNT(*) FROM xg_student_info WHERE deleted = 0; -- 确认班级信息完整 SELECT DISTINCT class_code, class_name FROM xg_student_info WHERE class_code IS NOT NULL; -
检查API接口:
# 测试学院选项接口 curl -X GET "http://localhost:8080/xg/studentInfo/collegeOptions" # 测试班级选项接口 curl -X GET "http://localhost:8080/xg/studentInfo/classOptions"
📝 相关文档
- 原始字典脚本:
docs/设计文档/database/17-add-student-dict-data.sql - 完整修复脚本:
docs/设计文档/database/18-student-info-fix-complete.sql - 变更记录:
docs/变更管理/code-adjust-record-2025-01-12-wuzilong.md - API文档:
docs/开发文档/API/学工管理学生信息管理API.md
✅ 修复完成确认
修复完成后,你应该能够:
- 在性别下拉菜单中看到"男"和"女"选项
- 在学籍状态下拉菜单中看到"在籍"、"休学"等选项
- 在班级下拉菜单中看到具体的班级名称
- 在学院下拉菜单中看到具体的学院名称
- 在学生列表中看到测试数据
- 在统计卡片中看到正确的数据统计
修复时间:2025-01-14
修复状态:待执行
预计耗时:5-10分钟