Sfoglia il codice sorgente

feat (1.29.0 -> 1.30.0): 调整业务区图标布局,将图标位置移至右侧并优化组件布局逻辑

- 在 BusinessZone.tsx 中调整图标位置从left改为right,并为子项添加iconPlace=right
- 在 IconButton.tsx 中重构flex类使用条件渲染,优化布局逻辑

改动文件:
- src/layouts/BusinessZone.tsx
- src/components/IconButton.tsx
dengdx 2 settimane fa
parent
commit
d60dd4d556
4 ha cambiato i file con 37 aggiunte e 14 eliminazioni
  1. 22 0
      CHANGELOG.md
  2. 1 1
      package.json
  3. 2 2
      src/components/IconButton.tsx
  4. 12 11
      src/layouts/BusinessZone.tsx

+ 22 - 0
CHANGELOG.md

@@ -2,6 +2,28 @@
 
 本项目的所有重要变更都将记录在此文件中。
 
+## [1.30.0] - 2025-12-25 21:05
+
+### 新增 (Added)
+- **业务区图标布局调整** - 优化业务区图标位置和布局逻辑,提升用户界面一致性
+  - 在 BusinessZone.tsx 中调整图标位置从left改为right,并为子项添加iconPlace="right"
+  - 在 IconButton.tsx 中重构flex类使用条件渲染,优化布局逻辑
+
+**核心功能实现:**
+- 图标位置调整: 将业务区图标位置从左侧移至右侧,提升视觉平衡
+- 布局优化: 重构IconButton组件的flex布局逻辑,使用条件渲染替代对象语法
+- 代码改进: 注释掉不必要的图标属性,简化组件结构
+
+**技术实现:**
+- 修改 BusinessZone.tsx 图标位置和子项布局
+- 在 IconButton.tsx 中使用 isVertical ? 'flex-col' : 'flex-row' 条件渲染
+
+**改动文件:**
+- src/layouts/BusinessZone.tsx
+- src/components/IconButton.tsx
+
+---
+
 ## [1.29.0] - 2025-12-25 20:29
 
 ### 新增 (Added)

+ 1 - 1
package.json

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

+ 2 - 2
src/components/IconButton.tsx

@@ -67,8 +67,8 @@ export const IconButton: React.FC<IconButtonProps> = ({
     : icon;
 
   const flexClass = classNames(
-    'flex items-center justify-center gap-1.5 p-0',
-    { 'flex-col': isVertical },
+    `flex items-center justify-center gap-1.5 p-0`,
+    isVertical ? 'flex-col' : 'flex-row',
     className
   );
 

+ 12 - 11
src/layouts/BusinessZone.tsx

@@ -27,7 +27,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: 'Registration',
+     // icon: 'Registration',
       disabled: !btnAvailability['patient_management'],
       children: [
         {
@@ -39,7 +39,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
-          icon: 'Registration',
+          //icon: 'Registration',
         },
         {
           key: 'worklist',
@@ -50,7 +50,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
-          icon: 'Worklist',
+          //icon: 'Worklist',
         },
         {
           key: 'historylist',
@@ -61,7 +61,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
-          icon: 'Registration',
+          //icon: 'Registration',
         },
         ...(isAnimalProduct ? [] : [{
           key: 'archivelist',
@@ -72,7 +72,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
-          icon: 'Registration',
+          //icon: 'Registration',
         }]),
         ...(isAnimalProduct ? [] : [{
           key: 'bin',
@@ -93,13 +93,13 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
-          icon: 'Registration',
+          //icon: 'Registration',
         },
       ],
     },
     {
       key: 'emergency',
-      icon: 'Emergency',
+      //icon: 'Emergency',
       label: '急诊',
       disabled: !btnAvailability['emergency'],
     },
@@ -114,7 +114,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: 'Exam',
+      //icon: 'Exam',
     },
     {
       type: 'divider',
@@ -132,7 +132,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: 'Process',
+      //icon: 'Process',
     },
     {
       key: 'print',
@@ -143,7 +143,7 @@ function useItems(btnAvailability: Record<string, boolean>, productName: 'DROS'
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: 'Output',
+      //icon: 'Output',
     },
   ];
 }
@@ -263,7 +263,7 @@ const BusinessZone: React.FC<BusinessZoneProps> = ({ onMenuClick }) => {
                   : () => onMenuClick?.(item.key ?? 'error')
               }
               iconSize={56}
-              iconPlace="left"
+              iconPlace="right"
               icon={
                 <Icon
                   module="module-common"
@@ -307,6 +307,7 @@ const BusinessZone: React.FC<BusinessZoneProps> = ({ onMenuClick }) => {
               <Flex vertical className="px-1">
                 {item.children?.map((child) => (
                   <IconButton
+                    iconPlace="right"
                     data-testid={child.key}
                     iconSize={56}
                     icon={