@bit-sun/business-component 1.2.3 → 1.2.4-alpha.1

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