|
|
@@ -1,6 +1,6 @@
|
|
|
/* eslint-disable react-hooks/rules-of-hooks */
|
|
|
/* eslint-disable no-param-reassign */
|
|
|
-import React, { useRef, useState, useMemo } from 'react'
|
|
|
+import React, { useRef, useState, useMemo, useCallback } from 'react'
|
|
|
import PermSelect from '@/pages/Customer/Company/components/PermSelect'
|
|
|
import { TABLE_COLUMNS_MAP, ColumnStateEnum } from '@/utils/cache/cacheEnum'
|
|
|
import { isBoolean, isMobile, isNullOrUnDef, isObject, isUnDef } from '@/utils/is'
|
|
|
@@ -25,6 +25,7 @@ const BasicTable: {
|
|
|
} = ({
|
|
|
onPermChange,
|
|
|
rowKey,
|
|
|
+ request,
|
|
|
headerTitle,
|
|
|
params,
|
|
|
mainMenuType,
|
|
|
@@ -73,7 +74,7 @@ const BasicTable: {
|
|
|
columnsRef,
|
|
|
selectKeysRef: state.selectKeysRef,
|
|
|
sizeRef: state.sizeRef,
|
|
|
- // TODO: 只要是boolean[false]说明不需要分页器, 则高度计算时不应该计入
|
|
|
+ // TODO: boolean[false]说明不需要分页器, 则高度计算时不应该计入
|
|
|
paginationRef: !isBoolean(resetProps.pagination)
|
|
|
})
|
|
|
|
|
|
@@ -146,6 +147,15 @@ const BasicTable: {
|
|
|
|
|
|
const computedParams = mainMenuType ? { ...params, ...state.params } : params
|
|
|
|
|
|
+ const _request = useCallback(async (_params, _sort, _filter) => {
|
|
|
+ const result = await request(_params, _sort, _filter)
|
|
|
+ if (!isBoolean(result?.success)) {
|
|
|
+ result.success = true
|
|
|
+ } else if (!result?.success) result.success = true
|
|
|
+ if (!Array.isArray(result?.data)) result.data = []
|
|
|
+ return result
|
|
|
+ }, [])
|
|
|
+
|
|
|
return (
|
|
|
<React.StrictMode>
|
|
|
<div ref={tableElRef} className={styles.BasicTable}>
|
|
|
@@ -155,6 +165,7 @@ const BasicTable: {
|
|
|
columns={originalColumns}
|
|
|
params={computedParams}
|
|
|
scroll={getScrollRef}
|
|
|
+ request={_request}
|
|
|
columnsState={{
|
|
|
defaultValue: state.columnsStateMap,
|
|
|
onChange: handleOnColumnsChange
|