Files
hzdyjs/docs/变更管理/code-adjust-record-2025-07-10-wuzhen.md
T
2025-07-24 21:03:00 +08:00

3.1 KiB

招生就业模块代码调整记录

修复招生报名信息性别字段显示问题

时间: 2025-07-10 14:30:45

问题描述

在"招生就业》报名信息》查看招生报名信息"页面中,性别字段没有正确显示,显示为空白而非预期的"男"或"女"。

原因分析

  1. 数据库中zsjy_gender字典可能未正确配置或数据未同步到前端缓存
  2. 查看详情时性别字段(gender)可能为空,未能正确从身份证推断性别

修复方案

  1. 创建增强版SQL脚本确保zsjy_gender字典数据正确配置,并直接修复数据库中的性别值
  2. 在查看详情(handleView)方法中,增加从身份证号推断性别的逻辑
  3. 添加多重性别显示方式,不仅依赖dict-tag组件,同时使用直接文本显示
  4. 添加getGenderDisplay方法,根据性别字段或身份证推断性别显示文本

修改内容

  1. 新增SQL脚本:
    • 本地临时文件目录/script/fix-gender-display.sql(基础版)
    • 本地临时文件目录/script/fix-gender-display-enhanced.sql(增强版,包括数据库数据修复)
  2. 修改前端组件显示方式:
    • 增加getGenderDisplay方法用于解析性别显示
    • 改进视图对话框中性别字段的显示方式
    • 改进表格列表中性别字段的显示方式
    • 改进审核对话框中性别字段的显示方式
  3. 修改查看详情方法:web/src/views/zsjy/enrollment/index.vue中的handleView方法

执行步骤

  1. 执行SQL脚本修复字典数据和数据库中的性别值
-- 执行基础修复脚本
source 本地临时文件目录/script/fix-gender-display.sql

-- 或者使用增强版脚本(推荐),同时修复数据库中性别值
source 本地临时文件目录/script/fix-gender-display-enhanced.sql
  1. 重启后端服务清除字典缓存
# 在backend目录执行
./hot-start.sh
  1. 前端代码修改已完成,重新构建前端
# 在web目录执行
npm run build:prod

补充说明

  1. 最终解决方案(2025-07-11更新):

    • 完全抛弃dict-tag组件:不再依赖字典组件显示性别
    • 直接使用文本显示:使用条件表达式将'M'/'F'直接转换为"男"/"女"
    • 增强的性别解析逻辑:支持多种性别值格式(M/F/1/2)
    • 更可靠的数据获取:改进handleView方法,多重保障获取性别值
  2. 数据库修复策略:

    • 修复字典数据配置
    • 修复数据库中的性别值(根据身份证号自动推断)
    • 确保缓存刷新,避免旧数据干扰
  3. 排查步骤总结:

    • 第一步:数据库层面确保zsjy_gender字典数据正确
    • 第二步:代码层面使用多种方式获取性别值
    • 第三步:放弃使用字典组件,改用直接文本转换显示
    • 第四步:添加调试信息,确保每个环节可追踪

验证方法

  1. 登录系统,进入"招生就业》报名信息"模块
  2. 点击查看按钮,检查性别字段是否正确显示"男"或"女"
  3. 可通过浏览器控制台查看日志,确认性别解析逻辑是否正常工作

责任人

  • 开发: 吴振
  • 测试: 待定
  • 审核: 待定