3.1 KiB
3.1 KiB
招生就业模块代码调整记录
修复招生报名信息性别字段显示问题
时间: 2025-07-10 14:30:45
问题描述
在"招生就业》报名信息》查看招生报名信息"页面中,性别字段没有正确显示,显示为空白而非预期的"男"或"女"。
原因分析
- 数据库中zsjy_gender字典可能未正确配置或数据未同步到前端缓存
- 查看详情时性别字段(gender)可能为空,未能正确从身份证推断性别
修复方案
- 创建增强版SQL脚本确保zsjy_gender字典数据正确配置,并直接修复数据库中的性别值
- 在查看详情(handleView)方法中,增加从身份证号推断性别的逻辑
- 添加多重性别显示方式,不仅依赖dict-tag组件,同时使用直接文本显示
- 添加getGenderDisplay方法,根据性别字段或身份证推断性别显示文本
修改内容
- 新增SQL脚本:
本地临时文件目录/script/fix-gender-display.sql(基础版)本地临时文件目录/script/fix-gender-display-enhanced.sql(增强版,包括数据库数据修复)
- 修改前端组件显示方式:
- 增加
getGenderDisplay方法用于解析性别显示 - 改进视图对话框中性别字段的显示方式
- 改进表格列表中性别字段的显示方式
- 改进审核对话框中性别字段的显示方式
- 增加
- 修改查看详情方法:
web/src/views/zsjy/enrollment/index.vue中的handleView方法
执行步骤
- 执行SQL脚本修复字典数据和数据库中的性别值
-- 执行基础修复脚本
source 本地临时文件目录/script/fix-gender-display.sql
-- 或者使用增强版脚本(推荐),同时修复数据库中性别值
source 本地临时文件目录/script/fix-gender-display-enhanced.sql
- 重启后端服务清除字典缓存
# 在backend目录执行
./hot-start.sh
- 前端代码修改已完成,重新构建前端
# 在web目录执行
npm run build:prod
补充说明
-
最终解决方案(2025-07-11更新):
- 完全抛弃dict-tag组件:不再依赖字典组件显示性别
- 直接使用文本显示:使用条件表达式将'M'/'F'直接转换为"男"/"女"
- 增强的性别解析逻辑:支持多种性别值格式(M/F/1/2)
- 更可靠的数据获取:改进handleView方法,多重保障获取性别值
-
数据库修复策略:
- 修复字典数据配置
- 修复数据库中的性别值(根据身份证号自动推断)
- 确保缓存刷新,避免旧数据干扰
-
排查步骤总结:
- 第一步:数据库层面确保zsjy_gender字典数据正确
- 第二步:代码层面使用多种方式获取性别值
- 第三步:放弃使用字典组件,改用直接文本转换显示
- 第四步:添加调试信息,确保每个环节可追踪
验证方法
- 登录系统,进入"招生就业》报名信息"模块
- 点击查看按钮,检查性别字段是否正确显示"男"或"女"
- 可通过浏览器控制台查看日志,确认性别解析逻辑是否正常工作
责任人
- 开发: 吴振
- 测试: 待定
- 审核: 待定