@bit-sun/business-component 2.0.37 → 2.0.39-alpha.0

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 (153) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -4
  3. package/.gitlab-ci.yml +174 -174
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +77 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +4 -0
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +4 -0
  10. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +4 -0
  11. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +17 -0
  12. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +30 -0
  13. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +3 -0
  14. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +2 -0
  15. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +4 -0
  16. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +4 -0
  17. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +2 -0
  18. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +8 -0
  19. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +8 -0
  20. package/dist/components/Business/BsLayouts/index.d.ts +18 -0
  21. package/dist/components/Business/BsLayouts/service.d.ts +1 -0
  22. package/dist/components/Business/BsLayouts/utils.d.ts +22 -0
  23. package/dist/components/Business/DetailPageWrapper/utils.d.ts +1 -2
  24. package/dist/index.d.ts +4 -0
  25. package/dist/index.esm.js +11703 -44
  26. package/dist/index.js +11678 -11
  27. package/dist/utils/enumConfig.d.ts +10 -0
  28. package/dist/utils/utils.d.ts +2 -1
  29. package/docs/index.md +21 -21
  30. package/lib/assets/drag.svg +17 -17
  31. package/lib/assets/exportFail.svg +37 -37
  32. package/lib/assets/exportProcessing.svg +28 -28
  33. package/lib/assets/exportSuccess.svg +34 -34
  34. package/lib/assets/label_icon_bottom.svg +25 -25
  35. package/lib/assets/upExport.svg +22 -22
  36. package/package.json +70 -66
  37. package/src/assets/32.svg +28 -0
  38. package/src/assets/addIcon.svg +18 -0
  39. package/src/assets/allfunc.svg +28 -0
  40. package/src/assets/arrowRight.svg +25 -0
  41. package/src/assets/btn-delete.svg +29 -29
  42. package/src/assets/btn-edit.svg +19 -19
  43. package/src/assets/btn-more.svg +17 -17
  44. package/src/assets/btn-submit.svg +19 -19
  45. package/src/assets/caidan.svg +12 -0
  46. package/src/assets/close.svg +26 -26
  47. package/src/assets/closeicon.png +0 -0
  48. package/src/assets/drag.svg +17 -17
  49. package/src/assets/exportFail.svg +37 -37
  50. package/src/assets/exportProcessing.svg +28 -28
  51. package/src/assets/exportSuccess.svg +34 -34
  52. package/src/assets/fixed-left-active.svg +11 -11
  53. package/src/assets/fixed-left.svg +15 -15
  54. package/src/assets/fixed-right-active.svg +11 -11
  55. package/src/assets/fixed-right.svg +15 -15
  56. package/src/assets/guanbi.svg +16 -0
  57. package/src/assets/icon-quanping.svg +15 -15
  58. package/src/assets/icon-shezhi.svg +17 -17
  59. package/src/assets/label_icon_bottom.svg +25 -25
  60. package/src/assets/morentouxiang-32.svg +24 -0
  61. package/src/assets/right.png +0 -0
  62. package/src/assets/scanning.svg +24 -24
  63. package/src/assets/upExport.svg +22 -22
  64. package/src/assets/xinglan-icon-out.png +0 -0
  65. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  66. package/src/components/Business/AddSelectBusiness/index.tsx +290 -290
  67. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +112 -0
  68. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -0
  69. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -0
  70. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -0
  71. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +38 -0
  72. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +243 -0
  73. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +385 -0
  74. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +286 -0
  75. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +75 -0
  76. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +171 -0
  77. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +65 -0
  78. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +154 -0
  79. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +73 -0
  80. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +158 -0
  81. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -0
  82. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -0
  83. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -0
  84. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +162 -0
  85. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +76 -0
  86. package/src/components/Business/BsLayouts/index.less +80 -0
  87. package/src/components/Business/BsLayouts/index.tsx +1495 -0
  88. package/src/components/Business/BsLayouts/service.ts +11 -0
  89. package/src/components/Business/BsLayouts/utils.tsx +350 -0
  90. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  91. package/src/components/Business/BsSulaQueryTable/index.tsx +535 -534
  92. package/src/components/Business/BsSulaQueryTable/setting.tsx +818 -817
  93. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  94. package/src/components/Business/BsSulaQueryTable/utils.tsx +691 -690
  95. package/src/components/Business/CommodityEntry/index.md +70 -70
  96. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  97. package/src/components/Business/CommonAlert/index.tsx +23 -23
  98. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  99. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  100. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  101. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  102. package/src/components/Business/DetailPageWrapper/index.tsx +335 -324
  103. package/src/components/Business/DetailPageWrapper/utils.tsx +101 -111
  104. package/src/components/Business/HomePageWrapper/index.less +33 -33
  105. package/src/components/Business/HomePageWrapper/index.md +45 -45
  106. package/src/components/Business/HomePageWrapper/index.tsx +162 -150
  107. package/src/components/Business/SearchSelect/BusinessUtils.ts +1458 -1457
  108. package/src/components/Business/SearchSelect/common.ts +53 -53
  109. package/src/components/Business/SearchSelect/index.md +1137 -1137
  110. package/src/components/Business/SearchSelect/index.tsx +51 -51
  111. package/src/components/Business/SearchSelect/utils.ts +100 -99
  112. package/src/components/Business/StateFlow/index.less +130 -130
  113. package/src/components/Business/StateFlow/index.md +60 -60
  114. package/src/components/Business/StateFlow/index.tsx +29 -29
  115. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  116. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  117. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  118. package/src/components/Business/columnSettingTable/columnSetting.tsx +763 -762
  119. package/src/components/Business/columnSettingTable/index.less +247 -247
  120. package/src/components/Business/columnSettingTable/index.md +357 -357
  121. package/src/components/Business/columnSettingTable/index.tsx +226 -225
  122. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +234 -233
  123. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  124. package/src/components/Functional/AddSelect/index.less +367 -367
  125. package/src/components/Functional/AddSelect/index.md +122 -122
  126. package/src/components/Functional/AddSelect/index.tsx +962 -962
  127. package/src/components/Functional/BillEntry/index.less +371 -371
  128. package/src/components/Functional/BillEntry/index.md +39 -39
  129. package/src/components/Functional/BillEntry/index.tsx +613 -607
  130. package/src/components/Functional/DataImport/index.less +63 -63
  131. package/src/components/Functional/DataImport/index.md +44 -44
  132. package/src/components/Functional/DataImport/index.tsx +689 -689
  133. package/src/components/Functional/DataValidation/index.less +63 -63
  134. package/src/components/Functional/DataValidation/index.md +38 -38
  135. package/src/components/Functional/DataValidation/index.tsx +681 -681
  136. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  137. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  138. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  139. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  140. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  141. package/src/components/Functional/SearchSelect/index.less +115 -115
  142. package/src/components/Functional/SearchSelect/index.md +141 -141
  143. package/src/components/Functional/SearchSelect/index.tsx +812 -812
  144. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  145. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  146. package/src/index.ts +31 -30
  147. package/src/utils/CheckOneUser/index.md +39 -39
  148. package/src/utils/CheckOneUser/index.ts +51 -51
  149. package/src/utils/enumConfig.ts +10 -0
  150. package/src/utils/requestUtils.ts +33 -32
  151. package/src/utils/utils.ts +52 -22
  152. package/tsconfig.json +29 -29
  153. package/typings.d.ts +4 -4
@@ -1,226 +1,227 @@
1
- import React, { useState } from 'react';
2
- import { Table, Tooltip, Typography } from 'antd';
3
- import { Resizable } from 'react-resizable';
4
- import ColumnSetting from './columnSetting';
5
- import { getItemDefaultWidth, handleTextOverflow } from './utils';
6
- import { noEmptyArray } from './utils';
7
- const { Text } = Typography;
8
- export default class ColumnSettingTable extends React.Component {
9
- state: any;
10
- constructor(props: any) {
11
- super(props);
12
- this.state = {
13
- showColumns: [],
14
- }
15
- }
16
-
17
- componentDidMount() {
18
- const { columns }: any = this.props;
19
- this.setInitialShowColumn(columns || [])
20
- }
21
-
22
- componentWillReceiveProps(nextProps: any) {
23
- // if (JSON.stringify(this.props.columns) !== JSON.stringify(nextProps.columns)) {
24
- // }
25
- this.setInitialShowColumn(nextProps.columns || [])
26
- }
27
-
28
- setInitialShowColumn = (columns: any[]) => {
29
- // 获取当前列表定义数据
30
- let columnConfig = this.getConfigFromlocalstorage();
31
- let showColumns = columnConfig.length ? columnConfig.map((item: any) => {
32
- let inner = columns.filter(innerItem => (
33
- innerItem.dataIndex && innerItem.dataIndex === item.dataIndex
34
- ) || (innerItem.key && innerItem.key === item.key))[0];
35
- return {
36
- ...inner,
37
- ...item,
38
- }
39
- }).filter((item: any) => !item.hidden)
40
- :
41
- (columns || []).filter((item: any) => !item.hidden);
42
- this.setState({
43
- showColumns,
44
- })
45
-
46
- }
47
-
48
- setShowColumns = (newColumns: Array<any>) => {
49
- this.setState({
50
- showColumns: [...newColumns]
51
- })
52
- }
53
-
54
- getConfigFromlocalstorage = () => {
55
- const { tableCode }: any = this.props;
56
- if (!tableCode) return [];
57
- let config = localStorage.getItem('columnCondition') || '[]';
58
- let configArray = JSON.parse(config);
59
- let configSetting = configArray.filter(
60
- (item:any) => item.code === tableCode,
61
- );
62
-
63
- if (configSetting.length) {
64
- return JSON.parse(configSetting[0].detail || '[]');
65
- }
66
- return [];
67
- };
68
-
69
- getTableSummaryInfo = () => {
70
- const { summary = undefined, rowSelection }: any = this.props;
71
- const { showColumns }: any = this.state;
72
- let summaryRow = rowSelection ? [{}, ...showColumns] : [...showColumns];
73
- let summaryInitial = summary().cont;
74
- let summaryDom: any = <Table.Summary.Row>
75
- {
76
- [...summaryRow].map((item: any, index: number) => {
77
- return (
78
- <Table.Summary.Cell index={index}>
79
- <Text type="danger">
80
- {
81
- summaryInitial.filter((inner:any) => inner.key === item.dataIndex || inner.key === item.key).length ?
82
- `${item.title}: ${summaryInitial.filter((inner:any) => inner.key === item.dataIndex || inner.key === item.key)[0].value}` : ''
83
-
84
- }
85
- </Text>
86
- </Table.Summary.Cell>
87
- )
88
- })
89
- }
90
- </Table.Summary.Row >;
91
- return () => summaryDom
92
- };
93
-
94
- handledynamicColumns = (col: any[]) => {
95
- let { dynamicColumns, modeType }: any = this.props;
96
- col = col.map((item: any) => {
97
- let target = dynamicColumns.find((d: any) => item.dataIndex === d.key || item.key === d.key)
98
- if (modeType === 'view' && target) {
99
- item.render = target?.render;
100
- }
101
- return { ...item };
102
- })
103
- return [...col]
104
- };
105
-
106
- handleResize = (index: any) => (_: any, { size }: any) => {
107
- let newColumns = this.state.showColumns.map((col: any) => ({ ...col }));
108
- const handleIndex = (arr: any, indexArr: any) => {
109
- let i = indexArr.shift();
110
- if (indexArr.length > 0) {
111
- handleIndex(arr[i].children, indexArr);
112
- } else {
113
- arr[i] = {
114
- ...arr[i],
115
- width: size.width,
116
- };
117
- if (arr[i].textOverflow) {
118
- arr[i].render = ({ text }: any) => handleTextOverflow(text, size.width);
119
- };
120
- }
121
- };
122
- handleIndex(newColumns, [...index]);
123
- this.setState({
124
- showColumns: [...newColumns]
125
- })
126
- };
127
-
128
- ResizeableTitle = (props: any) => {
129
- const { onResize, width, ...restProps } = props;
130
-
131
- if (!width) {
132
- return <th {...restProps} />;
133
- }
134
- return (
135
- <Resizable
136
- width={width}
137
- height={0}
138
- onResize={onResize}
139
- draggableOpts={{ enableUserSelectHack: false }}
140
- >
141
- <th {...restProps} />
142
- </Resizable>
143
- );
144
- }
145
-
146
- getTableScrollXWidth = (cols: any[]) => {
147
- if (cols.every((item: any) => item.width)) {
148
- return cols.reduce((cur: any, obj: any) => cur += obj.width, 0)
149
- } else {
150
- return 'max-content'
151
- }
152
- };
153
-
154
- render() {
155
- const { columns, tableCode, summary = undefined, dynamicColumns = [], ...restProps }: any = this.props;
156
- let otherTableInfo = {
157
- ...restProps,
158
- };
159
- let showSummary = null;
160
- if (this.state.showColumns.length) {
161
- if (summary && summary().diy) {
162
- showSummary = this.getTableSummaryInfo();
163
- } else {
164
- showSummary = summary;
165
- }
166
- };
167
-
168
- const handleColumns = (arr: any, indexArr: any[]) => {
169
- arr.forEach((item: any, index: any) => {
170
- let indexArrInside = [...indexArr, index].filter((i: any) => i || i === 0)
171
- if (noEmptyArray(item.children)) {
172
- handleColumns(item.children, indexArrInside);
173
- } else {
174
- item.width = item.width || getItemDefaultWidth(item);
175
- item.onHeaderCell = (column: any) => ({
176
- ...item,
177
- width:
178
- typeof column.width === 'number'
179
- ? column.width
180
- : parseInt(column.width.replace('px', '')),
181
- onResize: this.handleResize(indexArrInside),
182
- });
183
- }
184
- })
185
- };
186
- let showCol = this.state.showColumns.map((item: any) => {
187
- return ({ ...item })
188
- })
189
- handleColumns(showCol, []);
190
- if (dynamicColumns.length) {
191
- showCol = this.handledynamicColumns(showCol);
192
- }
193
-
194
- otherTableInfo = {
195
- ...otherTableInfo,
196
- scroll: { x: restProps.overScrollX || this.getTableScrollXWidth(showCol) },
197
- summary: showSummary,
198
- }
199
- return (
200
- <div>
201
- <div style={{ overflow: 'hidden', padding: '0 8px 10px 0' }}>
202
- <span style={{ float: 'right' }} className="ant-dropdown-link">
203
- <ColumnSetting
204
- setShowColumns={this.setShowColumns}
205
- showColumns={this.state.showColumns}
206
- datasource={columns || []}
207
- tableCode={tableCode}
208
- />
209
- </span>
210
- </div>
211
- <Table
212
- columns={showCol}
213
- components={{
214
- header: {
215
- cell: this.ResizeableTitle,
216
- },
217
- }}
218
- {
219
- ...otherTableInfo
220
- }
221
- />
222
- </div >
223
- )
224
- }
225
-
1
+ import React, { useState } from 'react';
2
+ import { Table, Tooltip, Typography } from 'antd';
3
+ import { Resizable } from 'react-resizable';
4
+ import ColumnSetting from './columnSetting';
5
+ import { getItemDefaultWidth, handleTextOverflow } from './utils';
6
+ import { noEmptyArray } from './utils';
7
+ import ENUM from '@/utils/enumConfig';
8
+ const { Text } = Typography;
9
+ export default class ColumnSettingTable extends React.Component {
10
+ state: any;
11
+ constructor(props: any) {
12
+ super(props);
13
+ this.state = {
14
+ showColumns: [],
15
+ }
16
+ }
17
+
18
+ componentDidMount() {
19
+ const { columns }: any = this.props;
20
+ this.setInitialShowColumn(columns || [])
21
+ }
22
+
23
+ componentWillReceiveProps(nextProps: any) {
24
+ // if (JSON.stringify(this.props.columns) !== JSON.stringify(nextProps.columns)) {
25
+ // }
26
+ this.setInitialShowColumn(nextProps.columns || [])
27
+ }
28
+
29
+ setInitialShowColumn = (columns: any[]) => {
30
+ // 获取当前列表定义数据
31
+ let columnConfig = this.getConfigFromlocalstorage();
32
+ let showColumns = columnConfig.length ? columnConfig.map((item: any) => {
33
+ let inner = columns.filter(innerItem => (
34
+ innerItem.dataIndex && innerItem.dataIndex === item.dataIndex
35
+ ) || (innerItem.key && innerItem.key === item.key))[0];
36
+ return {
37
+ ...inner,
38
+ ...item,
39
+ }
40
+ }).filter((item: any) => !item.hidden)
41
+ :
42
+ (columns || []).filter((item: any) => !item.hidden);
43
+ this.setState({
44
+ showColumns,
45
+ })
46
+
47
+ }
48
+
49
+ setShowColumns = (newColumns: Array<any>) => {
50
+ this.setState({
51
+ showColumns: [...newColumns]
52
+ })
53
+ }
54
+
55
+ getConfigFromlocalstorage = () => {
56
+ const { tableCode }: any = this.props;
57
+ if (!tableCode) return [];
58
+ let config = localStorage.getItem(ENUM.BROWSER_CACHE.COLUMN_CONDITION) || '[]';
59
+ let configArray = JSON.parse(config);
60
+ let configSetting = configArray.filter(
61
+ (item:any) => item.code === tableCode,
62
+ );
63
+
64
+ if (configSetting.length) {
65
+ return JSON.parse(configSetting[0].detail || '[]');
66
+ }
67
+ return [];
68
+ };
69
+
70
+ getTableSummaryInfo = () => {
71
+ const { summary = undefined, rowSelection }: any = this.props;
72
+ const { showColumns }: any = this.state;
73
+ let summaryRow = rowSelection ? [{}, ...showColumns] : [...showColumns];
74
+ let summaryInitial = summary().cont;
75
+ let summaryDom: any = <Table.Summary.Row>
76
+ {
77
+ [...summaryRow].map((item: any, index: number) => {
78
+ return (
79
+ <Table.Summary.Cell index={index}>
80
+ <Text type="danger">
81
+ {
82
+ summaryInitial.filter((inner:any) => inner.key === item.dataIndex || inner.key === item.key).length ?
83
+ `${item.title}: ${summaryInitial.filter((inner:any) => inner.key === item.dataIndex || inner.key === item.key)[0].value}` : ''
84
+
85
+ }
86
+ </Text>
87
+ </Table.Summary.Cell>
88
+ )
89
+ })
90
+ }
91
+ </Table.Summary.Row >;
92
+ return () => summaryDom
93
+ };
94
+
95
+ handledynamicColumns = (col: any[]) => {
96
+ let { dynamicColumns, modeType }: any = this.props;
97
+ col = col.map((item: any) => {
98
+ let target = dynamicColumns.find((d: any) => item.dataIndex === d.key || item.key === d.key)
99
+ if (modeType === 'view' && target) {
100
+ item.render = target?.render;
101
+ }
102
+ return { ...item };
103
+ })
104
+ return [...col]
105
+ };
106
+
107
+ handleResize = (index: any) => (_: any, { size }: any) => {
108
+ let newColumns = this.state.showColumns.map((col: any) => ({ ...col }));
109
+ const handleIndex = (arr: any, indexArr: any) => {
110
+ let i = indexArr.shift();
111
+ if (indexArr.length > 0) {
112
+ handleIndex(arr[i].children, indexArr);
113
+ } else {
114
+ arr[i] = {
115
+ ...arr[i],
116
+ width: size.width,
117
+ };
118
+ if (arr[i].textOverflow) {
119
+ arr[i].render = ({ text }: any) => handleTextOverflow(text, size.width);
120
+ };
121
+ }
122
+ };
123
+ handleIndex(newColumns, [...index]);
124
+ this.setState({
125
+ showColumns: [...newColumns]
126
+ })
127
+ };
128
+
129
+ ResizeableTitle = (props: any) => {
130
+ const { onResize, width, ...restProps } = props;
131
+
132
+ if (!width) {
133
+ return <th {...restProps} />;
134
+ }
135
+ return (
136
+ <Resizable
137
+ width={width}
138
+ height={0}
139
+ onResize={onResize}
140
+ draggableOpts={{ enableUserSelectHack: false }}
141
+ >
142
+ <th {...restProps} />
143
+ </Resizable>
144
+ );
145
+ }
146
+
147
+ getTableScrollXWidth = (cols: any[]) => {
148
+ if (cols.every((item: any) => item.width)) {
149
+ return cols.reduce((cur: any, obj: any) => cur += obj.width, 0)
150
+ } else {
151
+ return 'max-content'
152
+ }
153
+ };
154
+
155
+ render() {
156
+ const { columns, tableCode, summary = undefined, dynamicColumns = [], ...restProps }: any = this.props;
157
+ let otherTableInfo = {
158
+ ...restProps,
159
+ };
160
+ let showSummary = null;
161
+ if (this.state.showColumns.length) {
162
+ if (summary && summary().diy) {
163
+ showSummary = this.getTableSummaryInfo();
164
+ } else {
165
+ showSummary = summary;
166
+ }
167
+ };
168
+
169
+ const handleColumns = (arr: any, indexArr: any[]) => {
170
+ arr.forEach((item: any, index: any) => {
171
+ let indexArrInside = [...indexArr, index].filter((i: any) => i || i === 0)
172
+ if (noEmptyArray(item.children)) {
173
+ handleColumns(item.children, indexArrInside);
174
+ } else {
175
+ item.width = item.width || getItemDefaultWidth(item);
176
+ item.onHeaderCell = (column: any) => ({
177
+ ...item,
178
+ width:
179
+ typeof column.width === 'number'
180
+ ? column.width
181
+ : parseInt(column.width.replace('px', '')),
182
+ onResize: this.handleResize(indexArrInside),
183
+ });
184
+ }
185
+ })
186
+ };
187
+ let showCol = this.state.showColumns.map((item: any) => {
188
+ return ({ ...item })
189
+ })
190
+ handleColumns(showCol, []);
191
+ if (dynamicColumns.length) {
192
+ showCol = this.handledynamicColumns(showCol);
193
+ }
194
+
195
+ otherTableInfo = {
196
+ ...otherTableInfo,
197
+ scroll: { x: restProps.overScrollX || this.getTableScrollXWidth(showCol) },
198
+ summary: showSummary,
199
+ }
200
+ return (
201
+ <div>
202
+ <div style={{ overflow: 'hidden', padding: '0 8px 10px 0' }}>
203
+ <span style={{ float: 'right' }} className="ant-dropdown-link">
204
+ <ColumnSetting
205
+ setShowColumns={this.setShowColumns}
206
+ showColumns={this.state.showColumns}
207
+ datasource={columns || []}
208
+ tableCode={tableCode}
209
+ />
210
+ </span>
211
+ </div>
212
+ <Table
213
+ columns={showCol}
214
+ components={{
215
+ header: {
216
+ cell: this.ResizeableTitle,
217
+ },
218
+ }}
219
+ {
220
+ ...otherTableInfo
221
+ }
222
+ />
223
+ </div >
224
+ )
225
+ }
226
+
226
227
  }