@para-ui/core 3.0.28 → 3.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.
- package/AutoBox/index.js +48 -88
- package/AutoTips/index.js +25 -32
- package/Breadcrumbs/index.js +43 -63
- package/Button/SplitButton.d.ts +1 -1
- package/Button/index.d.ts +1 -1
- package/Button/index.js +88 -118
- package/ButtonGroup/index.js +27 -36
- package/Carousel/index.d.ts +2 -2
- package/Carousel/index.js +27 -28
- package/Cascader/index.js +52 -64
- package/Checkbox/index.js +23 -39
- package/CheckboxGroup/index.js +31 -48
- package/Collapse/collapsePanel.d.ts +1 -1
- package/Collapse/index.d.ts +1 -1
- package/Collapse/index.js +9 -29
- package/Collapse/util.d.ts +2 -2
- package/CollapseBox/index.js +45 -56
- package/CollapseLayout/index.js +35 -54
- package/ComboSelect/index.js +222 -349
- package/ComboSelect/interface.d.ts +3 -3
- package/Container/index.js +17 -20
- package/DatePicker/generatePicker/index.d.ts +17 -17
- package/DatePicker/index.d.ts +4 -4
- package/DatePicker/index.js +111 -167
- package/Desktop/index.js +62 -173
- package/Drawer/index.js +65 -58
- package/Drawer/interface.d.ts +7 -3
- package/Dropdown/index.d.ts +1 -1
- package/Dropdown/index.js +3 -3
- package/Empty/index.js +17 -22
- package/Form/index.d.ts +1 -1
- package/Form/index.js +38 -80
- package/FormItem/index.d.ts +1 -1
- package/FormItem/index.js +11 -11
- package/FormItem/validateFunction.d.ts +1 -1
- package/FunctionModal/index.js +11 -11
- package/GlobalContext/index.js +3 -3
- package/GlobalContext/usePopupContainer.d.ts +1 -1
- package/Help/index.js +11 -11
- package/HelperText/index.js +11 -12
- package/InputLang/index.js +47 -80
- package/InputNumber/index.js +65 -100
- package/Label/index.js +15 -16
- package/Loading/index.js +6 -7
- package/Menu/index.js +148 -328
- package/Menu/interface.d.ts +2 -2
- package/Menu/verticalMenuList.d.ts +1 -1
- package/Message/index.d.ts +1 -1
- package/Message/index.js +45 -64
- package/Modal/Confirm/index.d.ts +2 -2
- package/Modal/index.d.ts +1 -1
- package/Modal/index.js +119 -152
- package/MultiBox/index.js +44 -76
- package/Notification/index.d.ts +2 -2
- package/Notification/index.js +51 -72
- package/OperateBtn/index.js +42 -70
- package/PageHeader/index.js +120 -286
- package/PageHeader/interface.d.ts +1 -1
- package/Pagination/index.d.ts +2 -2
- package/Pagination/index.js +79 -131
- package/ParauiProvider/index.js +2 -3
- package/PasswordRules/index.js +12 -30
- package/PopConfirm/index.d.ts +1 -1
- package/PopConfirm/index.js +52 -59
- package/Popover/index.js +8 -9
- package/Progress/index.d.ts +6 -6
- package/Progress/index.js +50 -89
- package/Querying/index.js +14 -17
- package/README.md +813 -800
- package/Radio/index.js +21 -33
- package/RadioGroup/index.js +32 -47
- package/Search/index.js +44 -66
- package/Select/index.js +176 -343
- package/SelectInput/index.js +8 -9
- package/Selector/index.js +285 -681
- package/SelectorPicker/index.js +62 -97
- package/SingleBox/index.js +30 -55
- package/Slider/index.d.ts +1 -1
- package/Slider/index.js +29 -41
- package/Slider/interface.d.ts +2 -2
- package/Split/index.js +10 -23
- package/Status/index.js +8 -7
- package/Stepper/index.d.ts +1 -1
- package/Stepper/index.js +20 -25
- package/Styles/form.scss +5 -5
- package/Styles/index.scss +37 -37
- package/Styles/normalize.scss +348 -348
- package/Styles/scrollbar.scss +223 -223
- package/Styles/theme.scss +74 -74
- package/Switch/index.d.ts +2 -2
- package/Switch/index.js +19 -20
- package/Table/index.js +568 -1019
- package/Table/interface.d.ts +5 -5
- package/Tabs/index.d.ts +3 -3
- package/Tabs/index.js +47 -65
- package/Tag/TagGroup.d.ts +1 -1
- package/Tag/index.d.ts +2 -2
- package/Tag/index.js +72 -107
- package/TextEditor/index.d.ts +2 -2
- package/TextEditor/index.js +81 -105
- package/TextField/index.js +141 -220
- package/TimePicker/index.d.ts +1 -1
- package/TimePicker/index.js +12 -15
- package/Timeline/index.js +42 -52
- package/Title/index.js +10 -9
- package/ToggleButton/ToggleButtonGroup.d.ts +1 -1
- package/ToggleButton/index.js +50 -70
- package/Tooltip/index.js +64 -98
- package/Tooltip/interface.d.ts +1 -1
- package/Transfer/index.d.ts +1 -1
- package/Transfer/index.js +114 -137
- package/Transfer/useClick.d.ts +1 -1
- package/Tree/index.js +10 -10
- package/Tree/interface.d.ts +6 -6
- package/Upload/Dragger/index.d.ts +1 -1
- package/Upload/ImageUpload/index.d.ts +1 -1
- package/Upload/ImgCrop/EasyCrop.d.ts +1 -1
- package/Upload/index.d.ts +1 -1
- package/Upload/index.js +283 -475
- package/Upload/interface.d.ts +2 -2
- package/_verture/{constant-bf34e6fa.js → constant-66aa48a1.js} +0 -1
- package/_verture/defineProperty-62acccfc.js +34 -0
- package/_verture/{index-342379c6.js → index-06fea29b.js} +79 -124
- package/_verture/{index-48875ffd.js → index-131f8fe5.js} +80 -181
- package/_verture/{index-31ce5a11.js → index-92144ad3.js} +238 -445
- package/_verture/{index-bbed73a3.js → index-be4faaee.js} +19 -61
- package/_verture/{intl-336570e4.js → intl-5cbb940c.js} +4 -12
- package/_verture/{modalContext-d646d9db.js → modalContext-c749e1c6.js} +18 -43
- package/_verture/{slicedToArray-d7722f4b.js → slicedToArray-77980792.js} +23 -25
- package/_verture/{toConsumableArray-f8047a75.js → toConsumableArray-87c7d895.js} +1 -1
- package/_verture/{useFormatMessage-f4452258.js → useFormatMessage-703f8b20.js} +1 -3
- package/_verture/{useGlobalProps-af9a2af6.js → useGlobalProps-1b846a65.js} +1 -2
- package/_verture/{usePopupContainer-b8ab7cab.js → usePopupContainer-87febeb9.js} +10 -25
- package/_verture/{util-a77b261e.js → util-7e1fb1e2.js} +2 -3
- package/index.d.ts +2 -4
- package/index.js +15 -16
- package/package.json +167 -168
- package/Test/index.d.ts +0 -3
- package/Test/index.js +0 -9
- package/_verture/defineProperty-0590dc61.js +0 -16
package/Table/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { _ as _toConsumableArray } from '../_verture/toConsumableArray-
|
|
1
|
+
import { _ as _toConsumableArray } from '../_verture/toConsumableArray-87c7d895.js';
|
|
2
2
|
import { _ as _typeof } from '../_verture/typeof-498dd2b1.js';
|
|
3
|
-
import { _ as _slicedToArray } from '../_verture/slicedToArray-
|
|
4
|
-
import { r as regenerator } from '../_verture/index-
|
|
3
|
+
import { _ as _slicedToArray } from '../_verture/slicedToArray-77980792.js';
|
|
4
|
+
import { r as regenerator } from '../_verture/index-06fea29b.js';
|
|
5
5
|
import { _ as __rest, a as __awaiter } from '../_verture/tslib.es6-55ed4bd2.js';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
import { useRef, useState, useEffect, useMemo, useCallback, Fragment as Fragment$1 } from 'react';
|
|
8
8
|
import { Get, Post, DeepClone, GetBrowserClass, ArrayToObject, Cancel } from '@paraview/lib';
|
|
9
9
|
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
10
|
-
import { $ as $prefixCls } from '../_verture/constant-
|
|
10
|
+
import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
|
|
11
11
|
import { Popover } from '../Popover/index.js';
|
|
12
12
|
import { Checkbox } from '../Checkbox/index.js';
|
|
13
13
|
import { Button } from '../Button/index.js';
|
|
@@ -16,26 +16,26 @@ import Screen from '@para-ui/icons/ScreenF';
|
|
|
16
16
|
import SolidArrowUp from '@para-ui/icons/UpTriangleF';
|
|
17
17
|
import SolidArrowDown from '@para-ui/icons/DownTriangleF';
|
|
18
18
|
import Panel from '@para-ui/icons/Panel';
|
|
19
|
-
import { u as useFormatMessage } from '../_verture/useFormatMessage-
|
|
20
|
-
import { _ as _defineProperty } from '../_verture/defineProperty-
|
|
19
|
+
import { u as useFormatMessage } from '../_verture/useFormatMessage-703f8b20.js';
|
|
20
|
+
import { _ as _defineProperty } from '../_verture/defineProperty-62acccfc.js';
|
|
21
21
|
import { Radio } from '../Radio/index.js';
|
|
22
22
|
import Empty from '../Empty/index.js';
|
|
23
23
|
import OperateBtn from '../OperateBtn/index.js';
|
|
24
24
|
import Down from '@para-ui/icons/Down';
|
|
25
25
|
import { Pagination } from '../Pagination/index.js';
|
|
26
26
|
import { Loading } from '../Loading/index.js';
|
|
27
|
-
import { u as useGlobalProps } from '../_verture/useGlobalProps-
|
|
27
|
+
import { u as useGlobalProps } from '../_verture/useGlobalProps-1b846a65.js';
|
|
28
28
|
import '../Tooltip/index.js';
|
|
29
29
|
import 'rc-tooltip';
|
|
30
30
|
import 'rc-tooltip/lib/placements';
|
|
31
31
|
import 'clsx';
|
|
32
|
-
import '../_verture/usePopupContainer-
|
|
32
|
+
import '../_verture/usePopupContainer-87febeb9.js';
|
|
33
33
|
import '../Label/index.js';
|
|
34
34
|
import '../Help/index.js';
|
|
35
35
|
import '@para-ui/icons/Help';
|
|
36
36
|
import '@para-ui/icons/LoadingF';
|
|
37
37
|
import '@para-ui/icons/Forbid';
|
|
38
|
-
import '../_verture/index-
|
|
38
|
+
import '../_verture/index-be4faaee.js';
|
|
39
39
|
import 'rc-dropdown';
|
|
40
40
|
import 'dayjs';
|
|
41
41
|
import '@para-ui/core/GlobalContext';
|
|
@@ -59,21 +59,18 @@ import '@para-ui/icons/DoubleRight';
|
|
|
59
59
|
* 发送请求
|
|
60
60
|
* @param obj {ReqProps} 请求信息
|
|
61
61
|
*/
|
|
62
|
-
|
|
63
62
|
var requestFunc = function requestFunc(obj) {
|
|
64
63
|
var method = obj.method,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
url = obj.url,
|
|
65
|
+
ctx = obj.ctx,
|
|
66
|
+
data = obj.data,
|
|
67
|
+
otherProps = __rest(obj, ["method", "url", "ctx", "data"]);
|
|
70
68
|
if (method === 'Get') {
|
|
71
69
|
return Get(Object.assign({
|
|
72
70
|
url: url,
|
|
73
71
|
ctx: ctx
|
|
74
72
|
}, otherProps));
|
|
75
73
|
}
|
|
76
|
-
|
|
77
74
|
if (method === 'Post') {
|
|
78
75
|
return Post(Object.assign({
|
|
79
76
|
url: url,
|
|
@@ -87,41 +84,33 @@ var requestFunc = function requestFunc(obj) {
|
|
|
87
84
|
* @param obj {ReqProps} 请求信息
|
|
88
85
|
* @return string get请求地址参数
|
|
89
86
|
*/
|
|
90
|
-
|
|
91
87
|
var handGetReqParams = function handGetReqParams(obj) {
|
|
92
88
|
var str = obj.url;
|
|
93
89
|
var params = obj.data || {};
|
|
94
90
|
var arrKey = Object.keys(params);
|
|
95
91
|
var paramsArr = [];
|
|
96
|
-
|
|
97
92
|
for (var i = 0, l = arrKey.length; i < l; i++) {
|
|
98
93
|
var key = arrKey[i];
|
|
99
94
|
var val = params[key];
|
|
100
|
-
|
|
101
95
|
if (_typeof(val) === 'object') {
|
|
102
96
|
val = encodeURIComponent(JSON.stringify(val));
|
|
103
97
|
} else {
|
|
104
98
|
val = encodeURIComponent(val);
|
|
105
99
|
}
|
|
106
|
-
|
|
107
100
|
paramsArr.push(key + '=' + val);
|
|
108
101
|
}
|
|
109
|
-
|
|
110
102
|
var paramsStr = paramsArr.join('&');
|
|
111
103
|
var pos = str.indexOf('?');
|
|
112
|
-
|
|
113
104
|
if (pos !== -1) {
|
|
114
105
|
str += (pos === str.length - 1 ? '' : '&') + paramsStr;
|
|
115
106
|
} else {
|
|
116
107
|
str += '?' + paramsStr;
|
|
117
108
|
}
|
|
118
|
-
|
|
119
109
|
return str;
|
|
120
110
|
};
|
|
121
111
|
/**
|
|
122
112
|
* 提取字符串里面的数字
|
|
123
113
|
* */
|
|
124
|
-
|
|
125
114
|
var getStringInNumber = function getStringInNumber(str) {
|
|
126
115
|
if (typeof str === 'number') return str;
|
|
127
116
|
var strHand = str.replace(/[^0-9$]/ig, '');
|
|
@@ -132,34 +121,28 @@ var getStringInNumber = function getStringInNumber(str) {
|
|
|
132
121
|
* @param key {string} 键值
|
|
133
122
|
* @param num {number} 过期天数
|
|
134
123
|
* */
|
|
135
|
-
|
|
136
124
|
var getLocalStorageSelectHead = function getLocalStorageSelectHead(key, num) {
|
|
137
125
|
//debugger
|
|
138
126
|
var headJsonStr = window.localStorage.getItem('_paraui_table_head') || '{}';
|
|
139
127
|
var headJson = JSON.parse(headJsonStr);
|
|
140
128
|
var headJsonArr = Object.keys(headJson);
|
|
141
|
-
|
|
142
129
|
for (var i = 0, l = headJsonArr.length; i < l; i++) {
|
|
143
130
|
var keyStr = headJsonArr[i];
|
|
144
131
|
var item = headJson[i];
|
|
145
132
|
if (!item) continue;
|
|
146
133
|
var newDate = new Date().getTime(); // 当前时间
|
|
147
|
-
|
|
148
134
|
var endTime = item.storageTime + item.validity; // 过期时间
|
|
149
135
|
// 过期时间 小于 当前时间, 说明已经过期了, 删除当前表格列数据
|
|
150
|
-
|
|
151
136
|
if (endTime < newDate) {
|
|
152
137
|
delete headJson[keyStr];
|
|
153
138
|
}
|
|
154
139
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
140
|
+
var headJsonItem = headJson[key];
|
|
141
|
+
// 重置过期时间
|
|
158
142
|
if (headJsonItem) {
|
|
159
143
|
headJsonItem.storageTime = new Date().getTime();
|
|
160
144
|
headJsonItem.validity = num * (60 * 60 * 24);
|
|
161
145
|
}
|
|
162
|
-
|
|
163
146
|
return headJsonItem || {};
|
|
164
147
|
};
|
|
165
148
|
/**
|
|
@@ -167,7 +150,6 @@ var getLocalStorageSelectHead = function getLocalStorageSelectHead(key, num) {
|
|
|
167
150
|
* @param key {string} 键值
|
|
168
151
|
* @param val {HeadLocalStorageItem} 保存值
|
|
169
152
|
* */
|
|
170
|
-
|
|
171
153
|
var setLocalStorageSelectHead = function setLocalStorageSelectHead(key, val) {
|
|
172
154
|
var headJsonStr = window.localStorage.getItem('_paraui_table_head') || '{}';
|
|
173
155
|
var headJson = JSON.parse(headJsonStr);
|
|
@@ -179,18 +161,14 @@ var setLocalStorageSelectHead = function setLocalStorageSelectHead(key, val) {
|
|
|
179
161
|
* @param el 当前元素
|
|
180
162
|
* @param selector 查找元素class
|
|
181
163
|
*/
|
|
182
|
-
|
|
183
164
|
var closest = function closest(el, selector) {
|
|
184
165
|
var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
|
|
185
|
-
|
|
186
166
|
while (el) {
|
|
187
167
|
if (matchesSelector.call(el, selector)) {
|
|
188
168
|
break;
|
|
189
169
|
}
|
|
190
|
-
|
|
191
170
|
el = el.parentElement;
|
|
192
171
|
}
|
|
193
|
-
|
|
194
172
|
return el;
|
|
195
173
|
};
|
|
196
174
|
|
|
@@ -199,16 +177,14 @@ styleInject(css_248z$7);
|
|
|
199
177
|
|
|
200
178
|
var TableHeadElement = function TableHeadElement(props) {
|
|
201
179
|
var className = props.className,
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
180
|
+
style = props.style,
|
|
181
|
+
children = props.children,
|
|
182
|
+
otherProps = __rest(props, ["className", "style", "children"]);
|
|
206
183
|
var handClass = function handClass() {
|
|
207
184
|
var str = 'table-head-element';
|
|
208
185
|
if (className) str += ' ' + className;
|
|
209
186
|
return str;
|
|
210
187
|
};
|
|
211
|
-
|
|
212
188
|
return jsx("thead", Object.assign({
|
|
213
189
|
className: handClass(),
|
|
214
190
|
style: style
|
|
@@ -222,16 +198,14 @@ styleInject(css_248z$6);
|
|
|
222
198
|
|
|
223
199
|
var TrElement = function TrElement(props) {
|
|
224
200
|
var className = props.className,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
201
|
+
style = props.style,
|
|
202
|
+
children = props.children,
|
|
203
|
+
otherProps = __rest(props, ["className", "style", "children"]);
|
|
229
204
|
var handClass = function handClass() {
|
|
230
205
|
var str = 'tr-element';
|
|
231
206
|
if (className) str += ' ' + className;
|
|
232
207
|
return str;
|
|
233
208
|
};
|
|
234
|
-
|
|
235
209
|
return jsx("tr", Object.assign({
|
|
236
210
|
className: handClass(),
|
|
237
211
|
style: style
|
|
@@ -245,15 +219,14 @@ styleInject(css_248z$5);
|
|
|
245
219
|
|
|
246
220
|
var ThElement = function ThElement(props) {
|
|
247
221
|
var className = props.className,
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
222
|
+
style = props.style,
|
|
223
|
+
children = props.children,
|
|
224
|
+
draggable = props.draggable,
|
|
225
|
+
_props$lineWidth = props.lineWidth,
|
|
226
|
+
lineWidth = _props$lineWidth === void 0 ? 80 : _props$lineWidth,
|
|
227
|
+
headCell = props.headCell,
|
|
228
|
+
onDragDown = props.onDragDown,
|
|
229
|
+
otherProps = __rest(props, ["className", "style", "children", "draggable", "lineWidth", "headCell", "onDragDown"]);
|
|
257
230
|
var domRef = useRef(null);
|
|
258
231
|
var constData = useRef({
|
|
259
232
|
startX: 0,
|
|
@@ -262,47 +235,39 @@ var ThElement = function ThElement(props) {
|
|
|
262
235
|
tableContainer: null,
|
|
263
236
|
lineDom: null,
|
|
264
237
|
th: null
|
|
265
|
-
});
|
|
266
|
-
|
|
238
|
+
});
|
|
239
|
+
// 处理最小宽度
|
|
267
240
|
var handMinWidth = function handMinWidth(e) {
|
|
268
|
-
var minWidth = lineWidth;
|
|
269
|
-
|
|
241
|
+
var minWidth = lineWidth;
|
|
242
|
+
// 自身设置列宽度小于默认列宽度,最小取自身的
|
|
270
243
|
if (headCell === null || headCell === void 0 ? void 0 : headCell.width) {
|
|
271
244
|
var width = getStringInNumber(headCell.width);
|
|
272
245
|
if (width < minWidth) minWidth = width;
|
|
273
246
|
}
|
|
274
|
-
|
|
275
247
|
var thWidth = constData.current.th.offsetWidth; // th宽度
|
|
276
|
-
|
|
277
248
|
var moveX = e.clientX - constData.current.startX; // 移动的位置
|
|
278
|
-
|
|
279
249
|
var handWidth = thWidth + moveX;
|
|
280
250
|
var initX = constData.current.th.offsetLeft + thWidth;
|
|
281
|
-
var left = initX + moveX;
|
|
282
|
-
|
|
251
|
+
var left = initX + moveX;
|
|
252
|
+
// 移动以后的宽度小于最小宽度,取最小宽度
|
|
283
253
|
if (handWidth < minWidth) {
|
|
284
254
|
// 超出大小限制
|
|
285
255
|
handWidth = minWidth;
|
|
286
256
|
left = constData.current.th.offsetLeft + handWidth;
|
|
287
257
|
}
|
|
288
|
-
|
|
289
258
|
return {
|
|
290
259
|
width: handWidth,
|
|
291
260
|
left: left // 定位线居左距离
|
|
292
|
-
|
|
293
261
|
};
|
|
294
|
-
};
|
|
295
|
-
|
|
296
|
-
|
|
262
|
+
};
|
|
263
|
+
// 鼠标移动事件
|
|
297
264
|
var mousemove = function mousemove(e) {
|
|
298
265
|
var result = handMinWidth(e);
|
|
299
266
|
constData.current.lineDom.style.left = result.left + 'px';
|
|
300
|
-
};
|
|
301
|
-
|
|
302
|
-
|
|
267
|
+
};
|
|
268
|
+
// 鼠标抬起
|
|
303
269
|
var mouseup = function mouseup(e) {
|
|
304
270
|
var _a, _b;
|
|
305
|
-
|
|
306
271
|
var dom = domRef.current;
|
|
307
272
|
var result = handMinWidth(e);
|
|
308
273
|
dom.style.width = result.width + 'px';
|
|
@@ -311,12 +276,10 @@ var ThElement = function ThElement(props) {
|
|
|
311
276
|
onDragDown && onDragDown(result);
|
|
312
277
|
window.removeEventListener('mousemove', mousemove);
|
|
313
278
|
window.removeEventListener('mouseup', mouseup);
|
|
314
|
-
};
|
|
315
|
-
|
|
316
|
-
|
|
279
|
+
};
|
|
280
|
+
// 鼠标按下
|
|
317
281
|
var onMouseDown = function onMouseDown(e) {
|
|
318
282
|
var _a;
|
|
319
|
-
|
|
320
283
|
constData.current.startX = e.clientX;
|
|
321
284
|
constData.current.table = closest(domRef.current, ".".concat($prefixCls, "-table"));
|
|
322
285
|
constData.current.tableContainer = closest(domRef.current, ".".concat($prefixCls, "-table .table-container"));
|
|
@@ -327,41 +290,35 @@ var ThElement = function ThElement(props) {
|
|
|
327
290
|
window.addEventListener('mouseup', mouseup);
|
|
328
291
|
};
|
|
329
292
|
/** 添加定位线 */
|
|
330
|
-
|
|
331
|
-
|
|
332
293
|
var appendLine = function appendLine() {
|
|
333
294
|
if (!constData.current.tableContainer || !constData.current.th) return;
|
|
334
295
|
var tableDom = closest(domRef.current, ".".concat($prefixCls, "-table .table-container table"));
|
|
335
296
|
var tableContainerHeight = constData.current.tableContainer.offsetHeight;
|
|
336
297
|
var tableDomHeight = tableDom.offsetHeight;
|
|
337
298
|
var div = document.createElement('div');
|
|
338
|
-
div.setAttribute('class', 'table-pos-line');
|
|
339
|
-
|
|
340
|
-
div.style.height = (tableDomHeight > tableContainerHeight ? tableContainerHeight : tableDomHeight) + 'px';
|
|
341
|
-
|
|
299
|
+
div.setAttribute('class', 'table-pos-line');
|
|
300
|
+
// 定位线高度
|
|
301
|
+
div.style.height = (tableDomHeight > tableContainerHeight ? tableContainerHeight : tableDomHeight) + 'px';
|
|
302
|
+
// 定位线的居左距离
|
|
342
303
|
div.style.left = constData.current.th.offsetLeft + constData.current.th.offsetWidth + 'px';
|
|
343
304
|
constData.current.lineDom = div;
|
|
344
305
|
constData.current.tableContainer.appendChild(div);
|
|
345
306
|
};
|
|
346
307
|
/** 拖动元素 */
|
|
347
|
-
|
|
348
|
-
|
|
349
308
|
var handDrag = function handDrag() {
|
|
350
309
|
if (!draggable) return null;
|
|
351
310
|
return jsx("div", {
|
|
352
311
|
className: "th-element-draggable-box",
|
|
353
312
|
onMouseDown: onMouseDown
|
|
354
313
|
});
|
|
355
|
-
};
|
|
356
|
-
|
|
357
|
-
|
|
314
|
+
};
|
|
315
|
+
// 处理className
|
|
358
316
|
var handClass = function handClass() {
|
|
359
317
|
var str = 'th-element';
|
|
360
318
|
if (draggable) str += ' th-element-draggable';
|
|
361
319
|
if (className) str += ' ' + className;
|
|
362
320
|
return str;
|
|
363
321
|
};
|
|
364
|
-
|
|
365
322
|
return jsxs("th", Object.assign({
|
|
366
323
|
className: handClass(),
|
|
367
324
|
style: style
|
|
@@ -395,87 +352,72 @@ var localeJson = {
|
|
|
395
352
|
|
|
396
353
|
var TableHead$1 = function TableHead(props) {
|
|
397
354
|
var _props$headData = props.headData,
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
355
|
+
headData = _props$headData === void 0 ? [] : _props$headData,
|
|
356
|
+
sortTable = props.sortTable,
|
|
357
|
+
filter = props.filter,
|
|
358
|
+
expandable = props.expandable,
|
|
359
|
+
check = props.check,
|
|
360
|
+
radio = props.radio,
|
|
361
|
+
onRequestSort = props.onRequestSort,
|
|
362
|
+
_props$orderFieldArr = props.orderFieldArr,
|
|
363
|
+
orderFieldArr = _props$orderFieldArr === void 0 ? [] : _props$orderFieldArr,
|
|
364
|
+
_props$orderTypeArr = props.orderTypeArr,
|
|
365
|
+
orderTypeArr = _props$orderTypeArr === void 0 ? [] : _props$orderTypeArr,
|
|
366
|
+
selectAll = props.selectAll,
|
|
367
|
+
selectStatus = props.selectStatus,
|
|
368
|
+
align = props.align,
|
|
369
|
+
_props$showList = props.showList,
|
|
370
|
+
showList = _props$showList === void 0 ? [] : _props$showList,
|
|
371
|
+
changeShowList = props.changeShowList,
|
|
372
|
+
selectFilter = props.selectFilter,
|
|
373
|
+
changeFilter = props.changeFilter,
|
|
374
|
+
operate = props.operate,
|
|
375
|
+
showColumns = props.showColumns,
|
|
376
|
+
fixedTable = props.fixedTable,
|
|
377
|
+
fixedColumn = props.fixedColumn,
|
|
378
|
+
posFixed = props.posFixed,
|
|
379
|
+
beyondText = props.beyondText,
|
|
380
|
+
lineWidth = props.lineWidth,
|
|
381
|
+
dragColumn = props.dragColumn,
|
|
382
|
+
changeColumnWidth = props.changeColumnWidth,
|
|
383
|
+
headDataConfig = props.headDataConfig;
|
|
428
384
|
var _useState = useState(false),
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
385
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
386
|
+
indeterminate = _useState2[0],
|
|
387
|
+
setIndeterminate = _useState2[1]; // 半选中
|
|
434
388
|
var _useState3 = useState(false),
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
389
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
390
|
+
checked = _useState4[0],
|
|
391
|
+
setChecked = _useState4[1]; // 选中
|
|
440
392
|
var _useState5 = useState(null),
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
393
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
394
|
+
anchorElColums = _useState6[0],
|
|
395
|
+
setAnchorElColums = _useState6[1]; // 显示列定位元素
|
|
446
396
|
var _useState7 = useState({}),
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
397
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
398
|
+
headDataJson = _useState8[0],
|
|
399
|
+
setHeadDataJson = _useState8[1]; // 显示列json
|
|
452
400
|
var _useState9 = useState({}),
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
401
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
402
|
+
filterHead = _useState10[0],
|
|
403
|
+
setFilterHead = _useState10[1]; // 过滤项当前表头数据
|
|
458
404
|
var _useState11 = useState({}),
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
405
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
406
|
+
selectFilterCom = _useState12[0],
|
|
407
|
+
setSelectFilterCom = _useState12[1]; // 过滤项当前选中值
|
|
464
408
|
var intl = useFormatMessage('Table', localeJson);
|
|
465
409
|
useEffect(function () {
|
|
466
410
|
// 全选
|
|
467
411
|
if (selectStatus === 'all') {
|
|
468
412
|
setChecked(true);
|
|
469
413
|
setIndeterminate(false);
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
|
|
414
|
+
}
|
|
415
|
+
// 半选
|
|
473
416
|
if (selectStatus === 'half') {
|
|
474
417
|
setChecked(false);
|
|
475
418
|
setIndeterminate(true);
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
|
|
419
|
+
}
|
|
420
|
+
// 不选
|
|
479
421
|
if (selectStatus === 'not') {
|
|
480
422
|
setChecked(false);
|
|
481
423
|
setIndeterminate(false);
|
|
@@ -484,12 +426,10 @@ var TableHead$1 = function TableHead(props) {
|
|
|
484
426
|
useEffect(function () {
|
|
485
427
|
if (headData) {
|
|
486
428
|
var json = [];
|
|
487
|
-
|
|
488
429
|
for (var i = 0, l = headData.length; i < l; i++) {
|
|
489
430
|
var item = headData[i];
|
|
490
431
|
json[item.name] = item;
|
|
491
432
|
}
|
|
492
|
-
|
|
493
433
|
setHeadDataJson(json);
|
|
494
434
|
}
|
|
495
435
|
}, [headData]);
|
|
@@ -501,7 +441,6 @@ var TableHead$1 = function TableHead(props) {
|
|
|
501
441
|
* @param name 排序列
|
|
502
442
|
* @param event 当前排序元素
|
|
503
443
|
*/
|
|
504
|
-
|
|
505
444
|
var createSortHandler = function createSortHandler(name, item) {
|
|
506
445
|
return function (event) {
|
|
507
446
|
// 不存在排序,不触发事件
|
|
@@ -514,8 +453,6 @@ var TableHead$1 = function TableHead(props) {
|
|
|
514
453
|
* @param event 操作元素
|
|
515
454
|
* @param bol 选中 / 不选中
|
|
516
455
|
*/
|
|
517
|
-
|
|
518
|
-
|
|
519
456
|
var onSelectAll = function onSelectAll(event, bol) {
|
|
520
457
|
if (selectAll) selectAll(event, bol);
|
|
521
458
|
};
|
|
@@ -523,13 +460,10 @@ var TableHead$1 = function TableHead(props) {
|
|
|
523
460
|
* 点击显示选择列
|
|
524
461
|
* @param event 点击元素
|
|
525
462
|
*/
|
|
526
|
-
|
|
527
|
-
|
|
528
463
|
var clickShowColums = function clickShowColums(event) {
|
|
529
464
|
setAnchorElColums(event.currentTarget);
|
|
530
|
-
};
|
|
531
|
-
|
|
532
|
-
|
|
465
|
+
};
|
|
466
|
+
// 点击隐藏选择列
|
|
533
467
|
var clickHideColums = function clickHideColums(bol) {
|
|
534
468
|
if (bol) return;
|
|
535
469
|
setAnchorElColums(null);
|
|
@@ -538,33 +472,27 @@ var TableHead$1 = function TableHead(props) {
|
|
|
538
472
|
* 点击显示列 列表
|
|
539
473
|
* @param item 详细
|
|
540
474
|
*/
|
|
541
|
-
|
|
542
|
-
|
|
543
475
|
var clickColumsList = function clickColumsList(item) {
|
|
544
476
|
return function () {
|
|
545
477
|
var name = item.name;
|
|
546
478
|
var itemHead = headDataJson[name];
|
|
547
|
-
|
|
548
479
|
if (itemHead) {
|
|
549
480
|
// 取消勾选
|
|
550
481
|
delete headDataJson[name];
|
|
551
482
|
var arr = Object.keys(headDataJson);
|
|
552
483
|
var arr1 = [];
|
|
553
|
-
|
|
554
484
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
555
485
|
var _name = arr[i];
|
|
556
486
|
arr1.push(headDataJson[_name]);
|
|
557
487
|
}
|
|
558
|
-
|
|
559
488
|
changeShowList && changeShowList(arr1, false, item);
|
|
560
489
|
} else {
|
|
561
490
|
headData.push(item);
|
|
562
491
|
changeShowList && changeShowList(headData, false, item);
|
|
563
492
|
}
|
|
564
493
|
};
|
|
565
|
-
};
|
|
566
|
-
|
|
567
|
-
|
|
494
|
+
};
|
|
495
|
+
// 重置显示列
|
|
568
496
|
var resetShowList = function resetShowList() {
|
|
569
497
|
changeShowList && changeShowList(headData, true);
|
|
570
498
|
};
|
|
@@ -573,29 +501,24 @@ var TableHead$1 = function TableHead(props) {
|
|
|
573
501
|
* @param headCell 当前列信息
|
|
574
502
|
* @param event 元素
|
|
575
503
|
*/
|
|
576
|
-
|
|
577
|
-
|
|
578
504
|
var clickShowFilter = function clickShowFilter(headCell) {
|
|
579
505
|
return function (event) {
|
|
580
506
|
setFilterHead(headCell);
|
|
581
507
|
setSelectFilterCom(Object.assign({}, selectFilter));
|
|
582
508
|
};
|
|
583
|
-
};
|
|
584
|
-
|
|
585
|
-
|
|
509
|
+
};
|
|
510
|
+
// 点击隐藏过滤
|
|
586
511
|
var clickHideFilter = function clickHideFilter(bol) {
|
|
587
512
|
if (bol) return;
|
|
588
513
|
setFilterHead({});
|
|
589
514
|
setSelectFilterCom(Object.assign({}, selectFilter));
|
|
590
|
-
};
|
|
591
|
-
|
|
592
|
-
|
|
515
|
+
};
|
|
516
|
+
// 点击过滤
|
|
593
517
|
var clickFilter = function clickFilter(item) {
|
|
594
518
|
return function () {
|
|
595
519
|
var name = filterHead.name;
|
|
596
520
|
var filterValue = DeepClone(selectFilterCom[name] || []);
|
|
597
521
|
var index = filterValue.indexOf(item.value);
|
|
598
|
-
|
|
599
522
|
if (index !== -1) {
|
|
600
523
|
// 勾选 -> 不勾选
|
|
601
524
|
filterValue.splice(index, 1);
|
|
@@ -603,18 +526,14 @@ var TableHead$1 = function TableHead(props) {
|
|
|
603
526
|
// 不勾选 -> 勾选
|
|
604
527
|
filterValue.push(item.value);
|
|
605
528
|
}
|
|
606
|
-
|
|
607
529
|
var filterRadio = filterHead.filterRadio;
|
|
608
|
-
|
|
609
530
|
if (filterRadio) {
|
|
610
531
|
// 过滤单个
|
|
611
532
|
var num = filterValue.indexOf(item.value);
|
|
612
|
-
|
|
613
533
|
if (num !== -1) {
|
|
614
534
|
filterValue = [filterValue[num]];
|
|
615
535
|
}
|
|
616
536
|
}
|
|
617
|
-
|
|
618
537
|
selectFilterCom[name] = filterValue;
|
|
619
538
|
setSelectFilterCom(Object.assign({}, selectFilterCom));
|
|
620
539
|
};
|
|
@@ -623,8 +542,6 @@ var TableHead$1 = function TableHead(props) {
|
|
|
623
542
|
* 重置 / 确定过滤
|
|
624
543
|
* @param type {'reset' | 'confirm'} 重置 / 确定过滤
|
|
625
544
|
*/
|
|
626
|
-
|
|
627
|
-
|
|
628
545
|
var filterFunc = function filterFunc(type) {
|
|
629
546
|
return function () {
|
|
630
547
|
if (type === 'confirm') {
|
|
@@ -643,53 +560,43 @@ var TableHead$1 = function TableHead(props) {
|
|
|
643
560
|
* 处理TableCell
|
|
644
561
|
* @param item 当前列信息
|
|
645
562
|
*/
|
|
646
|
-
|
|
647
|
-
|
|
648
563
|
var handCellClass = function handCellClass(item) {
|
|
649
|
-
var str = 'table-header-box';
|
|
650
|
-
|
|
564
|
+
var str = 'table-header-box';
|
|
565
|
+
// 排序
|
|
651
566
|
if (sortTable && item.name && item.sort !== false) {
|
|
652
567
|
str += ' table-header-box-sort';
|
|
653
568
|
var index = orderFieldArr.indexOf(item.name);
|
|
654
|
-
|
|
655
569
|
if (index !== -1) {
|
|
656
570
|
// 升序
|
|
657
571
|
if (orderTypeArr[index] === 'asc') {
|
|
658
572
|
str += ' table-header-box-sort-asc';
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
|
|
573
|
+
}
|
|
574
|
+
// 降序
|
|
662
575
|
if (orderTypeArr[index] === 'desc') {
|
|
663
576
|
str += ' table-header-box-sort-desc';
|
|
664
577
|
}
|
|
665
578
|
}
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
|
|
579
|
+
}
|
|
580
|
+
// 过滤
|
|
669
581
|
if (filter && item.name && item.filter) {
|
|
670
582
|
str += ' table-header-box-filter';
|
|
671
583
|
}
|
|
672
|
-
|
|
673
584
|
return str;
|
|
674
|
-
};
|
|
675
|
-
|
|
676
|
-
|
|
585
|
+
};
|
|
586
|
+
// 复选框memo
|
|
677
587
|
var TableCheckMemo = useMemo(function () {
|
|
678
588
|
if (check) {
|
|
679
589
|
var handCls = function handCls() {
|
|
680
590
|
var str = 'table-checkbox table-head-btn';
|
|
681
|
-
|
|
682
591
|
if (fixedColumn) {
|
|
683
|
-
str += ' table-fixed-dom-left';
|
|
684
|
-
|
|
592
|
+
str += ' table-fixed-dom-left';
|
|
593
|
+
// 左边没有定位,且没有单选,没有嵌套表格
|
|
685
594
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.leftBol) && !radio && !expandable) {
|
|
686
595
|
str += ' table-fixed-dom-left-last';
|
|
687
596
|
}
|
|
688
597
|
}
|
|
689
|
-
|
|
690
598
|
return str;
|
|
691
599
|
};
|
|
692
|
-
|
|
693
600
|
return jsx(ThElement, Object.assign({
|
|
694
601
|
align: "center",
|
|
695
602
|
className: handCls(),
|
|
@@ -706,24 +613,21 @@ var TableHead$1 = function TableHead(props) {
|
|
|
706
613
|
}))
|
|
707
614
|
}));
|
|
708
615
|
}
|
|
709
|
-
}, [check, indeterminate, checked, selectAll, posFixed, radio, expandable, fixedColumn]);
|
|
710
|
-
|
|
616
|
+
}, [check, indeterminate, checked, selectAll, posFixed, radio, expandable, fixedColumn]);
|
|
617
|
+
// 单选框memo
|
|
711
618
|
var TableRadioMemo = useMemo(function () {
|
|
712
619
|
if (radio) {
|
|
713
620
|
var handCls = function handCls() {
|
|
714
621
|
var str = 'table-radio table-head-btn';
|
|
715
|
-
|
|
716
622
|
if (fixedColumn) {
|
|
717
|
-
str += ' table-fixed-dom-left';
|
|
718
|
-
|
|
623
|
+
str += ' table-fixed-dom-left';
|
|
624
|
+
// 左边没有定位,没有嵌套表格
|
|
719
625
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.leftBol) && !expandable) {
|
|
720
626
|
str += ' table-fixed-dom-left-last';
|
|
721
627
|
}
|
|
722
628
|
}
|
|
723
|
-
|
|
724
629
|
return str;
|
|
725
630
|
};
|
|
726
|
-
|
|
727
631
|
return jsx(ThElement, Object.assign({
|
|
728
632
|
align: "center",
|
|
729
633
|
className: handCls(),
|
|
@@ -734,24 +638,21 @@ var TableHead$1 = function TableHead(props) {
|
|
|
734
638
|
})
|
|
735
639
|
}));
|
|
736
640
|
}
|
|
737
|
-
}, [radio, posFixed, expandable, fixedColumn]);
|
|
738
|
-
|
|
641
|
+
}, [radio, posFixed, expandable, fixedColumn]);
|
|
642
|
+
// 嵌套表格memo
|
|
739
643
|
var TableExpandableMemo = useMemo(function () {
|
|
740
644
|
if (expandable) {
|
|
741
645
|
var handCls = function handCls() {
|
|
742
646
|
var str = 'table-expandable table-head-btn';
|
|
743
|
-
|
|
744
647
|
if (fixedColumn) {
|
|
745
|
-
str += ' table-fixed-dom-left';
|
|
746
|
-
|
|
648
|
+
str += ' table-fixed-dom-left';
|
|
649
|
+
// 左边没有定位,没有嵌套表格
|
|
747
650
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.leftBol)) {
|
|
748
651
|
str += ' table-fixed-dom-left-last';
|
|
749
652
|
}
|
|
750
653
|
}
|
|
751
|
-
|
|
752
654
|
return str;
|
|
753
655
|
};
|
|
754
|
-
|
|
755
656
|
return jsx(ThElement, Object.assign({
|
|
756
657
|
align: "center",
|
|
757
658
|
className: handCls(),
|
|
@@ -762,8 +663,8 @@ var TableHead$1 = function TableHead(props) {
|
|
|
762
663
|
})
|
|
763
664
|
}));
|
|
764
665
|
}
|
|
765
|
-
}, [expandable, posFixed, fixedColumn]);
|
|
766
|
-
|
|
666
|
+
}, [expandable, posFixed, fixedColumn]);
|
|
667
|
+
// 过滤弹窗内容
|
|
767
668
|
var filterPopoverContent = function filterPopoverContent() {
|
|
768
669
|
return jsxs("div", Object.assign({
|
|
769
670
|
className: "filter-select"
|
|
@@ -811,25 +712,22 @@ var TableHead$1 = function TableHead(props) {
|
|
|
811
712
|
}))]
|
|
812
713
|
}))]
|
|
813
714
|
}));
|
|
814
|
-
};
|
|
815
|
-
|
|
816
|
-
|
|
715
|
+
};
|
|
716
|
+
// 表格列拖拽放下
|
|
817
717
|
var onDragDown = function onDragDown(headCell) {
|
|
818
718
|
return function (result) {
|
|
819
719
|
changeColumnWidth && changeColumnWidth(headCell, result);
|
|
820
720
|
};
|
|
821
|
-
};
|
|
822
|
-
|
|
823
|
-
|
|
721
|
+
};
|
|
722
|
+
// 获取宽度
|
|
824
723
|
var getWidth = function getWidth(item) {
|
|
825
724
|
var w = item.width || '';
|
|
826
725
|
var name = item.name || '';
|
|
827
726
|
var wDrag = headDataConfig[name] && headDataConfig[name].width;
|
|
828
727
|
if (wDrag) w = wDrag + 'px';
|
|
829
728
|
return w;
|
|
830
|
-
};
|
|
831
|
-
|
|
832
|
-
|
|
729
|
+
};
|
|
730
|
+
// 内容列memo
|
|
833
731
|
var TableContentMemo = useMemo(function () {
|
|
834
732
|
// 处理过滤的class
|
|
835
733
|
var handFilterClass = function handFilterClass(item) {
|
|
@@ -838,46 +736,37 @@ var TableHead$1 = function TableHead(props) {
|
|
|
838
736
|
if (item.name && selectFilterCom[item.name] && selectFilterCom[item.name].length > 0) str += ' table-header-filter-select';
|
|
839
737
|
return str;
|
|
840
738
|
};
|
|
841
|
-
|
|
842
739
|
var handCls = function handCls(item) {
|
|
843
740
|
var str = '';
|
|
844
741
|
if (item.className) str += item.className;
|
|
845
|
-
|
|
846
742
|
if (fixedColumn && item.fixed) {
|
|
847
|
-
str += ' table-fixed-dom-' + item.fixed;
|
|
848
|
-
|
|
743
|
+
str += ' table-fixed-dom-' + item.fixed;
|
|
744
|
+
// 固定左边,判断是否是最后一个
|
|
849
745
|
if (item.fixed === 'left' && item.paraui_fixed_left_last) {
|
|
850
746
|
str += ' table-fixed-dom-left-last';
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
|
|
747
|
+
}
|
|
748
|
+
// 固定右边,判断是否是第一个
|
|
854
749
|
if (item.fixed === 'right' && item.paraui_fixed_right_first) {
|
|
855
750
|
str += ' table-fixed-dom-right-first';
|
|
856
751
|
}
|
|
857
752
|
}
|
|
858
|
-
|
|
859
753
|
return str;
|
|
860
754
|
};
|
|
861
|
-
|
|
862
755
|
var handStyle = function handStyle(item) {
|
|
863
756
|
var json = {
|
|
864
757
|
width: getWidth(item)
|
|
865
758
|
};
|
|
866
|
-
|
|
867
759
|
if (fixedColumn && item.fixed && item.width) {
|
|
868
760
|
if (item.fixed === 'left') {
|
|
869
761
|
json.left = item.paraui_left_width + 'px';
|
|
870
762
|
}
|
|
871
|
-
|
|
872
763
|
if (item.fixed === 'right') {
|
|
873
764
|
json.right = item.paraui_right_width + 'px';
|
|
874
765
|
}
|
|
875
766
|
}
|
|
876
|
-
|
|
877
767
|
return Object.assign(Object.assign({}, json), item.style);
|
|
878
|
-
};
|
|
879
|
-
|
|
880
|
-
|
|
768
|
+
};
|
|
769
|
+
// 处理过滤
|
|
881
770
|
var handFilterPopover = function handFilterPopover(item) {
|
|
882
771
|
return jsx(Popover, Object.assign({
|
|
883
772
|
placement: "bottom-end",
|
|
@@ -895,16 +784,13 @@ var TableHead$1 = function TableHead(props) {
|
|
|
895
784
|
})
|
|
896
785
|
}))
|
|
897
786
|
}));
|
|
898
|
-
};
|
|
899
|
-
|
|
900
|
-
|
|
787
|
+
};
|
|
788
|
+
// 处理拖拽
|
|
901
789
|
var handDrag = function handDrag(item) {
|
|
902
790
|
if (item.name === 'table-serial-number') return false; // 序号不拖拽
|
|
903
|
-
|
|
904
791
|
if (dragColumn && item.drag !== false) return true;
|
|
905
792
|
return false;
|
|
906
793
|
};
|
|
907
|
-
|
|
908
794
|
return headData.map(function (headCell, index) {
|
|
909
795
|
return jsx(ThElement, Object.assign({
|
|
910
796
|
className: handCls(headCell),
|
|
@@ -946,37 +832,31 @@ var TableHead$1 = function TableHead(props) {
|
|
|
946
832
|
}))
|
|
947
833
|
}), headCell.name || index);
|
|
948
834
|
});
|
|
949
|
-
}, [headData, sortTable, filter, orderFieldArr, orderTypeArr, align, filterHead, selectFilterCom, beyondText, selectFilter, fixedColumn, lineWidth, dragColumn, changeColumnWidth, headDataConfig]);
|
|
950
|
-
|
|
835
|
+
}, [headData, sortTable, filter, orderFieldArr, orderTypeArr, align, filterHead, selectFilterCom, beyondText, selectFilter, fixedColumn, lineWidth, dragColumn, changeColumnWidth, headDataConfig]);
|
|
836
|
+
// 操作栏memo
|
|
951
837
|
var TableOperateMemo = useMemo(function () {
|
|
952
838
|
if (operate) {
|
|
953
839
|
var handCls = function handCls() {
|
|
954
840
|
var str = 'table-operate';
|
|
955
841
|
if (operate.operateBtnRender) str += ' table-operate-small';
|
|
956
|
-
|
|
957
842
|
if (fixedColumn) {
|
|
958
|
-
str += ' table-fixed-dom-right';
|
|
959
|
-
|
|
843
|
+
str += ' table-fixed-dom-right';
|
|
844
|
+
// 存在显示列,且没有右侧固定列
|
|
960
845
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.rightBol)) {
|
|
961
846
|
str += ' table-fixed-dom-right-first';
|
|
962
847
|
}
|
|
963
848
|
}
|
|
964
|
-
|
|
965
849
|
return str;
|
|
966
850
|
};
|
|
967
|
-
|
|
968
851
|
var handStyle = function handStyle() {
|
|
969
852
|
var json = {
|
|
970
853
|
width: operate.width
|
|
971
854
|
};
|
|
972
|
-
|
|
973
855
|
if (fixedColumn) {
|
|
974
856
|
json.right = showColumns === "inside" ? '56px' : '0px';
|
|
975
857
|
}
|
|
976
|
-
|
|
977
858
|
return Object.assign(Object.assign({}, json), operate.style);
|
|
978
859
|
};
|
|
979
|
-
|
|
980
860
|
return jsx(ThElement, Object.assign({
|
|
981
861
|
align: operate.align || align,
|
|
982
862
|
style: handStyle(),
|
|
@@ -1002,8 +882,8 @@ var TableHead$1 = function TableHead(props) {
|
|
|
1002
882
|
}))
|
|
1003
883
|
}));
|
|
1004
884
|
}
|
|
1005
|
-
}, [operate, align, posFixed, showColumns, posFixed, beyondText, fixedColumn]);
|
|
1006
|
-
|
|
885
|
+
}, [operate, align, posFixed, showColumns, posFixed, beyondText, fixedColumn]);
|
|
886
|
+
// 显示列弹窗内容
|
|
1007
887
|
var showListContent = function showListContent() {
|
|
1008
888
|
return jsxs("div", Object.assign({
|
|
1009
889
|
className: "show-colums-select"
|
|
@@ -1039,20 +919,17 @@ var TableHead$1 = function TableHead(props) {
|
|
|
1039
919
|
}))
|
|
1040
920
|
}))]
|
|
1041
921
|
}));
|
|
1042
|
-
};
|
|
1043
|
-
|
|
1044
|
-
|
|
922
|
+
};
|
|
923
|
+
// 显示列memo
|
|
1045
924
|
var TableShowList = useMemo(function () {
|
|
1046
925
|
var handCls = function handCls() {
|
|
1047
|
-
var str = 'show-colums table-fixed-dom-right';
|
|
1048
|
-
|
|
926
|
+
var str = 'show-colums table-fixed-dom-right';
|
|
927
|
+
// 没有固定列参数 或者 没有操作栏且没有右侧固定列
|
|
1049
928
|
if (!fixedColumn || !operate && !(posFixed === null || posFixed === void 0 ? void 0 : posFixed.rightBol)) {
|
|
1050
929
|
str += ' table-fixed-dom-right-first';
|
|
1051
930
|
}
|
|
1052
|
-
|
|
1053
931
|
return str;
|
|
1054
932
|
};
|
|
1055
|
-
|
|
1056
933
|
return showColumns === 'inside' && jsx(Popover, Object.assign({
|
|
1057
934
|
placement: "bottom-end",
|
|
1058
935
|
visible: Boolean(anchorElColums),
|
|
@@ -1073,18 +950,16 @@ var TableHead$1 = function TableHead(props) {
|
|
|
1073
950
|
}))
|
|
1074
951
|
}))
|
|
1075
952
|
}));
|
|
1076
|
-
}, [showColumns, posFixed, operate, anchorElColums, showList, headDataJson]);
|
|
1077
|
-
|
|
953
|
+
}, [showColumns, posFixed, operate, anchorElColums, showList, headDataJson]);
|
|
954
|
+
// 处理class
|
|
1078
955
|
var handClass = function handClass() {
|
|
1079
956
|
var str = 'table-head';
|
|
1080
957
|
if (showColumns === 'inside') str += ' table-head-inside';
|
|
1081
958
|
if (!fixedTable) str += ' table-head-scroll'; // 防止长度过长
|
|
1082
959
|
// 没有 复选框,单选框,展开 按钮
|
|
1083
|
-
|
|
1084
960
|
if (!check && !radio && !expandable) str += ' table-head-no-btn';
|
|
1085
961
|
return str;
|
|
1086
962
|
};
|
|
1087
|
-
|
|
1088
963
|
return jsx(TableHeadElement, Object.assign({
|
|
1089
964
|
className: handClass()
|
|
1090
965
|
}, {
|
|
@@ -1099,16 +974,14 @@ styleInject(css_248z$4);
|
|
|
1099
974
|
|
|
1100
975
|
var TableBodyElement = function TableBodyElement(props) {
|
|
1101
976
|
var className = props.className,
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
977
|
+
style = props.style,
|
|
978
|
+
children = props.children,
|
|
979
|
+
otherProps = __rest(props, ["className", "style", "children"]);
|
|
1106
980
|
var handClass = function handClass() {
|
|
1107
981
|
var str = 'table-body-element';
|
|
1108
982
|
if (className) str += ' ' + className;
|
|
1109
983
|
return str;
|
|
1110
984
|
};
|
|
1111
|
-
|
|
1112
985
|
return jsx("tbody", Object.assign({
|
|
1113
986
|
className: handClass(),
|
|
1114
987
|
style: style
|
|
@@ -1122,16 +995,14 @@ styleInject(css_248z$3);
|
|
|
1122
995
|
|
|
1123
996
|
var TdElement = function TdElement(props) {
|
|
1124
997
|
var className = props.className,
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
998
|
+
style = props.style,
|
|
999
|
+
children = props.children,
|
|
1000
|
+
otherProps = __rest(props, ["className", "style", "children"]);
|
|
1129
1001
|
var handClass = function handClass() {
|
|
1130
1002
|
var str = 'td-element';
|
|
1131
1003
|
if (className) str += ' ' + className;
|
|
1132
1004
|
return str;
|
|
1133
1005
|
};
|
|
1134
|
-
|
|
1135
1006
|
return jsx("td", Object.assign({
|
|
1136
1007
|
className: handClass(),
|
|
1137
1008
|
style: style
|
|
@@ -1142,94 +1013,83 @@ var TdElement = function TdElement(props) {
|
|
|
1142
1013
|
|
|
1143
1014
|
var TableBody = function TableBody(props) {
|
|
1144
1015
|
var url = props.url,
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1016
|
+
emptyProps = props.emptyProps,
|
|
1017
|
+
_props$rowData = props.rowData,
|
|
1018
|
+
rowData = _props$rowData === void 0 ? [] : _props$rowData,
|
|
1019
|
+
_props$rowKey = props.rowKey,
|
|
1020
|
+
rowKey = _props$rowKey === void 0 ? 'key' : _props$rowKey,
|
|
1021
|
+
check = props.check,
|
|
1022
|
+
radio = props.radio,
|
|
1023
|
+
tableCell = props.tableCell,
|
|
1024
|
+
expandable = props.expandable,
|
|
1025
|
+
_props$headData = props.headData,
|
|
1026
|
+
headData = _props$headData === void 0 ? [] : _props$headData,
|
|
1027
|
+
_props$disabledJson = props.disabledJson,
|
|
1028
|
+
disabledJson = _props$disabledJson === void 0 ? {} : _props$disabledJson,
|
|
1029
|
+
disabledArrStatus = props.disabledArrStatus,
|
|
1030
|
+
_props$checkJson = props.checkJson,
|
|
1031
|
+
checkJson = _props$checkJson === void 0 ? {} : _props$checkJson,
|
|
1032
|
+
radioValue = props.radioValue,
|
|
1033
|
+
selectCheck = props.selectCheck,
|
|
1034
|
+
selectRadio = props.selectRadio,
|
|
1035
|
+
align = props.align,
|
|
1036
|
+
operate = props.operate,
|
|
1037
|
+
showColumns = props.showColumns,
|
|
1038
|
+
fixedTable = props.fixedTable,
|
|
1039
|
+
fixedColumn = props.fixedColumn,
|
|
1040
|
+
formatter = props.formatter,
|
|
1041
|
+
_props$orderFieldArr = props.orderFieldArr,
|
|
1042
|
+
orderFieldArr = _props$orderFieldArr === void 0 ? [] : _props$orderFieldArr,
|
|
1043
|
+
_props$orderTypeArr = props.orderTypeArr,
|
|
1044
|
+
orderTypeArr = _props$orderTypeArr === void 0 ? [] : _props$orderTypeArr,
|
|
1045
|
+
sortTable = props.sortTable,
|
|
1046
|
+
loadState = props.loadState,
|
|
1047
|
+
loadMore = props.loadMore,
|
|
1048
|
+
loadMoreRender = props.loadMoreRender,
|
|
1049
|
+
onClickMore = props.onClickMore,
|
|
1050
|
+
total = props.total,
|
|
1051
|
+
page = props.page,
|
|
1052
|
+
currentRowsPerPage = props.currentRowsPerPage,
|
|
1053
|
+
changePage = props.changePage,
|
|
1054
|
+
loadMoreUrl = props.loadMoreUrl,
|
|
1055
|
+
_props$expandMultiple = props.expandMultiple,
|
|
1056
|
+
expandMultiple = _props$expandMultiple === void 0 ? false : _props$expandMultiple,
|
|
1057
|
+
_props$expandValue = props.expandValue,
|
|
1058
|
+
expandValue = _props$expandValue === void 0 ? [] : _props$expandValue,
|
|
1059
|
+
_props$disabledExpand = props.disabledExpand,
|
|
1060
|
+
disabledExpand = _props$disabledExpand === void 0 ? [] : _props$disabledExpand,
|
|
1061
|
+
_props$defaultExpandA = props.defaultExpandAllRows,
|
|
1062
|
+
defaultExpandAllRows = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
|
|
1063
|
+
onExpand = props.onExpand,
|
|
1064
|
+
_onRefresh = props.onRefresh,
|
|
1065
|
+
posFixed = props.posFixed,
|
|
1066
|
+
beyondText = props.beyondText,
|
|
1067
|
+
onClickRow = props.onClickRow,
|
|
1068
|
+
rowClassMapping = props.rowClassMapping;
|
|
1199
1069
|
var _useState = useState(0),
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1070
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1071
|
+
expandableColSpan = _useState2[0],
|
|
1072
|
+
setExpandableColSpan = _useState2[1]; // 嵌套表格合并列数
|
|
1205
1073
|
var _useState3 = useState({}),
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1074
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1075
|
+
expandableRow = _useState4[0],
|
|
1076
|
+
setExpandableRow = _useState4[1]; // 当前哪行展开表格嵌套
|
|
1211
1077
|
var _useState5 = useState(true),
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1078
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1079
|
+
showMoreBtn = _useState6[0],
|
|
1080
|
+
setShowMoreBtn = _useState6[1]; // 加载更多
|
|
1217
1081
|
var _useState7 = useState({}),
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
var intl = useFormatMessage('Table', localeJson); // 默认是否展开所有
|
|
1224
|
-
|
|
1082
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
1083
|
+
disabledExpandJson = _useState8[0],
|
|
1084
|
+
setDisabledExpand = _useState8[1]; // 禁用加减部分嵌套
|
|
1085
|
+
var intl = useFormatMessage('Table', localeJson);
|
|
1086
|
+
// 默认是否展开所有
|
|
1225
1087
|
useEffect(function () {
|
|
1226
1088
|
if (!defaultExpandAllRows) {
|
|
1227
1089
|
setExpandableRow({});
|
|
1228
1090
|
return;
|
|
1229
1091
|
}
|
|
1230
|
-
|
|
1231
1092
|
var json = {};
|
|
1232
|
-
|
|
1233
1093
|
for (var i = 0, l = rowData.length; i < l; i++) {
|
|
1234
1094
|
var item = rowData[i] || {};
|
|
1235
1095
|
var id = item[rowKey];
|
|
@@ -1238,20 +1098,18 @@ var TableBody = function TableBody(props) {
|
|
|
1238
1098
|
status: 'develop'
|
|
1239
1099
|
};
|
|
1240
1100
|
}
|
|
1241
|
-
|
|
1242
1101
|
setExpandableRow(json);
|
|
1243
|
-
}, [defaultExpandAllRows, rowData, rowKey]);
|
|
1102
|
+
}, [defaultExpandAllRows, rowData, rowKey]);
|
|
1103
|
+
// 监听展开表格
|
|
1244
1104
|
// 如果直接写expandMultiple, expandValue会死循环
|
|
1245
|
-
|
|
1246
1105
|
useEffect(function () {
|
|
1247
1106
|
if (props.expandValue === undefined) return;
|
|
1248
1107
|
var json = {};
|
|
1249
|
-
var expandValueHand = expandValue;
|
|
1250
|
-
|
|
1108
|
+
var expandValueHand = expandValue;
|
|
1109
|
+
// 只展开一个,去第一个值
|
|
1251
1110
|
if (!expandMultiple && expandValue.length > 0) {
|
|
1252
1111
|
expandValueHand = [expandValue[0]];
|
|
1253
1112
|
}
|
|
1254
|
-
|
|
1255
1113
|
for (var i = 0, l = expandValueHand.length; i < l; i++) {
|
|
1256
1114
|
var id = expandValueHand[i];
|
|
1257
1115
|
json[id] = {
|
|
@@ -1259,18 +1117,15 @@ var TableBody = function TableBody(props) {
|
|
|
1259
1117
|
status: 'develop'
|
|
1260
1118
|
};
|
|
1261
1119
|
}
|
|
1262
|
-
|
|
1263
1120
|
setExpandableRow(json);
|
|
1264
|
-
}, [props.expandMultiple, props.expandValue, rowData]);
|
|
1265
|
-
|
|
1121
|
+
}, [props.expandMultiple, props.expandValue, rowData]);
|
|
1122
|
+
// 监听禁用嵌套 props.disabledExpand 防止死循环
|
|
1266
1123
|
useEffect(function () {
|
|
1267
1124
|
var json = {};
|
|
1268
|
-
|
|
1269
1125
|
for (var i = 0, l = disabledExpand.length; i < l; i++) {
|
|
1270
1126
|
var id = disabledExpand[i];
|
|
1271
1127
|
json[id] = true;
|
|
1272
1128
|
}
|
|
1273
|
-
|
|
1274
1129
|
setDisabledExpand(json);
|
|
1275
1130
|
}, [props.disabledExpand]);
|
|
1276
1131
|
useEffect(function () {
|
|
@@ -1278,8 +1133,8 @@ var TableBody = function TableBody(props) {
|
|
|
1278
1133
|
var bol = Number(total) > Number(page) * Number(currentRowsPerPage);
|
|
1279
1134
|
setShowMoreBtn(bol);
|
|
1280
1135
|
}
|
|
1281
|
-
}, [loadMoreUrl, total, page, currentRowsPerPage]);
|
|
1282
|
-
|
|
1136
|
+
}, [loadMoreUrl, total, page, currentRowsPerPage]);
|
|
1137
|
+
// 处理嵌套表格合并列数
|
|
1283
1138
|
useEffect(function () {
|
|
1284
1139
|
var num = headData.length;
|
|
1285
1140
|
if (expandable) num += 1;
|
|
@@ -1288,8 +1143,8 @@ var TableBody = function TableBody(props) {
|
|
|
1288
1143
|
if (operate) num += 1;
|
|
1289
1144
|
if (showColumns === 'inside') num += 1;
|
|
1290
1145
|
setExpandableColSpan(num);
|
|
1291
|
-
}, [headData, expandable, check, radio]);
|
|
1292
|
-
|
|
1146
|
+
}, [headData, expandable, check, radio]);
|
|
1147
|
+
// 展开/收起嵌套表格
|
|
1293
1148
|
var handClickNestTable = function handClickNestTable(row) {
|
|
1294
1149
|
return function (event) {
|
|
1295
1150
|
var id = row[rowKey];
|
|
@@ -1300,7 +1155,6 @@ var TableBody = function TableBody(props) {
|
|
|
1300
1155
|
id: id,
|
|
1301
1156
|
status: status
|
|
1302
1157
|
};
|
|
1303
|
-
|
|
1304
1158
|
if (expandMultiple) {
|
|
1305
1159
|
// 展开多个
|
|
1306
1160
|
expandableRow[id] = expandItem;
|
|
@@ -1309,62 +1163,51 @@ var TableBody = function TableBody(props) {
|
|
|
1309
1163
|
// 展开一个
|
|
1310
1164
|
setExpandableRow(_defineProperty({}, id, expandItem));
|
|
1311
1165
|
}
|
|
1312
|
-
|
|
1313
1166
|
onExpand && onExpand(row, status);
|
|
1314
1167
|
event.stopPropagation();
|
|
1315
1168
|
};
|
|
1316
|
-
};
|
|
1317
|
-
|
|
1318
|
-
|
|
1169
|
+
};
|
|
1170
|
+
// 处理class
|
|
1319
1171
|
var handClass = function handClass() {
|
|
1320
1172
|
var str = 'table-body';
|
|
1321
|
-
if (!fixedTable) str += ' table-body-scroll';
|
|
1322
|
-
|
|
1173
|
+
if (!fixedTable) str += ' table-body-scroll';
|
|
1174
|
+
// 没有 复选框,单选框,展开 按钮
|
|
1323
1175
|
if (!check && !radio && !expandable) str += ' table-body-no-btn';
|
|
1324
1176
|
return str;
|
|
1325
|
-
};
|
|
1326
|
-
|
|
1327
|
-
|
|
1177
|
+
};
|
|
1178
|
+
// 处理嵌套表格class
|
|
1328
1179
|
var handExpandClass = function handExpandClass(row) {
|
|
1329
1180
|
var id = row[rowKey];
|
|
1330
1181
|
var expandItem = expandableRow[id] || {};
|
|
1331
1182
|
var str = 'retract';
|
|
1332
|
-
|
|
1333
1183
|
if (expandItem.status === 'develop') {
|
|
1334
1184
|
str = 'expand';
|
|
1335
1185
|
}
|
|
1336
|
-
|
|
1337
1186
|
return str;
|
|
1338
|
-
};
|
|
1339
|
-
|
|
1340
|
-
|
|
1187
|
+
};
|
|
1188
|
+
// 点击加载更多
|
|
1341
1189
|
var clickMore = function clickMore() {
|
|
1342
1190
|
if (loadMoreUrl) changePage && changePage();
|
|
1343
1191
|
onClickMore && onClickMore();
|
|
1344
|
-
};
|
|
1345
|
-
|
|
1346
|
-
|
|
1192
|
+
};
|
|
1193
|
+
// 暂无数据memo
|
|
1347
1194
|
var NodataMemo = useMemo(function () {
|
|
1348
1195
|
// 处理刷新按钮
|
|
1349
1196
|
var handRefreshBtn = function handRefreshBtn() {
|
|
1350
1197
|
if ((emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.showRefresh) !== undefined) {
|
|
1351
1198
|
return emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.showRefresh;
|
|
1352
1199
|
}
|
|
1353
|
-
|
|
1354
1200
|
if (url) {
|
|
1355
1201
|
return true;
|
|
1356
1202
|
}
|
|
1357
|
-
|
|
1358
1203
|
return false;
|
|
1359
|
-
};
|
|
1360
|
-
|
|
1361
|
-
|
|
1204
|
+
};
|
|
1205
|
+
// 处理className
|
|
1362
1206
|
var handClassNoData = function handClassNoData() {
|
|
1363
1207
|
var str = 'table-no-data';
|
|
1364
1208
|
if (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.size) str += ' table-no-data-' + (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.size);
|
|
1365
1209
|
return str;
|
|
1366
1210
|
};
|
|
1367
|
-
|
|
1368
1211
|
return jsx(TrElement, Object.assign({
|
|
1369
1212
|
className: handClassNoData()
|
|
1370
1213
|
}, {
|
|
@@ -1379,52 +1222,44 @@ var TableBody = function TableBody(props) {
|
|
|
1379
1222
|
emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.onRefresh(event);
|
|
1380
1223
|
return;
|
|
1381
1224
|
}
|
|
1382
|
-
|
|
1383
1225
|
_onRefresh && _onRefresh();
|
|
1384
1226
|
}
|
|
1385
1227
|
}))
|
|
1386
1228
|
}))
|
|
1387
1229
|
}));
|
|
1388
|
-
}, [expandableColSpan, emptyProps, url, _onRefresh]);
|
|
1389
|
-
|
|
1230
|
+
}, [expandableColSpan, emptyProps, url, _onRefresh]);
|
|
1231
|
+
// 复选框useCallback
|
|
1390
1232
|
var TableCheckCallback = useCallback(function (row) {
|
|
1391
1233
|
if (check) {
|
|
1392
1234
|
var handId = row[rowKey];
|
|
1393
1235
|
var disabledHand = Boolean(disabledJson[handId]);
|
|
1394
1236
|
var checkHand = checkJson[handId] || false;
|
|
1395
1237
|
var showCheck = true;
|
|
1396
|
-
|
|
1397
1238
|
if (disabledHand && disabledArrStatus) {
|
|
1398
1239
|
// 选中
|
|
1399
1240
|
if (disabledArrStatus[handId] === true) {
|
|
1400
1241
|
checkHand = true;
|
|
1401
|
-
}
|
|
1402
|
-
|
|
1403
|
-
|
|
1242
|
+
}
|
|
1243
|
+
// 不选中
|
|
1404
1244
|
if (disabledArrStatus[handId] === false) {
|
|
1405
1245
|
checkHand = false;
|
|
1406
|
-
}
|
|
1407
|
-
|
|
1408
|
-
|
|
1246
|
+
}
|
|
1247
|
+
// 不显示
|
|
1409
1248
|
if (disabledArrStatus[handId] === null) {
|
|
1410
1249
|
showCheck = false;
|
|
1411
1250
|
}
|
|
1412
1251
|
}
|
|
1413
|
-
|
|
1414
1252
|
var handCls = function handCls() {
|
|
1415
1253
|
var str = 'table-checkbox table-body-btn';
|
|
1416
|
-
|
|
1417
1254
|
if (fixedColumn) {
|
|
1418
|
-
str += ' table-fixed-dom-left';
|
|
1419
|
-
|
|
1255
|
+
str += ' table-fixed-dom-left';
|
|
1256
|
+
// 左边没有定位,且没有单选,没有嵌套表格
|
|
1420
1257
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.leftBol) && !radio && !expandable) {
|
|
1421
1258
|
str += ' table-fixed-dom-left-last';
|
|
1422
1259
|
}
|
|
1423
1260
|
}
|
|
1424
|
-
|
|
1425
1261
|
return str;
|
|
1426
1262
|
};
|
|
1427
|
-
|
|
1428
1263
|
return jsx(TdElement, Object.assign({
|
|
1429
1264
|
align: "center",
|
|
1430
1265
|
className: handCls()
|
|
@@ -1439,46 +1274,39 @@ var TableBody = function TableBody(props) {
|
|
|
1439
1274
|
})
|
|
1440
1275
|
}));
|
|
1441
1276
|
}
|
|
1442
|
-
}, [check, disabledJson, rowKey, checkJson, selectCheck, disabledArrStatus, posFixed, expandable, radio, fixedColumn]);
|
|
1443
|
-
|
|
1277
|
+
}, [check, disabledJson, rowKey, checkJson, selectCheck, disabledArrStatus, posFixed, expandable, radio, fixedColumn]);
|
|
1278
|
+
// 单选框useCallback
|
|
1444
1279
|
var TableRadioCallback = useCallback(function (row) {
|
|
1445
1280
|
if (radio) {
|
|
1446
1281
|
var handId = row[rowKey];
|
|
1447
1282
|
var disabledHand = Boolean(disabledJson[handId]);
|
|
1448
1283
|
var checkHand = radioValue === row[rowKey];
|
|
1449
1284
|
var showRadio = true;
|
|
1450
|
-
|
|
1451
1285
|
if (disabledHand && disabledArrStatus) {
|
|
1452
1286
|
// 选中
|
|
1453
1287
|
if (disabledArrStatus[handId] === true) {
|
|
1454
1288
|
checkHand = true;
|
|
1455
|
-
}
|
|
1456
|
-
|
|
1457
|
-
|
|
1289
|
+
}
|
|
1290
|
+
// 不选中
|
|
1458
1291
|
if (disabledArrStatus[handId] === false) {
|
|
1459
1292
|
checkHand = false;
|
|
1460
|
-
}
|
|
1461
|
-
|
|
1462
|
-
|
|
1293
|
+
}
|
|
1294
|
+
// 不显示
|
|
1463
1295
|
if (disabledArrStatus[handId] === null) {
|
|
1464
1296
|
showRadio = false;
|
|
1465
1297
|
}
|
|
1466
1298
|
}
|
|
1467
|
-
|
|
1468
1299
|
var handCls = function handCls() {
|
|
1469
1300
|
var str = 'table-radio table-body-btn';
|
|
1470
|
-
|
|
1471
1301
|
if (fixedColumn) {
|
|
1472
|
-
str += ' table-fixed-dom-left';
|
|
1473
|
-
|
|
1302
|
+
str += ' table-fixed-dom-left';
|
|
1303
|
+
// 左边没有定位,没有嵌套表格
|
|
1474
1304
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.leftBol) && !expandable) {
|
|
1475
1305
|
str += ' table-fixed-dom-left-last';
|
|
1476
1306
|
}
|
|
1477
1307
|
}
|
|
1478
|
-
|
|
1479
1308
|
return str;
|
|
1480
1309
|
};
|
|
1481
|
-
|
|
1482
1310
|
return jsx(TdElement, Object.assign({
|
|
1483
1311
|
align: "center",
|
|
1484
1312
|
className: handCls()
|
|
@@ -1493,28 +1321,24 @@ var TableBody = function TableBody(props) {
|
|
|
1493
1321
|
})
|
|
1494
1322
|
}));
|
|
1495
1323
|
}
|
|
1496
|
-
}, [radio, disabledJson, radioValue, rowKey, selectRadio, disabledArrStatus, expandable, posFixed, fixedColumn]);
|
|
1497
|
-
|
|
1324
|
+
}, [radio, disabledJson, radioValue, rowKey, selectRadio, disabledArrStatus, expandable, posFixed, fixedColumn]);
|
|
1325
|
+
// 嵌套加减useCallback
|
|
1498
1326
|
var TableExpandableMemo = useCallback(function (row) {
|
|
1499
1327
|
if (!expandable) return null;
|
|
1500
|
-
var expandableDemo = expandable(row);
|
|
1501
|
-
|
|
1328
|
+
var expandableDemo = expandable(row);
|
|
1329
|
+
// 禁用一行表格展开 或者 展开表格返回值为false,返回空列
|
|
1502
1330
|
if (disabledExpandJson[row[rowKey]] || expandableDemo === false) return jsx(TdElement, {});
|
|
1503
|
-
|
|
1504
1331
|
var handCls = function handCls() {
|
|
1505
1332
|
var str = 'table-expandable table-body-btn';
|
|
1506
|
-
|
|
1507
1333
|
if (fixedColumn) {
|
|
1508
|
-
str += ' table-fixed-dom-left';
|
|
1509
|
-
|
|
1334
|
+
str += ' table-fixed-dom-left';
|
|
1335
|
+
// 左边没有定位,没有嵌套表格
|
|
1510
1336
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.leftBol)) {
|
|
1511
1337
|
str += ' table-fixed-dom-left-last';
|
|
1512
1338
|
}
|
|
1513
1339
|
}
|
|
1514
|
-
|
|
1515
1340
|
return str;
|
|
1516
1341
|
};
|
|
1517
|
-
|
|
1518
1342
|
return jsx(TdElement, Object.assign({
|
|
1519
1343
|
align: "center",
|
|
1520
1344
|
className: handCls()
|
|
@@ -1524,76 +1348,64 @@ var TableBody = function TableBody(props) {
|
|
|
1524
1348
|
onClick: handClickNestTable(row)
|
|
1525
1349
|
})
|
|
1526
1350
|
}));
|
|
1527
|
-
}, [expandable, expandableRow, rowKey, disabledExpandJson, onExpand, fixedColumn]);
|
|
1528
|
-
|
|
1351
|
+
}, [expandable, expandableRow, rowKey, disabledExpandJson, onExpand, fixedColumn]);
|
|
1352
|
+
// 表格一行内容useCallback
|
|
1529
1353
|
var TableContentUseCallback = useCallback(function (row, rowIndex) {
|
|
1530
1354
|
var params = {
|
|
1531
1355
|
orderFieldArr: orderFieldArr,
|
|
1532
1356
|
orderTypeArr: orderTypeArr
|
|
1533
1357
|
};
|
|
1534
|
-
|
|
1535
1358
|
var handContentClass = function handContentClass(item) {
|
|
1536
1359
|
var str = 'table-content-columms';
|
|
1537
|
-
if (item.className) str += ' ' + item.className;
|
|
1538
|
-
|
|
1360
|
+
if (item.className) str += ' ' + item.className;
|
|
1361
|
+
// 排序
|
|
1539
1362
|
if (sortTable && item.name && item.sort !== false) {
|
|
1540
1363
|
var index = orderFieldArr.indexOf(item.name);
|
|
1541
|
-
|
|
1542
1364
|
if (index !== -1) {
|
|
1543
1365
|
// 升序
|
|
1544
1366
|
if (orderTypeArr[index] === 'asc') {
|
|
1545
1367
|
str += ' table-content-columms-asc';
|
|
1546
|
-
}
|
|
1547
|
-
|
|
1548
|
-
|
|
1368
|
+
}
|
|
1369
|
+
// 降序
|
|
1549
1370
|
if (orderTypeArr[index] === 'desc') {
|
|
1550
1371
|
str += ' table-content-columms-desc';
|
|
1551
1372
|
}
|
|
1552
1373
|
}
|
|
1553
1374
|
}
|
|
1554
|
-
|
|
1555
1375
|
if (item.fixed && fixedColumn) {
|
|
1556
|
-
str += ' table-fixed-dom-' + item.fixed;
|
|
1557
|
-
|
|
1376
|
+
str += ' table-fixed-dom-' + item.fixed;
|
|
1377
|
+
// 固定左边,判断是否是最后一个
|
|
1558
1378
|
if (item.fixed === 'left' && item.paraui_fixed_left_last) {
|
|
1559
1379
|
str += ' table-fixed-dom-left-last';
|
|
1560
|
-
}
|
|
1561
|
-
|
|
1562
|
-
|
|
1380
|
+
}
|
|
1381
|
+
// 固定右边,判断是否是第一个
|
|
1563
1382
|
if (item.fixed === 'right' && item.paraui_fixed_right_first) {
|
|
1564
1383
|
str += ' table-fixed-dom-right-first';
|
|
1565
1384
|
}
|
|
1566
1385
|
}
|
|
1567
|
-
|
|
1568
1386
|
return str;
|
|
1569
1387
|
};
|
|
1570
|
-
|
|
1571
1388
|
var handStyle = function handStyle(item) {
|
|
1572
1389
|
var json = {};
|
|
1573
|
-
|
|
1574
1390
|
if (fixedColumn && item.fixed && item.width) {
|
|
1575
1391
|
if (item.fixed === 'left') {
|
|
1576
1392
|
json.left = item.paraui_left_width + 'px';
|
|
1577
1393
|
}
|
|
1578
|
-
|
|
1579
1394
|
if (item.fixed === 'right') {
|
|
1580
1395
|
json.right = item.paraui_right_width + 'px';
|
|
1581
1396
|
}
|
|
1582
1397
|
}
|
|
1583
|
-
|
|
1584
1398
|
return json;
|
|
1585
1399
|
};
|
|
1586
|
-
|
|
1587
1400
|
return tableCell ? tableCell(row, params) : headData.map(function (item, index) {
|
|
1588
1401
|
var text = row[item.name];
|
|
1589
1402
|
var colSpan = 1;
|
|
1590
1403
|
if (item.render) text = item.render(row, item, row[item.name], index, rowIndex);
|
|
1591
|
-
if (formatter) text = formatter(row, item, row[item.name], index, rowIndex);
|
|
1592
|
-
|
|
1404
|
+
if (formatter) text = formatter(row, item, row[item.name], index, rowIndex);
|
|
1405
|
+
// 存在显示列,最后一列占两格
|
|
1593
1406
|
if (showColumns === 'inside' && !operate && index === headData.length - 1) {
|
|
1594
1407
|
colSpan = 2;
|
|
1595
1408
|
}
|
|
1596
|
-
|
|
1597
1409
|
return jsx(TdElement, Object.assign({
|
|
1598
1410
|
align: item.align || align,
|
|
1599
1411
|
className: handContentClass(item),
|
|
@@ -1607,43 +1419,35 @@ var TableBody = function TableBody(props) {
|
|
|
1607
1419
|
})) : text
|
|
1608
1420
|
}), item.name || index);
|
|
1609
1421
|
});
|
|
1610
|
-
}, [tableCell, headData, align, formatter, orderFieldArr, orderTypeArr, sortTable, showColumns, operate, beyondText, fixedColumn]);
|
|
1611
|
-
|
|
1422
|
+
}, [tableCell, headData, align, formatter, orderFieldArr, orderTypeArr, sortTable, showColumns, operate, beyondText, fixedColumn]);
|
|
1423
|
+
// 操作栏useCallback
|
|
1612
1424
|
var TableOperateUseCallback = useCallback(function (row) {
|
|
1613
1425
|
if (operate) {
|
|
1614
1426
|
var colSpan = 1;
|
|
1615
1427
|
if (showColumns === "inside") colSpan = 2;
|
|
1616
|
-
|
|
1617
1428
|
var handOperate = function handOperate() {
|
|
1618
1429
|
if (operate.render) return operate.render(row);
|
|
1619
|
-
|
|
1620
1430
|
if (operate.operateBtnRender) {
|
|
1621
1431
|
var operateConfig = operate.operateBtnRender(row);
|
|
1622
1432
|
return jsx(OperateBtn, Object.assign({}, operateConfig));
|
|
1623
1433
|
}
|
|
1624
1434
|
};
|
|
1625
|
-
|
|
1626
1435
|
var handStyle = function handStyle() {
|
|
1627
1436
|
var json = {
|
|
1628
1437
|
right: '0'
|
|
1629
1438
|
};
|
|
1630
1439
|
return json;
|
|
1631
1440
|
};
|
|
1632
|
-
|
|
1633
1441
|
var handCls = function handCls() {
|
|
1634
1442
|
var str = 'table-operate';
|
|
1635
|
-
|
|
1636
1443
|
if (fixedColumn) {
|
|
1637
1444
|
str += ' table-fixed-dom-right';
|
|
1638
|
-
|
|
1639
1445
|
if (!(posFixed === null || posFixed === void 0 ? void 0 : posFixed.rightBol)) {
|
|
1640
1446
|
str += ' table-fixed-dom-right-first';
|
|
1641
1447
|
}
|
|
1642
1448
|
}
|
|
1643
|
-
|
|
1644
1449
|
return str;
|
|
1645
1450
|
};
|
|
1646
|
-
|
|
1647
1451
|
return jsx(TdElement, Object.assign({
|
|
1648
1452
|
align: operate.align || align,
|
|
1649
1453
|
className: handCls(),
|
|
@@ -1653,16 +1457,14 @@ var TableBody = function TableBody(props) {
|
|
|
1653
1457
|
children: handOperate()
|
|
1654
1458
|
}));
|
|
1655
1459
|
}
|
|
1656
|
-
}, [operate, align, showColumns, posFixed, fixedColumn]);
|
|
1657
|
-
|
|
1460
|
+
}, [operate, align, showColumns, posFixed, fixedColumn]);
|
|
1461
|
+
// 嵌套表格useCallback
|
|
1658
1462
|
var TableExpandableContentUseCallback = useCallback(function (row) {
|
|
1659
1463
|
var id = row[rowKey];
|
|
1660
1464
|
var expandItem = expandableRow[id] || {};
|
|
1661
|
-
|
|
1662
1465
|
if (expandable && expandItem.status === 'develop') {
|
|
1663
1466
|
var expandableDemo = expandable(row);
|
|
1664
1467
|
if (expandableDemo === false) return null; // 展开表格返回值为false,不展示这一行
|
|
1665
|
-
|
|
1666
1468
|
return jsx(TrElement, Object.assign({
|
|
1667
1469
|
className: "table-body-expand-row"
|
|
1668
1470
|
}, {
|
|
@@ -1674,8 +1476,8 @@ var TableBody = function TableBody(props) {
|
|
|
1674
1476
|
}))
|
|
1675
1477
|
}), Math.random());
|
|
1676
1478
|
}
|
|
1677
|
-
}, [expandable, expandableRow, expandableColSpan, rowKey]);
|
|
1678
|
-
|
|
1479
|
+
}, [expandable, expandableRow, expandableColSpan, rowKey]);
|
|
1480
|
+
// 加载更多
|
|
1679
1481
|
var MoreMemo = useMemo(function () {
|
|
1680
1482
|
if (!loadMore || !showMoreBtn) return null;
|
|
1681
1483
|
return jsx(TrElement, Object.assign({
|
|
@@ -1700,11 +1502,9 @@ var TableBody = function TableBody(props) {
|
|
|
1700
1502
|
return jsx(Fragment, {
|
|
1701
1503
|
children: rowData.map(function (row, index) {
|
|
1702
1504
|
var str = 'table-body-row';
|
|
1703
|
-
|
|
1704
1505
|
if (rowClassMapping && rowClassMapping[row[rowKey]]) {
|
|
1705
1506
|
str += ' ' + rowClassMapping[row[rowKey]];
|
|
1706
1507
|
}
|
|
1707
|
-
|
|
1708
1508
|
return jsxs(Fragment$1, {
|
|
1709
1509
|
children: [jsxs(TrElement, Object.assign({
|
|
1710
1510
|
className: str,
|
|
@@ -1717,20 +1517,19 @@ var TableBody = function TableBody(props) {
|
|
|
1717
1517
|
}, index);
|
|
1718
1518
|
})
|
|
1719
1519
|
});
|
|
1720
|
-
}, [rowData, rowKey, disabledJson, checkJson, radio, radioValue, expandable, expandableRow, tableCell, headData, align, operate, expandableColSpan, selectCheck, selectRadio, disabledExpandJson, onExpand, disabledArrStatus, showColumns, onClickRow, rowClassMapping]);
|
|
1721
|
-
|
|
1520
|
+
}, [rowData, rowKey, disabledJson, checkJson, radio, radioValue, expandable, expandableRow, tableCell, headData, align, operate, expandableColSpan, selectCheck, selectRadio, disabledExpandJson, onExpand, disabledArrStatus, showColumns, onClickRow, rowClassMapping]);
|
|
1521
|
+
// 内容memo
|
|
1722
1522
|
var TableBodyContentMemo = useMemo(function () {
|
|
1723
1523
|
return jsxs(Fragment$1, {
|
|
1724
1524
|
children: [TableBodySubjectContentMemo, MoreMemo]
|
|
1725
1525
|
});
|
|
1726
|
-
}, [rowData, rowKey, disabledJson, checkJson, radio, radioValue, expandable, expandableRow, tableCell, headData, align, operate, expandableColSpan, selectCheck, selectRadio, loadMore, loadMoreRender, onClickMore, changePage, loadMoreUrl, disabledExpandJson, onExpand, showMoreBtn, disabledArrStatus, showColumns, onClickRow, rowClassMapping]);
|
|
1727
|
-
|
|
1526
|
+
}, [rowData, rowKey, disabledJson, checkJson, radio, radioValue, expandable, expandableRow, tableCell, headData, align, operate, expandableColSpan, selectCheck, selectRadio, loadMore, loadMoreRender, onClickMore, changePage, loadMoreUrl, disabledExpandJson, onExpand, showMoreBtn, disabledArrStatus, showColumns, onClickRow, rowClassMapping]);
|
|
1527
|
+
// 处理内容
|
|
1728
1528
|
var handContent = function handContent() {
|
|
1729
1529
|
// 无数据,且不再请求,显示暂无数据
|
|
1730
1530
|
if (rowData.length === 0 && !loadState) return NodataMemo;
|
|
1731
1531
|
return TableBodyContentMemo;
|
|
1732
1532
|
};
|
|
1733
|
-
|
|
1734
1533
|
return jsx(TableBodyElement, Object.assign({
|
|
1735
1534
|
className: handClass()
|
|
1736
1535
|
}, {
|
|
@@ -1740,24 +1539,22 @@ var TableBody = function TableBody(props) {
|
|
|
1740
1539
|
|
|
1741
1540
|
var TableHead = function TableHead(props) {
|
|
1742
1541
|
var paginationType = props.paginationType,
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1542
|
+
flippingArrow = props.flippingArrow,
|
|
1543
|
+
autoPagination = props.autoPagination,
|
|
1544
|
+
total = props.total,
|
|
1545
|
+
page = props.page,
|
|
1546
|
+
rowsPerPage = props.rowsPerPage,
|
|
1547
|
+
currentRowsPerPage = props.currentRowsPerPage,
|
|
1548
|
+
changePage = props.changePage,
|
|
1549
|
+
changeRowsPerPage = props.changeRowsPerPage;
|
|
1550
|
+
// 改变页面
|
|
1752
1551
|
var changePageCom = function changePageCom(num) {
|
|
1753
1552
|
changePage && changePage(num);
|
|
1754
|
-
};
|
|
1755
|
-
|
|
1756
|
-
|
|
1553
|
+
};
|
|
1554
|
+
// 改变每页显示条数
|
|
1757
1555
|
var changeRowsPerPageCom = function changeRowsPerPageCom(num) {
|
|
1758
1556
|
changeRowsPerPage && changeRowsPerPage(num);
|
|
1759
1557
|
};
|
|
1760
|
-
|
|
1761
1558
|
return jsx("div", Object.assign({
|
|
1762
1559
|
className: 'table-pagination'
|
|
1763
1560
|
}, {
|
|
@@ -1783,17 +1580,15 @@ styleInject(css_248z$2);
|
|
|
1783
1580
|
|
|
1784
1581
|
var TableContainer = function TableContainer(props) {
|
|
1785
1582
|
var cRef = props.cRef,
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1583
|
+
className = props.className,
|
|
1584
|
+
style = props.style,
|
|
1585
|
+
children = props.children,
|
|
1586
|
+
otherProps = __rest(props, ["cRef", "className", "style", "children"]);
|
|
1791
1587
|
var handClass = function handClass() {
|
|
1792
1588
|
var str = 'table-container';
|
|
1793
1589
|
if (className) str += ' ' + className;
|
|
1794
1590
|
return str;
|
|
1795
1591
|
};
|
|
1796
|
-
|
|
1797
1592
|
return jsx("div", Object.assign({
|
|
1798
1593
|
className: handClass(),
|
|
1799
1594
|
style: style,
|
|
@@ -1808,18 +1603,16 @@ styleInject(css_248z$1);
|
|
|
1808
1603
|
|
|
1809
1604
|
var TableElement = function TableElement(props) {
|
|
1810
1605
|
var className = props.className,
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1606
|
+
style = props.style,
|
|
1607
|
+
fixedColumn = props.fixedColumn,
|
|
1608
|
+
children = props.children,
|
|
1609
|
+
otherProps = __rest(props, ["className", "style", "fixedColumn", "children"]);
|
|
1816
1610
|
var handClass = function handClass() {
|
|
1817
1611
|
var str = 'table-element';
|
|
1818
1612
|
if (fixedColumn) str += ' table-element-fixed-column';
|
|
1819
1613
|
if (className) str += ' ' + className;
|
|
1820
1614
|
return str;
|
|
1821
1615
|
};
|
|
1822
|
-
|
|
1823
1616
|
return jsx("table", Object.assign({
|
|
1824
1617
|
className: handClass(),
|
|
1825
1618
|
style: style
|
|
@@ -1832,255 +1625,203 @@ var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下
|
|
|
1832
1625
|
styleInject(css_248z);
|
|
1833
1626
|
|
|
1834
1627
|
var Table = function Table(propsInit) {
|
|
1835
|
-
var props = useGlobalProps(propsInit, 'Table');
|
|
1836
|
-
|
|
1628
|
+
var props = useGlobalProps(propsInit, 'Table');
|
|
1629
|
+
// 判断浏览器
|
|
1837
1630
|
var Browser = GetBrowserClass();
|
|
1838
|
-
|
|
1839
1631
|
if (Browser === 'ie') {
|
|
1840
1632
|
// IE浏览器没有固定列
|
|
1841
1633
|
props.fixedColumn = false;
|
|
1842
1634
|
}
|
|
1843
|
-
|
|
1844
1635
|
var className = props.className,
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1636
|
+
style = props.style,
|
|
1637
|
+
url = props.url,
|
|
1638
|
+
ctx = props.ctx,
|
|
1639
|
+
emptyProps = props.emptyProps,
|
|
1640
|
+
_props$method = props.method,
|
|
1641
|
+
method = _props$method === void 0 ? 'Get' : _props$method,
|
|
1642
|
+
data = props.data,
|
|
1643
|
+
_props$page = props.page,
|
|
1644
|
+
page = _props$page === void 0 ? 1 : _props$page,
|
|
1645
|
+
_props$size = props.size,
|
|
1646
|
+
size = _props$size === void 0 ? 10 : _props$size,
|
|
1647
|
+
_props$sizeArr = props.sizeArr,
|
|
1648
|
+
sizeArr = _props$sizeArr === void 0 ? [10, 20, 30] : _props$sizeArr,
|
|
1649
|
+
search = props.search,
|
|
1650
|
+
_props$pagination = props.pagination,
|
|
1651
|
+
pagination = _props$pagination === void 0 ? true : _props$pagination,
|
|
1652
|
+
_props$paginationType = props.paginationType,
|
|
1653
|
+
paginationType = _props$paginationType === void 0 ? 'complex' : _props$paginationType,
|
|
1654
|
+
flippingArrow = props.flippingArrow,
|
|
1655
|
+
_props$autoPagination = props.autoPagination,
|
|
1656
|
+
autoPagination = _props$autoPagination === void 0 ? true : _props$autoPagination,
|
|
1657
|
+
tableCell = props.tableCell,
|
|
1658
|
+
requestCallback = props.requestCallback,
|
|
1659
|
+
checkDefaultValue = props.checkDefaultValue,
|
|
1660
|
+
setCheck = props.setCheck,
|
|
1661
|
+
radioDefaultValue = props.radioDefaultValue,
|
|
1662
|
+
setRadio = props.setRadio,
|
|
1663
|
+
refresh = props.refresh,
|
|
1664
|
+
disabledArr = props.disabledArr,
|
|
1665
|
+
disabledArrStatus = props.disabledArrStatus,
|
|
1666
|
+
_props$headData = props.headData,
|
|
1667
|
+
headData = _props$headData === void 0 ? [] : _props$headData,
|
|
1668
|
+
sortTableRadio = props.sortTableRadio,
|
|
1669
|
+
_props$sortTable = props.sortTable,
|
|
1670
|
+
sortTable = _props$sortTable === void 0 ? false : _props$sortTable,
|
|
1671
|
+
_props$filter = props.filter,
|
|
1672
|
+
filter = _props$filter === void 0 ? false : _props$filter,
|
|
1673
|
+
expandable = props.expandable,
|
|
1674
|
+
_props$rowKey = props.rowKey,
|
|
1675
|
+
rowKey = _props$rowKey === void 0 ? 'key' : _props$rowKey,
|
|
1676
|
+
_props$check = props.check,
|
|
1677
|
+
check = _props$check === void 0 ? false : _props$check,
|
|
1678
|
+
_props$radio = props.radio,
|
|
1679
|
+
radio = _props$radio === void 0 ? false : _props$radio,
|
|
1680
|
+
_props$checkRememberP = props.checkRememberPage,
|
|
1681
|
+
checkRememberPage = _props$checkRememberP === void 0 ? false : _props$checkRememberP,
|
|
1682
|
+
_props$align = props.align,
|
|
1683
|
+
align = _props$align === void 0 ? 'left' : _props$align,
|
|
1684
|
+
paramsCallback = props.paramsCallback,
|
|
1685
|
+
operate = props.operate,
|
|
1686
|
+
_props$showColumns = props.showColumns,
|
|
1687
|
+
showColumns = _props$showColumns === void 0 ? 'inside' : _props$showColumns,
|
|
1688
|
+
_props$fixedTable = props.fixedTable,
|
|
1689
|
+
fixedTable = _props$fixedTable === void 0 ? true : _props$fixedTable,
|
|
1690
|
+
_props$fixedColumn = props.fixedColumn,
|
|
1691
|
+
fixedColumn = _props$fixedColumn === void 0 ? true : _props$fixedColumn,
|
|
1692
|
+
_props$dragColumn = props.dragColumn,
|
|
1693
|
+
dragColumn = _props$dragColumn === void 0 ? true : _props$dragColumn,
|
|
1694
|
+
formatter = props.formatter,
|
|
1695
|
+
_props$lineHeight = props.lineHeight,
|
|
1696
|
+
lineHeight = _props$lineHeight === void 0 ? 56 : _props$lineHeight,
|
|
1697
|
+
_props$lineWidth = props.lineWidth,
|
|
1698
|
+
lineWidth = _props$lineWidth === void 0 ? 80 : _props$lineWidth,
|
|
1699
|
+
_props$autoSize = props.autoSize,
|
|
1700
|
+
autoSize = _props$autoSize === void 0 ? true : _props$autoSize,
|
|
1701
|
+
_props$loadMore = props.loadMore,
|
|
1702
|
+
loadMore = _props$loadMore === void 0 ? false : _props$loadMore,
|
|
1703
|
+
loadMoreRender = props.loadMoreRender,
|
|
1704
|
+
onClickMore = props.onClickMore,
|
|
1705
|
+
expandValue = props.expandValue,
|
|
1706
|
+
expandMultiple = props.expandMultiple,
|
|
1707
|
+
disabledExpand = props.disabledExpand,
|
|
1708
|
+
onExpand = props.onExpand,
|
|
1709
|
+
_props$defaultExpandA = props.defaultExpandAllRows,
|
|
1710
|
+
defaultExpandAllRows = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
|
|
1711
|
+
onClickColumns = props.onClickColumns,
|
|
1712
|
+
_props$beyondText = props.beyondText,
|
|
1713
|
+
beyondText = _props$beyondText === void 0 ? true : _props$beyondText,
|
|
1714
|
+
loading = props.loading,
|
|
1715
|
+
defaultSortValue = props.defaultSortValue,
|
|
1716
|
+
defaultFilterValue = props.defaultFilterValue,
|
|
1717
|
+
searchKeyName = props.searchKeyName,
|
|
1718
|
+
filterSearchCallback = props.filterSearchCallback,
|
|
1719
|
+
onClickRow = props.onClickRow,
|
|
1720
|
+
rowClassMapping = props.rowClassMapping;
|
|
1930
1721
|
var intl = useFormatMessage('Table', localeJson);
|
|
1931
1722
|
var dayNum = props.expirationTime ? props.expirationTime === 0 ? 100000000 : props.expirationTime : 7; // 过期天数
|
|
1932
|
-
|
|
1933
1723
|
var _useState = useState(props.page !== undefined ? props.page : 1),
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1724
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1725
|
+
pageCom = _useState2[0],
|
|
1726
|
+
setPageCom = _useState2[1]; // 页数
|
|
1939
1727
|
var _useState3 = useState(null),
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1728
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1729
|
+
sizeCom = _useState4[0],
|
|
1730
|
+
setSizeCom = _useState4[1]; // 每页条数
|
|
1945
1731
|
var _useState5 = useState(sizeArr),
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1732
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1733
|
+
sizeArrCom = _useState6[0],
|
|
1734
|
+
setSizeArrCom = _useState6[1]; // 每页条数数组
|
|
1951
1735
|
var _useState7 = useState(0),
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1736
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
1737
|
+
total = _useState8[0],
|
|
1738
|
+
setTotal = _useState8[1]; // 总数
|
|
1957
1739
|
var _useState9 = useState([]),
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1740
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
1741
|
+
rowData = _useState10[0],
|
|
1742
|
+
setRowData = _useState10[1]; // 当前页数据
|
|
1963
1743
|
var _useState11 = useState({}),
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1744
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
1745
|
+
rowDataJson = _useState12[0],
|
|
1746
|
+
setRowDataJson = _useState12[1]; // 当前页数据对象
|
|
1969
1747
|
var _useState13 = useState({}),
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1748
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
1749
|
+
totalDataJson = _useState14[0],
|
|
1750
|
+
setTotalDataJson = _useState14[1]; // 数据总数对象--用来分页记录数据的
|
|
1975
1751
|
var _useState15 = useState(Object.values(defaultSortValue || {})),
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1752
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
1753
|
+
orderTypeArr = _useState16[0],
|
|
1754
|
+
setOrderTypeArr = _useState16[1]; // 排序类型
|
|
1981
1755
|
var _useState17 = useState(Object.keys(defaultSortValue || {})),
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1756
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
1757
|
+
orderFieldArr = _useState18[0],
|
|
1758
|
+
setOrderFieldArr = _useState18[1]; // 排序字段
|
|
1987
1759
|
var _useState19 = useState('not'),
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1760
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
1761
|
+
headSelectStatus = _useState20[0],
|
|
1762
|
+
setHeadSelectStatus = _useState20[1]; // 表格头复选框状态
|
|
1993
1763
|
var _useState21 = useState({}),
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1764
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
1765
|
+
checkJson = _useState22[0],
|
|
1766
|
+
setCheckJson = _useState22[1]; // 多选 选中的数据
|
|
1999
1767
|
var _useState23 = useState(),
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
1768
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
1769
|
+
radioValue = _useState24[0],
|
|
1770
|
+
setRadioValue = _useState24[1]; // 单选 选中的数据
|
|
2005
1771
|
var _useState25 = useState({}),
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
1772
|
+
_useState26 = _slicedToArray(_useState25, 2),
|
|
1773
|
+
disabledJson = _useState26[0],
|
|
1774
|
+
setDisabledJson = _useState26[1]; // 禁用对象
|
|
2011
1775
|
var _useState27 = useState({}),
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
1776
|
+
_useState28 = _slicedToArray(_useState27, 2),
|
|
1777
|
+
originalHead = _useState28[0],
|
|
1778
|
+
setOriginalHead = _useState28[1]; // 接口原数据表头json
|
|
2017
1779
|
var _useState29 = useState([]),
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
1780
|
+
_useState30 = _slicedToArray(_useState29, 2),
|
|
1781
|
+
showHeadList = _useState30[0],
|
|
1782
|
+
setShowHeadList = _useState30[1]; // 显示列下拉值 所有头部的配置
|
|
2023
1783
|
var _useState31 = useState([]),
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
1784
|
+
_useState32 = _slicedToArray(_useState31, 2),
|
|
1785
|
+
headDataCom = _useState32[0],
|
|
1786
|
+
setHeadDataCom = _useState32[1]; // 表格当前显示列 集合本地数据
|
|
2029
1787
|
var _useState33 = useState(Object.assign({}, defaultFilterValue)),
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
1788
|
+
_useState34 = _slicedToArray(_useState33, 2),
|
|
1789
|
+
selectFilterCom = _useState34[0],
|
|
1790
|
+
setSelectFilterCom = _useState34[1]; // 过滤值
|
|
2035
1791
|
var _useState35 = useState(true),
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
1792
|
+
_useState36 = _slicedToArray(_useState35, 2),
|
|
1793
|
+
loadState = _useState36[0],
|
|
1794
|
+
setLoadState = _useState36[1]; // 加载进度条状态
|
|
2041
1795
|
var _useState37 = useState(false),
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
1796
|
+
_useState38 = _slicedToArray(_useState37, 2),
|
|
1797
|
+
loadMoreUrl = _useState38[0],
|
|
1798
|
+
setLoadMoreUrl = _useState38[1];
|
|
2046
1799
|
var _useState39 = useState(Math.random().toString()),
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
1800
|
+
_useState40 = _slicedToArray(_useState39, 1),
|
|
1801
|
+
reqId = _useState40[0];
|
|
2050
1802
|
var _useState41 = useState(),
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
1803
|
+
_useState42 = _slicedToArray(_useState41, 2),
|
|
1804
|
+
refreshCom = _useState42[0],
|
|
1805
|
+
setRefreshCom = _useState42[1];
|
|
2055
1806
|
var _useState43 = useState(0),
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
1807
|
+
_useState44 = _slicedToArray(_useState43, 2),
|
|
1808
|
+
tableMinWidth = _useState44[0],
|
|
1809
|
+
setTableMinWidth = _useState44[1]; // 表格最小width
|
|
2061
1810
|
var _useState45 = useState({}),
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
1811
|
+
_useState46 = _slicedToArray(_useState45, 2),
|
|
1812
|
+
posFixed = _useState46[0],
|
|
1813
|
+
setPosFixed = _useState46[1]; // 固定位置
|
|
2067
1814
|
var _useState47 = useState({}),
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
1815
|
+
_useState48 = _slicedToArray(_useState47, 2),
|
|
1816
|
+
headDataConfig = _useState48[0],
|
|
1817
|
+
setHeadDataConfig = _useState48[1]; // 表头配置
|
|
2073
1818
|
var containerRef = useRef(); // 表格内容高度
|
|
2074
|
-
|
|
2075
1819
|
var tableRef = useRef(); // 表格
|
|
2076
|
-
|
|
2077
1820
|
var constData = useRef({
|
|
2078
1821
|
page: props.page !== undefined ? props.page : 1,
|
|
2079
1822
|
headDataConfig: {}
|
|
2080
1823
|
}); // 存储常量
|
|
2081
|
-
|
|
2082
1824
|
constData.current.loadMoreUrl = loadMore && url; // 用来判断加载更多请求是否放在表格里面
|
|
2083
|
-
|
|
2084
1825
|
constData.current.search = search;
|
|
2085
1826
|
constData.current.url = url;
|
|
2086
1827
|
constData.current.orderTypeArr = orderTypeArr;
|
|
@@ -2107,17 +1848,16 @@ var Table = function Table(propsInit) {
|
|
|
2107
1848
|
}, [loading]);
|
|
2108
1849
|
useEffect(function () {
|
|
2109
1850
|
setLoadMoreUrl(Boolean(loadMore && url));
|
|
2110
|
-
}, [loadMore, url]);
|
|
2111
|
-
|
|
1851
|
+
}, [loadMore, url]);
|
|
1852
|
+
// 监听page
|
|
2112
1853
|
useEffect(function () {
|
|
2113
1854
|
if (props.page !== undefined) {
|
|
2114
1855
|
handPage(props.page);
|
|
2115
1856
|
}
|
|
2116
|
-
}, [page]);
|
|
2117
|
-
|
|
1857
|
+
}, [page]);
|
|
1858
|
+
// 自动计算表格一页展示条数
|
|
2118
1859
|
useEffect(function () {
|
|
2119
1860
|
if (!autoSize) return handSize(size);
|
|
2120
|
-
|
|
2121
1861
|
if (props.size) {
|
|
2122
1862
|
handSize(size);
|
|
2123
1863
|
} else {
|
|
@@ -2126,27 +1866,25 @@ var Table = function Table(propsInit) {
|
|
|
2126
1866
|
if (props.loadMore) height -= 56;
|
|
2127
1867
|
var num = Math.floor(height / lineHeight);
|
|
2128
1868
|
var columnsNUmber = num < 1 ? size : num;
|
|
2129
|
-
|
|
2130
1869
|
if (sizeArr.indexOf(columnsNUmber) === -1) {
|
|
2131
|
-
sizeArr.unshift(columnsNUmber);
|
|
2132
|
-
|
|
1870
|
+
sizeArr.unshift(columnsNUmber);
|
|
1871
|
+
// 数组排序
|
|
2133
1872
|
sizeArr.sort(function (a, b) {
|
|
2134
1873
|
return a - b;
|
|
2135
1874
|
});
|
|
2136
1875
|
setSizeArrCom(sizeArr);
|
|
2137
1876
|
}
|
|
2138
|
-
|
|
2139
1877
|
handSize(columnsNUmber);
|
|
2140
1878
|
}
|
|
2141
1879
|
}
|
|
2142
|
-
}, [size, autoSize]);
|
|
2143
|
-
|
|
1880
|
+
}, [size, autoSize]);
|
|
1881
|
+
// 处理表格头部
|
|
2144
1882
|
useEffect(function () {
|
|
2145
1883
|
if (props.headData !== undefined) {
|
|
2146
1884
|
handInitHead(headData, false);
|
|
2147
1885
|
}
|
|
2148
|
-
}, [headData]);
|
|
2149
|
-
|
|
1886
|
+
}, [headData]);
|
|
1887
|
+
// 设置总数对象
|
|
2150
1888
|
useEffect(function () {
|
|
2151
1889
|
if (data) {
|
|
2152
1890
|
var dataHand = handLocalData();
|
|
@@ -2160,51 +1898,45 @@ var Table = function Table(propsInit) {
|
|
|
2160
1898
|
if (!constData.current.initReq) return;
|
|
2161
1899
|
handPage(1);
|
|
2162
1900
|
constData.current.historyData = [];
|
|
2163
|
-
}, [search, url]);
|
|
2164
|
-
|
|
1901
|
+
}, [search, url]);
|
|
1902
|
+
// 表格数据获取赋值
|
|
2165
1903
|
useEffect(function () {
|
|
2166
1904
|
clearTimeout(constData.current.reqTimer);
|
|
2167
1905
|
if (constData.current.url) Cancel(reqId);
|
|
2168
1906
|
constData.current.reqTimer = setTimeout(function () {
|
|
2169
1907
|
constData.current.initReq = true;
|
|
2170
|
-
|
|
2171
1908
|
if (constData.current.url) {
|
|
2172
1909
|
// 提交参数
|
|
2173
1910
|
var postBody = {};
|
|
2174
|
-
|
|
2175
1911
|
if (pagination) {
|
|
2176
1912
|
if (constData.current.page === null || constData.current.size === null) return;
|
|
2177
1913
|
postBody.size = constData.current.size;
|
|
2178
1914
|
postBody.page = constData.current.page;
|
|
2179
1915
|
}
|
|
2180
|
-
|
|
2181
1916
|
if (orderFieldArr.length > 0) {
|
|
2182
1917
|
postBody.orderField = orderFieldArr;
|
|
2183
|
-
postBody.orderType = orderTypeArr;
|
|
2184
|
-
|
|
1918
|
+
postBody.orderType = orderTypeArr;
|
|
1919
|
+
// 单个排序
|
|
2185
1920
|
if (props.sortTableRadio) {
|
|
2186
1921
|
postBody.orderField = orderFieldArr[0];
|
|
2187
1922
|
postBody.orderType = orderTypeArr[0];
|
|
2188
1923
|
}
|
|
2189
1924
|
}
|
|
2190
|
-
|
|
2191
1925
|
if (selectFilterCom && Object.keys(selectFilterCom).length > 0) {
|
|
2192
1926
|
postBody.filter = handFilterReq();
|
|
2193
1927
|
}
|
|
2194
|
-
|
|
2195
1928
|
if (constData.current.search) {
|
|
2196
1929
|
if (_typeof(constData.current.search) === 'object') {
|
|
2197
1930
|
postBody = Object.assign(Object.assign({}, postBody), constData.current.search);
|
|
2198
1931
|
}
|
|
2199
1932
|
}
|
|
2200
|
-
|
|
2201
1933
|
var obj = {
|
|
2202
1934
|
url: constData.current.url,
|
|
2203
1935
|
ctx: ctx,
|
|
2204
1936
|
method: method,
|
|
2205
1937
|
data: postBody
|
|
2206
|
-
};
|
|
2207
|
-
|
|
1938
|
+
};
|
|
1939
|
+
// get 请求
|
|
2208
1940
|
if (method === 'Get') {
|
|
2209
1941
|
if (paramsCallback) {
|
|
2210
1942
|
paramsCallback(obj, function (handObj) {
|
|
@@ -2223,23 +1955,20 @@ var Table = function Table(propsInit) {
|
|
|
2223
1955
|
method: method
|
|
2224
1956
|
});
|
|
2225
1957
|
}
|
|
2226
|
-
}
|
|
2227
|
-
|
|
2228
|
-
|
|
1958
|
+
}
|
|
1959
|
+
// post 请求
|
|
2229
1960
|
if (method === 'Post') {
|
|
2230
1961
|
if (paramsCallback) paramsCallback(obj, function (handObj) {
|
|
2231
1962
|
requestData(handObj);
|
|
2232
1963
|
});else requestData(obj);
|
|
2233
1964
|
}
|
|
2234
1965
|
}
|
|
2235
|
-
|
|
2236
1966
|
if (constData.current.data) {
|
|
2237
1967
|
var dataT = handLocalData();
|
|
2238
1968
|
dataT = filterSearchData(dataT); // 过滤数据
|
|
2239
|
-
|
|
2240
1969
|
if (pagination) {
|
|
2241
|
-
if (constData.current.page === null || constData.current.size === null) return;
|
|
2242
|
-
|
|
1970
|
+
if (constData.current.page === null || constData.current.size === null) return;
|
|
1971
|
+
// 分页
|
|
2243
1972
|
var sliceData = dataT.slice((constData.current.page - 1) * constData.current.size, (constData.current.page - 1) * constData.current.size + constData.current.size);
|
|
2244
1973
|
setNowPageData(sliceData);
|
|
2245
1974
|
setTotal(dataT.length);
|
|
@@ -2247,61 +1976,52 @@ var Table = function Table(propsInit) {
|
|
|
2247
1976
|
// 不分页
|
|
2248
1977
|
setNowPageData(dataT);
|
|
2249
1978
|
}
|
|
2250
|
-
|
|
2251
1979
|
if (props.loading === undefined) setLoadState(false);
|
|
2252
1980
|
}
|
|
2253
1981
|
}, 50);
|
|
2254
|
-
}, [refresh, refreshCom]);
|
|
2255
|
-
|
|
1982
|
+
}, [refresh, refreshCom]);
|
|
1983
|
+
// 单选赋值默认值
|
|
2256
1984
|
useEffect(function () {
|
|
2257
1985
|
if (radioDefaultValue !== undefined && radioDefaultValue !== radioValue) {
|
|
2258
1986
|
setRadioValue(radioDefaultValue);
|
|
2259
1987
|
}
|
|
2260
|
-
}, [radioDefaultValue]);
|
|
2261
|
-
|
|
1988
|
+
}, [radioDefaultValue]);
|
|
1989
|
+
// 复选框赋默认值
|
|
2262
1990
|
useEffect(function () {
|
|
2263
1991
|
if (checkDefaultValue) {
|
|
2264
1992
|
var json = {};
|
|
2265
|
-
|
|
2266
1993
|
for (var i = 0, l = checkDefaultValue.length; i < l; i++) {
|
|
2267
1994
|
var item = checkDefaultValue[i];
|
|
2268
1995
|
json[item] = true;
|
|
2269
1996
|
}
|
|
2270
|
-
|
|
2271
1997
|
setCheckJson(json);
|
|
2272
1998
|
}
|
|
2273
|
-
}, [checkDefaultValue]);
|
|
2274
|
-
|
|
1999
|
+
}, [checkDefaultValue]);
|
|
2000
|
+
// 设置禁用对象
|
|
2275
2001
|
useEffect(function () {
|
|
2276
2002
|
if (disabledArr) {
|
|
2277
2003
|
var json = {};
|
|
2278
|
-
|
|
2279
2004
|
for (var i = 0, l = disabledArr.length; i < l; i++) {
|
|
2280
2005
|
var item = disabledArr[i];
|
|
2281
2006
|
json[item] = true;
|
|
2282
2007
|
}
|
|
2283
|
-
|
|
2284
2008
|
setDisabledJson(json);
|
|
2285
2009
|
}
|
|
2286
|
-
}, [disabledArr]);
|
|
2287
|
-
|
|
2010
|
+
}, [disabledArr]);
|
|
2011
|
+
// 计算复选框状态
|
|
2288
2012
|
useEffect(function () {
|
|
2289
2013
|
if (Object.keys(checkJson).length === 0) {
|
|
2290
2014
|
// 全不选
|
|
2291
2015
|
setHeadSelectStatus('not');
|
|
2292
2016
|
} else {
|
|
2293
2017
|
var arr = Object.keys(rowDataJson);
|
|
2294
|
-
|
|
2295
2018
|
if (arr.length === 0) {
|
|
2296
2019
|
return setHeadSelectStatus('not');
|
|
2297
2020
|
}
|
|
2298
|
-
|
|
2299
2021
|
var numTotal = arr.length;
|
|
2300
2022
|
var num = 0;
|
|
2301
|
-
|
|
2302
2023
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
2303
2024
|
var key = arr[i];
|
|
2304
|
-
|
|
2305
2025
|
if (disabledJson[key]) {
|
|
2306
2026
|
numTotal--;
|
|
2307
2027
|
} else {
|
|
@@ -2310,55 +2030,44 @@ var Table = function Table(propsInit) {
|
|
|
2310
2030
|
}
|
|
2311
2031
|
}
|
|
2312
2032
|
}
|
|
2313
|
-
|
|
2314
2033
|
if (num === 0) {
|
|
2315
2034
|
// 全不选
|
|
2316
2035
|
return setHeadSelectStatus('not');
|
|
2317
2036
|
}
|
|
2318
|
-
|
|
2319
2037
|
if (num === numTotal) {
|
|
2320
2038
|
// 全选
|
|
2321
2039
|
return setHeadSelectStatus('all');
|
|
2322
2040
|
}
|
|
2323
|
-
|
|
2324
2041
|
if (num < numTotal) {
|
|
2325
2042
|
// 半选
|
|
2326
2043
|
return setHeadSelectStatus('half');
|
|
2327
2044
|
}
|
|
2328
2045
|
}
|
|
2329
|
-
}, [checkJson, rowData, disabledJson]);
|
|
2330
|
-
|
|
2046
|
+
}, [checkJson, rowData, disabledJson]);
|
|
2047
|
+
// 表格更新计算是否有滚动条
|
|
2331
2048
|
useEffect(function () {
|
|
2332
2049
|
tableBoxScroll({
|
|
2333
2050
|
target: containerRef.current
|
|
2334
2051
|
});
|
|
2335
2052
|
});
|
|
2336
2053
|
/** 处理本地data */
|
|
2337
|
-
|
|
2338
2054
|
var handLocalData = function handLocalData() {
|
|
2339
2055
|
var _a;
|
|
2340
|
-
|
|
2341
2056
|
var dataT = [];
|
|
2342
|
-
|
|
2343
2057
|
if (constData.current.data instanceof Array) {
|
|
2344
2058
|
dataT = constData.current.data;
|
|
2345
2059
|
} else {
|
|
2346
2060
|
dataT = (_a = constData.current.data) === null || _a === void 0 ? void 0 : _a.list;
|
|
2347
2061
|
}
|
|
2348
|
-
|
|
2349
2062
|
return dataT;
|
|
2350
2063
|
};
|
|
2351
2064
|
/** 本地数据过滤搜索数据 */
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
2065
|
var filterSearchData = function filterSearchData(arr) {
|
|
2355
2066
|
var filterKeys = Object.keys(constData.current.selectFilterCom || {});
|
|
2356
2067
|
var handArr = [];
|
|
2357
|
-
|
|
2358
2068
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
2359
2069
|
var item = arr[i];
|
|
2360
2070
|
var bol = true;
|
|
2361
|
-
|
|
2362
2071
|
if (constData.current.filterSearchCallback) {
|
|
2363
2072
|
// 自定义过滤方法
|
|
2364
2073
|
bol = constData.current.filterSearchCallback(item, {
|
|
@@ -2370,40 +2079,32 @@ var Table = function Table(propsInit) {
|
|
|
2370
2079
|
for (var j = 0, k = filterKeys.length; j < k; j++) {
|
|
2371
2080
|
var name = filterKeys[j];
|
|
2372
2081
|
var filterVal = constData.current.selectFilterCom[name];
|
|
2373
|
-
var val = item[name];
|
|
2374
|
-
|
|
2082
|
+
var val = item[name];
|
|
2083
|
+
// 不满足当前过滤的数据,过滤掉
|
|
2375
2084
|
if (filterVal.length > 0 && filterVal.indexOf(val) === -1) {
|
|
2376
2085
|
bol = false;
|
|
2377
2086
|
continue;
|
|
2378
2087
|
}
|
|
2379
|
-
}
|
|
2380
|
-
|
|
2381
|
-
|
|
2088
|
+
}
|
|
2089
|
+
// 搜索条件
|
|
2382
2090
|
if (bol) {
|
|
2383
2091
|
bol = handLocalSearch(item);
|
|
2384
2092
|
}
|
|
2385
2093
|
}
|
|
2386
|
-
|
|
2387
2094
|
if (bol) handArr.push(item);
|
|
2388
2095
|
}
|
|
2389
|
-
|
|
2390
2096
|
return handArr;
|
|
2391
2097
|
};
|
|
2392
2098
|
/** 处理本地搜索, 返回true满足搜索条件 */
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
2099
|
var handLocalSearch = function handLocalSearch(item) {
|
|
2396
2100
|
var searchKey;
|
|
2397
|
-
|
|
2398
2101
|
if (constData.current.search && typeof constData.current.search !== "string" && constData.current.search.searchKey) {
|
|
2399
2102
|
searchKey = constData.current.search.searchKey;
|
|
2400
2103
|
}
|
|
2401
|
-
|
|
2402
2104
|
if (searchKey !== undefined && constData.current.searchKeyName && constData.current.searchKeyName.length > 0) {
|
|
2403
2105
|
for (var i = 0, l = constData.current.searchKeyName.length; i < l; i++) {
|
|
2404
2106
|
var name = constData.current.searchKeyName[i];
|
|
2405
2107
|
var nameVal = item[name];
|
|
2406
|
-
|
|
2407
2108
|
if (nameVal.indexOf(searchKey) !== -1) {
|
|
2408
2109
|
// 存在一项就满足
|
|
2409
2110
|
return true;
|
|
@@ -2412,41 +2113,31 @@ var Table = function Table(propsInit) {
|
|
|
2412
2113
|
} else {
|
|
2413
2114
|
return true;
|
|
2414
2115
|
}
|
|
2415
|
-
|
|
2416
2116
|
return false;
|
|
2417
2117
|
};
|
|
2418
2118
|
/** 设置size */
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
2119
|
var handSize = function handSize(num) {
|
|
2422
2120
|
constData.current.size = num;
|
|
2423
2121
|
setSizeCom(num);
|
|
2424
2122
|
setRefreshCom(Math.random());
|
|
2425
2123
|
};
|
|
2426
2124
|
/** 本地显示列key */
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
2125
|
var getTableHeadKey = function getTableHeadKey() {
|
|
2430
2126
|
// 自定义key
|
|
2431
2127
|
if (props.tableKey) {
|
|
2432
2128
|
return props.tableKey;
|
|
2433
|
-
}
|
|
2434
|
-
|
|
2435
|
-
|
|
2129
|
+
}
|
|
2130
|
+
// 本地数据
|
|
2436
2131
|
if (props.data) {
|
|
2437
2132
|
return window.location.origin + window.location.pathname + window.location.hash;
|
|
2438
|
-
}
|
|
2439
|
-
|
|
2440
|
-
|
|
2133
|
+
}
|
|
2134
|
+
// url
|
|
2441
2135
|
if (props.url) {
|
|
2442
2136
|
return props.url + '_' + (props.method || 'Get');
|
|
2443
2137
|
}
|
|
2444
|
-
|
|
2445
2138
|
return '';
|
|
2446
2139
|
};
|
|
2447
2140
|
/** 获取储存的表头列 */
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
2141
|
var getLocalStorageHeadCom = function getLocalStorageHeadCom() {
|
|
2451
2142
|
if (props.rememberColumns === false) return {};
|
|
2452
2143
|
var json = getLocalStorageSelectHead(getTableHeadKey(), dayNum);
|
|
@@ -2456,8 +2147,6 @@ var Table = function Table(propsInit) {
|
|
|
2456
2147
|
* 设置本地表格列
|
|
2457
2148
|
*
|
|
2458
2149
|
* */
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
2150
|
var setLocalStorageHeadCom = function setLocalStorageHeadCom(obj) {
|
|
2462
2151
|
if (props.rememberColumns === false) return;
|
|
2463
2152
|
var localStorageData = getLocalStorageHeadCom();
|
|
@@ -2466,27 +2155,23 @@ var Table = function Table(propsInit) {
|
|
|
2466
2155
|
headDataConfig: localStorageData.headDataConfig || {},
|
|
2467
2156
|
storageTime: new Date().getTime(),
|
|
2468
2157
|
validity: dayNum * (60 * 60 * 24)
|
|
2469
|
-
};
|
|
2470
|
-
|
|
2158
|
+
};
|
|
2159
|
+
// 设置固定列
|
|
2471
2160
|
if (obj.setFixed) {
|
|
2472
2161
|
var selectHeadJson = ArrayToObject('name', obj.headArr || []);
|
|
2473
|
-
|
|
2474
2162
|
for (var i = 0, l = showHeadList.length; i < l; i++) {
|
|
2475
2163
|
var item = showHeadList[i];
|
|
2476
2164
|
var name = item.name || '';
|
|
2477
2165
|
json.headName[name] = false;
|
|
2478
|
-
|
|
2479
2166
|
if (selectHeadJson[name]) {
|
|
2480
2167
|
json.headName[name] = true;
|
|
2481
2168
|
}
|
|
2482
2169
|
}
|
|
2483
|
-
}
|
|
2484
|
-
|
|
2485
|
-
|
|
2170
|
+
}
|
|
2171
|
+
// 设置拖动列
|
|
2486
2172
|
if (obj.setDrag) {
|
|
2487
2173
|
json.headDataConfig = obj.headDataConfig || {};
|
|
2488
2174
|
}
|
|
2489
|
-
|
|
2490
2175
|
setLocalStorageSelectHead(getTableHeadKey(), json);
|
|
2491
2176
|
};
|
|
2492
2177
|
/**
|
|
@@ -2495,15 +2180,12 @@ var Table = function Table(propsInit) {
|
|
|
2495
2180
|
* @param showHeadArr {HeadDataProps[]} 显示列与本地数据集合
|
|
2496
2181
|
* @param localHead {HeadLocalStorageItem} 本地显示列数据
|
|
2497
2182
|
* */
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
2183
|
var handHeadShow = function handHeadShow(item, showHeadArr, localHead) {
|
|
2501
2184
|
if (showColumns === false) {
|
|
2502
2185
|
// 如果不显示选择列,全部显示
|
|
2503
2186
|
showHeadArr.push(item);
|
|
2504
2187
|
return;
|
|
2505
2188
|
}
|
|
2506
|
-
|
|
2507
2189
|
if (props.rememberColumns === false) {
|
|
2508
2190
|
// 不记住列
|
|
2509
2191
|
if (item.selected) showHeadArr.push(item);
|
|
@@ -2512,7 +2194,6 @@ var Table = function Table(propsInit) {
|
|
|
2512
2194
|
var nameSelectJson = localHead.headName || {};
|
|
2513
2195
|
var name = item.name || '';
|
|
2514
2196
|
var nameSelect = nameSelectJson[name];
|
|
2515
|
-
|
|
2516
2197
|
if (nameSelect !== undefined) {
|
|
2517
2198
|
// 存在本地选择列里面,选中添加到显示列
|
|
2518
2199
|
if (nameSelect) showHeadArr.push(item);
|
|
@@ -2523,8 +2204,6 @@ var Table = function Table(propsInit) {
|
|
|
2523
2204
|
}
|
|
2524
2205
|
};
|
|
2525
2206
|
/** 处理序号 */
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
2207
|
var handSerial = function handSerial(arr) {
|
|
2529
2208
|
var defaultVal = {
|
|
2530
2209
|
label: intl({
|
|
@@ -2539,7 +2218,6 @@ var Table = function Table(propsInit) {
|
|
|
2539
2218
|
return Number(rowIndex) + 1;
|
|
2540
2219
|
}
|
|
2541
2220
|
};
|
|
2542
|
-
|
|
2543
2221
|
if (props.serialNumber) {
|
|
2544
2222
|
if (typeof props.serialNumber === 'boolean') {
|
|
2545
2223
|
arr.unshift(defaultVal);
|
|
@@ -2553,17 +2231,12 @@ var Table = function Table(propsInit) {
|
|
|
2553
2231
|
* @param arr {(HeadDataProps | HeadDataReqProps)[]} 表头数据
|
|
2554
2232
|
* @param bol {boolean} true请求表头
|
|
2555
2233
|
* */
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
2234
|
var handInitHead = function handInitHead(arr, bol) {
|
|
2559
2235
|
var headShowArr = []; // 表格显示列
|
|
2560
|
-
|
|
2561
2236
|
var headArr = []; // 显示列列表
|
|
2562
|
-
|
|
2563
2237
|
var json = {};
|
|
2564
2238
|
var localHead = getLocalStorageHeadCom();
|
|
2565
2239
|
constData.current.headDataConfig = localHead.headDataConfig || {};
|
|
2566
|
-
|
|
2567
2240
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
2568
2241
|
var item = arr[i];
|
|
2569
2242
|
var name = item.name || '';
|
|
@@ -2573,7 +2246,6 @@ var Table = function Table(propsInit) {
|
|
|
2573
2246
|
headArr.push(item);
|
|
2574
2247
|
json[name] = item;
|
|
2575
2248
|
}
|
|
2576
|
-
|
|
2577
2249
|
if (bol) {
|
|
2578
2250
|
headShowArr.sort(function (a, b) {
|
|
2579
2251
|
return Number(a.orderNum) - Number(b.orderNum);
|
|
@@ -2582,37 +2254,29 @@ var Table = function Table(propsInit) {
|
|
|
2582
2254
|
return Number(a.orderNum) - Number(b.orderNum);
|
|
2583
2255
|
});
|
|
2584
2256
|
}
|
|
2585
|
-
|
|
2586
2257
|
handSerial(headShowArr); // 处理序号
|
|
2587
|
-
|
|
2588
2258
|
handHeadDataCom(headShowArr); // 处理显示列宽度
|
|
2589
|
-
|
|
2590
2259
|
setHeadDataCom(headShowArr); // 表格当前显示列 集合本地数据
|
|
2591
|
-
|
|
2592
2260
|
setShowHeadList(headArr); // 显示列下拉值 所有头部的配置
|
|
2593
|
-
|
|
2594
2261
|
setHeadDataConfig(Object.assign({}, constData.current.headDataConfig));
|
|
2595
2262
|
constData.current.headDataJson = json;
|
|
2596
|
-
};
|
|
2597
|
-
|
|
2598
|
-
|
|
2263
|
+
};
|
|
2264
|
+
// 计算左边的差量
|
|
2599
2265
|
var handLeftWidth = function handLeftWidth() {
|
|
2600
|
-
var leftNum = 0;
|
|
2601
|
-
|
|
2266
|
+
var leftNum = 0;
|
|
2267
|
+
// 复选
|
|
2602
2268
|
if (props.check) {
|
|
2603
2269
|
leftNum += 48;
|
|
2604
|
-
}
|
|
2605
|
-
|
|
2606
|
-
|
|
2270
|
+
}
|
|
2271
|
+
// 单选
|
|
2607
2272
|
if (props.radio) {
|
|
2608
2273
|
if (props.check) {
|
|
2609
2274
|
leftNum += 32;
|
|
2610
2275
|
} else {
|
|
2611
2276
|
leftNum += 48;
|
|
2612
2277
|
}
|
|
2613
|
-
}
|
|
2614
|
-
|
|
2615
|
-
|
|
2278
|
+
}
|
|
2279
|
+
// 嵌套
|
|
2616
2280
|
if (props.expandable) {
|
|
2617
2281
|
if (props.check || props.radio) {
|
|
2618
2282
|
leftNum += 32;
|
|
@@ -2620,19 +2284,16 @@ var Table = function Table(propsInit) {
|
|
|
2620
2284
|
leftNum += 48;
|
|
2621
2285
|
}
|
|
2622
2286
|
}
|
|
2623
|
-
|
|
2624
2287
|
return leftNum;
|
|
2625
|
-
};
|
|
2626
|
-
|
|
2627
|
-
|
|
2288
|
+
};
|
|
2289
|
+
// 计算右边的差量
|
|
2628
2290
|
var handRightWidth = function handRightWidth() {
|
|
2629
|
-
var rightNum = 0;
|
|
2630
|
-
|
|
2291
|
+
var rightNum = 0;
|
|
2292
|
+
// 显示列宽度
|
|
2631
2293
|
if (props.showColumns === 'inside' || props.showColumns === undefined) {
|
|
2632
2294
|
rightNum += 56;
|
|
2633
|
-
}
|
|
2634
|
-
|
|
2635
|
-
|
|
2295
|
+
}
|
|
2296
|
+
// 操作列
|
|
2636
2297
|
if (props.operate) {
|
|
2637
2298
|
if (props.operate.width) {
|
|
2638
2299
|
rightNum += getStringInNumber(props.operate.width);
|
|
@@ -2647,9 +2308,8 @@ var Table = function Table(propsInit) {
|
|
|
2647
2308
|
}
|
|
2648
2309
|
|
|
2649
2310
|
return rightNum;
|
|
2650
|
-
};
|
|
2651
|
-
|
|
2652
|
-
|
|
2311
|
+
};
|
|
2312
|
+
// 获取宽度
|
|
2653
2313
|
var getWidth = function getWidth(item) {
|
|
2654
2314
|
var w = item.width || '';
|
|
2655
2315
|
var name = item.name || '';
|
|
@@ -2660,66 +2320,55 @@ var Table = function Table(propsInit) {
|
|
|
2660
2320
|
/**
|
|
2661
2321
|
* 处理显示列宽度
|
|
2662
2322
|
* */
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
2323
|
var handHeadDataCom = function handHeadDataCom(arr) {
|
|
2666
2324
|
// 左侧定位数组
|
|
2667
|
-
var leftArr = [];
|
|
2668
|
-
|
|
2669
|
-
var rightArr = [];
|
|
2670
|
-
|
|
2671
|
-
var tableMinWidth = 0;
|
|
2672
|
-
|
|
2325
|
+
var leftArr = [];
|
|
2326
|
+
// 右侧定位数组
|
|
2327
|
+
var rightArr = [];
|
|
2328
|
+
// 表格最小宽度
|
|
2329
|
+
var tableMinWidth = 0;
|
|
2330
|
+
// 左边差量
|
|
2673
2331
|
var leftWidth = handLeftWidth();
|
|
2674
|
-
tableMinWidth += leftWidth;
|
|
2675
|
-
|
|
2332
|
+
tableMinWidth += leftWidth;
|
|
2333
|
+
// 右边差量
|
|
2676
2334
|
var rightWidth = handRightWidth();
|
|
2677
2335
|
tableMinWidth += rightWidth;
|
|
2678
2336
|
var posJson = {
|
|
2679
2337
|
leftBol: false,
|
|
2680
2338
|
rightBol: false
|
|
2681
|
-
};
|
|
2682
|
-
|
|
2339
|
+
};
|
|
2340
|
+
// 显示列
|
|
2683
2341
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
2684
2342
|
var item = arr[i];
|
|
2685
2343
|
var itemWidth = 0;
|
|
2686
2344
|
var handW = getWidth(item); // 获取宽度,有拖动过后宽度,就用拖动的
|
|
2687
|
-
|
|
2688
2345
|
if (handW) {
|
|
2689
2346
|
itemWidth = getStringInNumber(handW);
|
|
2690
2347
|
tableMinWidth += itemWidth;
|
|
2691
2348
|
} else {
|
|
2692
2349
|
tableMinWidth += lineWidth;
|
|
2693
2350
|
}
|
|
2694
|
-
|
|
2695
2351
|
if (item.fixed === 'left' && item.width) {
|
|
2696
2352
|
// 固定列必须具有宽度
|
|
2697
2353
|
leftArr.push(item);
|
|
2698
2354
|
}
|
|
2699
|
-
|
|
2700
2355
|
if (item.fixed === 'right' && item.width) {
|
|
2701
2356
|
// 固定列必须具有宽度
|
|
2702
2357
|
rightArr.push(item);
|
|
2703
2358
|
}
|
|
2704
2359
|
}
|
|
2705
|
-
|
|
2706
2360
|
if (leftArr.length > 0) {
|
|
2707
|
-
posJson.leftBol = true;
|
|
2708
|
-
|
|
2361
|
+
posJson.leftBol = true;
|
|
2362
|
+
// 左边定位位置
|
|
2709
2363
|
var leftOps = leftWidth;
|
|
2710
|
-
|
|
2711
2364
|
for (var _i = 0, _l = leftArr.length; _i < _l; _i++) {
|
|
2712
2365
|
var _item = leftArr[_i];
|
|
2713
|
-
|
|
2714
2366
|
if (_item.width) {
|
|
2715
2367
|
var _handW = getWidth(_item); // 获取宽度,有拖动过后宽度,就用拖动的
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
2368
|
var _itemWidth = getStringInNumber(_handW);
|
|
2719
|
-
|
|
2720
2369
|
_item.paraui_left_width = leftOps;
|
|
2721
|
-
leftOps += _itemWidth;
|
|
2722
|
-
|
|
2370
|
+
leftOps += _itemWidth;
|
|
2371
|
+
// 最后一个
|
|
2723
2372
|
if (_i === leftArr.length - 1) {
|
|
2724
2373
|
_item.paraui_fixed_left_last = true;
|
|
2725
2374
|
} else {
|
|
@@ -2728,24 +2377,18 @@ var Table = function Table(propsInit) {
|
|
|
2728
2377
|
}
|
|
2729
2378
|
}
|
|
2730
2379
|
}
|
|
2731
|
-
|
|
2732
2380
|
if (rightArr.length > 0) {
|
|
2733
|
-
posJson.rightBol = true;
|
|
2734
|
-
|
|
2381
|
+
posJson.rightBol = true;
|
|
2382
|
+
// 右边定位位置
|
|
2735
2383
|
var rightOps = rightWidth;
|
|
2736
|
-
|
|
2737
2384
|
for (var _i2 = rightArr.length - 1; _i2 >= 0; _i2--) {
|
|
2738
2385
|
var _item2 = rightArr[_i2];
|
|
2739
|
-
|
|
2740
2386
|
if (_item2.width) {
|
|
2741
2387
|
var _handW2 = getWidth(_item2); // 获取宽度,有拖动过后宽度,就用拖动的
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
2388
|
var _itemWidth2 = getStringInNumber(_handW2);
|
|
2745
|
-
|
|
2746
2389
|
_item2.paraui_right_width = rightOps;
|
|
2747
|
-
rightOps += _itemWidth2;
|
|
2748
|
-
|
|
2390
|
+
rightOps += _itemWidth2;
|
|
2391
|
+
// 最后一个
|
|
2749
2392
|
if (_i2 === rightArr.length - 1) {
|
|
2750
2393
|
_item2.paraui_fixed_right_first = true;
|
|
2751
2394
|
} else {
|
|
@@ -2754,45 +2397,35 @@ var Table = function Table(propsInit) {
|
|
|
2754
2397
|
}
|
|
2755
2398
|
}
|
|
2756
2399
|
}
|
|
2757
|
-
|
|
2758
2400
|
setTableMinWidth(tableMinWidth); // 表格最小宽度
|
|
2759
|
-
|
|
2760
2401
|
setPosFixed(posJson); // 定位信息
|
|
2761
2402
|
};
|
|
2762
2403
|
/**
|
|
2763
2404
|
* 处理过滤请求数据
|
|
2764
2405
|
* */
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
2406
|
var handFilterReq = function handFilterReq() {
|
|
2768
2407
|
var json = {};
|
|
2769
2408
|
var arr = Object.keys(selectFilterCom);
|
|
2770
2409
|
var headDataJson = constData.current.headDataJson || {};
|
|
2771
|
-
|
|
2772
2410
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
2773
2411
|
var name = arr[i];
|
|
2774
2412
|
var itemValue = selectFilterCom[name];
|
|
2775
2413
|
var item = headDataJson[name];
|
|
2776
|
-
|
|
2777
2414
|
if (item && item.filterRadio) {
|
|
2778
2415
|
json[name] = itemValue[0];
|
|
2779
2416
|
} else {
|
|
2780
2417
|
json[name] = itemValue;
|
|
2781
2418
|
}
|
|
2782
2419
|
}
|
|
2783
|
-
|
|
2784
2420
|
return json;
|
|
2785
2421
|
};
|
|
2786
2422
|
/**
|
|
2787
2423
|
* 发送请求
|
|
2788
2424
|
* @param obj {ReqProps} 请求信息
|
|
2789
2425
|
*/
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
2426
|
var requestData = function requestData(obj) {
|
|
2793
2427
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
|
|
2794
2428
|
var _yield$requestFunc, data, err;
|
|
2795
|
-
|
|
2796
2429
|
return regenerator.wrap(function _callee$(_context) {
|
|
2797
2430
|
while (1) {
|
|
2798
2431
|
switch (_context.prev = _context.next) {
|
|
@@ -2801,27 +2434,22 @@ var Table = function Table(propsInit) {
|
|
|
2801
2434
|
if (props.loading === undefined) setLoadState(true);
|
|
2802
2435
|
_context.next = 4;
|
|
2803
2436
|
return requestFunc(obj);
|
|
2804
|
-
|
|
2805
2437
|
case 4:
|
|
2806
2438
|
_yield$requestFunc = _context.sent;
|
|
2807
2439
|
data = _yield$requestFunc.data;
|
|
2808
2440
|
err = _yield$requestFunc.err;
|
|
2809
|
-
|
|
2810
2441
|
if (!err) {
|
|
2811
2442
|
_context.next = 11;
|
|
2812
2443
|
break;
|
|
2813
2444
|
}
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2445
|
+
if (props.loading === undefined) setLoadState(false);
|
|
2446
|
+
// cancel的接口不清除上次展示的数据
|
|
2817
2447
|
if (!err.__CANCEL__) {
|
|
2818
2448
|
setRowData([]);
|
|
2819
2449
|
setTotal(0);
|
|
2820
2450
|
setRowDataJson({});
|
|
2821
2451
|
}
|
|
2822
|
-
|
|
2823
2452
|
return _context.abrupt("return", false);
|
|
2824
|
-
|
|
2825
2453
|
case 11:
|
|
2826
2454
|
if (requestCallback) {
|
|
2827
2455
|
requestCallback(data, function (handData) {
|
|
@@ -2836,7 +2464,6 @@ var Table = function Table(propsInit) {
|
|
|
2836
2464
|
handReqData(data);
|
|
2837
2465
|
if (props.loading === undefined) setLoadState(false);
|
|
2838
2466
|
}
|
|
2839
|
-
|
|
2840
2467
|
case 12:
|
|
2841
2468
|
case "end":
|
|
2842
2469
|
return _context.stop();
|
|
@@ -2849,17 +2476,13 @@ var Table = function Table(propsInit) {
|
|
|
2849
2476
|
* 设置请求数据
|
|
2850
2477
|
* @param data {any} 请求信息
|
|
2851
2478
|
*/
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
2479
|
var handReqData = function handReqData(data) {
|
|
2855
2480
|
if (data.columns && props.headData === undefined) {
|
|
2856
2481
|
var str = JSON.stringify(data.columns);
|
|
2857
|
-
|
|
2858
2482
|
if (str !== JSON.stringify(originalHead)) {
|
|
2859
2483
|
setOriginalHead(data.columns);
|
|
2860
2484
|
var arr = Object.keys(data.columns);
|
|
2861
2485
|
var headDataArr = []; // 表头数据
|
|
2862
|
-
|
|
2863
2486
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
2864
2487
|
var key = arr[i];
|
|
2865
2488
|
var item = data.columns[key];
|
|
@@ -2872,29 +2495,24 @@ var Table = function Table(propsInit) {
|
|
|
2872
2495
|
item.width = item.width;
|
|
2873
2496
|
headDataArr.push(item);
|
|
2874
2497
|
}
|
|
2875
|
-
|
|
2876
2498
|
handInitHead(headDataArr, true);
|
|
2877
2499
|
}
|
|
2878
2500
|
}
|
|
2879
|
-
|
|
2880
2501
|
if (pagination) {
|
|
2881
2502
|
// 分页 data是对象
|
|
2882
2503
|
setNowPageData(data.list || []);
|
|
2883
2504
|
setTotal(data.total);
|
|
2884
|
-
|
|
2885
2505
|
if (data.page !== undefined && data.page !== null) {
|
|
2886
2506
|
constData.current.page = Number(data.page);
|
|
2887
2507
|
setPageCom(Number(data.page));
|
|
2888
2508
|
}
|
|
2889
2509
|
} else {
|
|
2890
2510
|
var handData1 = [];
|
|
2891
|
-
|
|
2892
2511
|
if (data instanceof Array) {
|
|
2893
2512
|
handData1 = data;
|
|
2894
2513
|
} else {
|
|
2895
2514
|
handData1 = data.list || [];
|
|
2896
2515
|
}
|
|
2897
|
-
|
|
2898
2516
|
setNowPageData(handData1);
|
|
2899
2517
|
}
|
|
2900
2518
|
};
|
|
@@ -2902,23 +2520,19 @@ var Table = function Table(propsInit) {
|
|
|
2902
2520
|
* 设置当前页数据
|
|
2903
2521
|
* @param nowPageData {any} 当前页数据
|
|
2904
2522
|
*/
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
2523
|
var setNowPageData = function setNowPageData(nowPageData) {
|
|
2908
2524
|
// 加载更多请求放在里面
|
|
2909
2525
|
if (constData.current.loadMoreUrl) {
|
|
2910
2526
|
var historyData = constData.current.historyData || [];
|
|
2911
|
-
|
|
2912
2527
|
if (historyData.length > 0) {
|
|
2913
2528
|
nowPageData = [].concat(_toConsumableArray(historyData), _toConsumableArray(nowPageData));
|
|
2914
2529
|
}
|
|
2915
2530
|
}
|
|
2916
|
-
|
|
2917
2531
|
var handDataJson = ArrayToObject(rowKey, nowPageData);
|
|
2918
2532
|
constData.current.historyData = nowPageData;
|
|
2919
2533
|
setRowDataJson(handDataJson);
|
|
2920
|
-
setRowData(nowPageData);
|
|
2921
|
-
|
|
2534
|
+
setRowData(nowPageData);
|
|
2535
|
+
// 设置总数对象
|
|
2922
2536
|
if (url) {
|
|
2923
2537
|
setTotalDataJson(Object.assign(Object.assign({}, totalDataJson), handDataJson));
|
|
2924
2538
|
}
|
|
@@ -2926,8 +2540,6 @@ var Table = function Table(propsInit) {
|
|
|
2926
2540
|
/**
|
|
2927
2541
|
* 处理page
|
|
2928
2542
|
* */
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
2543
|
var handPage = function handPage(num) {
|
|
2932
2544
|
constData.current.page = num;
|
|
2933
2545
|
setPageCom(num);
|
|
@@ -2937,8 +2549,6 @@ var Table = function Table(propsInit) {
|
|
|
2937
2549
|
* 改变页数
|
|
2938
2550
|
* @param num {number | undefined} 页数
|
|
2939
2551
|
*/
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
2552
|
var changePage = function changePage(num) {
|
|
2943
2553
|
if (num !== undefined) handPage(num);
|
|
2944
2554
|
clearCheckValue();
|
|
@@ -2947,8 +2557,6 @@ var Table = function Table(propsInit) {
|
|
|
2947
2557
|
* 改变每页条数
|
|
2948
2558
|
* @param num {number | undefined} 条数
|
|
2949
2559
|
*/
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
2560
|
var changeRowsPerPage = function changeRowsPerPage(num) {
|
|
2953
2561
|
if (num !== undefined) handSize(num);
|
|
2954
2562
|
handPage(1);
|
|
@@ -2956,8 +2564,6 @@ var Table = function Table(propsInit) {
|
|
|
2956
2564
|
/**
|
|
2957
2565
|
* 加载更多,点击改变分页
|
|
2958
2566
|
*/
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
2567
|
var changePageMore = function changePageMore() {
|
|
2962
2568
|
var pageHnad = Number(pageCom) + 1;
|
|
2963
2569
|
handPage(pageHnad);
|
|
@@ -2967,25 +2573,19 @@ var Table = function Table(propsInit) {
|
|
|
2967
2573
|
* @param event 元素
|
|
2968
2574
|
* @param name 当前列name
|
|
2969
2575
|
*/
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
2576
|
var handleRequestSort = function handleRequestSort(event, name) {
|
|
2973
2577
|
// asc 升序 -> desc降序 -> undefined 无序
|
|
2974
2578
|
var index = orderFieldArr.indexOf(name);
|
|
2975
|
-
|
|
2976
2579
|
if (index !== -1) {
|
|
2977
2580
|
// 排序过
|
|
2978
2581
|
var orderType = orderTypeArr[index];
|
|
2979
|
-
|
|
2980
2582
|
if (orderType === 'asc') {
|
|
2981
2583
|
orderTypeArr[index] = 'desc';
|
|
2982
2584
|
}
|
|
2983
|
-
|
|
2984
2585
|
if (orderType === 'desc') {
|
|
2985
2586
|
orderFieldArr.splice(index, 1);
|
|
2986
2587
|
orderTypeArr.splice(index, 1);
|
|
2987
2588
|
}
|
|
2988
|
-
|
|
2989
2589
|
if (orderType === undefined) {
|
|
2990
2590
|
orderTypeArr[index] = 'asc';
|
|
2991
2591
|
}
|
|
@@ -2994,50 +2594,38 @@ var Table = function Table(propsInit) {
|
|
|
2994
2594
|
orderFieldArr.push(name);
|
|
2995
2595
|
orderTypeArr.push('asc');
|
|
2996
2596
|
}
|
|
2997
|
-
|
|
2998
2597
|
var orderFieldArrHand = _toConsumableArray(orderFieldArr);
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
2598
|
+
var orderTypeArrHand = _toConsumableArray(orderTypeArr);
|
|
2599
|
+
// 单个排序
|
|
3003
2600
|
if (sortTableRadio) {
|
|
3004
2601
|
var num = orderFieldArrHand.indexOf(name);
|
|
3005
|
-
|
|
3006
2602
|
if (num !== -1) {
|
|
3007
2603
|
orderFieldArrHand = [orderFieldArrHand[num]];
|
|
3008
2604
|
orderTypeArrHand = [orderTypeArrHand[num]];
|
|
3009
2605
|
}
|
|
3010
2606
|
}
|
|
3011
|
-
|
|
3012
2607
|
setOrderFieldArr(orderFieldArrHand);
|
|
3013
2608
|
setOrderTypeArr(orderTypeArrHand);
|
|
3014
2609
|
constData.current.orderFieldArr = orderFieldArrHand;
|
|
3015
2610
|
constData.current.orderTypeArr = orderTypeArrHand;
|
|
3016
|
-
|
|
3017
2611
|
if (constData.current.loadMoreUrl) {
|
|
3018
2612
|
constData.current.historyData = [];
|
|
3019
2613
|
handPage(1);
|
|
3020
2614
|
}
|
|
3021
|
-
|
|
3022
2615
|
setRefreshCom(Math.random());
|
|
3023
2616
|
};
|
|
3024
2617
|
/**
|
|
3025
2618
|
* 处理复选框往外抛值
|
|
3026
2619
|
* @param json 当前选中值
|
|
3027
2620
|
*/
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
2621
|
var handCheckValue = function handCheckValue(json) {
|
|
3031
2622
|
if (props.checkDefaultValue === undefined) setCheckJson(Object.assign({}, json));
|
|
3032
2623
|
var arr = Object.keys(json);
|
|
3033
|
-
|
|
3034
2624
|
if (setCheck) {
|
|
3035
2625
|
var selectData = [];
|
|
3036
|
-
|
|
3037
2626
|
for (var i = 0, l = arr.length; i < l; i++) {
|
|
3038
2627
|
if (totalDataJson[arr[i]]) selectData.push(totalDataJson[arr[i]]);
|
|
3039
2628
|
}
|
|
3040
|
-
|
|
3041
2629
|
setCheck(arr, selectData);
|
|
3042
2630
|
}
|
|
3043
2631
|
};
|
|
@@ -3046,16 +2634,12 @@ var Table = function Table(propsInit) {
|
|
|
3046
2634
|
* @param event 选择的元素
|
|
3047
2635
|
* @param bol 全选 / 全不选
|
|
3048
2636
|
*/
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
2637
|
var setAllCheck = function setAllCheck(event, bol) {
|
|
3052
2638
|
// 存在checkDefaultValue, {...checkJson}解决直接使用checkJson, 复选框会一闪
|
|
3053
2639
|
// 不存在checkDefaultValue,内部直接记录状态
|
|
3054
2640
|
var checkJsonDeep = props.checkDefaultValue !== undefined ? Object.assign({}, checkJson) : checkJson;
|
|
3055
|
-
|
|
3056
2641
|
for (var i = 0, l = rowData.length; i < l; i++) {
|
|
3057
2642
|
var key = rowData[i][rowKey];
|
|
3058
|
-
|
|
3059
2643
|
if (!disabledJson[key]) {
|
|
3060
2644
|
if (bol) {
|
|
3061
2645
|
checkJsonDeep[key] = true;
|
|
@@ -3064,7 +2648,6 @@ var Table = function Table(propsInit) {
|
|
|
3064
2648
|
}
|
|
3065
2649
|
}
|
|
3066
2650
|
}
|
|
3067
|
-
|
|
3068
2651
|
handCheckValue(checkJsonDeep);
|
|
3069
2652
|
};
|
|
3070
2653
|
/**
|
|
@@ -3073,15 +2656,12 @@ var Table = function Table(propsInit) {
|
|
|
3073
2656
|
* @param bol 选 / 不选
|
|
3074
2657
|
* @param key 当前行key
|
|
3075
2658
|
*/
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
2659
|
var selectCheck = function selectCheck(event, bol, key) {
|
|
3079
2660
|
// 存在checkDefaultValue, {...checkJson}解决直接使用checkJson, 复选框会一闪
|
|
3080
2661
|
// 不存在checkDefaultValue,内部直接记录状态
|
|
3081
2662
|
var checkJsonDeep = props.checkDefaultValue !== undefined ? Object.assign({}, checkJson) : checkJson;
|
|
3082
2663
|
checkJsonDeep[key] = bol;
|
|
3083
2664
|
if (checkJsonDeep[key] === false) delete checkJsonDeep[key]; // 确保json里面的数据都是选中的
|
|
3084
|
-
|
|
3085
2665
|
handCheckValue(checkJsonDeep);
|
|
3086
2666
|
};
|
|
3087
2667
|
/**
|
|
@@ -3089,16 +2669,12 @@ var Table = function Table(propsInit) {
|
|
|
3089
2669
|
* @param event 选择的元素
|
|
3090
2670
|
* @param item 当前行数据
|
|
3091
2671
|
*/
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
2672
|
var selectRadio = function selectRadio(event, val) {
|
|
3095
2673
|
if (setRadio) setRadio(val, totalDataJson[val]);
|
|
3096
2674
|
};
|
|
3097
2675
|
/**
|
|
3098
2676
|
* 清空复选框选中值
|
|
3099
2677
|
*/
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
2678
|
var clearCheckValue = function clearCheckValue() {
|
|
3103
2679
|
if (!checkRememberPage) {
|
|
3104
2680
|
setCheckJson({});
|
|
@@ -3111,8 +2687,6 @@ var Table = function Table(propsInit) {
|
|
|
3111
2687
|
* @param item 当前点击项
|
|
3112
2688
|
* @param isRest 是否重置
|
|
3113
2689
|
* */
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
2690
|
var changeSelectHead = function changeSelectHead(arr, item, isRest) {
|
|
3117
2691
|
handHeadDataCom(arr);
|
|
3118
2692
|
setHeadDataCom(arr);
|
|
@@ -3120,13 +2694,11 @@ var Table = function Table(propsInit) {
|
|
|
3120
2694
|
setFixed: true,
|
|
3121
2695
|
headArr: arr
|
|
3122
2696
|
};
|
|
3123
|
-
|
|
3124
2697
|
if (isRest) {
|
|
3125
2698
|
obj.setDrag = true;
|
|
3126
2699
|
obj.headDataConfig = {};
|
|
3127
|
-
}
|
|
3128
|
-
|
|
3129
|
-
|
|
2700
|
+
}
|
|
2701
|
+
// 本地记住选择列
|
|
3130
2702
|
setLocalStorageHeadCom(obj);
|
|
3131
2703
|
onClickColumns && onClickColumns(arr, item);
|
|
3132
2704
|
};
|
|
@@ -3136,70 +2708,52 @@ var Table = function Table(propsInit) {
|
|
|
3136
2708
|
* @param bol 重置
|
|
3137
2709
|
* @param item 当前点击项
|
|
3138
2710
|
*/
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
2711
|
var changeShowList = function changeShowList(headShowArr, bol, item) {
|
|
3142
2712
|
if (bol) {
|
|
3143
2713
|
constData.current.headDataConfig = {};
|
|
3144
2714
|
setHeadDataConfig({}); // 重置拖拽列
|
|
3145
|
-
|
|
3146
2715
|
var arr = [];
|
|
3147
|
-
|
|
3148
2716
|
var arrShow = _toConsumableArray(showHeadList);
|
|
3149
|
-
|
|
3150
2717
|
handSerial(arrShow);
|
|
3151
|
-
|
|
3152
2718
|
for (var i = 0, l = arrShow.length; i < l; i++) {
|
|
3153
2719
|
var _item3 = arrShow[i];
|
|
3154
|
-
|
|
3155
2720
|
if (_item3 && _item3.selected) {
|
|
3156
2721
|
// 当前显示字段
|
|
3157
2722
|
arr.push(_item3);
|
|
3158
2723
|
}
|
|
3159
2724
|
}
|
|
3160
|
-
|
|
3161
2725
|
changeSelectHead(arr, item, true);
|
|
3162
2726
|
return;
|
|
3163
2727
|
}
|
|
3164
|
-
|
|
3165
2728
|
headShowArr.sort(function (a, b) {
|
|
3166
2729
|
return Number(a.orderNum) - Number(b.orderNum);
|
|
3167
2730
|
});
|
|
3168
|
-
|
|
3169
2731
|
var headShowArrHand = _toConsumableArray(headShowArr);
|
|
3170
|
-
|
|
3171
2732
|
changeSelectHead(headShowArrHand, item);
|
|
3172
2733
|
};
|
|
3173
2734
|
/**
|
|
3174
2735
|
* 改变过滤
|
|
3175
2736
|
*/
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
2737
|
var changeFilter = function changeFilter(val) {
|
|
3179
2738
|
constData.current.selectFilterCom = DeepClone(val);
|
|
3180
2739
|
setSelectFilterCom(DeepClone(val));
|
|
3181
2740
|
handPage(1);
|
|
3182
2741
|
};
|
|
3183
2742
|
/** 改变拖拽列width */
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
2743
|
var changeColumnWidth = function changeColumnWidth(headCell, result) {
|
|
3187
2744
|
var name = headCell.name || '';
|
|
3188
2745
|
constData.current.headDataConfig[name] = {
|
|
3189
2746
|
width: result.width
|
|
3190
2747
|
};
|
|
3191
2748
|
setHeadDataConfig(Object.assign({}, constData.current.headDataConfig)); // 设置表格列配置,被拖动的width
|
|
3192
|
-
|
|
3193
2749
|
handHeadDataCom(_toConsumableArray(headData)); // 重新计算表格的最小宽度
|
|
3194
2750
|
// 本地记住拖动列宽度
|
|
3195
|
-
|
|
3196
2751
|
setLocalStorageHeadCom({
|
|
3197
2752
|
headDataConfig: constData.current.headDataConfig,
|
|
3198
2753
|
setDrag: true
|
|
3199
2754
|
});
|
|
3200
|
-
};
|
|
3201
|
-
|
|
3202
|
-
|
|
2755
|
+
};
|
|
2756
|
+
// 表格头部memo
|
|
3203
2757
|
var TableHeadMemo = useMemo(function () {
|
|
3204
2758
|
return jsx(TableHead$1, {
|
|
3205
2759
|
orderTypeArr: orderTypeArr,
|
|
@@ -3230,8 +2784,8 @@ var Table = function Table(propsInit) {
|
|
|
3230
2784
|
headDataConfig: headDataConfig,
|
|
3231
2785
|
changeColumnWidth: changeColumnWidth
|
|
3232
2786
|
});
|
|
3233
|
-
}, [totalDataJson, showColumns, rowKey, rowData, checkJson, disabledJson, orderTypeArr, orderFieldArr, sortTable, filter, expandable, check, headSelectStatus, radio, align, showHeadList, headDataCom, selectFilterCom, operate, onClickColumns, sortTableRadio, fixedTable, posFixed, beyondText, fixedColumn, lineWidth, dragColumn, headDataConfig]);
|
|
3234
|
-
|
|
2787
|
+
}, [totalDataJson, showColumns, rowKey, rowData, checkJson, disabledJson, orderTypeArr, orderFieldArr, sortTable, filter, expandable, check, headSelectStatus, radio, align, showHeadList, headDataCom, selectFilterCom, operate, onClickColumns, sortTableRadio, fixedTable, posFixed, beyondText, fixedColumn, lineWidth, dragColumn, headDataConfig]);
|
|
2788
|
+
// 表格内容memo
|
|
3235
2789
|
var TableBodyMemo = useMemo(function () {
|
|
3236
2790
|
return jsx(TableBody, {
|
|
3237
2791
|
url: url,
|
|
@@ -3280,8 +2834,8 @@ var Table = function Table(propsInit) {
|
|
|
3280
2834
|
onClickRow: onClickRow,
|
|
3281
2835
|
rowClassMapping: rowClassMapping
|
|
3282
2836
|
});
|
|
3283
|
-
}, [showColumns, formatter, rowKey, rowData, headDataCom, expandable, check, radio, checkJson, sortTable, orderTypeArr, orderFieldArr, radioValue, disabledJson, align, tableCell, operate, setRadio, setCheck, totalDataJson, loadMore, loadMoreRender, onClickMore, total, pageCom, sizeCom, loadMoreUrl, expandValue, expandMultiple, disabledExpand, onExpand, defaultExpandAllRows, loadState, emptyProps, url, disabledArrStatus, posFixed, beyondText, fixedTable, fixedColumn, onClickRow, rowClassMapping]);
|
|
3284
|
-
|
|
2837
|
+
}, [showColumns, formatter, rowKey, rowData, headDataCom, expandable, check, radio, checkJson, sortTable, orderTypeArr, orderFieldArr, radioValue, disabledJson, align, tableCell, operate, setRadio, setCheck, totalDataJson, loadMore, loadMoreRender, onClickMore, total, pageCom, sizeCom, loadMoreUrl, expandValue, expandMultiple, disabledExpand, onExpand, defaultExpandAllRows, loadState, emptyProps, url, disabledArrStatus, posFixed, beyondText, fixedTable, fixedColumn, onClickRow, rowClassMapping]);
|
|
2838
|
+
// 表格分页memo
|
|
3285
2839
|
var TablePaginationMemo = useMemo(function () {
|
|
3286
2840
|
if (constData.current.page === null || constData.current.size === null || loadMore) return;
|
|
3287
2841
|
return pagination && jsx(TableHead, {
|
|
@@ -3295,30 +2849,27 @@ var Table = function Table(propsInit) {
|
|
|
3295
2849
|
changePage: changePage,
|
|
3296
2850
|
changeRowsPerPage: changeRowsPerPage
|
|
3297
2851
|
});
|
|
3298
|
-
}, [total, pageCom, sizeCom, sizeArrCom, pagination, loadMore, autoPagination, paginationType, flippingArrow]);
|
|
3299
|
-
|
|
2852
|
+
}, [total, pageCom, sizeCom, sizeArrCom, pagination, loadMore, autoPagination, paginationType, flippingArrow]);
|
|
2853
|
+
// 表格内容滚动
|
|
3300
2854
|
var tableBoxScroll = function tableBoxScroll(e) {
|
|
3301
2855
|
var dom = tableRef.current;
|
|
3302
2856
|
var scrollDom = e.target;
|
|
3303
2857
|
if (!dom || !scrollDom) return;
|
|
3304
2858
|
dom.classList.remove('table-scroll-left', 'table-scroll-right', 'table-scroll-middle');
|
|
3305
|
-
if (scrollDom.scrollWidth <= scrollDom.clientWidth) return;
|
|
3306
|
-
|
|
2859
|
+
if (scrollDom.scrollWidth <= scrollDom.clientWidth) return;
|
|
2860
|
+
// 最左边
|
|
3307
2861
|
if (scrollDom.scrollLeft === 0) {
|
|
3308
2862
|
dom.classList.add('table-scroll-left');
|
|
3309
2863
|
return;
|
|
3310
|
-
}
|
|
3311
|
-
|
|
3312
|
-
|
|
2864
|
+
}
|
|
2865
|
+
// 最右边
|
|
3313
2866
|
if (scrollDom.scrollLeft + scrollDom.clientWidth === scrollDom.scrollWidth) {
|
|
3314
2867
|
dom.classList.add('table-scroll-right');
|
|
3315
2868
|
return;
|
|
3316
2869
|
}
|
|
3317
|
-
|
|
3318
2870
|
dom.classList.add('table-scroll-middle');
|
|
3319
|
-
};
|
|
3320
|
-
|
|
3321
|
-
|
|
2871
|
+
};
|
|
2872
|
+
// 处理class
|
|
3322
2873
|
var handClass = function handClass() {
|
|
3323
2874
|
var str = $prefixCls + '-table';
|
|
3324
2875
|
if (showColumns === 'inside') str += " ".concat($prefixCls, "-table-columns-inside");
|
|
@@ -3334,15 +2885,13 @@ var Table = function Table(propsInit) {
|
|
|
3334
2885
|
if (loadState) str += " ".concat($prefixCls, "-table-load");
|
|
3335
2886
|
if (className) str += ' ' + className;
|
|
3336
2887
|
return str;
|
|
3337
|
-
};
|
|
3338
|
-
|
|
3339
|
-
|
|
2888
|
+
};
|
|
2889
|
+
// 改变屏幕大小
|
|
3340
2890
|
var changeResize = function changeResize() {
|
|
3341
2891
|
tableBoxScroll({
|
|
3342
2892
|
target: containerRef.current
|
|
3343
2893
|
});
|
|
3344
2894
|
};
|
|
3345
|
-
|
|
3346
2895
|
return jsxs("div", Object.assign({
|
|
3347
2896
|
className: handClass(),
|
|
3348
2897
|
style: style,
|