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

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