@bit-sun/business-component 2.0.28 → 2.0.30

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 (78) 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 +5625 -7523
  9. package/dist/index.js +5622 -7520
  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 +5 -3
  18. package/src/assets/close.svg +26 -26
  19. package/src/assets/drag.svg +17 -17
  20. package/src/assets/exportFail.svg +37 -37
  21. package/src/assets/exportProcessing.svg +28 -28
  22. package/src/assets/exportSuccess.svg +34 -34
  23. package/src/assets/icon-shezhi.svg +17 -17
  24. package/src/assets/label_icon_bottom.svg +25 -25
  25. package/src/assets/upExport.svg +22 -22
  26. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  27. package/src/components/Business/AddSelectBusiness/index.tsx +290 -290
  28. package/src/components/Business/CommodityEntry/index.md +70 -70
  29. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  30. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  31. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  32. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  33. package/src/components/Business/SearchSelect/BusinessUtils.ts +1448 -1446
  34. package/src/components/Business/SearchSelect/common.ts +53 -53
  35. package/src/components/Business/SearchSelect/index.md +1137 -1137
  36. package/src/components/Business/SearchSelect/index.tsx +51 -51
  37. package/src/components/Business/SearchSelect/utils.ts +99 -99
  38. package/src/components/Business/StateFlow/index.less +130 -130
  39. package/src/components/Business/StateFlow/index.md +60 -60
  40. package/src/components/Business/StateFlow/index.tsx +29 -29
  41. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  42. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  43. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  44. package/src/components/Business/columnSettingTable/columnSetting.tsx +594 -594
  45. package/src/components/Business/columnSettingTable/index.less +247 -247
  46. package/src/components/Business/columnSettingTable/index.md +357 -357
  47. package/src/components/Business/columnSettingTable/index.tsx +216 -216
  48. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +224 -224
  49. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  50. package/src/components/Functional/AddSelect/index.less +367 -367
  51. package/src/components/Functional/AddSelect/index.md +122 -122
  52. package/src/components/Functional/AddSelect/index.tsx +952 -952
  53. package/src/components/Functional/BillEntry/index.less +371 -371
  54. package/src/components/Functional/BillEntry/index.md +37 -37
  55. package/src/components/Functional/BillEntry/index.tsx +547 -547
  56. package/src/components/Functional/DataImport/index.less +63 -63
  57. package/src/components/Functional/DataImport/index.md +44 -44
  58. package/src/components/Functional/DataImport/index.tsx +689 -689
  59. package/src/components/Functional/DataValidation/index.less +63 -63
  60. package/src/components/Functional/DataValidation/index.md +38 -38
  61. package/src/components/Functional/DataValidation/index.tsx +681 -681
  62. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  63. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  64. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  65. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  66. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  67. package/src/components/Functional/SearchSelect/index.less +115 -115
  68. package/src/components/Functional/SearchSelect/index.md +141 -141
  69. package/src/components/Functional/SearchSelect/index.tsx +812 -812
  70. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  71. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  72. package/src/index.ts +27 -27
  73. package/src/utils/CheckOneUser/index.md +39 -39
  74. package/src/utils/CheckOneUser/index.ts +51 -51
  75. package/src/utils/requestUtils.ts +32 -32
  76. package/src/utils/utils.ts +22 -22
  77. package/tsconfig.json +29 -29
  78. package/typings.d.ts +4 -4
@@ -1,225 +1,225 @@
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
- render() {
153
- const { style=null, columns, tableCode, summary = undefined, dynamicColumns = [], ...restProps }: any = this.props;
154
- let otherTableInfo = {
155
- ...restProps,
156
- };
157
- let showSummary = null;
158
- if (this.state.showColumns.length) {
159
- if (summary && summary().diy) {
160
- showSummary = this.getTableSummaryInfo();
161
- } else {
162
- showSummary = summary;
163
- }
164
- };
165
-
166
- const handleColumns = (arr: any, indexArr: any[]) => {
167
- arr.forEach((item: any, index: any) => {
168
- let indexArrInside = [...indexArr, index].filter((i: any) => i || i === 0)
169
- if (noEmptyArray(item.children)) {
170
- handleColumns(item.children, indexArrInside);
171
- } else {
172
- item.width = item.width || getItemDefaultWidth(item);
173
- item.onHeaderCell = (column: any) => ({
174
- ...item,
175
- width:
176
- typeof column.width === 'number'
177
- ? column.width
178
- : parseInt(column.width.replace('px', '')),
179
- onResize: this.handleResize(indexArrInside),
180
- });
181
- }
182
- })
183
- };
184
- let showCol = this.state.showColumns.map((item: any) => {
185
- return ({ ...item })
186
- })
187
- handleColumns(showCol, []);
188
- if (dynamicColumns.length) {
189
- showCol = this.handledynamicColumns(showCol);
190
- }
191
-
192
- otherTableInfo = {
193
- ...otherTableInfo,
194
- summary: showSummary,
195
- }
196
- return (
197
- <div>
198
- <div style={{ overflow: 'hidden', padding: '0 8px 10px 0' }}>
199
- <span style={{ float: 'right' }} className="ant-dropdown-link">
200
- <ColumnSetting
201
- setShowColumns={this.setShowColumns}
202
- showColumns={this.state.showColumns}
203
- datasource={columns || []}
204
- tableCode={tableCode}
205
- />
206
- </span>
207
- </div>
208
- <SulaTable
209
- ref={this.sulaTableRef}
210
- style={style}
211
- columns={showCol}
212
- components={{
213
- header: {
214
- cell: this.ResizeableTitle,
215
- },
216
- }}
217
- {
218
- ...otherTableInfo
219
- }
220
- />
221
- </div >
222
- )
223
- }
224
-
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
+ render() {
153
+ const { style=null, columns, tableCode, summary = undefined, dynamicColumns = [], ...restProps }: any = this.props;
154
+ let otherTableInfo = {
155
+ ...restProps,
156
+ };
157
+ let showSummary = null;
158
+ if (this.state.showColumns.length) {
159
+ if (summary && summary().diy) {
160
+ showSummary = this.getTableSummaryInfo();
161
+ } else {
162
+ showSummary = summary;
163
+ }
164
+ };
165
+
166
+ const handleColumns = (arr: any, indexArr: any[]) => {
167
+ arr.forEach((item: any, index: any) => {
168
+ let indexArrInside = [...indexArr, index].filter((i: any) => i || i === 0)
169
+ if (noEmptyArray(item.children)) {
170
+ handleColumns(item.children, indexArrInside);
171
+ } else {
172
+ item.width = item.width || getItemDefaultWidth(item);
173
+ item.onHeaderCell = (column: any) => ({
174
+ ...item,
175
+ width:
176
+ typeof column.width === 'number'
177
+ ? column.width
178
+ : parseInt(column.width.replace('px', '')),
179
+ onResize: this.handleResize(indexArrInside),
180
+ });
181
+ }
182
+ })
183
+ };
184
+ let showCol = this.state.showColumns.map((item: any) => {
185
+ return ({ ...item })
186
+ })
187
+ handleColumns(showCol, []);
188
+ if (dynamicColumns.length) {
189
+ showCol = this.handledynamicColumns(showCol);
190
+ }
191
+
192
+ otherTableInfo = {
193
+ ...otherTableInfo,
194
+ summary: showSummary,
195
+ }
196
+ return (
197
+ <div>
198
+ <div style={{ overflow: 'hidden', padding: '0 8px 10px 0' }}>
199
+ <span style={{ float: 'right' }} className="ant-dropdown-link">
200
+ <ColumnSetting
201
+ setShowColumns={this.setShowColumns}
202
+ showColumns={this.state.showColumns}
203
+ datasource={columns || []}
204
+ tableCode={tableCode}
205
+ />
206
+ </span>
207
+ </div>
208
+ <SulaTable
209
+ ref={this.sulaTableRef}
210
+ style={style}
211
+ columns={showCol}
212
+ components={{
213
+ header: {
214
+ cell: this.ResizeableTitle,
215
+ },
216
+ }}
217
+ {
218
+ ...otherTableInfo
219
+ }
220
+ />
221
+ </div >
222
+ )
223
+ }
224
+
225
225
  }
@@ -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
  };