|
|
@@ -8,7 +8,7 @@ import ProTable from '@ant-design/pro-table'
|
|
|
import { useModel } from 'umi'
|
|
|
import { getAuthCache, getPermAuthCache, setAuthCache } from '@/utils/auth'
|
|
|
import React, { useRef, useState, useLayoutEffect, useMemo } from 'react'
|
|
|
-import { useMount } from 'ahooks'
|
|
|
+// import { useMount } from 'ahooks'
|
|
|
import { useTableScroll } from './hooks/useTableScroll'
|
|
|
import type { BasicTableProps, PermStateEnum } from '@/types/typing'
|
|
|
import type { ParamsType } from '@ant-design/pro-provider'
|
|
|
@@ -73,10 +73,13 @@ const BasicTable: {
|
|
|
const [defaultPermAuthCache, defaultStaffIds] = getPermAuthCache(mainMenuType)
|
|
|
const tableElRef = useRef<HTMLElement>(null)
|
|
|
|
|
|
+ const authColumnsStateMap = getAuthCache(TABLE_COLUMNS_MAP)
|
|
|
+ columnsStateMap =
|
|
|
+ (authColumnsStateMap && authColumnsStateMap[ColumnStateEnum[columnStateType]]) || {}
|
|
|
const [state, setState] = useState({
|
|
|
selectKeysRef: null,
|
|
|
sizeRef: 'middle',
|
|
|
- columnsStateMap: columnsStateMap || {},
|
|
|
+ columnsStateMap: columnsStateMap,
|
|
|
params: { staffIds: defaultStaffIds, dataPermission: defaultPermAuthCache },
|
|
|
dataSource: null
|
|
|
})
|
|
|
@@ -88,7 +91,9 @@ const BasicTable: {
|
|
|
const column = state.columnsStateMap[columnsKey]
|
|
|
if (!column.show) filterKey.push(columnsKey)
|
|
|
})
|
|
|
- return originalColumns?.filter((_, i) => !filterKey.includes(i.toString()))
|
|
|
+ // TODO: 当时智障了?这样写?
|
|
|
+ // return originalColumns?.filter((_, i) => !filterKey.includes(i.toString()))
|
|
|
+ return originalColumns?.filter(i => !filterKey.includes(i.dataIndex))
|
|
|
}, [state.columnsStateMap])
|
|
|
|
|
|
const { getScrollRef, redoHeight } = useTableScroll(
|
|
|
@@ -106,16 +111,18 @@ const BasicTable: {
|
|
|
}
|
|
|
}, [state.dataSource])
|
|
|
|
|
|
- useMount(() => {
|
|
|
- // 处理本地化存储
|
|
|
- const authColumnsStateMap = getAuthCache(TABLE_COLUMNS_MAP)
|
|
|
- if (authColumnsStateMap && authColumnsStateMap[ColumnStateEnum[columnStateType]]) {
|
|
|
- setState({
|
|
|
- ...state,
|
|
|
- columnsStateMap: authColumnsStateMap[ColumnStateEnum[columnStateType]]
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
+ // useMount(() => {
|
|
|
+ // // 处理本地化存储
|
|
|
+ // const authColumnsStateMap = getAuthCache(TABLE_COLUMNS_MAP)
|
|
|
+ // console.log('111')
|
|
|
+
|
|
|
+ // if (authColumnsStateMap && authColumnsStateMap[ColumnStateEnum[columnStateType]]) {
|
|
|
+ // setState({
|
|
|
+ // ...state,
|
|
|
+ // columnsStateMap: authColumnsStateMap[ColumnStateEnum[columnStateType]]
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // })
|
|
|
|
|
|
/** 增加头部 */
|
|
|
if (mainMenuType) {
|
|
|
@@ -146,9 +153,9 @@ const BasicTable: {
|
|
|
}
|
|
|
const handleOnColumnsChange = (map: Record<string, ColumnsState>) => {
|
|
|
setState({ ...state, columnsStateMap: map })
|
|
|
- const authColumnsStateMap = getAuthCache(TABLE_COLUMNS_MAP)
|
|
|
+ const currentAuthColumnsStateMap = getAuthCache(TABLE_COLUMNS_MAP)
|
|
|
setAuthCache(TABLE_COLUMNS_MAP, {
|
|
|
- ...authColumnsStateMap,
|
|
|
+ ...currentAuthColumnsStateMap,
|
|
|
[ColumnStateEnum[columnStateType]]: map
|
|
|
})
|
|
|
}
|
|
|
@@ -218,9 +225,15 @@ const BasicTable: {
|
|
|
rowKey={rowKey || 'id'}
|
|
|
columns={originalColumns}
|
|
|
params={computedParams}
|
|
|
- columnsStateMap={state.columnsStateMap}
|
|
|
- onColumnsStateChange={handleOnColumnsChange}
|
|
|
+ // columnsStateMap={state.columnsStateMap}
|
|
|
+ // onColumnsStateChange={handleOnColumnsChange}
|
|
|
scroll={getScrollRef}
|
|
|
+ columnsState={{
|
|
|
+ defaultValue: state.columnsStateMap,
|
|
|
+ onChange: handleOnColumnsChange
|
|
|
+ // persistenceKey: ColumnStateEnum[columnStateType],
|
|
|
+ // persistenceType: 'localStorage'
|
|
|
+ }}
|
|
|
bordered={isNullOrUnDef(bordered) ? bordered : true}
|
|
|
onLoad={dataSource => setState({ ...state, dataSource })}
|
|
|
onSizeChange={handleOnSizeChange}
|