Forráskód Böngészése

feat: type类型相关调整

lanjianrong 5 éve
szülő
commit
7dbf8a35cf

+ 0 - 0
src/components/ZHtable/index.tsx


+ 17 - 0
src/components/ZHtable/src/BasicTable.tsx

@@ -0,0 +1,17 @@
+import type { MAIN_MENU_KEY } from '@/utils/cache/cacheEnum'
+import type { ProTableProps } from '@ant-design/pro-table'
+import ProTable from '@ant-design/pro-table'
+
+interface BasicTableProps<T> extends ProTableProps {
+  dataType: T
+}
+
+const BasicTable: React.FC<BasicTableProps<MAIN_MENU_KEY>> = ({ dataType, ...resetProps }) => {
+  // const proTableProps = { ...resetProps }
+  // if ('headerTitle' in resetProps) {
+
+  // }
+  return <ProTable {...resetProps} />
+}
+
+export default BasicTable

+ 18 - 14
src/pages/Customer/Company/components/CustomPerm.jsx

@@ -71,7 +71,7 @@ const CustomPerm = ({ onConfirm }) => {
           children: item.children,
           isDepartment: item.isDepartment
         })
-        item.children?.length && flatten(item.children)
+        if (item.children?.length) flatten(item.children)
       })
     }
 
@@ -103,13 +103,13 @@ const CustomPerm = ({ onConfirm }) => {
         setState({ ...state, leftTargetId: targetNode.key })
         return
       }
-      isEmpty(value) && setState({ ...state, leftTargetId: null })
+      if (isEmpty(value)) setState({ ...state, leftTargetId: null })
     } else {
       if (!isEmpty(value) && !isNullOrUnDef(targetNode)) {
         setState({ ...state, rightTargetId: targetNode.key })
         return
       }
-      isEmpty(value) && setState({ ...state, rightTargetId: null })
+      if (isEmpty(value)) setState({ ...state, rightTargetId: null })
     }
   }
 
@@ -283,7 +283,7 @@ const CustomPerm = ({ onConfirm }) => {
                         treeKeys
                       })
                     }
-                    isDepartment &&
+                    if (isDepartment) {
                       itemIsChecked(onItemSelectAll)(
                         state.transferDataSource.filter(item => item.parentId === key),
                         checkedKeys,
@@ -292,7 +292,9 @@ const CustomPerm = ({ onConfirm }) => {
                           .filter(item => item.parentId === key)
                           .map(item => item.key)
                       )
-                    !isDepartment && onItemSelect(key, !isChecked(checkedKeys, key))
+                    } else {
+                      onItemSelect(key, !isChecked(checkedKeys, key))
+                    }
                   }}
                 />
               ) : null
@@ -304,21 +306,23 @@ const CustomPerm = ({ onConfirm }) => {
                   <Tree
                     blockNode={true}
                     height={state.height}
-                    treeData={
+                    treeData={generateTree(
                       state.rightTargetId
-                        ? state.targetKeys.filter(item => item === state.rightTargetId)
-                        : state.targetKeys
-                    }
+                        ? state.transferDataSource
+                            .filter(item => state.targetKeys?.includes(item.key))
+                            .filter(item => item === state.rightTargetId)
+                        : state.transferDataSource.filter(item =>
+                            state.targetKeys?.includes(item.key)
+                          )
+                    )}
                     titleRender={item => (
                       <li className="ant-transfer-list-content-item">
-                        <span className="ant-transfer-list-content-item-text">
-                          {state.transferDataSource.find(i => i.key === item)?.title}
-                        </span>
+                        <span className="ant-transfer-list-content-item-text">{item.title}</span>
                         <span
                           className="text-hex-d9d9d9 hover:text-hex-886ab5 transition-colors duration-300"
                           onClick={() => {
-                            const currKeys = state.targetKeys.filter(i => i !== item)
-                            handleUnCheckItem(state.treeKeys, item, { targetKeys: currKeys })
+                            const currKeys = state.targetKeys.filter(i => i !== item.key)
+                            handleUnCheckItem(state.treeKeys, item.key, { targetKeys: currKeys })
                           }}>
                           <DeleteOutlined />
                         </span>

+ 2 - 2
src/pages/Customer/Company/components/PermSelect.tsx

@@ -5,7 +5,7 @@ import CustomPerm from './CustomPerm'
 import { getAuthCache, setAuthCache } from '@/utils/auth'
 import { PERMISSION_SELECT_KEY } from '@/utils/cache/cacheEnum'
 import type { SelectProps } from 'antd'
-import type { PERMISSION_KEY } from '@/utils/cache/cacheEnum'
+import type { MAIN_MENU_KEY } from '@/utils/cache/cacheEnum'
 
 export const PermDataTypeEunm = {
   CUSTOMER: 'customer',
@@ -18,7 +18,7 @@ interface PermSelectProps<T> extends SelectProps {
   onConfirm: () => void
 }
 
-const PermSelect: React.FC<PermSelectProps<PERMISSION_KEY>> = ({
+const PermSelect: React.FC<PermSelectProps<MAIN_MENU_KEY>> = ({
   dataType,
   onConfirm,
   ...resetProps

+ 2 - 1
src/utils/cache/cacheEnum.ts

@@ -13,8 +13,9 @@ export const CASCADER_HISTORY_KEY = 'CASCADER_HISTORY_KEY__'
 
 // permission select component key
 export const PERMISSION_SELECT_KEY = 'PERMISSION_SELECT_KEY'
+
 // permission select component defualtValue key
-export type PERMISSION_KEY = 'customer' | 'product' | 'workbench' | 'hr'
+export type MAIN_MENU_KEY = 'customer' | 'product' | 'workbench' | 'hr'
 
 export enum CacheTypeEnum {
   SESSION,

+ 2 - 2
src/utils/cache/persistent.ts

@@ -9,7 +9,7 @@ import {
   APP_SESSION_CACHE_KEY,
   CASCADER_HISTORY_KEY,
   PERMISSION_SELECT_KEY,
-  PERMISSION_KEY
+  MAIN_MENU_KEY
 } from './cacheEnum'
 import { DEFAULT_CACHE_TIME } from '@/settings/encryptionSetting'
 import { pick, omit } from 'lodash-es'
@@ -17,7 +17,7 @@ import { pick, omit } from 'lodash-es'
 interface BasicStore {
   [TOKEN_KEY]: string | null | undefined
   [CASCADER_HISTORY_KEY]: { key: string; value: string[]; label: string }[]
-  [PERMISSION_SELECT_KEY]: { [key in PERMISSION_KEY]: string } | null | underfined
+  [PERMISSION_SELECT_KEY]: { [key in MAIN_MENU_KEY]: string } | null | underfined
 }
 
 type LocalStore = BasicStore