CHANGELOG.md 11 KB

变更日志 (Changelog)

本项目的所有重要变更都将记录在此文件中.

[1.70.0] - 2026-01-19 20:58

feat (1.69.0 -> 1.70.0): 实现扫码枪GBK中文字符解析功能

  • 添加 iconv-lite 依赖用于GBK编码转换
  • 实现Alt码序列解析,支持扫码枪输入的GBK编码中文
  • 添加 convertAltCodeToChar 方法将GBK码转换为中文字符
  • 添加 parseAltCodeSequence 方法解析 数字序列
  • 增强键盘事件监听,捕获Alt键和数字键组合
  • 添加Alt键状态跟踪和缓冲区管理
  • 优化Tab键处理逻辑,直接添加到缓冲区
  • 为隐藏input添加 data-testid 属性便于测试
  • 改动文件:

    • package.json (版本号更新 + 添加依赖)
    • package-lock.json (依赖锁定文件)
    • src/pages/patient/components/register.form.tsx (核心功能实现)

    [1.69.0] - 2026-01-19 10:36

    feat (1.68.0 -> 1.69.0): 新增扫码枪状态指示器组件并集成到患者注册表单

    • 新增 BarcodeScannerIndicator 组件,提供扫码枪状态可视化指示
    • 在患者注册表单右上角集成扫码枪状态指示器,浮动显示
    • 添加扫码枪状态相关国际化文本,支持中英文提示
    • 优化表单代码格式,修复空格问题

    改动文件:

    • src/components/BarcodeScannerIndicator/index.tsx (新增)
    • src/pages/patient/components/register.form.tsx
    • src/assets/i18n/messages/en.js
    • src/assets/i18n/messages/zh.js

    [1.68.0] - 2026-01-16 18:43

    feat (1.67.0 -> 1.68.0): 实现扫码枪自动填充患者注册表单功能

    • 在 qrCodeDataProcessor.ts 中优化二维码文本解析逻辑,支持优先按制表符分割,提升解析准确性
    • 在 register.form.tsx 中新增扫码枪监听功能,支持自动检测扫码输入并填充表单数据
    • 添加隐藏输入框用于捕获扫码枪输入,集成 processQRCodeData 和 transformToFormData 处理流程
    • 实现扫码枪数据自动同步到 Redux store 并显示成功提示,提升用户操作效率

    改动文件:

    • src/domain/qrcode/qrCodeDataProcessor.ts
    • src/pages/patient/components/register.form.tsx

    [1.67.0] - 2026-01-16 16:36

    feat (1.66.4 -> 1.67.0): 添加系统模式选择功能

    • 在系统设置中新增系统模式选择,包括演示模式、真机模式(发生器受控)和真机模式(发生器不受控)

    • 新增SystemMode组件,支持系统模式配置和保存

    • 更新多语言文件,添加系统模式相关翻译

    • 修改modifyConfig API参数类型,支持number和boolean

    • 调整注册表单患者编号标签,从"患者编号/病案号"改为"患者编号"

    • 优化网络设置提示文本

    • 移除报告医师管理相关翻译(可能已废弃)

    改动文件:

    • scripts/output/i18n/en.js
    • scripts/output/i18n/zh.js
    • src/API/system/options.ts
    • src/assets/i18n/messages/en.js
    • src/assets/i18n/messages/zh.js
    • src/pages/system/SettingsModal/config.tsx
    • src/pages/system/SettingsModal/sections/Network/ip.tsx
    • src/pages/system/SettingsModal/sections/SystemHome/index.tsx
    • src/pages/system/SettingsModal/sections/SystemHome/SystemMode.tsx

    [1.66.4] - 2026-1-16 16:01

    fix (1.66.3 -> 1.66.4): 修复二次扫码注册时年龄计算出生日未同步到slice的问题

    • 在年龄变化时,主动同步表单数据到Redux store,确保出生日期保存到slice中

    改动文件:

    • src/pages/patient/components/register.form.tsx

    [1.66.3] - 2026-1-16 14:07

    feat (1.66.2 -> 1.66.3): 添加用户账户管理功能并优化界面

    • 在 config.ts 中添加获取和更新用户信息的API接口
    • 在 UserAccount.tsx 中实现用户账户配置组件,支持昵称修改
    • 在 user_info/index.ts 中添加nickname字段和更新action
    • 在 Login.tsx 中保存nickname到用户状态
    • 在 BaseInfo.tsx 中集成nickname作为检查医师默认值,并将选择器改为AutoComplete
    • 在 SystemHome/index.tsx 中导出UserAccount组件
    • 更新国际化文本,将"患者编号"改为"患者编号/病案号"
    • 优化 BodyPositionDetail.tsx 代码格式

    改动文件:

    • scripts/output/i18n/zh.js
    • src/API/config.ts
    • src/API/security/userActions.ts
    • src/assets/i18n/messages/en.js
    • src/assets/i18n/messages/zh.js
    • src/pages/exam/components/BodyPositionDetail.tsx
    • src/pages/patient/DiagnosticReport/components/BaseInfo.tsx
    • src/pages/security/Login.tsx
    • src/pages/system/SettingsModal/sections/SystemHome/index.tsx
    • src/states/user_info/index.ts
    • src/pages/system/SettingsModal/sections/SystemHome/UserAccount.tsx

    [1.66.2] - 2026-1-15 18:06

    feat (1.66.1 -> 1.66.2): 实现诊断报告医师管理和身份证识别功能

    • 在 ReportActions.ts 中添加医师相关接口和数据类型
    • 在 BaseInfo.tsx 中集成检查医师和审核医师选择功能
    • 新增 ExaminationPhysicianModal 和 ReviewPhysicianModal 组件用于医师管理
    • 新增 examinationPhysicianSlice 和 reviewPhysicianSlice 用于状态管理
    • 新增 IDCardRecognitionModal 组件支持身份证自动识别
    • 在 messages 中添加相关国际化文本
    • 重构 Workflow.tsx 设置页面布局和配置项

    改动文件:

    • src/API/report/ReportActions.ts
    • src/assets/i18n/messages/en.js
    • src/assets/i18n/messages/zh.js
    • src/pages/patient/DiagnosticReport/components/BaseInfo.tsx
    • src/pages/system/SettingsModal/sections/Preferences/Workflow.tsx
    • src/states/store.ts
    • src/components/IDCardRecognitionModal.tsx
    • src/pages/patient/DiagnosticReport/components/ExaminationPhysicianModal.tsx
    • src/pages/patient/DiagnosticReport/components/ReviewPhysicianModal.tsx
    • src/states/patient/DiagnosticReport/examinationPhysicianSlice.ts
    • src/states/patient/DiagnosticReport/reviewPhysicianSlice.ts

    [1.66.1 - 2026-01-15 17:56

    fix (1.66.0 -> 1.66.1): 修复服务器配置连接检测和实时更新功能

    • 在interceptor.ts中添加updateAxiosBaseUrl函数,用于动态更新axios baseURL
    • 在app.tsx中添加服务器连接检测进度覆盖层,提升用户体验
    • 在ServerConfigModal.tsx中添加表单值变更时的实时配置更新
    • 在ConfigService.ts中重构testConnection方法,采用连续检测10次并提供进度回调
    • 在serverConfigSlice.ts中修改thunk以支持进度回调
    • 新增serverConfigPing.ts模块,提供ping接口用于连接测试

    禅道bug编号:209

    改动文件:

    • src/API/interceptor.ts
    • src/app.tsx
    • src/features/serverConfig/components/ServerConfigModal.tsx
    • src/features/serverConfig/services/ConfigService.ts
    • src/features/serverConfig/state/serverConfigSlice.ts
    • src/API/serverConfigPing.ts (新增)

    [1.66.0] - 2026-01-15 12:46

    新增 (Added)

    • 重构二维码解析功能,支持多种数据格式并新增患者ID生成器 - 采用解析器模式重构二维码数据解析,支持多种格式自动检测,并新增患者ID生成工具
      • 新增 convertGenderText 函数,支持多种性别文字格式转换(男/女/M/F/MALE/FEMALE)
      • 新增 parseFormat_NameAgeUnitIdCard 解析器,支持"姓名-年龄-单位-身份证号"格式
      • 新增 parseFormat_NameIdAgeGender 解析器,支持"姓名-ID-年龄-性别"格式
      • 重构 parseTabSeparatedText 函数,采用解析器模式支持多种格式自动检测
      • 新增 patientIdGenerator.ts 模块,提供随机患者ID生成功能(模拟身份证号格式)
      • 优化代码架构,提升二维码数据解析的灵活性和可扩展性

    改动文件:

    • src/domain/qrcode/qrCodeDataProcessor.ts
    • src/domain/patient/patientIdGenerator.ts (新增)

    研发需求ID: 75

    [1.65.2] - 2026-01-12 20:35

    修复 (Fixed)

    • 修复患者登记号格式 - 修复患者登记号(accession_number)生成格式,从毫秒改为秒数,确保格式正确
      • 在register.form.tsx中将dayjs格式从'YYYMMDDHHmmSS'改为'YYYYMMDDHHmmss'

    改动文件:

    • src/pages/patient/components/register.form.tsx

    [1.65.1] - 2026-01-12 20:25

    修复 (Fixed)

    • 修复患者注册成功后表单清理逻辑,支持保留指定字段以便快速连续注册 - 注册成功后清理表单时保留 patient_size 和 accession_number 字段,避免重要数据丢失,支持通过二维码扫描快速连续注册患者

    改动文件:

    • src/domain/patient/registerLogic.ts
    • src/pages/patient/register.tsx
    • src/states/patient/register/formSlice.ts

    [1.65.0] - 2026-01-12 19:15

    新增 (Added)

    • 优化患者注册功能,支持从身份证自动提取出生日期并自动生成登记号显示在表单中 - 增强二维码扫描数据处理和表单管理
      • 在qrCodeDataProcessor.ts中添加从身份证号提取出生日期的功能
      • 在register.form.tsx中实现表单值自动同步到Redux store并自动生成登记号显示在表单中
      • 在formSlice.ts中优化setFormData为对象合并更新逻辑

    改动文件:

    • src/domain/qrcode/qrCodeDataProcessor.ts
    • src/pages/patient/components/register.form.tsx
    • src/states/patient/register/formSlice.ts

    [1.64.0] - 2026-01-12 14:58

    新增 (Added)

    • 优化二维码扫描功能,提升残缺二维码识别率并添加图片上传备选方案 - 针对轻微污损的二维码优化扫描参数,并新增图片上传扫描功能
      • 提高扫描配置参数:fps从10提升到20,qrbox从250px扩大到300x300,新增aspectRatio和disableFlip参数
      • 添加图片上传扫描模式,使用html5-qrcode的scanFile方法处理图片
      • 优化UI界面,支持摄像头扫描和图片上传两种模式的切换
      • 提升残缺二维码的识别成功率,提供更友好的用户体验

    改动文件:

    • src/components/QRCodeScanner/QRCodeScanModal.tsx

    [1.63.4] - 2026-01-12 09:50

    • 人医第一个,注册时有默认值

    [1.63.3] - 2026-01-09 12:50

    修复 (Fixed)

    • 修复妊娠状态字段显示逻辑 - 在DROS产品中,只有当患者性别已选择时才显示妊娠状态字段,避免在性别未选择时显示不相关的字段

    改动文件:

    • src/pages/patient/components/register.form.tsx

    [1.63.2] - 2026-01-09 11:09

    修复 (Fixed)

    • 修复患者出生日期字段默认值设置 - 在注册表单中为患者出生日期字段添加默认值,使用当前日期
      • 为 patient_dob DatePicker 组件添加 initialValue={dayjs()} 属性,确保字段默认显示当前日期

    改动文件:

    • src/pages/patient/components/register.form.tsx

    [1.63.1] - 2026-01-08 17:47

    重构 (Refactored)

    • 重构SendPanelForView组件代码格式和布局 - 优化代码格式和界面布局,提升代码可读性和用户体验
      • 重构导入语句格式,实现多行导入以提升代码可读性
      • 优化消息提示文本格式,移除不必要的换行符
      • 调整模态框内容文本布局,提升界面显示效果
      • 重构节点选择逻辑,优化代码结构和性能
      • 隐藏Viewer选择按钮区域,简化用户界面

    改动文件:

    • src/pages/output/SendPanelForView.tsx

    [1.63.0] - 2026-01-08 12:46

    新增 (Added)

    • 实现报告配置功能,支持主标题和副标题的动态配置 - 新增报告配置页面,支持通过表单动态设置报告的主标题和副标题,并提供保存功能
      • 在 options.ts 中添加 getConfig 和 modifyConfig API接口,支持配置项的获取和修改
      • 新增 report/index.tsx 报告配置组件,实现主标题和副标题的表单配置
      • 在 Preferences/index.tsx 中导出 Report 组件,替换原有的占位符实现

    改动文件:

    • src/API/system/options.ts
    • src/pages/system/SettingsModal/sections/Preferences/index.tsx
    • src/pages/system/SettingsModal/sections/Preferences/report/index.tsx### 新增 (Added)