Files
hzdyjs/docs/变更管理/学生信息管理页面下拉菜单修复指引.md
T
wuzhen 661a513f57 feat: 新增根据权限标识获取用户列表功能
- 新增SysUserController.listUsersByPermission接口
- 新增SysUserService.selectUserListByPermission方法
- 支持多租户和权限关联查询
- 更新变更记录文档
2025-07-10 17:59:31 +08:00

5.7 KiB
Raw Blame History

学生信息管理页面下拉菜单修复指引

📋 问题描述

学生信息管理页面中搜索栏的性别、班级和学籍状态下拉菜单都是空的,无法正常使用。

🔍 问题分析

根本原因

  1. 字典数据缺失:前端使用的是学工专用字典(xg_gender、xg_student_status、xg_info_status等),但数据库中缺少这些字典数据
  2. 班级选项为空:班级选项通过查询学生信息表获取,如果表中没有数据,班级选项就会为空
  3. 测试数据缺失:缺少基础的学生信息测试数据

前端代码使用的字典

// 前端使用的字典类型
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:执行数据库修复脚本

  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
    
  2. 验证脚本执行结果:

    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:验证修复结果

  1. 访问前端页面:

    • 打开浏览器访问:http://localhost
    • 登录系统
    • 导航到:学工管理 → 学生信息管理
  2. 检查下拉菜单:

    • ✅ 性别下拉菜单:应该显示"男"和"女"选项
    • ✅ 学籍状态下拉菜单:应该显示"在籍"、"休学"、"复学"、"退学"、"毕业"、"肄业"、"转学"等选项
    • ✅ 班级下拉菜单:应该显示"计算机2023-1班"、"电子2023-1班"等选项
    • ✅ 学院下拉菜单:应该显示"计算机学院"、"电子信息学院"等选项
  3. 检查学生列表:

    • ✅ 学生列表应该显示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班等
  • 不同状态:在籍、休学、毕业等

🔧 故障排除

如果下拉菜单仍然为空

  1. 检查数据库连接:

    -- 确认数据库连接正常
    SELECT COUNT(*) FROM sys_dict_data WHERE dict_type LIKE 'xg_%';
    
  2. 检查后端服务:

    # 查看后端日志
    tail -f backend/ruoyi-admin/logs/sys-info.log
    
    # 确认服务正常运行
    curl -X GET "http://localhost:8080/system/dict/data/type/xg_gender"
    
  3. 清除浏览器缓存:

    • 按 Ctrl+Shift+R 强制刷新页面
    • 或者清除浏览器缓存后重新访问

如果班级选项仍然为空

  1. 检查学生信息表:

    -- 确认学生信息表有数据
    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;
    
  2. 检查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分钟