@bit-sun/business-component 2.0.32 → 2.0.33

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