@bit-sun/business-component 2.1.0 → 2.1.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 (138) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +174 -174
  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/index.d.ts +1 -1
  9. package/dist/index.esm.js +130 -12
  10. package/dist/index.js +131 -13
  11. package/dist/utils/checkUtils.d.ts +3 -0
  12. package/dist/utils/index.d.ts +2 -0
  13. package/docs/index.md +21 -21
  14. package/lib/assets/drag.svg +17 -17
  15. package/lib/assets/exportFail.svg +37 -37
  16. package/lib/assets/exportProcessing.svg +28 -28
  17. package/lib/assets/exportSuccess.svg +34 -34
  18. package/lib/assets/label_icon_bottom.svg +25 -25
  19. package/lib/assets/upExport.svg +22 -22
  20. package/package.json +71 -71
  21. package/src/assets/32.svg +27 -27
  22. package/src/assets/addIcon.svg +17 -17
  23. package/src/assets/allfunc.svg +27 -27
  24. package/src/assets/arrowRight.svg +24 -24
  25. package/src/assets/btn-delete.svg +29 -29
  26. package/src/assets/btn-edit.svg +19 -19
  27. package/src/assets/btn-more.svg +17 -17
  28. package/src/assets/btn-submit.svg +19 -19
  29. package/src/assets/caidan.svg +11 -11
  30. package/src/assets/close.svg +26 -26
  31. package/src/assets/drag.svg +17 -17
  32. package/src/assets/exportFail.svg +37 -37
  33. package/src/assets/exportProcessing.svg +28 -28
  34. package/src/assets/exportSuccess.svg +34 -34
  35. package/src/assets/fixed-left-active.svg +11 -11
  36. package/src/assets/fixed-left.svg +15 -15
  37. package/src/assets/fixed-right-active.svg +11 -11
  38. package/src/assets/fixed-right.svg +15 -15
  39. package/src/assets/guanbi.svg +15 -15
  40. package/src/assets/icon-quanping.svg +15 -15
  41. package/src/assets/icon-shezhi.svg +17 -17
  42. package/src/assets/label_icon_bottom.svg +25 -25
  43. package/src/assets/list-no-img.svg +21 -21
  44. package/src/assets/morentouxiang-32.svg +23 -23
  45. package/src/assets/scanning.svg +24 -24
  46. package/src/assets/upExport.svg +22 -22
  47. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  48. package/src/components/Business/AddSelectBusiness/index.tsx +290 -290
  49. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  50. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  51. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  52. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  61. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  62. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  63. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  64. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  65. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  66. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  67. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  68. package/src/components/Business/BsLayouts/index.less +79 -79
  69. package/src/components/Business/BsLayouts/index.tsx +1465 -1465
  70. package/src/components/Business/BsLayouts/service.ts +10 -10
  71. package/src/components/Business/BsLayouts/utils.tsx +210 -210
  72. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  73. package/src/components/Business/BsSulaQueryTable/index.tsx +505 -505
  74. package/src/components/Business/BsSulaQueryTable/setting.tsx +799 -799
  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 +334 -334
  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/SearchSelect/BusinessUtils.ts +1458 -1458
  90. package/src/components/Business/SearchSelect/common.ts +53 -53
  91. package/src/components/Business/SearchSelect/index.md +1137 -1137
  92. package/src/components/Business/SearchSelect/index.tsx +51 -51
  93. package/src/components/Business/SearchSelect/utils.ts +100 -100
  94. package/src/components/Business/StateFlow/index.less +130 -130
  95. package/src/components/Business/StateFlow/index.md +60 -60
  96. package/src/components/Business/StateFlow/index.tsx +29 -29
  97. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  98. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  99. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  100. package/src/components/Business/columnSettingTable/columnSetting.tsx +763 -763
  101. package/src/components/Business/columnSettingTable/index.less +247 -247
  102. package/src/components/Business/columnSettingTable/index.md +357 -357
  103. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  104. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  105. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  106. package/src/components/Functional/AddSelect/index.less +367 -367
  107. package/src/components/Functional/AddSelect/index.md +122 -122
  108. package/src/components/Functional/AddSelect/index.tsx +992 -962
  109. package/src/components/Functional/BillEntry/index.less +371 -371
  110. package/src/components/Functional/BillEntry/index.md +39 -39
  111. package/src/components/Functional/BillEntry/index.tsx +643 -613
  112. package/src/components/Functional/DataImport/index.less +63 -63
  113. package/src/components/Functional/DataImport/index.md +44 -44
  114. package/src/components/Functional/DataImport/index.tsx +689 -689
  115. package/src/components/Functional/DataValidation/index.less +63 -63
  116. package/src/components/Functional/DataValidation/index.md +38 -38
  117. package/src/components/Functional/DataValidation/index.tsx +681 -681
  118. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  119. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  120. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  121. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  122. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  123. package/src/components/Functional/SearchSelect/index.less +115 -115
  124. package/src/components/Functional/SearchSelect/index.md +141 -141
  125. package/src/components/Functional/SearchSelect/index.tsx +812 -812
  126. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  127. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  128. package/src/index.ts +31 -31
  129. package/src/styles/bsDefault.less +1906 -1906
  130. package/src/utils/CheckOneUser/index.md +39 -39
  131. package/src/utils/CheckOneUser/index.ts +51 -51
  132. package/src/utils/checkUtils.ts +39 -0
  133. package/src/utils/enumConfig.ts +9 -9
  134. package/src/utils/index.ts +2 -0
  135. package/src/utils/requestUtils.ts +33 -33
  136. package/src/utils/utils.ts +51 -51
  137. package/tsconfig.json +29 -29
  138. package/typings.d.ts +4 -4
@@ -1,241 +1,241 @@
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
-
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
241
  }
@@ -1,69 +1,69 @@
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
- );
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
69
  };