@bit-sun/business-component 2.2.4 → 2.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +59 -0
  9. package/dist/index.esm.js +547 -28
  10. package/dist/index.js +547 -28
  11. package/dist/utils/enumConfig.d.ts +1 -0
  12. package/docs/index.md +21 -21
  13. package/lib/assets/drag.svg +17 -17
  14. package/lib/assets/exportFail.svg +37 -37
  15. package/lib/assets/exportProcessing.svg +28 -28
  16. package/lib/assets/exportSuccess.svg +34 -34
  17. package/lib/assets/label_icon_bottom.svg +25 -25
  18. package/lib/assets/upExport.svg +22 -22
  19. package/package.json +77 -77
  20. package/src/assets/32.svg +27 -27
  21. package/src/assets/addIcon.svg +17 -17
  22. package/src/assets/allfunc.svg +27 -27
  23. package/src/assets/arrowRight.svg +24 -24
  24. package/src/assets/btn-delete.svg +29 -29
  25. package/src/assets/btn-edit.svg +19 -19
  26. package/src/assets/btn-more.svg +17 -17
  27. package/src/assets/btn-submit.svg +19 -19
  28. package/src/assets/caidan.svg +11 -11
  29. package/src/assets/close.svg +26 -26
  30. package/src/assets/drag.svg +17 -17
  31. package/src/assets/exportFail.svg +37 -37
  32. package/src/assets/exportProcessing.svg +28 -28
  33. package/src/assets/exportSuccess.svg +34 -34
  34. package/src/assets/fixed-left-active.svg +11 -11
  35. package/src/assets/fixed-left.svg +15 -15
  36. package/src/assets/fixed-right-active.svg +11 -11
  37. package/src/assets/fixed-right.svg +15 -15
  38. package/src/assets/guanbi.svg +15 -15
  39. package/src/assets/icon-quanping.svg +15 -15
  40. package/src/assets/icon-shezhi.svg +17 -17
  41. package/src/assets/label_icon_bottom.svg +25 -25
  42. package/src/assets/list-no-img.svg +21 -21
  43. package/src/assets/morentouxiang-32.svg +23 -23
  44. package/src/assets/scanning.svg +24 -24
  45. package/src/assets/upExport.svg +22 -22
  46. package/src/components/Business/AddSelectBusiness/index.md +63 -63
  47. package/src/components/Business/AddSelectBusiness/index.tsx +344 -344
  48. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  49. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  50. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  51. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  52. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  60. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  61. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  62. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  63. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  64. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  65. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  66. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  67. package/src/components/Business/BsLayouts/index.less +79 -79
  68. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  69. package/src/components/Business/BsLayouts/service.ts +10 -10
  70. package/src/components/Business/BsLayouts/utils.tsx +230 -230
  71. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -0
  72. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  73. package/src/components/Business/BsSulaQueryTable/index.tsx +529 -480
  74. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  75. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  76. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  77. package/src/components/Business/CommodityEntry/index.md +70 -70
  78. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  79. package/src/components/Business/CommonAlert/index.tsx +23 -23
  80. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  81. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  82. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  83. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  84. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  85. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  86. package/src/components/Business/HomePageWrapper/index.less +33 -33
  87. package/src/components/Business/HomePageWrapper/index.md +45 -45
  88. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  89. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  90. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  91. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  92. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  93. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  94. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  95. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  96. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  97. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  98. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  99. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  100. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  101. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  102. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  103. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  104. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  105. package/src/components/Business/JsonQueryTable/index.less +16 -16
  106. package/src/components/Business/JsonQueryTable/index.md +328 -328
  107. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  108. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  109. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  110. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  111. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  112. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  113. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  114. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  115. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  116. package/src/components/Business/JsonQueryTable/static.ts +356 -356
  117. package/src/components/Business/SearchSelect/BusinessUtils.ts +1586 -1586
  118. package/src/components/Business/SearchSelect/common.ts +53 -53
  119. package/src/components/Business/SearchSelect/index.md +1254 -1254
  120. package/src/components/Business/SearchSelect/index.tsx +51 -51
  121. package/src/components/Business/SearchSelect/utils.ts +100 -100
  122. package/src/components/Business/StateFlow/index.less +130 -130
  123. package/src/components/Business/StateFlow/index.md +60 -60
  124. package/src/components/Business/StateFlow/index.tsx +29 -29
  125. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  126. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  127. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  128. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  129. package/src/components/Business/columnSettingTable/index.less +247 -247
  130. package/src/components/Business/columnSettingTable/index.md +357 -357
  131. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  132. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  133. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  134. package/src/components/Business/moreTreeTable/index.less +99 -99
  135. package/src/components/Business/moreTreeTable/index.md +508 -508
  136. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  137. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  138. package/src/components/Functional/AddSelect/index.less +367 -367
  139. package/src/components/Functional/AddSelect/index.md +155 -155
  140. package/src/components/Functional/AddSelect/index.tsx +1072 -1072
  141. package/src/components/Functional/BillEntry/index.less +371 -371
  142. package/src/components/Functional/BillEntry/index.md +39 -39
  143. package/src/components/Functional/BillEntry/index.tsx +766 -766
  144. package/src/components/Functional/DataImport/index.less +63 -63
  145. package/src/components/Functional/DataImport/index.md +44 -44
  146. package/src/components/Functional/DataImport/index.tsx +695 -695
  147. package/src/components/Functional/DataValidation/index.less +63 -63
  148. package/src/components/Functional/DataValidation/index.md +39 -39
  149. package/src/components/Functional/DataValidation/index.tsx +687 -687
  150. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  151. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  152. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  153. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  154. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  155. package/src/components/Functional/SearchSelect/index.less +115 -115
  156. package/src/components/Functional/SearchSelect/index.md +141 -141
  157. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  158. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  159. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  160. package/src/components/Functional/TreeSearchSelect/index.tsx +160 -160
  161. package/src/index.ts +34 -34
  162. package/src/plugin/TableColumnSetting/index.less +247 -247
  163. package/src/plugin/TableColumnSetting/index.md +50 -50
  164. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  165. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  166. package/src/styles/bsDefault.less +1906 -1906
  167. package/src/utils/CheckOneUser/index.md +39 -39
  168. package/src/utils/CheckOneUser/index.ts +51 -51
  169. package/src/utils/LocalstorageUtils.ts +33 -33
  170. package/src/utils/TableUtils.tsx +18 -18
  171. package/src/utils/checkUtils.ts +39 -39
  172. package/src/utils/enumConfig.ts +11 -10
  173. package/src/utils/getFormMode.js +12 -12
  174. package/src/utils/index.ts +2 -2
  175. package/src/utils/requestUtils.ts +33 -33
  176. package/src/utils/serialize.js +7 -7
  177. package/src/utils/utils.ts +183 -183
  178. package/tsconfig.json +29 -29
  179. package/typings.d.ts +4 -4
@@ -1,480 +1,529 @@
1
- // @ts-nocheck
2
- import React, { useState, useEffect, useRef, useMemo } from 'react';
3
- import { useLocation } from 'umi';
4
- import { QueryTable } from 'bssula';
5
- import {
6
- userColumns,
7
- getItemDefaultWidth,
8
- authFn,
9
- queryParams,
10
- } from './utils';
11
- import { Menu, Tooltip, } from 'antd';
12
- import SortableTable from './setting';
13
- import { Resizable } from 'react-resizable';
14
- import quanping from '../../../assets/icon-quanping.svg';
15
- import scanning from '../../../assets/scanning.svg';
16
- import { debounce } from 'lodash';
17
- import ExportIcon from '@/components/Functional/ExportFunctions/ExportIcon';
18
- import ENUM from '@/utils/enumConfig';
19
- import { handleBssulaColumnsSpecialParams } from '@/utils/utils';
20
-
21
- const MemoQueryTable = React.memo(QueryTable);
22
-
23
- const ResizeableTitle = (props) => {
24
- const { onResize, width, ...restProps } = props;
25
-
26
- if (!width) {
27
- return <th {...restProps} />;
28
- }
29
- return (
30
- <Resizable
31
- width={width}
32
- height={0}
33
- onResize={onResize}
34
- draggableOpts={{ enableUserSelectHack: false }}
35
- >
36
- <th {...restProps} />
37
- </Resizable>
38
- );
39
- };
40
-
41
- export default (props: any) => {
42
- const refs = useRef(null);
43
- const [pagePath, setPagePath] = useState('');
44
- // 获取 table columns中所有的 key 防止有的地方是 dataindex
45
- const [checkedList, setCheckedList] = useState(
46
- props.columns.filter((col: any) => !col.hidden).map((d: any) => Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : (d.key || d.dataIndex)),
47
- );
48
- const { pathname } = useLocation();
49
- const [id]: any = useState(
50
- Number(Math.random().toString().substr(2, 0) + Date.now()).toString(36),
51
- );
52
- const [isFullScreen, setIsFnllScreen]: any = useState(false);
53
- // @ts-nocheck
54
- const [value, setValue]: any = useState(props);
55
- const [showColumn, setShowColumns] = useState([]);
56
-
57
- const { isPage = true, pagination, tableCode } = props;
58
-
59
- const [height, setHeight]: any = useState('100vh');
60
- const sortTableRef = useRef(null);
61
-
62
- const bsTableCode = tableCode || window.location.hash; //设置列字段的唯一标识
63
- // 获取table高度
64
- const getTableHeight = () => {
65
- const cancelHeight = window.top == window ? 303 : 223;
66
- const isFullScreen: any =
67
- document.fullScreen ||
68
- document.webkitIsFullScreen ||
69
- document.mozFullScreen;
70
- const h =
71
- document.body.clientHeight -
72
- (document.querySelector('.table-bssula-summary')?.clientHeight || 0) -
73
- (document.querySelector('.ant-form ant-form-horizontal')?.clientHeight ||
74
- 0) -
75
- (isFullScreen
76
- ? 0
77
- : document.querySelector('.ant-pro-page-container-warp')
78
- ?.clientHeight || 0) -
79
- cancelHeight +
80
- 'px';
81
- setHeight(h);
82
- setValue({ ...value });
83
- };
84
-
85
- //监测是否按下esc键
86
- function checkFull() {
87
- let globalDocument = window?.parent?.document || document;
88
- var isFull =
89
- globalDocument.fullscreenElement ||
90
- globalDocument.mozFullScreenElement ||
91
- globalDocument.webkitFullscreenElement;
92
- if (isFull == undefined) isFull = false;
93
- return isFull;
94
- }
95
-
96
- const getConfigFromlocalstorage = () => {
97
- let config = localStorage.getItem(ENUM.BROWSER_CACHE.COLUMN_CONDITION) || '[]';
98
- let configArray = JSON.parse(config);
99
- let configSetting = configArray.filter(
100
- (item) => item.code === bsTableCode,
101
- );
102
-
103
- if (configSetting.length && configSetting[0].detail) {
104
- return JSON.parse(configSetting[0].detail);
105
- }
106
- return [];
107
- };
108
-
109
- const setInitialTableInfo = () => {
110
- const resourceCodeArray = {};
111
- if (props.actionsRender && props.actionsRender.length) {
112
- props.actionsRender.forEach((item: any) => {
113
- if (item.code) {
114
- if (resourceCodeArray[item.code]) {
115
- resourceCodeArray[item.code + 1] = item;
116
- } else {
117
- resourceCodeArray[item.code] = item;
118
- }
119
- }
120
- });
121
- }
122
- if (props.columns && props.columns.length) {
123
- props.columns.forEach((d: any) => {
124
- if (d.isPermissionColumn && d.render && d.render.length) {
125
- d.render.forEach((inneritem: any) => {
126
- if (inneritem.code) {
127
- if (resourceCodeArray[inneritem.code]) {
128
- resourceCodeArray[inneritem.code + 1] = inneritem;
129
- } else {
130
- resourceCodeArray[inneritem.code] = inneritem;
131
- }
132
- }
133
- });
134
- }
135
- handleBssulaColumnsSpecialParams(d);
136
- });
137
- setCommonRenderFn(props.columns);
138
- const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
139
- ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
140
- : [];
141
- Object.keys(resourceCodeArray).forEach((item: any) => {
142
- let Item = item;
143
- if (Number(item.slice(-1)) >= 1) {
144
- Item = item.substr(0, item.length - 1);
145
- }
146
- if (!authButton.filter((itemInner: any) => Item === itemInner).length) {
147
- resourceCodeArray[item].visible = false;
148
- }
149
- });
150
-
151
- }
152
- setValue({
153
- ...value,
154
- columns: [...props.columns],
155
- });
156
- const { columns } = props;
157
- let columnConfig = getConfigFromlocalstorage();
158
- let showColumns = columnConfig.length ? columnConfig.map((item) => {
159
- let inner = columns.filter(
160
- (inneritem) => {
161
- let innerKey = Array.isArray(inneritem.key || inneritem.dataIndex) ? JSON.stringify(inneritem.key || inneritem.dataIndex) : (inneritem.key || inneritem.dataIndex);
162
- let itemKey = Array.isArray(item.key || item.dataIndex) ? JSON.stringify(item.key || item.dataIndex) : (item.key || item.dataIndex);
163
- return innerKey && innerKey === itemKey;
164
- }
165
- )[0];
166
-
167
- return {
168
- ...inner,
169
- ...item,
170
- };
171
- }) : columns.filter(
172
- (column) => {
173
- let columnKey = Array.isArray(column.key || column.dataIndex) ? JSON.stringify(column.key || column.dataIndex) : (column.key || column.dataIndex);
174
- return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
175
- }
176
- )
177
-
178
- showColumns.forEach((item, index) => {
179
- item.width = item.width || getItemDefaultWidth(item);
180
- handleBssulaColumnsSpecialParams(item);
181
- item.onHeaderCell = (column) => ({
182
- ...item,
183
- width:
184
- typeof column.width === 'number'
185
- ? column.width
186
- : parseInt(column.width.replace('px', '')),
187
- onResize: handleResize(index),
188
- });
189
- });
190
- setShowColumns([...showColumns]);
191
- }
192
-
193
- //组件初始挂载
194
- useEffect(() => {
195
- getTableHeight();
196
- setInitialTableInfo();
197
- window.addEventListener('resize', (e) => {
198
- watchWinResize();
199
- });
200
-
201
- setPagePath(pathname); // 做处理,记录当前页面渲染的初始pathname,用于进行判断当前列表页面数据是否需要重新渲染
202
- }, []);
203
-
204
- useEffect(() => {
205
- if (props?.columns && value?.columns) {
206
- let newKeys = props.columns.map((d: any) => Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : (d.key || d.dataIndex));
207
- let oldKeys = value.columns.map((d: any) => Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : (d.key || d.dataIndex));
208
- JSON.stringify(newKeys) !== JSON.stringify(oldKeys) && setInitialTableInfo();
209
- }
210
- }, [props?.columns])
211
-
212
- useEffect(() => {
213
- setInitialTableInfo();
214
- }, [props?.refreshColumns]);
215
-
216
-
217
- const watchWinResize = debounce(() => {
218
- getTableHeight();
219
- if (!checkFull()) {
220
- // addTabsNavStyle(true);
221
- // 全屏下按键esc后要执行的动作
222
- // isFullScreen 为true 此时为全屏状态 false 为非全屏状态
223
- if (!isFullScreen) {
224
- // 按下esc键退出全屏
225
- setIsFnllScreen(false);
226
- } else {
227
- setIsFnllScreen(false);
228
- }
229
- }
230
- }, 10);
231
-
232
- const setCommonRenderFn = (columns: any[]) => {
233
- columns.forEach((column) => {
234
- if (column.showDetailUserInfo) {
235
- column.render = ({ text }: any) => userColumns({ name: text });
236
- }
237
- });
238
- };
239
-
240
- // 处理 table 基本参数
241
- const setTableProps = () => {
242
- let tableProps = value.tableProps || {};
243
- tableProps = {
244
- ...tableProps,
245
- size: value.size || 'middle',
246
- defaultPageSize: 20,
247
- pageSize: 20,
248
- initialPaging: {
249
- pagination: pagination
250
- ? false
251
- : {
252
- defaultPageSize: 20,
253
- pageSize: 20,
254
- showTotal: (total: any) => `共 ${total} 条`,
255
- showQuickJumper: true,
256
- hideOnSinglePage: value.hideOnSinglePage || false,
257
- },
258
- },
259
- initialSelectedRowKeys: value.initialSelectedRowKeys || [],
260
- expandable: value.expandable,
261
- scroll: { x: props.overScrollX || 'max-content', y: height },
262
- bordered: value.bordered || false,
263
- sticky: true,
264
- rowClassName: (record: object | null | undefined, index: number) =>
265
- index % 2 === 0 ? 'table_base' : 'table_odd',
266
- ...value.tableProps,
267
- components: {
268
- header: {
269
- cell: ResizeableTitle,
270
- },
271
- },
272
- };
273
-
274
- // @ts-ignore
275
- if (tableProps?.initialPaging?.pagination) {
276
- // @ts-ignore
277
- tableProps.initialPaging.pagination.showSizeChanger = true;
278
- }
279
- return tableProps;
280
- };
281
-
282
-
283
- const ShowFullScreen = () => {
284
- const { itemPath } = props;
285
- if (window.top != window) {
286
- window.parent.postMessage(
287
- {
288
- type: 'screenChange',
289
- id: itemPath,
290
- },
291
- '*',
292
- );
293
- setIsFnllScreen(!isFullScreen);
294
- } else {
295
- const isFullScreen: any =
296
- document.fullScreen ||
297
- document.webkitIsFullScreen ||
298
- document.mozFullScreen;
299
- let contentEle: any = document.querySelector(`body`);
300
- // addTabsNavStyle(isFullScreen);
301
- if (contentEle && !isFullScreen) {
302
- let fullScreenEle =
303
- contentEle.requestFullscreen ||
304
- contentEle.mozRequestFullScreen ||
305
- contentEle.webkitRequestFullScreen ||
306
- contentEle.msRequestFullscreen;
307
- if (fullScreenEle) {
308
- fullScreenEle.call(contentEle);
309
- setIsFnllScreen(true);
310
- // getTableHeight(true);
311
- return;
312
- }
313
- }
314
- if (document && isFullScreen) {
315
- let exitFullScreen =
316
- document.exitFullscreen ||
317
- document.mozCancelFullScreen ||
318
- document.webkitCancelFullScreen ||
319
- document.msExitFullscreen;
320
- if (exitFullScreen) {
321
- exitFullScreen.call(document);
322
- setIsFnllScreen(false);
323
- // getTableHeight();
324
- return;
325
- }
326
- }
327
- }
328
- };
329
-
330
- const handleTimeValue = () => {
331
- let actionsRender = value.actionsRender || [];
332
- actionsRender = [
333
- ...actionsRender,
334
- {
335
- type: 'text',
336
- props: {
337
- children: (
338
- <>
339
- <Tooltip title="列设置">
340
- <span className="ant-dropdown-link">
341
- <SortableTable
342
- ref={sortTableRef}
343
- setShowColumns={setShowColumns}
344
- showColumn={showColumn}
345
- datasource={value?.columns || []}
346
- bsTableCode={bsTableCode}
347
- />
348
- </span>
349
- </Tooltip>
350
- </>
351
- ),
352
- },
353
- },
354
- {
355
- type: 'text',
356
- props: {
357
- children: (
358
- <a>
359
- {isFullScreen ? (
360
- <Tooltip title="取消全屏">
361
- <img
362
- onClick={() => {
363
- ShowFullScreen();
364
- }}
365
- width={32}
366
- src={scanning}
367
- />
368
- </Tooltip>
369
- ) : (
370
- <Tooltip title="全屏">
371
- <img
372
- onClick={() => {
373
- ShowFullScreen();
374
- }}
375
- width={32}
376
- src={quanping}
377
- />
378
- </Tooltip>
379
- )}
380
- </a>
381
- ),
382
- },
383
- },
384
- {
385
- type: 'text',
386
- props: {
387
- children:
388
- value?.exportConfig && authFn(value?.exportConfig?.code) ? (
389
- <ExportIcon
390
- request={{
391
- url: `/oms-ops/excel/exportAsync/${value?.exportConfig?.type}`,
392
- params: value?.exportConfig?.params || queryParams,
393
- }}
394
- tableRef={props.forwardedRef || refs}
395
- />
396
- ) : (
397
- <span />
398
- ),
399
- },
400
- },
401
- ];
402
- if (value.rowSelection) {
403
- value.rowSelection.columnWidth = 50;
404
- }
405
- return {
406
- ...value,
407
- actionsRender,
408
- };
409
- };
410
-
411
- const handleResize =
412
- (index) =>
413
- (e, { size }) => {
414
- setShowColumns((columns: any) => {
415
- let newColumns = [...columns];
416
- newColumns[index] = {
417
- ...newColumns[index],
418
- width: size.width,
419
- };
420
- newColumns.forEach((d: any) => {
421
- handleBssulaColumnsSpecialParams(d);
422
- })
423
- return [...newColumns];
424
- });
425
- };
426
-
427
- const setVisibleColumn = (columnTitle: string) => {
428
- sortTableRef?.current?.handleTableHeadHidden?.(columnTitle);
429
- };
430
-
431
- const config = {
432
- visibleFieldsCount: 3,
433
- tableWrapperStyle: {
434
- padding: '10px',
435
- background: '#f3f3f3',
436
- },
437
- setVisibleColumn: setVisibleColumn,
438
- itemLayout: {
439
- span: 8, // 栅格占位格数
440
- labelCol: {
441
- // label标签布局;可设置 span、offset
442
- span: 8,
443
- },
444
- wrapperCol: {
445
- // value布局, 方式同labelCol(horizontal状态下配置)
446
- span: 16,
447
- },
448
- },
449
- rowSelection: false, // 默认无多选
450
- ...handleTimeValue(),
451
- tableProps: setTableProps(),
452
- columns: [...showColumn],
453
- ref: props.forwardedRef || refs,
454
- isFullScreen,
455
- };
456
-
457
- useEffect(() => {
458
- if (!localStorage.getItem('isTabChange')) {
459
- if (pagePath === pathname) {
460
- // @ts-ignore
461
- config.ref?.current?.tableRef?.current?.refreshTable();
462
- }
463
- } else {
464
- setTimeout(() => {
465
- // 处理页面刷新两面
466
- localStorage.removeItem('isTabChange');
467
- }, 0);
468
- }
469
- }, [pathname]);
470
-
471
- const memoConfig = useMemo(
472
- () => ({
473
- ...config,
474
- summary: props.summary,
475
- statusMapping: props.statusMapping,
476
- }),
477
- [value, checkedList, showColumn, props.statusMapping],
478
- );
479
- return <MemoQueryTable {...memoConfig} />;
480
- };
1
+ // @ts-nocheck
2
+ import React, { useState, useEffect, useRef, useMemo } from 'react';
3
+ import { useLocation } from 'umi';
4
+ import { QueryTable } from 'bssula';
5
+ import {
6
+ userColumns,
7
+ getItemDefaultWidth,
8
+ authFn,
9
+ queryParams,
10
+ } from './utils';
11
+ import { Menu, Tooltip, Dropdown } from 'antd';
12
+ import SortableTable from './setting';
13
+ import SearchItemTable from "./SearchItemSetting";
14
+ import { Resizable } from 'react-resizable';
15
+ import quanping from '../../../assets/icon-quanping.svg';
16
+ import scanning from '../../../assets/scanning.svg';
17
+ import shezhi from '../../../assets/icon-shezhi.svg';
18
+ import { debounce } from 'lodash';
19
+ import ExportIcon from '@/components/Functional/ExportFunctions/ExportIcon';
20
+ import ENUM from '@/utils/enumConfig';
21
+ import { handleBssulaColumnsSpecialParams } from '@/utils/utils';
22
+
23
+ const MemoQueryTable = React.memo(QueryTable);
24
+
25
+ const ResizeableTitle = (props) => {
26
+ const { onResize, width, ...restProps } = props;
27
+
28
+ if (!width) {
29
+ return <th {...restProps} />;
30
+ }
31
+ return (
32
+ <Resizable
33
+ width={width}
34
+ height={0}
35
+ onResize={onResize}
36
+ draggableOpts={{ enableUserSelectHack: false }}
37
+ >
38
+ <th {...restProps} />
39
+ </Resizable>
40
+ );
41
+ };
42
+
43
+ export default (props: any) => {
44
+ const refs = useRef(null);
45
+ const [pagePath, setPagePath] = useState('');
46
+ // 获取 table columns中所有的 key 防止有的地方是 dataindex
47
+ const [checkedList, setCheckedList] = useState(
48
+ props.columns.filter((col: any) => !col.hidden).map((d: any) => Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : (d.key || d.dataIndex)),
49
+ );
50
+ const { pathname } = useLocation();
51
+ const [id]: any = useState(
52
+ Number(Math.random().toString().substr(2, 0) + Date.now()).toString(36),
53
+ );
54
+ const [isFullScreen, setIsFnllScreen]: any = useState(false);
55
+ // @ts-nocheck
56
+ const [value, setValue]: any = useState(props);
57
+ const [showColumn, setShowColumns] = useState([]); // 列字段
58
+ const [showSearchFields, setShowSearchFields] = useState([]); //搜索项字段
59
+ const { isPage = true, pagination, tableCode } = props;
60
+
61
+ const [height, setHeight]: any = useState('100vh');
62
+ const sortTableRef = useRef(null);
63
+
64
+ const bsTableCode = tableCode || window.location.hash; //设置列字段的唯一标识
65
+ // 获取table高度
66
+ const getTableHeight = () => {
67
+ const cancelHeight = window.top == window ? 303 : 223;
68
+ const isFullScreen: any =
69
+ document.fullScreen ||
70
+ document.webkitIsFullScreen ||
71
+ document.mozFullScreen;
72
+ const h =
73
+ document.body.clientHeight -
74
+ (document.querySelector('.table-bssula-summary')?.clientHeight || 0) -
75
+ (document.querySelector('.ant-form ant-form-horizontal')?.clientHeight ||
76
+ 0) -
77
+ (isFullScreen
78
+ ? 0
79
+ : document.querySelector('.ant-pro-page-container-warp')
80
+ ?.clientHeight || 0) -
81
+ cancelHeight +
82
+ 'px';
83
+ setHeight(h);
84
+ setValue({ ...value });
85
+ };
86
+
87
+ //监测是否按下esc键
88
+ function checkFull() {
89
+ let globalDocument = window?.parent?.document || document;
90
+ var isFull =
91
+ globalDocument.fullscreenElement ||
92
+ globalDocument.mozFullScreenElement ||
93
+ globalDocument.webkitFullscreenElement;
94
+ if (isFull == undefined) isFull = false;
95
+ return isFull;
96
+ }
97
+
98
+ const getConfigFromlocalstorage = (type: string) => {
99
+ let config = localStorage.getItem(type) || '[]';
100
+ let configArray = JSON.parse(config);
101
+ let configSetting = configArray.filter(
102
+ (item) => item.code === bsTableCode,
103
+ );
104
+
105
+ if (configSetting.length && configSetting[0].detail) {
106
+ return JSON.parse(configSetting[0].detail);
107
+ }
108
+ return [];
109
+ };
110
+
111
+ const setInitialTableInfo = () => {
112
+ const resourceCodeArray = {};
113
+ if (props.actionsRender && props.actionsRender.length) {
114
+ props.actionsRender.forEach((item: any) => {
115
+ if (item.code) {
116
+ if (resourceCodeArray[item.code]) {
117
+ resourceCodeArray[item.code + 1] = item;
118
+ } else {
119
+ resourceCodeArray[item.code] = item;
120
+ }
121
+ }
122
+ });
123
+ }
124
+ if (props.columns && props.columns.length) {
125
+ props.columns.forEach((d: any) => {
126
+ if (d.isPermissionColumn && d.render && d.render.length) {
127
+ d.render.forEach((inneritem: any) => {
128
+ if (inneritem.code) {
129
+ if (resourceCodeArray[inneritem.code]) {
130
+ resourceCodeArray[inneritem.code + 1] = inneritem;
131
+ } else {
132
+ resourceCodeArray[inneritem.code] = inneritem;
133
+ }
134
+ }
135
+ });
136
+ }
137
+ handleBssulaColumnsSpecialParams(d);
138
+ });
139
+ setCommonRenderFn(props.columns);
140
+ const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
141
+ ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
142
+ : [];
143
+ Object.keys(resourceCodeArray).forEach((item: any) => {
144
+ let Item = item;
145
+ if (Number(item.slice(-1)) >= 1) {
146
+ Item = item.substr(0, item.length - 1);
147
+ }
148
+ if (!authButton.filter((itemInner: any) => Item === itemInner).length) {
149
+ resourceCodeArray[item].visible = false;
150
+ }
151
+ });
152
+
153
+ }
154
+ setValue({
155
+ ...value,
156
+ columns: [...props.columns],
157
+ });
158
+ const { columns } = props;
159
+ let columnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION);
160
+ let showColumns = columnConfig.length ? columnConfig.map((item) => {
161
+ let inner = columns.filter(
162
+ (inneritem) => {
163
+ let innerKey = Array.isArray(inneritem.key || inneritem.dataIndex) ? JSON.stringify(inneritem.key || inneritem.dataIndex) : (inneritem.key || inneritem.dataIndex);
164
+ let itemKey = Array.isArray(item.key || item.dataIndex) ? JSON.stringify(item.key || item.dataIndex) : (item.key || item.dataIndex);
165
+ return innerKey && innerKey === itemKey;
166
+ }
167
+ )[0];
168
+
169
+ return {
170
+ ...inner,
171
+ ...item,
172
+ };
173
+ }) : columns.filter(
174
+ (column) => {
175
+ let columnKey = Array.isArray(column.key || column.dataIndex) ? JSON.stringify(column.key || column.dataIndex) : (column.key || column.dataIndex);
176
+ return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
177
+ }
178
+ )
179
+
180
+ showColumns.forEach((item, index) => {
181
+ item.width = item.width || getItemDefaultWidth(item);
182
+ handleBssulaColumnsSpecialParams(item);
183
+ item.onHeaderCell = (column) => ({
184
+ ...item,
185
+ width:
186
+ typeof column.width === 'number'
187
+ ? column.width
188
+ : parseInt(column.width.replace('px', '')),
189
+ onResize: handleResize(index),
190
+ });
191
+ });
192
+ setShowColumns([...showColumns]);
193
+
194
+ }
195
+
196
+ const setInitialSearchFieldsInfo = () =>{
197
+ //获取搜索字段的缓存配置
198
+ const { fields = [] } = props;
199
+ let searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
200
+ let showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map((item) => {
201
+ let inner = fields.filter(
202
+ (inneritem) => {
203
+ let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
204
+ let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
205
+ return innerKey && innerKey === itemKey;
206
+ }
207
+ )[0];
208
+
209
+ return {
210
+ ...inner,
211
+ ...item,
212
+ };
213
+ }) : fields;
214
+ setShowSearchFields([...showSearchFields])
215
+ }
216
+
217
+ //组件初始挂载
218
+ useEffect(() => {
219
+ getTableHeight();
220
+ setInitialTableInfo();
221
+ setInitialSearchFieldsInfo();
222
+ window.addEventListener('resize', (e) => {
223
+ watchWinResize();
224
+ });
225
+
226
+ setPagePath(pathname); // 做处理,记录当前页面渲染的初始pathname,用于进行判断当前列表页面数据是否需要重新渲染
227
+ }, []);
228
+
229
+ useEffect(() => {
230
+ if (props?.columns && value?.columns) {
231
+ let newKeys = props.columns.map((d: any) => Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : (d.key || d.dataIndex));
232
+ let oldKeys = value.columns.map((d: any) => Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : (d.key || d.dataIndex));
233
+ JSON.stringify(newKeys) !== JSON.stringify(oldKeys) && setInitialTableInfo();
234
+ }
235
+ }, [props?.columns])
236
+
237
+ useEffect(() => {
238
+ if (props?.fields && value?.fields) {
239
+ let newKeys = props.fields.map((d: any) => Array.isArray(d.name) ? JSON.stringify(d.name) : (d.name));
240
+ let oldKeys = value.fields.map((d: any) => Array.isArray(d.name) ? JSON.stringify(d.name) : (d.name));
241
+ JSON.stringify(newKeys) !== JSON.stringify(oldKeys) && setInitialSearchFieldsInfo();
242
+ }
243
+ },[props?.fields])
244
+
245
+ useEffect(() => {
246
+ setInitialTableInfo();
247
+ }, [props?.refreshColumns]);
248
+
249
+
250
+ const watchWinResize = debounce(() => {
251
+ getTableHeight();
252
+ if (!checkFull()) {
253
+ // addTabsNavStyle(true);
254
+ // 全屏下按键esc后要执行的动作
255
+ // isFullScreen 为true 此时为全屏状态 false 为非全屏状态
256
+ if (!isFullScreen) {
257
+ // 按下esc键退出全屏
258
+ setIsFnllScreen(false);
259
+ } else {
260
+ setIsFnllScreen(false);
261
+ }
262
+ }
263
+ }, 10);
264
+
265
+ const setCommonRenderFn = (columns: any[]) => {
266
+ columns.forEach((column) => {
267
+ if (column.showDetailUserInfo) {
268
+ column.render = ({ text }: any) => userColumns({ name: text });
269
+ }
270
+ });
271
+ };
272
+
273
+ // 处理 table 基本参数
274
+ const setTableProps = () => {
275
+ let tableProps = value.tableProps || {};
276
+ tableProps = {
277
+ ...tableProps,
278
+ size: value.size || 'middle',
279
+ defaultPageSize: 20,
280
+ pageSize: 20,
281
+ initialPaging: {
282
+ pagination: pagination
283
+ ? false
284
+ : {
285
+ defaultPageSize: 20,
286
+ pageSize: 20,
287
+ showTotal: (total: any) => `共 ${total} 条`,
288
+ showQuickJumper: true,
289
+ hideOnSinglePage: value.hideOnSinglePage || false,
290
+ },
291
+ },
292
+ initialSelectedRowKeys: value.initialSelectedRowKeys || [],
293
+ expandable: value.expandable,
294
+ scroll: { x: props.overScrollX || 'max-content', y: height },
295
+ bordered: value.bordered || false,
296
+ sticky: true,
297
+ rowClassName: (record: object | null | undefined, index: number) =>
298
+ index % 2 === 0 ? 'table_base' : 'table_odd',
299
+ ...value.tableProps,
300
+ components: {
301
+ header: {
302
+ cell: ResizeableTitle,
303
+ },
304
+ },
305
+ };
306
+
307
+ // @ts-ignore
308
+ if (tableProps?.initialPaging?.pagination) {
309
+ // @ts-ignore
310
+ tableProps.initialPaging.pagination.showSizeChanger = true;
311
+ }
312
+ return tableProps;
313
+ };
314
+
315
+
316
+ const ShowFullScreen = () => {
317
+ const { itemPath } = props;
318
+ if (window.top != window) {
319
+ window.parent.postMessage(
320
+ {
321
+ type: 'screenChange',
322
+ id: itemPath,
323
+ },
324
+ '*',
325
+ );
326
+ setIsFnllScreen(!isFullScreen);
327
+ } else {
328
+ const isFullScreen: any =
329
+ document.fullScreen ||
330
+ document.webkitIsFullScreen ||
331
+ document.mozFullScreen;
332
+ let contentEle: any = document.querySelector(`body`);
333
+ // addTabsNavStyle(isFullScreen);
334
+ if (contentEle && !isFullScreen) {
335
+ let fullScreenEle =
336
+ contentEle.requestFullscreen ||
337
+ contentEle.mozRequestFullScreen ||
338
+ contentEle.webkitRequestFullScreen ||
339
+ contentEle.msRequestFullscreen;
340
+ if (fullScreenEle) {
341
+ fullScreenEle.call(contentEle);
342
+ setIsFnllScreen(true);
343
+ // getTableHeight(true);
344
+ return;
345
+ }
346
+ }
347
+ if (document && isFullScreen) {
348
+ let exitFullScreen =
349
+ document.exitFullscreen ||
350
+ document.mozCancelFullScreen ||
351
+ document.webkitCancelFullScreen ||
352
+ document.msExitFullscreen;
353
+ if (exitFullScreen) {
354
+ exitFullScreen.call(document);
355
+ setIsFnllScreen(false);
356
+ // getTableHeight();
357
+ return;
358
+ }
359
+ }
360
+ }
361
+ };
362
+
363
+ const handleTimeValue = () => {
364
+ let actionsRender = value.actionsRender || [];
365
+ actionsRender = [
366
+ ...actionsRender,
367
+ {
368
+ type: 'text',
369
+ props: {
370
+ children: (
371
+ <span className="ant-dropdown-link">
372
+ <Dropdown overlay={
373
+ <Menu >
374
+ <Menu.Item>
375
+ <SortableTable
376
+ ref={sortTableRef}
377
+ setShowColumns={setShowColumns}
378
+ showColumn={showColumn}
379
+ datasource={value?.columns || []}
380
+ bsTableCode={bsTableCode}
381
+ />
382
+ </Menu.Item>
383
+ <Menu.Item>
384
+ <SearchItemTable
385
+ ref={sortTableRef}
386
+ setShowSearchFields={setShowSearchFields}
387
+ showSearchFields={showSearchFields}
388
+ datasource={value?.fields || []}
389
+ bsTableCode={bsTableCode}
390
+ />
391
+ </Menu.Item>
392
+ </Menu>
393
+ } placement="bottom" >
394
+ <span className="ant-dropdown-link">
395
+ <img width={32} src={shezhi} />
396
+ </span>
397
+ </Dropdown>
398
+ </span>
399
+ ),
400
+ },
401
+ },
402
+ {
403
+ type: 'text',
404
+ props: {
405
+ children: (
406
+ <a>
407
+ {isFullScreen ? (
408
+ <Tooltip title="取消全屏">
409
+ <img
410
+ onClick={() => {
411
+ ShowFullScreen();
412
+ }}
413
+ width={32}
414
+ src={scanning}
415
+ />
416
+ </Tooltip>
417
+ ) : (
418
+ <Tooltip title="全屏">
419
+ <img
420
+ onClick={() => {
421
+ ShowFullScreen();
422
+ }}
423
+ width={32}
424
+ src={quanping}
425
+ />
426
+ </Tooltip>
427
+ )}
428
+ </a>
429
+ ),
430
+ },
431
+ },
432
+ {
433
+ type: 'text',
434
+ props: {
435
+ children:
436
+ value?.exportConfig && authFn(value?.exportConfig?.code) ? (
437
+ <ExportIcon
438
+ request={{
439
+ url: `/oms-ops/excel/exportAsync/${value?.exportConfig?.type}`,
440
+ params: value?.exportConfig?.params || queryParams,
441
+ }}
442
+ tableRef={props.forwardedRef || refs}
443
+ />
444
+ ) : (
445
+ <span />
446
+ ),
447
+ },
448
+ },
449
+ ];
450
+ if (value.rowSelection) {
451
+ value.rowSelection.columnWidth = 50;
452
+ }
453
+ return {
454
+ ...value,
455
+ actionsRender,
456
+ };
457
+ };
458
+
459
+ const handleResize =
460
+ (index) =>
461
+ (e, { size }) => {
462
+ setShowColumns((columns: any) => {
463
+ let newColumns = [...columns];
464
+ newColumns[index] = {
465
+ ...newColumns[index],
466
+ width: size.width,
467
+ };
468
+ newColumns.forEach((d: any) => {
469
+ handleBssulaColumnsSpecialParams(d);
470
+ })
471
+ return [...newColumns];
472
+ });
473
+ };
474
+
475
+ const setVisibleColumn = (columnTitle: string) => {
476
+ sortTableRef?.current?.handleTableHeadHidden?.(columnTitle);
477
+ };
478
+
479
+ const config = {
480
+ visibleFieldsCount: 3,
481
+ tableWrapperStyle: {
482
+ padding: '10px',
483
+ background: '#f3f3f3',
484
+ },
485
+ setVisibleColumn: setVisibleColumn,
486
+ itemLayout: {
487
+ span: 8, // 栅格占位格数
488
+ labelCol: {
489
+ // label标签布局;可设置 span、offset
490
+ span: 8,
491
+ },
492
+ wrapperCol: {
493
+ // value布局, 方式同labelCol(horizontal状态下配置)
494
+ span: 16,
495
+ },
496
+ },
497
+ rowSelection: false, // 默认无多选
498
+ ...handleTimeValue(),
499
+ tableProps: setTableProps(),
500
+ columns: [...showColumn],
501
+ fields: [...showSearchFields],
502
+ ref: props.forwardedRef || refs,
503
+ isFullScreen,
504
+ };
505
+
506
+ useEffect(() => {
507
+ if (!localStorage.getItem('isTabChange')) {
508
+ if (pagePath === pathname) {
509
+ // @ts-ignore
510
+ config.ref?.current?.tableRef?.current?.refreshTable();
511
+ }
512
+ } else {
513
+ setTimeout(() => {
514
+ // 处理页面刷新两面
515
+ localStorage.removeItem('isTabChange');
516
+ }, 0);
517
+ }
518
+ }, [pathname]);
519
+
520
+ const memoConfig = useMemo(
521
+ () => ({
522
+ ...config,
523
+ summary: props.summary,
524
+ statusMapping: props.statusMapping,
525
+ }),
526
+ [value, checkedList, showColumn, props.statusMapping, showSearchFields],
527
+ );
528
+ return <MemoQueryTable {...memoConfig} />;
529
+ };