CHANGELOG.md 15 KB

变更日志 (Changelog)

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

[1.53.2] - 2026-01-06 16:17

修复 (Fixed)

  • 优化关于系统页面显示版本信息 - 增强系统信息展示,添加服务器版本显示功能
    • 在 AboutSystem 组件中集成版本更新状态,显示最新的服务器版本信息
    • 优化设置模态框代码格式,提高代码可读性和一致性
    • 改进本地存储操作的代码布局,提升代码维护性

改动文件:

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

[1.53.1] - 2026-01-06 14:19

修复 (Fixed)

  • 修复反色对比模态框中反色应用时机问题 - 重构反色应用逻辑,确保在图像栈设置成功后才应用反色,避免时机问题
    • 重构 InvertContrastModal 组件,移除基于 setTimeout 的反色应用逻辑
    • 添加 applyInvertContrast 函数,实现更可靠的反色应用
    • 在 StackViewer 组件中添加 onSetStackComplete 回调,确保图像栈设置成功后才应用反色
    • 扩展 safeSetStack 函数,支持开始和完成回调,提高异步操作的可观察性

改动文件:

  • src/pages/view/components/InvertContrastModal.tsx
  • src/pages/view/components/viewers/stack.image.viewer.tsx

[1.53.0] - 2026-01-06 14:03

修复 (Fixed)

  • 优化网络设置IP配置功能 - 重构IP设置组件,使用真实网络API替代模拟数据,提升功能完整性和用户体验
    • 在 ip.tsx 中移除硬编码的模拟网络数据,实现异步网络信息获取
    • 添加 ServerConfig 类型约束,提高代码类型安全性
    • 改进网络接口列表渲染逻辑,过滤无效IP地址
    • 优化错误处理和API响应验证,确保数据获取的可靠性

改动文件:

  • .vscode/launch.json
  • src/pages/system/SettingsModal/sections/Network/ip.tsx

[1.52.0] - 2026-01-06 13:14

新增 (Added)

  • 实现图像加载进度指示器功能 - 为图像加载过程添加进度条和遮罩层,提升用户体验
    • 在 StackViewer 中集成图像加载进度条,支持准备和加载阶段的实时进度显示
    • 在 OperationPanel 中添加全局加载遮罩层,防止用户在加载期间进行其他操作
    • 新增 imageLoadingSlice 状态管理模块,实现多视口加载状态的集中管理
    • 在 Redux store 中注册 imageLoading reducer,支持异步加载状态的统一处理

改动文件:

  • src/pages/view/components/OperationPanel.tsx
  • src/pages/view/components/viewers/stack.image.viewer.tsx
  • src/states/store.ts
  • src/states/view/imageLoadingSlice.ts

[1.51.2] - 2026-01-06 11:25

[1.51.0] - 2026-01-06 11:25

重构 (Refactored)

  • 重构诊断报告申请科室模态框多语言支持 - 为 DepartmentModal 组件实现完整的多语言国际化支持
    • 在 DepartmentModal.tsx 中集成 react-intl,替换所有硬编码文本为多语言键
    • 移除未使用的导入和代码,优化组件结构和可读性
    • 添加 getDepartmentData 函数,优化数据获取逻辑
    • 改进表单提交成功后的用户反馈,自动刷新数据并关闭模态框
    • 在 zh.js 中添加申请科室管理相关的中文翻译键
    • 在 en.js 中添加申请科室管理相关的英文翻译键
    • 支持标题、按钮文本、提示信息、验证消息的多语言切换

改动文件:

  • src/pages/patient/DiagnosticReport/components/DepartmentModal.tsx
  • src/assets/i18n/messages/zh.js
  • src/assets/i18n/messages/en.js

[1.51.1] - 2026-01-06 10:50

修复 (Fixed)

  • 修复 bug 180 - 优化日期选择器交互体验,解决联动日历操作不便问题 - 将 RangePicker 替换为独立的日期选择器,解决跨年份选择时需要重复调整日历的用户体验问题
    • 移除 RangePicker 组件,替换为两个独立的 DatePicker
    • 开始时间和结束时间各自独立选择,互不影响
    • 添加 disabledDate 逻辑,防止选择无效日期范围
    • 开始时间选择器禁用结束时间之后的日期
    • 结束时间选择器禁用开始时间之前的日期

改动文件:

  • src/pages/patient/components/SearchPanel.tsx
  • CHANGELOG.md
  • package.json

[1.51.0] - 2026-01-05 21:38

新增 (Added)

  • 新增 SVG 交互式人体模型组件 - 使用 SVG 技术重构人体部位选择组件,支持点击交互和高亮反馈
    • 新增 HumanBodySvg 组件,基于 SVG 实现可交互的人体模型
    • 添加 human.svg 人体模型矢量图资源
    • 配置 webpack SVGR 支持 VirtualHuman 目录的 SVG 加载
    • 在 bodyPositionFilter 中替换为新的 SVG 人体模型组件
    • 优化 RegisterAvailableFilterBar 布局样式

改动文件:

  • src/components/HumanBodySvg.tsx
  • src/assets/imgs/VirtualHuman/human.svg
  • config/index.ts
  • src/pages/patient/components/bodyPositionFilter.tsx
  • src/pages/patient/components/RegisterAvailableFilterBar.tsx

[1.50.0] - 2026-01-05 19:30

[1.49.7] - 2026-01-05 19:30

修复 (Fixed)

  • 解决 bug 189 - 修复多次选择同一标记不触发事件的问题 - 将 Select 组件的 onChange 改为 onSelect,确保多次选择同一选项时都能触发事件

改动文件:

  • src/pages/view/components/MarkPanel.tsx

[1.49.6] - 2026-01-05 19:22

修复 (Fixed)

  • 修复注册成功后未清理已选择视图列表的问题 - 在executeRegisterLogic中添加注册成功后的状态清理逻辑,确保每次注册后可以开始新的流程

改动文件:

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

[1.49.5] - 2026-01-05 18:32

修复 (Fixed)

  • 修复反色对比缩略图列表显示拒绝状态体位问题 - 过滤掉 judged_status 为 'Reject' 的体位,避免在反色对比中显示拒绝的图像

改动文件:

  • src/pages/view/components/InvertContrastThumbnailList.tsx

[1.49.4] - 2026-01-05 18:19

重构 (Refactored)

  • 优化反色对比模态框界面 - 移除图像标签显示,简化用户界面

改动文件:

  • src/pages/view/components/InvertContrastModal.tsx

[1.49.3] - 2026-01-05 14:00

重构 (Refactored)

  • 重构网络设置模块组件命名 - 重构网络设置相关组件和配置的命名,提升代码可读性和可维护性
    • 将 Connection 组件重命名为 TaskNode (管接 → 任务节点)
    • 将 NetworkPreferences 组件重命名为 ArchiveNode (首选项 → 归档节点)
    • 将 TagMapping 组件重命名为 PrintNode (标记映射 → 打印节点)
    • 将 NetworkTest 组件重命名为 MppsNode (测试 → MPPS节点)
    • 更新配置文件以使用新的组件名称和ID
    • 删除注释掉的代码,提高代码可维护性

改动文件:

  • src/pages/system/SettingsModal/sections/Network/index.tsx
  • src/pages/system/SettingsModal/config.tsx

[1.49.2] - 2026-01-05 12:45

样式 (Style)

  • 优化任意角度旋转图标设计 - 简化SVG图标结构,提升视觉呈现和渲染性能
    • 将复杂的多路径SVG设计替换为单一路径结构
    • 优化图标视觉呈现,提升UI一致性和可读性
    • 减少SVG代码复杂度,提高渲染性能

改动文件:

  • src/assets/Icons/base/module-process/theme-default/2x/RotateAnyDegree_normal.svg

[1.49.1] - 2026-01-05 11:59

样式 (Style)

  • 优化缩略图列表布局和显示 - 调整响应式网格布局,隐藏状态标识以简化界面
    • 在 ThumbnailList 中调整响应式列配置,大屏幕显示更多列(lg从6改为3,xl从4改为2)
    • 注释掉判断状态徽章(judged_status badge)的显示
    • 注释掉曝光状态标签(expose_status tag)的显示

改动文件:

  • src/pages/patient/components/ThumbnailList.tsx

[1.49.0] - 2026-01-03 20:25

新增 (Added)

  • 优化分页和缩略图组件UI布局 - 调整组件间距和布局,提升用户界面紧凑性和美观性
    • 在 GenericPagination 中将 padding 从 p-4 调整为 p-1
    • 在 ThumbnailList 中调整 padding、隐藏标题和描述、减小缩略图高度

改动文件:

  • src/components/GenericPagination.tsx
  • src/pages/patient/components/ThumbnailList.tsx

[1.48.0] - 2026-01-03 20:13

新增 (Added)

  • 实现 AccessionNumber 列默认可见配置 - 在表格列配置中将 AccessionNumber 列设置为默认可见,提升用户查看检查信息的便利性
    • 在 LocalColumnConfigAdapter.ts 中将 AccessionNumber 列的 visible 属性从 false 改为 true

改动文件:

  • src/config/tableColumns/adapters/LocalColumnConfigAdapter.ts

[1.47.1] - 2026-01-03 19:52

修复 (Fixed)

  • 修复注册成功后表单清理逻辑 - 修复注册页面中表单清理时机问题,确保只在注册成功时才清理表单,避免注册失败时表单被意外清空
    • 在 register.tsx 中将表单清理逻辑包装在注册成功条件中

改动文件:

  • src/pages/patient/register.tsx

[1.47.0] - 2026-01-03 19:42

新增 (Added)

  • 实现患者注册重复检查功能 - 在患者注册时添加重复检查机制,如果发现已有检查记录则弹出确认对话框
    • 在workActions.ts中添加检查患者检查的API接口和响应类型
    • 在registerLogic.ts中集成重复检查逻辑,注册时检查重复并弹出确认对话框
    • 新增duplicateCheck.ts文件,实现患者重复检查的核心逻辑

改动文件:

  • src/API/patient/workActions.ts
  • src/domain/patient/registerLogic.ts
  • src/domain/patient/duplicateCheck.ts

[1.46.2] - 2026-01-03 19:24

重构 (Refactored)

  • 重构注册页面逻辑,将注册处理逻辑提取到独立函数中 - 将复杂的注册逻辑从组件中提取到domain层,提高代码可维护性和可测试性
    • 在registerLogic.ts中实现executeRegisterLogic函数,封装完整的注册流程
    • 修改register.tsx中的handleRegister函数,调用executeRegisterLogic处理注册
    • 注释掉不再使用的useRegisterState相关代码,简化组件依赖

改动文件:

  • src/pages/patient/register.tsx

[1.46.1] - 2026-01-03 18:39

修复 (Fixed)

  • 修复任务清单process按钮可用性逻辑并添加新按钮权限 - 修复worklist和historylist页面中process按钮的可用性判断逻辑,确保只有选中且有图像时才允许进入处理,同时添加patient_management和emergency按钮的权限配置
    • 在BtnKey类型中添加patient_management和emergency按钮键
    • 在所有页面权限配置中添加这两个按钮的权限设置
    • 在动态填充逻辑中包含新按钮的权限配置
    • 修复worklist/historylist页面process按钮逻辑:在任务清单中,无选中或者选中无曝光时,不可进入处理

改动文件:

  • src/domain/permissionMap.ts

[1.46.0] - 2026-01-03 18:26

新增 (Added)

  • 实现任意角度旋转工具的状态管理 - 将"Rotate Any Angle"工具加入状态管理按钮系统
    • 在functionAreaSlice中将"Rotate Any Angle"添加到互斥工具列表
    • 在stack.image.viewer中添加activateRotateAnyAngle和deactivateRotateAnyAngle函数
    • 在ViewerContainer中添加工具激活/停用处理逻辑
    • 在FunctionArea中已包含"Rotate Any Angle"在状态按钮列表中

改动文件:

  • src/states/view/functionAreaSlice.ts
  • src/pages/view/components/viewers/stack.image.viewer.tsx
  • src/pages/view/components/ViewerContainer.tsx
  • src/pages/view/components/FunctionArea.tsx

[1.45.0] - 2026-01-03 17:57

新增 (Added)

  • 实现工作清单表格状态字段多语言化 - 为 StudyLock 和 StudyStatus 字段添加多语言支持
    • 在翻译文件中添加 StudyLock 状态翻译键 (unlocked/locked)
    • 在翻译文件中添加 StudyStatus 状态翻译键 (arrived/inprogress/completed)
    • 在 WorklistTable 组件中为两个字段添加 render 函数,实现多语言状态显示
    • 支持中英文状态文本自动切换,提升国际化体验

改动文件:

  • src/assets/i18n/messages/zh.js
  • src/assets/i18n/messages/en.js
  • src/pages/patient/components/WorklistTable.tsx

[1.44.2] - 2026-01-03 17:40

修复 (Fixed)

  • 修复bug 188 - HistoryList页面缩略图区域样式问题 - 修复缩略图区域的样式配置,确保正确显示和滚动

改动文件:

  • src/pages/patient/HistoryList.tsx

[1.44.1] - 2026-01-03 17:32

修复 (Fixed)

  • 注册页面不能再次扫码录入的问题,修复了扫码页面重新扫码失败的问题
  • 修复二维码扫描模态框稳定性问题 - 重构扫描器实例管理,每次打开模态框新建实例,关闭时正确清理,避免重复扫描和实例冲突

改动文件:

  • src/components/QRCodeScanner/QRCodeScanModal.tsx

[1.44.0] - 2026-01-03 16:40

新增 (Added)

  • 实现图像查看器工具互斥管理系统 - 重构工具管理架构,支持Zoom和Pan工具的互斥使用
    • 在FunctionArea组件中实现有状态工具按钮的切换逻辑
    • 在ViewerContainer中添加工具激活/停用action处理
    • 在stack.image.viewer中实现工具函数的精确控制
    • 在functionAreaSlice中添加互斥工具管理机制

改动文件:

  • src/pages/view/components/FunctionArea.tsx
  • src/pages/view/components/ViewerContainer.tsx
  • src/pages/view/components/viewers/stack.image.viewer.tsx
  • src/states/view/functionAreaSlice.ts

[1.43.1] - 2026-01-03 16:24

修复 (Fixed)

  • 修复登录页面图片预览问题 - 禁用图片预览功能,避免用户交互问题

改动文件:

  • src/pages/security/Login.tsx

[1.43.0] - 2026-01-03 16:16

新增 (Added)

  • 实现自定义标记保存功能 - 修复标记数据无法持久化问题
    • 在 API/mark.ts 中新增标记相关API接口,支持获取、新建、删除标记
    • 在 states/view/markPanelSlice.ts 中重构状态管理,支持异步API调用和错误处理
    • 在 pages/view/components/MarkPanel.tsx 中更新组件逻辑,实现标记的自动保存和加载

改动文件:

  • src/API/mark.ts
  • src/states/view/markPanelSlice.ts
  • src/pages/view/components/MarkPanel.tsx

[1.42.3] - 2026-01-03 13:51

修复 (Fixed)

  • 修复 Redux state 序列化警告 - 将 Date 类型改为 ISO 字符串存储
    • 在 global.d.ts 中将 lastChecked 和 remindLaterTime 类型从 Date 改为 string
    • 在 versionUpdateSlice.ts 中将 Date 对象转换为 ISO 字符串存储
    • 在 VersionUpdateService.ts 中将稍后提醒时间转换为 ISO 字符串
    • 在 versionUtils.ts 中适配 string 类型的时间戳比较
    • 解决周期性 setQuota 时 Redux 序列化检查产生的控制台警告

改动文件:

  • src/types/global.d.ts
  • src/states/versionUpdateSlice.ts
  • src/services/VersionUpdateService.ts
  • src/utils/versionUtils.ts

[1.42.2] - 2026-01-03 13:16

修复 (Fixed)

  • 修复 HistoryList 和 OutputList 无限渲染问题 - 解决因默认参数创建新对象引用导致的无限渲染
    • 在 GenericDataTable 中移除 columnConfig 的空数组默认值,添加 undefined 检查
    • 在 WorklistTable 中将 exposureProgressMap 默认值从空对象改为 null
    • 避免每次渲染创建新的对象引用,防止触发 React 依赖项检查失败
    • 提升应用性能和稳定性,确保列表组件正常工作

改动文件:

  • src/components/GenericDataTable.tsx
  • src/pages/patient/components/WorklistTable.tsx