CHANGELOG.md 17 KB

变更日志 (Changelog)

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

[1.72.1] - 2026-01-21 14:00

feat (1.72.0 -> 1.72.1): 优化人体部位交互组件,解决跨浏览器兼容性问题并增强交互体验

  • 更新 human.svg 文件,优化人体部位图形定义和数据属性
  • 重构 HumanBodySvg.tsx 组件,移除不必要的鼠标悬停逻辑
  • 改进事件处理机制,支持 image 和 g 元素的统一点击处理
  • 将交互事件从 onClick 改为 onMouseDown,提升响应灵敏度
  • 优化 CSS 样式,添加调试边框并改进指针事件处理
  • 修复代码格式,统一接口定义的缩进风格
  • 解决 Firefox 147.0.1 (aarch64)、Chrome 144.0.7559.97 和 Edge 144.0.3719.82 浏览器中的显示和点击问题

改动文件:

  • package-lock.json
  • src/assets/imgs/VirtualHuman/human.svg
  • src/components/HumanBodySvg.tsx

[1.72.0] - 2026-01-21 13:45

fix (1.71.0 -> 1.72.0): 修复工作流设置表格列配置字段命名不一致问题, 同步master分支01438c6df606dbaa443f54d283aa1c提交代码

  • 修复任务清单配置表格中 dataIndex 和 key 从 'field' 改为 'Display'
  • 修复任务清单配置变更函数参数 visible 改为 Visible
  • 修复历史清单配置变更函数参数 visible 改为 Visible
  • 确保表格列配置和状态管理字段命名一致,避免数据绑定错误

改动文件:

  • src/pages/system/SettingsModal/sections/Preferences/Workflow.tsx

[1.71.0] - 2026-01-21 09:44

feat (1.70.6 -> 1.71.0): 实现Cobb角测量工具功能,支持脊柱侧弯角测量

  • 新增CobbAngleMeasurementTool.ts测量工具类,实现脊柱侧弯角计算
  • 在ViewerContainer.tsx中集成Cobb角测量工具配置和激活逻辑
  • 在stack.image.viewer.tsx中添加工具注册和激活函数
  • 在measurementPanelSlice.ts中添加Cobb角测量动作类型
  • 在cornerstoneToolsSetup.ts中注册全局Cobb角测量工具
  • 在measurementToolManager.ts中实现Cobb角测量工具的管理方法

改动文件:

  • src/components/measures/CobbAngleMeasurementTool.ts
  • src/pages/view/components/ViewerContainer.tsx
  • src/pages/view/components/viewers/stack.image.viewer.tsx
  • src/states/view/measurementPanelSlice.ts
  • src/utils/cornerstoneToolsSetup.ts
  • src/utils/measurementToolManager.ts

[1.70.6] - 2026-01-20 19:08

refactor (1.70.5 -> 1.70.6): 更新高压发生器和探测器设备URI从DIOS更改为CCOS

  • 在API接口、测试用例、文档和模拟处理器中统一将设备URI从DIOS/DEVICE/Generator和DIOS/DEVICE/Detector更改为CCOS/DEVICE/Generator和CCOS/DEVICE/Detector
  • 确保设备通信和测试的一致性

改动文件:

  • cypress/e2e/exam/reset-generator.cy.ts
  • cypress/support/mock/handlers/device.ts
  • docs/测试/重置高压发生器功能测试方案.md
  • docs/需求/APR参数管理流程.md
  • mocks/handlers.md
  • package.json
  • src/API/exam/APRActions.ts
  • src/API/exam/detectorAPI.ts
  • src/API/exam/deviceActions.ts
  • src/API/exam/generatorAPI.ts

[1.70.5] - 2026-01-20 16:52

fix (1.70.4 -> 1.70.5): 修复聚焦输入时禁用扫码枪键盘监听,避免用户键盘不可输入到注册表单中的文本框

  • 在 BarcodeScannerIndicator 组件中添加 onHasFocusedInputChange 回调属性,实现父子组件通信
  • 在 register.form.tsx 中添加 hasFocusedInput 状态管理,跟踪输入框聚焦状态
  • 当有输入框聚焦时,禁用扫码枪的键盘事件监听,避免输入冲突和意外触发
  • 优化扫码枪监听器的依赖数组,确保状态变化时正确更新监听行为

改动文件:

  • src/components/BarcodeScannerIndicator/index.tsx
  • src/pages/patient/components/register.form.tsx
  • package.json

[1.70.4] - 2026-01-20 15:28

feat (1.70.3 -> 1.71.0): 添加站点信息SN码显示和复制功能,修正系统模式标签并添加扫码枪翻译

  • 在 productSlice.ts 中添加 sn 字段到产品状态
  • 在 SiteInfo.tsx 中添加 SN 码显示和一键复制功能
  • 在 SystemMode.tsx 中启用系统模式选项的标签和描述显示
  • 更新中文和英文翻译文件,修正系统模式标签并添加扫码枪相关翻译
  • 更新 package.json 添加 deploy:h5 脚本
  • 更新 README.md 文档格式和部署脚本说明

改动文件:

  • README.md
  • package.json
  • scripts/output/i18n/en.js
  • scripts/output/i18n/zh.js
  • src/assets/i18n/messages/en.js
  • src/assets/i18n/messages/zh.js
  • src/pages/system/SettingsModal/sections/SystemHome/SiteInfo.tsx
  • src/pages/system/SettingsModal/sections/SystemHome/SystemMode.tsx
  • src/states/productSlice.ts

[1.70.3] - 2026-01-20 13:45

feat (1.70.2 -> 1.70.3): 重构系统模式选项为领域模型并修复国际化标签

  • 新增 systemModel.ts 领域模型,定义系统模式选项接口和常量
  • 将 SYSTEM_MODE_OPTIONS 从 SystemMode.tsx 移动到 domain/systemModel.ts
  • 修复国际化文件中系统模式 R 和 S 的标签和描述互换问题
  • 在 DeviceArea.tsx 中使用系统模式对象替代硬编码的模拟器判断逻辑
  • 在 SystemMode.tsx 中导入 SYSTEM_MODE_OPTIONS 并添加调试日志

改动文件:

  • src/domain/systemModel.ts
  • src/assets/i18n/messages/en.js
  • src/assets/i18n/messages/zh.js
  • src/pages/exam/DeviceArea.tsx
  • src/pages/system/SettingsModal/sections/SystemHome/SystemMode.tsx

[1.70.2] - 2026-01-20 10:36

fix (bug-211): 修复历史清单编辑后列表不更新的问题

  • 在 history.ts 中导入 editTaskThunk,添加对编辑操作的监听
  • 添加 editFromEditForm 监听器,监听编辑操作的 fulfilled 状态
  • 当编辑成功时自动更新列表中对应项的数据
  • 支持人医和宠物产品的特定字段更新
  • 修复 payload 访问路径(使用 result.code 和 result.data)

改动文件:

  • src/states/patient/worklist/slices/history.ts

[1.70.1] - 2026-01-20 09:49

fix (1.70.0 -> 1.70.1): 修复系统模式配置中数值解析逻辑

  • 将 parseInt() 改为 Number() 以支持浮点数解析
  • 移除默认值 '0',改为直接处理 undefined 为 NaN

改动文件:

  • src/pages/system/SettingsModal/sections/SystemHome/SystemMode.tsx

[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)

    • Check Git status
    • Analyze file changes and generate commit message
    • Present commit message for user review
    • Execute Git commands with user confirmation