Browse Source

feat(navigation): add icons for buttons in navigation area

sw 1 month ago
parent
commit
361a59d11a
34 changed files with 52 additions and 61 deletions
  1. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Emergency_disable.png
  2. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Emergency_down.png
  3. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Emergency_normal.png
  4. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Emergency_over.png
  5. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Exam_disable.png
  6. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Exam_down.png
  7. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Exam_normal.png
  8. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Exam_over.png
  9. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Output_disable.png
  10. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Output_down.png
  11. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Output_normal.png
  12. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Output_over.png
  13. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Process_disable.png
  14. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Process_down.png
  15. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Process_normal.png
  16. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Process_over.png
  17. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Registration_disable.png
  18. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Registration_down.png
  19. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Registration_normal.png
  20. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Registration_over.png
  21. BIN
      src/assets/Icons/base/module-common/theme-default/1x/System_disable.png
  22. BIN
      src/assets/Icons/base/module-common/theme-default/1x/System_down.png
  23. BIN
      src/assets/Icons/base/module-common/theme-default/1x/System_normal.png
  24. BIN
      src/assets/Icons/base/module-common/theme-default/1x/System_over.png
  25. BIN
      src/assets/Icons/base/module-common/theme-default/1x/View_disable.png
  26. BIN
      src/assets/Icons/base/module-common/theme-default/1x/View_down.png
  27. BIN
      src/assets/Icons/base/module-common/theme-default/1x/View_normal.png
  28. BIN
      src/assets/Icons/base/module-common/theme-default/1x/View_over.png
  29. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Worklist_disable.png
  30. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Worklist_down.png
  31. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Worklist_normal.png
  32. BIN
      src/assets/Icons/base/module-common/theme-default/1x/Worklist_over.png
  33. 50 28
      src/layouts/BusinessZone.tsx
  34. 2 33
      src/layouts/SystemZone.tsx

BIN
src/assets/Icons/base/module-common/theme-default/1x/Emergency_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Emergency_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Emergency_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Emergency_over.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Exam_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Exam_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Exam_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Exam_over.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Output_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Output_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Output_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Output_over.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Process_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Process_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Process_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Process_over.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Registration_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Registration_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Registration_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Registration_over.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/System_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/System_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/System_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/System_over.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/View_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/View_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/View_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/View_over.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Worklist_disable.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Worklist_down.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Worklist_normal.png


BIN
src/assets/Icons/base/module-common/theme-default/1x/Worklist_over.png


+ 50 - 28
src/layouts/BusinessZone.tsx

@@ -7,15 +7,9 @@ import {
   getBtnAvailability,
   LocationKey,
 } from '@/domain/permissionMap';
-import {
-  AlertOutlined,
-  AppstoreOutlined,
-  MailOutlined,
-  PrinterOutlined,
-  SettingOutlined,
-} from '@ant-design/icons';
-import MeButton from '../pages/security/components/MeButton';
 import { RootState } from '@/states/store';
+import { IconButton } from '@/components/IconButton';
+import Icon from '@/components/Icon';
 
 interface BusinessZoneProps {
   onMenuClick?: (key: string) => void;
@@ -31,7 +25,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: <MailOutlined />,
+      icon: 'Registration',
       disabled: !btnAvailability['patient_management'],
       children: [
         {
@@ -43,6 +37,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
+          icon: 'Registration',
         },
         {
           key: 'worklist',
@@ -53,6 +48,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
+          icon: 'Worklist',
         },
         {
           key: 'historylist',
@@ -63,6 +59,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
+          icon: 'Registration',
         },
         {
           key: 'archivelist',
@@ -73,6 +70,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
+          icon: 'Registration',
         },
         {
           key: 'bin',
@@ -93,15 +91,16 @@ function useItems(btnAvailability: Record<string, boolean>) {
               defaultMessage={'语言包中没有定义patient的翻译文本'}
             />
           ),
+          icon: 'Registration',
         },
       ],
     },
-    {
-      key: 'emergency',
-      icon: <AlertOutlined />,
-      label: '急诊',
-      disabled: false,
-    },
+    // {
+    //   key: 'emergency',
+    //   icon: 'Emergency',
+    //   label: '急诊',
+    //   disabled: false,
+    // },
     {
       key: 'exam',
       disabled:
@@ -113,7 +112,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: <AppstoreOutlined />,
+      icon: 'Exam',
     },
     {
       type: 'divider',
@@ -131,7 +130,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: <SettingOutlined />,
+      icon: 'Process',
     },
     {
       key: 'print',
@@ -142,7 +141,7 @@ function useItems(btnAvailability: Record<string, boolean>) {
           defaultMessage={'语言包中没有定义patient的翻译文本'}
         />
       ),
-      icon: <PrinterOutlined />,
+      icon: 'Output',
     },
   ];
 }
@@ -243,34 +242,57 @@ const BusinessZone: React.FC<BusinessZoneProps> = ({ onMenuClick }) => {
                   item.key === currentKey ? 'border border-red-500' : ''
                 }
               >
-                <MeButton
-                  icon={item.icon}
+                <IconButton
                   data-testid={item.key}
                   onClick={
                     item.key === 'patient_management'
                       ? handlePatientManagementClick
                       : () => onMenuClick?.(item.key ?? 'error')
                   }
-                  username={item.label}
-                  disabled={
-                    (console.log(`${item.key}=======${item.disabled}`),
-                    item.disabled)
+                  iconSize={56}
+                  icon={
+                    <Icon
+                      module="module-common"
+                      name={item.icon ?? ''}
+                      userId="user-A"
+                      theme="default"
+                      size="2x"
+                      state="normal"
+                    />
                   }
-                />
+                  style={{ padding: '0px' }}
+                  disabled={item.disabled}
+                >
+                  {item.label}
+                </IconButton>
                 {item.key === 'patient_management' && floatingMenuVisible && (
                   <Space direction="vertical" style={{ marginLeft: 20 }}>
                     {item.children?.map((child) => (
-                      <MeButton
+                      <IconButton
                         data-testid={child.key}
+                        iconSize={56}
+                        icon={
+                          <Icon
+                            module="module-common"
+                            name={item.icon ?? ''}
+                            userId="user-A"
+                            theme="default"
+                            size="2x"
+                            state="normal"
+                          />
+                        }
                         key={child.key}
                         onClick={() => onMenuClick?.(child.key)}
-                        username={child.label}
                         className={
                           child.key === currentKey
                             ? 'border border-red-500'
                             : ''
                         }
-                      />
+                        style={{ padding: '0px' }}
+                        disabled={item.disabled}
+                      >
+                        {child.label}
+                      </IconButton>
                     ))}
                   </Space>
                 )}

+ 2 - 33
src/layouts/SystemZone.tsx

@@ -1,5 +1,5 @@
 import React, { forwardRef } from 'react';
-import { Space, Row, Button } from 'antd';
+import { Space, Row } from 'antd';
 import MeButton from '../pages/security/components/MeButton';
 import { useSelector } from 'react-redux';
 import { RootState } from '@/states/store';
@@ -36,38 +36,6 @@ const SystemZone = forwardRef<HTMLDivElement, SystemZoneProps>(
           align="start"
           style={{ width: '100%', paddingLeft: 20 }}
         >
-          {/* <Space>
-          <Button
-            shape="circle"
-            size="large"
-            icon={<ToolOutlined />}
-            style={{
-              display: 'flex',
-              alignItems: 'center',
-              justifyContent: 'center',
-              userSelect: 'none',
-            }}
-            onClick={() => onMenuClick?.('settings')}
-          />
-          <span>配置</span>
-        </Space> */}
-          <Button
-            size="large"
-            icon={
-              <Icon
-                module="module-common"
-                name="btn_3DCam_AIView"
-                userId="user-A" // 会优先查 custom/user-A/... 再回退到 base
-                theme="default"
-                size="2x"
-                state="normal"
-                widthPx={32} // 和size 2x 保持一致
-              />
-            }
-            onClick={() => onMenuClick?.('settings')}
-          >
-            配置
-          </Button>
           <IconButton
             icon={
               <Icon
@@ -83,6 +51,7 @@ const SystemZone = forwardRef<HTMLDivElement, SystemZoneProps>(
             iconPlace="left"
             iconSize={32} // 和size 2x 保持一致
             type="primary"
+            style={{ padding: '4px 16px' }}
             disabled
           >
             配置