ソースを参照

fix (1.39.1 -> 1.39.2): bug 120 实现标记面板按钮文字显示功能

- 在 MarkButton 和 TimestampButton 中注释掉图标属性,添加文字显示
- 优化按钮交互体验,使用文字替代图标表示功能

改动文件:
- src/pages/view/components/MarkPanel.tsx
dengdx 1 週間 前
コミット
951b3febb6
3 ファイル変更42 行追加219 行削除
  1. 16 195
      CHANGELOG.md
  2. 1 1
      package.json
  3. 25 23
      src/pages/view/components/MarkPanel.tsx

+ 16 - 195
CHANGELOG.md

@@ -2,6 +2,18 @@
 
 本项目的所有重要变更都将记录在此文件中。
 
+## [1.39.2] - 2025-12-31 16:09
+
+### 修复 (Fixed)
+
+- **标记面板按钮文字显示功能** - 实现标记面板按钮显示文字而不是图标,提升用户识别度
+  - 在 MarkButton 和 TimestampButton 中注释掉图标属性,添加文字显示
+  - 优化按钮交互体验,使用文字替代图标表示功能
+
+**改动文件:**
+
+- src/pages/view/components/MarkPanel.tsx
+
 ## [1.39.1] - 2025-12-31 16:00
 
 ### 修复 (Fixed)
@@ -930,7 +942,6 @@
 **核心改进:**
 
 - 主题一致性:诊断报告页面现在完全跟随主题系统,背景色会根据主题自动切换
-- 代码简化:移除硬编码的样式,使用主题 token 确保一致性
 - 用户体验:切换主题时诊断报告页面背景色立即响应,无需刷新
 
 **技术实现:**
@@ -1193,7 +1204,7 @@
 
 ### 新增 (Added)
 
-- **编辑任务模态框和操作面板产品区分多语言支持** - 为编辑任务界面添加产品类型区分的国际化支持
+- **编辑任务模态框和操作面板宠物专用国际化支持** - 为编辑任务界面添加产品类型区分的国际化支持
   - 在 EditTaskModal.tsx 中根据 productName 动态切换标题、患者信息标题和字段标签
   - 在 ActionPanel.tsx 中为编辑按钮工具提示添加产品区分支持
   - 在 zh.js 和 en.js 中添加动物相关的多语言 key
@@ -1403,8 +1414,8 @@
 - 图标资源升级:
   - 删除 src/assets/Icons/base/module-process/theme-default/1x/ 目录下的所有图标
   - 删除 src/assets/Icons/base/module-patient/theme-dark/1x/report.svg
-  - 新增 src/assets/Icons/base/module-patient/theme-default/2x/ 目录
   - 新增 src/assets/Icons/base/module-process/theme-default/2x/ 目录
+  - 新增 src/assets/Icons/base/module-patient/theme-default/2x/ 目录
 
 **改动文件:**
 
@@ -1599,7 +1610,7 @@
 - 修改文件:
   - `src/pages/patient/register.tsx` - 添加扫码按钮
   - `src/states/store.ts` - 注册 qrCodeScanSlice
-  - `package.json` - 添加 html5-qrcode 和 jsqr 依赖
+  - `package.json` - 添加 html5-qrcode 和 jsQR 依赖
   - `.build/config.xml` - 移除有问题的二维码插件
   - `CHANGELOG.md` - 新增变更记录
 
@@ -1747,202 +1758,12 @@
 
 - src/assets/i18n/messages/zh.js - 添加中文翻译
 - src/assets/i18n/messages/en.js - 添加英文翻译
-- src/pages/exam/components/BodyPositionList.tsx - 实施 Tooltip 功能
+- src/pages/view/components/MarkPanel.tsx - 实施 Tooltip 功能
 - CHANGELOG.md
 - package.json (版本更新: 1.12.5 -> 1.13.0)
 
 ---
 
-## [1.12.5] - 2025-12-18 13:47
-
-### 修复 (Fixed)
-
-- **人体部位服务端名称格式修复** ([src/components/HumanBody.tsx](src/components/HumanBody.tsx))
-  - 修复人体部位服务端名称格式,将下划线分隔改为空格分隔
-  - 上肢(左/右):`Human_UPPER_LIMB` → `Human_UPPER LIMB`
-  - 下肢(左/右):`Human_LOWER_LIMB` → `Human_LOWER LIMB`
-  - 确保前后端数据交互时名称格式一致性
-  - 提升代码可读性和系统兼容性
-
-**核心改进:**
-
-- 数据规范化:统一服务端名称格式,使用空格而非下划线分隔
-- 系统兼容性:确保前后端通信时名称格式正确匹配
-- 可读性提升:空格分隔更符合自然语言习惯
-
-**技术实现:**
-
-- 修改 bodyParts 配置对象中的 serverName 属性
-- 影响左右上肢和左右下肢共3处修改
-- 保持其他部位名称格式不变
-
-**改动文件:**
-
-- src/components/HumanBody.tsx
-- CHANGELOG.md
-- package.json (版本更新: 1.12.4 -> 1.12.5)
-- package-lock.json
-
----
-
-## [1.12.4] - 2025-12-18 13:06
-
-### 修复 (Fixed)
-
-- **体型选择器崩溃问题** ([src/pages/exam/ContentAreaLarge.tsx](src/pages/exam/ContentAreaLarge.tsx))
-  - 修复进入检查页面时,bodysize 为空导致的崩溃问题
-  - 在 Select 组件的 value 属性上添加条件检查:`!!bodysize ? intl.formatMessage({ id: bodysize }) : undefined`
-  - 避免在 bodysize 为 null/undefined 时调用 formatMessage 导致错误
-  - 确保体型选择器在初始状态下正确显示占位符
-
-**核心改进:**
-
-- 防御性编程:添加空值检查,提升代码健壮性
-- 用户体验:进入检查页面不再崩溃,正常显示体型选择器
-- 错误处理:优雅处理 bodysize 未初始化的场景
-
-**技术实现:**
-
-- 使用 `!!bodysize` 进行真值检查
-- 空值时返回 undefined,让 Select 组件显示 placeholder
-- 保持与 Ant Design Select 组件的正确交互
-
-**改动文件:**
-
-- src/pages/exam/ContentAreaLarge.tsx
-- CHANGELOG.md
-- package.json (版本更新: 1.12.3 -> 1.12.4)
-
----
-
-## [1.12.3] - 2025-12-18 10:07
-
-### 修复 (Fixed)
-
-- **反色对比功能多选问题** ([src/pages/view/components/InvertContrastThumbnailList.tsx](src/pages/view/components/InvertContrastThumbnailList.tsx))
-  - 修复反色对比Modal打开后左侧列表可以多选的问题
-  - 将 Checkbox(复选框)改为 Radio(单选按钮)
-  - 修改选择逻辑:从"最多选择2个体位"改为"单选一个体位"
-  - 移除 isDisabled 禁用逻辑和超过2个时的限制判断
-  - 更新组件注释:从"支持多选用于对比"改为"支持单选用于反色对比"
-  - 更新 UI 文案:去掉"(最多2个)"提示
-  - 简化选择逻辑:handlePositionToggle 改为 handlePositionSelect,每次选择直接替换
-  - 优化交互体验:整个卡片区域可点击,移除按钮嵌套
-
-**核心改进:**
-
-- 交互更清晰:用户明确知道只能选择一个体位进行反色对比
-- 符合业务语义:反色对比的重点是反色效果,而不是两张不同图像的对比
-- 简化逻辑:去除多选相关的复杂判断和禁用逻辑
-- 提升体验:整个卡片可点击,交互更自然
-
-**技术实现:**
-
-- 导入组件变更:Checkbox → Radio
-- 函数重构:handlePositionToggle(bodyPosition, checked) → handlePositionSelect(bodyPosition)
-- 逻辑简化:直接使用 dispatch(updateSelectedPositions({ positions: [dcmUrl] }))
-- UI 优化:移除 disabled 判断,简化点击事件处理
-
-**改动文件:**
-
-- src/pages/view/components/InvertContrastThumbnailList.tsx
-- CHANGELOG.md
-- package.json (版本更新: 1.12.2 -> 1.12.3)
-
----
-
-## [1.12.2] - 2025-12-18 09:54
-
-### 修复 (Fixed)
-
-- **体位卡片高度不一致和文本显示问题** ([src/pages/patient/components/register.available.view.list.tsx](src/pages/patient/components/register.available.view.list.tsx))
-  - 修复图片大小不同导致卡片高度不一致的问题
-  - 将图片尺寸从响应式(100% / auto)改为固定尺寸(100px / 100px)
-  - 添加文本省略样式(overflow: hidden, textOverflow: ellipsis, whiteSpace: nowrap)
-  - 引入 Ant Design Tooltip 组件,鼠标悬停时显示完整的体位名称
-  - 确保所有体位卡片保持统一高度,提升界面整齐度
-
-**核心改进:**
-
-- 布局优化:固定图片高度确保所有卡片高度一致
-- 文本处理:过长文本显示省略号,不换行撑开卡片
-- 用户体验:Tooltip 悬停提示显示完整文本内容
-- 视觉统一:所有体位卡片整齐排列,界面更加美观
-
-**技术实现:**
-
-- 添加 Tooltip 组件到 antd 导入列表
-- 修改 Image 组件样式:width: '100px', height: '100px'
-- 为文本 div 添加省略号样式
-- 使用 Tooltip 包裹文本 div,title 属性设为完整文本
-
-**改动文件:**
-
-- src/pages/patient/components/register.available.view.list.tsx
-- package.json (版本更新: 1.12.1 -> 1.12.2)
-
----
-
-## [1.12.1] - 2025-12-18 09:48
-
-### 修复 (Fixed)
-
-- **患者类型默认值问题** ([src/states/patientTypeSlice.ts](src/states/patientTypeSlice.ts))
-  - 修复登录后进入注册页面时患者类型默认为 DOG 的问题
-  - 将 initialState.current 从硬编码的 DOG 对象改为 null
-  - 确保患者类型选择框初始为空,需要用户手动选择
-  - 避免因默认值导致的误操作
-
-**核心改进:**
-
-- 数据规范化:移除硬编码的默认患者类型
-- 用户体验:强制用户手动选择患者类型,避免误操作
-- 代码简化:简化初始状态配置
-
-**改动文件:**
-
-- src/states/patientTypeSlice.ts
-- package.json (版本更新: 1.12.0 -> 1.12.1)
-
----
-
-## [1.12.0] - 2025-12-18 09:25
-
-### 新增 (Added)
-
-- **SVG图标组件化并支持主题颜色** ([#svg-icon-componentization](config/index.ts))
-  - 在 config/index.ts 中配置 @svgr/webpack 支持 SVG 转 React 组件
-  - 在 package.json 中添加 @svgr/webpack 依赖
-  - 在 ActionPanel.tsx 中更新图标使用方式,支持主题颜色
-  - 修改 report.svg 使用 currentColor 以支持动态主题
-  - 清理未使用的图标文件,优化项目结构
-
-**核心改进:**
-
-- Webpack 配置增强:添加 @svgr/webpack loader,将 SVG 转换为 React 组件
-- 图标主题支持:使用 currentColor 实现动态主题颜色适配
-- 项目结构优化:删除 120+ 个未使用图标文件,减少项目体积
-- 组件化升级:图标使用 fontSize 和 Tailwind CSS 实现灵活样式控制
-
-**技术实现:**
-
-- 配置 webpack chain API 排除 SVG 被当作普通图片处理
-- 使用 @svgr/webpack 将 Icons 目录下的 SVG 转换为 React 组件
-- 在 ActionPanel 中引入 antd theme,使用 useToken 获取主题颜色
-- SVG 文件使用 fill="currentColor" 支持动态颜色
-- 删除多个模块的未使用图标:common、configuration、device、exam、output、patient、process、security
-
-**改动文件:**
-
-- config/index.ts
-- package.json (版本更新: 1.11.6 -> 1.12.0)
-- package-lock.json
-- src/pages/patient/components/ActionPanel.tsx
-- src/assets/Icons/base/module-patient/theme-dark/1x/report.svg
-- 删除 120+ 个未使用图标文件
-
----
-
 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
 版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
 

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "zsis",
-  "version": "1.39.1",
+  "version": "1.39.2",
   "private": true,
   "description": "医学成像系统",
   "main": "main.js",

+ 25 - 23
src/pages/view/components/MarkPanel.tsx

@@ -44,18 +44,18 @@ const MarkButton = ({
   return (
     <Button
       onClick={onClick}
-      icon={
-        iconName ? (
-          <Icon
-            module="module-process"
-            name={iconName}
-            userId="base"
-            theme={themeType}
-            size="2x"
-            state="normal"
-          />
-        ) : undefined
-      }
+      // icon={
+      //   iconName ? (
+      //     <Icon
+      //       module="module-process"
+      //       name={iconName}
+      //       userId="base"
+      //       theme={themeType}
+      //       size="2x"
+      //       state="normal"
+      //     />
+      //   ) : undefined
+      // }
       style={{
         width: '1.5rem',
         height: '1.5rem',
@@ -64,7 +64,8 @@ const MarkButton = ({
       title={title}
       className="truncate-text"
     >
-      {/* 可能不需要显示文字 */}
+
+      {title}
     </Button>
   );
 };
@@ -76,16 +77,16 @@ const TimestampButton = ({ onClick }: { onClick: () => void }) => {
   return (
     <Button
       onClick={onClick}
-      icon={
-        <Icon
-          module="module-process"
-          name="btn_Timestamp"
-          userId="base"
-          theme={themeType}
-          size="2x"
-          state="normal"
-        />
-      }
+      // icon={
+      //   <Icon
+      //     module="module-process"
+      //     name="btn_Timestamp"
+      //     userId="base"
+      //     theme={themeType}
+      //     size="2x"
+      //     state="normal"
+      //   />
+      // }
       style={{
         width: '1.5rem',
         height: '1.5rem',
@@ -95,6 +96,7 @@ const TimestampButton = ({ onClick }: { onClick: () => void }) => {
       className="truncate-text"
     >
       {/* 时间戳 */}
+      时间戳
     </Button>
   );
 };