ls-pro-common 3.0.97 → 3.0.98
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/dist/common.css +63 -0
- package/dist/common.js +1 -1
- package/dist/common.less +2 -1
- package/dist/common.min.css +63 -0
- package/dist/common.min.js +1 -1
- package/es/components/InputTable.js +47 -21
- package/es/components/ProButton/index.d.ts +10 -0
- package/es/components/ProButton/index.js +40 -0
- package/es/components/RecordLog/index.d.ts +16 -0
- package/es/components/RecordLog/index.js +114 -0
- package/es/components/RecordLog/index.less +71 -0
- package/es/hooks/useMdm.d.ts +7 -0
- package/es/hooks/useMdm.js +47 -0
- package/es/http/index.d.ts +2 -1
- package/es/http/index.js +2 -7
- package/es/http/mdmRequest.d.ts +184 -0
- package/es/http/mdmRequest.js +351 -0
- package/es/index.d.ts +6 -2
- package/es/index.js +6 -2
- package/es/utils/array.d.ts +26 -0
- package/es/utils/array.js +74 -0
- package/es/utils/format.d.ts +82 -0
- package/es/utils/format.js +148 -0
- package/es/utils/index.d.ts +6 -132
- package/es/utils/index.js +9 -511
- package/es/utils/modal.d.ts +43 -0
- package/es/utils/modal.js +225 -0
- package/es/utils/size.d.ts +9 -0
- package/es/utils/size.js +81 -0
- package/lib/components/InputTable.js +47 -21
- package/lib/components/ProButton/index.d.ts +10 -0
- package/lib/components/ProButton/index.js +40 -0
- package/lib/components/RecordLog/index.d.ts +16 -0
- package/lib/components/RecordLog/index.js +114 -0
- package/lib/components/RecordLog/index.less +71 -0
- package/lib/hooks/useMdm.d.ts +7 -0
- package/lib/hooks/useMdm.js +47 -0
- package/lib/http/index.d.ts +2 -1
- package/lib/http/index.js +2 -7
- package/lib/http/mdmRequest.d.ts +184 -0
- package/lib/http/mdmRequest.js +351 -0
- package/lib/index.d.ts +6 -2
- package/lib/index.js +6 -2
- package/lib/utils/array.d.ts +26 -0
- package/lib/utils/array.js +74 -0
- package/lib/utils/format.d.ts +82 -0
- package/lib/utils/format.js +148 -0
- package/lib/utils/index.d.ts +6 -132
- package/lib/utils/index.js +9 -511
- package/lib/utils/modal.d.ts +43 -0
- package/lib/utils/modal.js +225 -0
- package/lib/utils/size.d.ts +9 -0
- package/lib/utils/size.js +81 -0
- package/package.json +2 -1
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import "antd/es/spin/style";
|
|
2
|
+
import _Spin from "antd/es/spin";
|
|
3
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
+
import "antd/es/modal/style";
|
|
5
|
+
import _Modal from "antd/es/modal";
|
|
6
|
+
import "antd/es/message/style";
|
|
7
|
+
import _message from "antd/es/message";
|
|
8
|
+
import React from "react";
|
|
9
|
+
import ReactDOM from 'react-dom';
|
|
10
|
+
import { QuestionCircleOutlined } from '@ant-design/icons';
|
|
11
|
+
_message.config({
|
|
12
|
+
maxCount: 1
|
|
13
|
+
});
|
|
14
|
+
/** @name 获取全屏元素 */
|
|
15
|
+
export var getFullScreenElement = function getFullScreenElement() {
|
|
16
|
+
//@ts-ignore
|
|
17
|
+
return document.fullscreenElement ||
|
|
18
|
+
//@ts-ignore
|
|
19
|
+
document.mozFullScreenElement ||
|
|
20
|
+
//@ts-ignore
|
|
21
|
+
document.msFullScreenElement ||
|
|
22
|
+
//@ts-ignore
|
|
23
|
+
document.webkitFullscreenElement || undefined;
|
|
24
|
+
};
|
|
25
|
+
/** @name 显示错误 */
|
|
26
|
+
export var showError = function showError(text) {
|
|
27
|
+
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
|
28
|
+
if (!text) {
|
|
29
|
+
text = '出错了!!';
|
|
30
|
+
}
|
|
31
|
+
_message.error({
|
|
32
|
+
content: text,
|
|
33
|
+
duration: duration,
|
|
34
|
+
getPopupContainer: function getPopupContainer(e) {
|
|
35
|
+
return getFullScreenElement() || document.body;
|
|
36
|
+
},
|
|
37
|
+
onClick: function onClick(e) {
|
|
38
|
+
var _e$target;
|
|
39
|
+
var tag = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.tagName.toLowerCase();
|
|
40
|
+
if (tag === 'img' || tag === 'path' || tag === 'svg') {
|
|
41
|
+
try {
|
|
42
|
+
_message.destroy();
|
|
43
|
+
} catch (e) {}
|
|
44
|
+
try {
|
|
45
|
+
var _e$target2, _e$target2$closest;
|
|
46
|
+
var msg = (_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : (_e$target2$closest = _e$target2.closest('.ant-message')) === null || _e$target2$closest === void 0 ? void 0 : _e$target2$closest.parentNode;
|
|
47
|
+
if (msg) {
|
|
48
|
+
var _msg$parentNode;
|
|
49
|
+
(_msg$parentNode = msg.parentNode) === null || _msg$parentNode === void 0 ? void 0 : _msg$parentNode.removeChild(msg);
|
|
50
|
+
}
|
|
51
|
+
} catch (e) {}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
/** @name 显示警示 */
|
|
57
|
+
export var showWarn = function showWarn(text) {
|
|
58
|
+
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
|
59
|
+
if (!text) {
|
|
60
|
+
text = '请注意!';
|
|
61
|
+
}
|
|
62
|
+
_message.warn({
|
|
63
|
+
content: text,
|
|
64
|
+
duration: duration,
|
|
65
|
+
getPopupContainer: function getPopupContainer(e) {
|
|
66
|
+
return getFullScreenElement() || document.body;
|
|
67
|
+
},
|
|
68
|
+
onClick: function onClick(e) {
|
|
69
|
+
var _e$target3;
|
|
70
|
+
var tag = (_e$target3 = e.target) === null || _e$target3 === void 0 ? void 0 : _e$target3.tagName.toLowerCase();
|
|
71
|
+
if (tag === 'img' || tag === 'path' || tag === 'svg') {
|
|
72
|
+
try {
|
|
73
|
+
_message.destroy();
|
|
74
|
+
} catch (e) {}
|
|
75
|
+
try {
|
|
76
|
+
var _e$target4, _e$target4$closest;
|
|
77
|
+
var msg = (_e$target4 = e.target) === null || _e$target4 === void 0 ? void 0 : (_e$target4$closest = _e$target4.closest('.ant-message')) === null || _e$target4$closest === void 0 ? void 0 : _e$target4$closest.parentNode;
|
|
78
|
+
if (msg) {
|
|
79
|
+
var _msg$parentNode2;
|
|
80
|
+
(_msg$parentNode2 = msg.parentNode) === null || _msg$parentNode2 === void 0 ? void 0 : _msg$parentNode2.removeChild(msg);
|
|
81
|
+
}
|
|
82
|
+
} catch (e) {}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
/** @name 显示成功 */
|
|
88
|
+
export var showSuccess = function showSuccess(text) {
|
|
89
|
+
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
|
90
|
+
if (!text) {
|
|
91
|
+
text = '操作成功!';
|
|
92
|
+
}
|
|
93
|
+
_message.success({
|
|
94
|
+
content: text,
|
|
95
|
+
duration: duration,
|
|
96
|
+
getPopupContainer: function getPopupContainer(e) {
|
|
97
|
+
return getFullScreenElement() || document.body;
|
|
98
|
+
},
|
|
99
|
+
onClick: function onClick(e) {
|
|
100
|
+
var _e$target5;
|
|
101
|
+
var tag = (_e$target5 = e.target) === null || _e$target5 === void 0 ? void 0 : _e$target5.tagName.toLowerCase();
|
|
102
|
+
if (tag === 'img' || tag === 'path' || tag === 'svg') {
|
|
103
|
+
try {
|
|
104
|
+
_message.destroy();
|
|
105
|
+
} catch (e) {}
|
|
106
|
+
try {
|
|
107
|
+
var _e$target6, _e$target6$closest;
|
|
108
|
+
var msg = (_e$target6 = e.target) === null || _e$target6 === void 0 ? void 0 : (_e$target6$closest = _e$target6.closest('.ant-message')) === null || _e$target6$closest === void 0 ? void 0 : _e$target6$closest.parentNode;
|
|
109
|
+
if (msg) {
|
|
110
|
+
var _msg$parentNode3;
|
|
111
|
+
(_msg$parentNode3 = msg.parentNode) === null || _msg$parentNode3 === void 0 ? void 0 : _msg$parentNode3.removeChild(msg);
|
|
112
|
+
}
|
|
113
|
+
} catch (e) {}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* 弹框提示
|
|
120
|
+
*
|
|
121
|
+
* @param text 提示信息
|
|
122
|
+
* @param title 标题,默认 系统提示
|
|
123
|
+
* @param type 类型
|
|
124
|
+
* @param opts 附加参数
|
|
125
|
+
* @returns Promise<Boolean>
|
|
126
|
+
*/
|
|
127
|
+
export var showAlert = function showAlert(text) {
|
|
128
|
+
var title = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '系统提示';
|
|
129
|
+
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'error';
|
|
130
|
+
var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
131
|
+
return new Promise(function (resolve, reject) {
|
|
132
|
+
_Modal[type](_objectSpread({
|
|
133
|
+
content: text,
|
|
134
|
+
title: title,
|
|
135
|
+
getContainer: getFullScreenElement() || document.body,
|
|
136
|
+
onOk: function onOk() {
|
|
137
|
+
resolve(true);
|
|
138
|
+
},
|
|
139
|
+
onCancel: function onCancel() {
|
|
140
|
+
reject(false);
|
|
141
|
+
}
|
|
142
|
+
}, opts));
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* 请求接口出错
|
|
147
|
+
*
|
|
148
|
+
* @param retMsg 错误原因
|
|
149
|
+
* @param retCode 错误码
|
|
150
|
+
* @param faultCode 故障码
|
|
151
|
+
* @param opts 附加参数
|
|
152
|
+
*/
|
|
153
|
+
export var httpError = function httpError(retMsg, retCode, faultCode) {
|
|
154
|
+
var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
155
|
+
var msg = /*#__PURE__*/React.createElement(React.Fragment, null, "\u9519\u8BEF\u539F\u56E0:", /*#__PURE__*/React.createElement("b", null, retMsg), /*#__PURE__*/React.createElement("br", null), "\u9519\u8BEF\u7801:", /*#__PURE__*/React.createElement("b", null, retCode), /*#__PURE__*/React.createElement("br", null), "\u6545\u969C\u7801:", /*#__PURE__*/React.createElement("b", null, faultCode));
|
|
156
|
+
return showAlert(msg, '请求接口出错', 'error', opts);
|
|
157
|
+
};
|
|
158
|
+
/** 销毁所有弹框 */
|
|
159
|
+
export var exitAlert = function exitAlert() {
|
|
160
|
+
_Modal.destroyAll();
|
|
161
|
+
};
|
|
162
|
+
/** @name 显示确认 */
|
|
163
|
+
export var showConfirm = function showConfirm(text) {
|
|
164
|
+
var title = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '系统提示';
|
|
165
|
+
return new Promise(function (resolve, reject) {
|
|
166
|
+
_Modal.confirm({
|
|
167
|
+
title: title,
|
|
168
|
+
content: text,
|
|
169
|
+
icon: /*#__PURE__*/React.createElement(QuestionCircleOutlined, null),
|
|
170
|
+
okType: 'danger',
|
|
171
|
+
closable: true,
|
|
172
|
+
cancelButtonProps: {
|
|
173
|
+
className: 'ant-btn-gray'
|
|
174
|
+
},
|
|
175
|
+
getContainer: getFullScreenElement() || document.body,
|
|
176
|
+
onOk: function onOk() {
|
|
177
|
+
resolve(true);
|
|
178
|
+
},
|
|
179
|
+
onCancel: function onCancel() {
|
|
180
|
+
reject(false);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
var timeout = false;
|
|
186
|
+
/**
|
|
187
|
+
* Token过期重新登录
|
|
188
|
+
*
|
|
189
|
+
* @returns
|
|
190
|
+
*/
|
|
191
|
+
export var reLogin = function reLogin() {
|
|
192
|
+
if (timeout) return;
|
|
193
|
+
timeout = true;
|
|
194
|
+
_Modal.warning({
|
|
195
|
+
title: '登录状态已过期,请重新登录',
|
|
196
|
+
okText: '重新登录',
|
|
197
|
+
maskClosable: false,
|
|
198
|
+
getContainer: getFullScreenElement() || document.body,
|
|
199
|
+
afterClose: function afterClose() {
|
|
200
|
+
timeout = false;
|
|
201
|
+
(window.top || window).location.href = location.pathname === '/' ? '/login' : '/login?redirect=' + encodeURIComponent(location.href);
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
};
|
|
205
|
+
/** 显示加载 */
|
|
206
|
+
export var showLoading = function showLoading() {
|
|
207
|
+
var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '处理中...';
|
|
208
|
+
var loading = document.getElementById('myloading');
|
|
209
|
+
if (loading) return;
|
|
210
|
+
var loadWrapper = document.createElement('div');
|
|
211
|
+
loadWrapper.setAttribute('id', 'myloading');
|
|
212
|
+
ReactDOM.render( /*#__PURE__*/React.createElement(_Spin, {
|
|
213
|
+
tip: text
|
|
214
|
+
}), loadWrapper);
|
|
215
|
+
var pNode = getFullScreenElement() || document.body;
|
|
216
|
+
pNode.appendChild(loadWrapper);
|
|
217
|
+
};
|
|
218
|
+
/** 退出加载 */
|
|
219
|
+
export var exitLoading = function exitLoading() {
|
|
220
|
+
var loading = document.getElementById('myloading');
|
|
221
|
+
if (loading) {
|
|
222
|
+
var _loading$parentNode;
|
|
223
|
+
(_loading$parentNode = loading.parentNode) === null || _loading$parentNode === void 0 ? void 0 : _loading$parentNode.removeChild(loading);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处理普通的尺码横排
|
|
3
|
+
*
|
|
4
|
+
* @param orgSizeHeader 后端返回的原始尺码组表头
|
|
5
|
+
* @param typeWidth 尺码组宽 sizeTypeNo,默认120
|
|
6
|
+
* @param sizeWidth 尺码宽f1~f100, 默认100
|
|
7
|
+
* @returns 返回已处理好的表头[{dataIndex:sizeTypeNo,title:'国标码',width:120,children[...]},{dataIndex:'f1',...}...]
|
|
8
|
+
*/
|
|
9
|
+
export declare const handleSizeCols: (orgSizeHeader: any[], typeWidth?: number, sizeWidth?: number) => any[];
|
package/es/utils/size.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处理普通的尺码横排
|
|
3
|
+
*
|
|
4
|
+
* @param orgSizeHeader 后端返回的原始尺码组表头
|
|
5
|
+
* @param typeWidth 尺码组宽 sizeTypeNo,默认120
|
|
6
|
+
* @param sizeWidth 尺码宽f1~f100, 默认100
|
|
7
|
+
* @returns 返回已处理好的表头[{dataIndex:sizeTypeNo,title:'国标码',width:120,children[...]},{dataIndex:'f1',...}...]
|
|
8
|
+
*/
|
|
9
|
+
export var handleSizeCols = function handleSizeCols(orgSizeHeader) {
|
|
10
|
+
var typeWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 120;
|
|
11
|
+
var sizeWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
|
|
12
|
+
// f1~f100 当所有尺码组都为null时,删除不需要的尺码。
|
|
13
|
+
var arr = orgSizeHeader.map(function (o) {
|
|
14
|
+
var _loop = function _loop(key) {
|
|
15
|
+
if (orgSizeHeader.every(function (item) {
|
|
16
|
+
return !item['f' + key];
|
|
17
|
+
})) {
|
|
18
|
+
delete o['f' + key];
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
for (var key = 1; key <= 100; key++) {
|
|
22
|
+
_loop(key);
|
|
23
|
+
}
|
|
24
|
+
return o;
|
|
25
|
+
});
|
|
26
|
+
// 多表头时找到最底层的表头
|
|
27
|
+
var findNext = function findNext(item) {
|
|
28
|
+
if (item.children.length) {
|
|
29
|
+
return findNext(item.children[0]);
|
|
30
|
+
}
|
|
31
|
+
return item;
|
|
32
|
+
};
|
|
33
|
+
var headers = []; // 用于保存返回表头
|
|
34
|
+
var header; // 用于保存每个配码的表头信息
|
|
35
|
+
arr.forEach(function (h, i) {
|
|
36
|
+
// 先处理尺码组
|
|
37
|
+
header = {
|
|
38
|
+
dataIndex: 'sizeTypeNo',
|
|
39
|
+
title: h.sizeTypeNo,
|
|
40
|
+
width: typeWidth,
|
|
41
|
+
ellipsis: true
|
|
42
|
+
};
|
|
43
|
+
//当返回多个尺码组时,需要用children支持多表头
|
|
44
|
+
if (arr.length > i + 1) {
|
|
45
|
+
header.children = [];
|
|
46
|
+
}
|
|
47
|
+
// 第一个尺码组,直接添加,第二个之后,加到上一个的children中。
|
|
48
|
+
if (i === 0) {
|
|
49
|
+
headers.push(header);
|
|
50
|
+
} else {
|
|
51
|
+
findNext(headers.find(function (o) {
|
|
52
|
+
return o.dataIndex === 'sizeTypeNo';
|
|
53
|
+
})).children.push(header);
|
|
54
|
+
}
|
|
55
|
+
// 处理 f1~f100
|
|
56
|
+
var _loop2 = function _loop2(k) {
|
|
57
|
+
if (k === 'sizeTypeNo') return "continue";
|
|
58
|
+
header = {
|
|
59
|
+
dataIndex: k,
|
|
60
|
+
title: h[k] || ' ',
|
|
61
|
+
width: sizeWidth,
|
|
62
|
+
ellipsis: true
|
|
63
|
+
};
|
|
64
|
+
if (arr.length > i + 1) {
|
|
65
|
+
header.children = [];
|
|
66
|
+
}
|
|
67
|
+
if (i === 0) {
|
|
68
|
+
headers.push(header);
|
|
69
|
+
} else {
|
|
70
|
+
findNext(headers.find(function (o) {
|
|
71
|
+
return o.dataIndex === k;
|
|
72
|
+
})).children.push(header);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
for (var k in h) {
|
|
76
|
+
var _ret = _loop2(k);
|
|
77
|
+
if (_ret === "continue") continue;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return headers;
|
|
81
|
+
};
|
|
@@ -5,8 +5,8 @@ import _Popover from "antd/es/popover";
|
|
|
5
5
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
6
6
|
import "antd/es/button/style";
|
|
7
7
|
import _Button from "antd/es/button";
|
|
8
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
9
8
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
9
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
10
10
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
11
11
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
12
12
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
@@ -39,6 +39,7 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
39
39
|
text = _useState6[0],
|
|
40
40
|
setText = _useState6[1];
|
|
41
41
|
var inputRef = useRef();
|
|
42
|
+
var initRows = useRef(null); //用于存储初始行数据
|
|
42
43
|
var columns = prop.columns,
|
|
43
44
|
url = prop.url,
|
|
44
45
|
textName = prop.textName,
|
|
@@ -138,11 +139,32 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
138
139
|
};
|
|
139
140
|
var loadData = /*#__PURE__*/function () {
|
|
140
141
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(param) {
|
|
141
|
-
var current, pageSize, restParams, data, _tableRef$
|
|
142
|
+
var current, pageSize, restParams, _selectRowRef$current, _rows, data, _tableRef$current2, _tableRef$current2$cl, result, rows, formValue, val, _selectRowRef$current2, arr, pageSelectedRows;
|
|
142
143
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
143
144
|
while (1) switch (_context.prev = _context.next) {
|
|
144
145
|
case 0:
|
|
145
|
-
current = param.current, pageSize = param.pageSize, restParams = _objectWithoutProperties(param, _excluded2);
|
|
146
|
+
current = param.current, pageSize = param.pageSize, restParams = _objectWithoutProperties(param, _excluded2); //如果精灵框初始有值(用于编辑页面)先把初始值加载到第一页,才能默认选中。
|
|
147
|
+
if (!(visible && multiple && Array.isArray(initRows.current))) {
|
|
148
|
+
_context.next = 9;
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
_rows = initRows.current;
|
|
152
|
+
initRows.current = null;
|
|
153
|
+
(_selectRowRef$current = selectRowRef.current).push.apply(_selectRowRef$current, _toConsumableArray(_rows));
|
|
154
|
+
selectedKeys.push.apply(selectedKeys, _toConsumableArray(_rows.map(function (o) {
|
|
155
|
+
return o[tableKey];
|
|
156
|
+
})));
|
|
157
|
+
setSelectedKeys(Array.from(new Set(selectedKeys)));
|
|
158
|
+
setTimeout(function () {
|
|
159
|
+
var _tableRef$current, _tableRef$current$rel;
|
|
160
|
+
(_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : (_tableRef$current$rel = _tableRef$current.reload) === null || _tableRef$current$rel === void 0 ? void 0 : _tableRef$current$rel.call(_tableRef$current);
|
|
161
|
+
}, 0);
|
|
162
|
+
return _context.abrupt("return", {
|
|
163
|
+
data: _rows,
|
|
164
|
+
total: _rows.length,
|
|
165
|
+
success: true
|
|
166
|
+
});
|
|
167
|
+
case 9:
|
|
146
168
|
data = {};
|
|
147
169
|
if (isV2) {
|
|
148
170
|
data['page.pn'] = current;
|
|
@@ -158,27 +180,27 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
158
180
|
}
|
|
159
181
|
if (!keepSelect) {
|
|
160
182
|
selectRowRef.current = [];
|
|
161
|
-
(_tableRef$
|
|
183
|
+
(_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : (_tableRef$current2$cl = _tableRef$current2.clearSelected) === null || _tableRef$current2$cl === void 0 ? void 0 : _tableRef$current2$cl.call(_tableRef$current2);
|
|
162
184
|
}
|
|
163
185
|
if (beforeLoad) {
|
|
164
186
|
beforeLoad(data);
|
|
165
187
|
}
|
|
166
188
|
if (!(method !== 'GET')) {
|
|
167
|
-
_context.next =
|
|
189
|
+
_context.next = 20;
|
|
168
190
|
break;
|
|
169
191
|
}
|
|
170
|
-
_context.next =
|
|
192
|
+
_context.next = 17;
|
|
171
193
|
return httpPost(url, data);
|
|
172
|
-
case
|
|
194
|
+
case 17:
|
|
173
195
|
result = _context.sent;
|
|
174
|
-
_context.next =
|
|
196
|
+
_context.next = 23;
|
|
175
197
|
break;
|
|
176
|
-
case
|
|
177
|
-
_context.next =
|
|
198
|
+
case 20:
|
|
199
|
+
_context.next = 22;
|
|
178
200
|
return httpGet(url, data);
|
|
179
|
-
case
|
|
201
|
+
case 22:
|
|
180
202
|
result = _context.sent;
|
|
181
|
-
case
|
|
203
|
+
case 23:
|
|
182
204
|
rows = (result.rows || []).filter(function (o) {
|
|
183
205
|
return o;
|
|
184
206
|
});
|
|
@@ -199,7 +221,7 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
199
221
|
return o[valueField] === row[valueField];
|
|
200
222
|
});
|
|
201
223
|
});
|
|
202
|
-
(_selectRowRef$
|
|
224
|
+
(_selectRowRef$current2 = selectRowRef.current).push.apply(_selectRowRef$current2, _toConsumableArray(pageSelectedRows));
|
|
203
225
|
selectedKeys.push.apply(selectedKeys, _toConsumableArray(pageSelectedRows.map(function (o) {
|
|
204
226
|
return o[tableKey];
|
|
205
227
|
})));
|
|
@@ -211,7 +233,7 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
211
233
|
total: Number(result.total || 0),
|
|
212
234
|
success: true
|
|
213
235
|
});
|
|
214
|
-
case
|
|
236
|
+
case 27:
|
|
215
237
|
case "end":
|
|
216
238
|
return _context.stop();
|
|
217
239
|
}
|
|
@@ -229,14 +251,18 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
229
251
|
})) === null || _columns$find === void 0 ? void 0 : _columns$find.searchField) || valueField;
|
|
230
252
|
var param = {
|
|
231
253
|
current: 1,
|
|
232
|
-
pageSize:
|
|
254
|
+
pageSize: 1000
|
|
233
255
|
};
|
|
234
256
|
if (Array.isArray(val)) val = val.join(',');
|
|
235
257
|
if (val.toString().includes(',')) {
|
|
236
258
|
fieldName += '_in';
|
|
237
259
|
}
|
|
260
|
+
if (isV2) {
|
|
261
|
+
fieldName = 'search.' + fieldName;
|
|
262
|
+
}
|
|
238
263
|
param[fieldName] = val;
|
|
239
264
|
loadData(param).then(function (result) {
|
|
265
|
+
initRows.current = result.data;
|
|
240
266
|
var rows = (result.data || []).filter(function (o) {
|
|
241
267
|
return o;
|
|
242
268
|
});
|
|
@@ -315,10 +341,10 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
315
341
|
}
|
|
316
342
|
};
|
|
317
343
|
var handleClear = function handleClear() {
|
|
318
|
-
var _tableRef$
|
|
344
|
+
var _tableRef$current3, _tableRef$current3$cl;
|
|
319
345
|
selectRowRef.current = [];
|
|
320
346
|
setSelectedKeys([]);
|
|
321
|
-
(_tableRef$
|
|
347
|
+
(_tableRef$current3 = tableRef.current) === null || _tableRef$current3 === void 0 ? void 0 : (_tableRef$current3$cl = _tableRef$current3.clearSelected) === null || _tableRef$current3$cl === void 0 ? void 0 : _tableRef$current3$cl.call(_tableRef$current3);
|
|
322
348
|
setText('');
|
|
323
349
|
var formValue = getFormValue();
|
|
324
350
|
if (!formValue) return;
|
|
@@ -378,15 +404,15 @@ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
|
|
|
378
404
|
});
|
|
379
405
|
useEffect(function () {
|
|
380
406
|
if (!text && multiple) {
|
|
381
|
-
var _tableRef$
|
|
407
|
+
var _tableRef$current4, _tableRef$current4$cl;
|
|
382
408
|
selectRowRef.current = [];
|
|
383
|
-
(_tableRef$
|
|
409
|
+
(_tableRef$current4 = tableRef.current) === null || _tableRef$current4 === void 0 ? void 0 : (_tableRef$current4$cl = _tableRef$current4.clearSelected) === null || _tableRef$current4$cl === void 0 ? void 0 : _tableRef$current4$cl.call(_tableRef$current4);
|
|
384
410
|
}
|
|
385
411
|
}, [text, multiple]);
|
|
386
412
|
useEffect(function () {
|
|
387
413
|
if (visible && loadOnShow) {
|
|
388
|
-
var _tableRef$
|
|
389
|
-
(_tableRef$
|
|
414
|
+
var _tableRef$current5, _tableRef$current5$re;
|
|
415
|
+
(_tableRef$current5 = tableRef.current) === null || _tableRef$current5 === void 0 ? void 0 : (_tableRef$current5$re = _tableRef$current5.reload) === null || _tableRef$current5$re === void 0 ? void 0 : _tableRef$current5$re.call(_tableRef$current5);
|
|
390
416
|
}
|
|
391
417
|
}, [visible, loadOnShow]);
|
|
392
418
|
var tableDom = /*#__PURE__*/React.createElement(ProTable, _extends({
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @name 防抖按钮 */
|
|
2
|
+
/// <reference types="react" />
|
|
3
|
+
import { type ButtonProps, TooltipProps } from 'antd';
|
|
4
|
+
export interface ProButtonProps extends ButtonProps {
|
|
5
|
+
/** @name 防抖时间,默认为300ms */
|
|
6
|
+
time?: number;
|
|
7
|
+
tip?: JSX.Element | string;
|
|
8
|
+
tipProps?: TooltipProps;
|
|
9
|
+
}
|
|
10
|
+
export default function ProButton(props: ProButtonProps): JSX.Element;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "antd/es/tooltip/style";
|
|
2
|
+
import _Tooltip from "antd/es/tooltip";
|
|
3
|
+
import "antd/es/button/style";
|
|
4
|
+
import _Button from "antd/es/button";
|
|
5
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
6
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
7
|
+
var _excluded = ["onClick", "time", "tip", "tipProps"];
|
|
8
|
+
import React from "react";
|
|
9
|
+
/** @name 防抖按钮 */
|
|
10
|
+
import { useRef } from 'react';
|
|
11
|
+
export default function ProButton(props) {
|
|
12
|
+
var onClick = props.onClick,
|
|
13
|
+
_props$time = props.time,
|
|
14
|
+
time = _props$time === void 0 ? 300 : _props$time,
|
|
15
|
+
tip = props.tip,
|
|
16
|
+
tipProps = props.tipProps,
|
|
17
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
18
|
+
var clickTime = useRef(0);
|
|
19
|
+
var handleClick = function handleClick(e) {
|
|
20
|
+
if (time > 0) {
|
|
21
|
+
var now = Date.now();
|
|
22
|
+
if (now - clickTime.current > time) {
|
|
23
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
24
|
+
}
|
|
25
|
+
clickTime.current = now;
|
|
26
|
+
} else {
|
|
27
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
if (tip) {
|
|
31
|
+
return /*#__PURE__*/React.createElement(_Tooltip, _extends({}, tipProps, {
|
|
32
|
+
title: tip
|
|
33
|
+
}), /*#__PURE__*/React.createElement(_Button, _extends({
|
|
34
|
+
onClick: handleClick
|
|
35
|
+
}, rest)));
|
|
36
|
+
}
|
|
37
|
+
return /*#__PURE__*/React.createElement(_Button, _extends({
|
|
38
|
+
onClick: handleClick
|
|
39
|
+
}, rest));
|
|
40
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 记录变更日志
|
|
3
|
+
*
|
|
4
|
+
* @param recordKey 记录key
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import './index.less';
|
|
8
|
+
export interface RecordLogProps {
|
|
9
|
+
recordKey: string;
|
|
10
|
+
fieldsMap?: Record<string, string>;
|
|
11
|
+
showResourceName?: boolean;
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
declare const RecordLog: (props: RecordLogProps) => JSX.Element;
|
|
16
|
+
export default RecordLog;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import "antd/es/empty/style";
|
|
2
|
+
import _Empty from "antd/es/empty";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
+
/**
|
|
5
|
+
* 记录变更日志
|
|
6
|
+
*
|
|
7
|
+
* @param recordKey 记录key
|
|
8
|
+
*/
|
|
9
|
+
import React, { useEffect, useState, useMemo } from 'react';
|
|
10
|
+
import { EditOutlined, ArrowRightOutlined } from '@ant-design/icons';
|
|
11
|
+
import { httpGet } from '../../http';
|
|
12
|
+
import './index.less';
|
|
13
|
+
var OP_TYPE_MAP = {
|
|
14
|
+
A: '新增',
|
|
15
|
+
U: '编辑',
|
|
16
|
+
D: '删除'
|
|
17
|
+
};
|
|
18
|
+
var RecordLog = function RecordLog(props) {
|
|
19
|
+
var _useState = useState([]),
|
|
20
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
+
logData = _useState2[0],
|
|
22
|
+
setLogData = _useState2[1];
|
|
23
|
+
var _props$recordKey = props.recordKey,
|
|
24
|
+
recordKey = _props$recordKey === void 0 ? '' : _props$recordKey,
|
|
25
|
+
_props$fieldsMap = props.fieldsMap,
|
|
26
|
+
fieldsMap = _props$fieldsMap === void 0 ? {} : _props$fieldsMap,
|
|
27
|
+
_props$showResourceNa = props.showResourceName,
|
|
28
|
+
showResourceName = _props$showResourceNa === void 0 ? true : _props$showResourceNa,
|
|
29
|
+
style = props.style,
|
|
30
|
+
_props$className = props.className,
|
|
31
|
+
className = _props$className === void 0 ? '' : _props$className;
|
|
32
|
+
var getLogData = function getLogData() {
|
|
33
|
+
var url = '/lesoon-petrel-behaviour-api/behUserOperateLog/page';
|
|
34
|
+
var params = {
|
|
35
|
+
pageSize: 5000,
|
|
36
|
+
sort: 'createTime desc',
|
|
37
|
+
where: {
|
|
38
|
+
dataCode: recordKey
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
httpGet(url, params).then(function (res) {
|
|
42
|
+
var rows = (res === null || res === void 0 ? void 0 : res.rows) || [];
|
|
43
|
+
rows.forEach(function (row) {
|
|
44
|
+
try {
|
|
45
|
+
row.content = JSON.parse(row.content);
|
|
46
|
+
row.content.forEach(function (item) {
|
|
47
|
+
var o = item.oldValue || '';
|
|
48
|
+
item.oldValue = !o || o == '[]' || (o === null || o === void 0 ? void 0 : o.length) == 0 ? '空' : o + '';
|
|
49
|
+
var n = item.newValue || '';
|
|
50
|
+
item.newValue = !n || n == '[]' || (n === null || n === void 0 ? void 0 : n.length) == 0 ? '空' : n + '';
|
|
51
|
+
item.fieldDisPlayName = fieldsMap[item.fieldName] || item.fieldDisPlayName;
|
|
52
|
+
});
|
|
53
|
+
} catch (_unused) {
|
|
54
|
+
row.content = [];
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
setLogData(rows);
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
useEffect(function () {
|
|
61
|
+
if (!recordKey) return;
|
|
62
|
+
getLogData();
|
|
63
|
+
}, [recordKey]);
|
|
64
|
+
var renderFields = function renderFields(fields) {
|
|
65
|
+
if (!fields || !fields.length) return null;
|
|
66
|
+
return fields.map(function (field) {
|
|
67
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
className: "log-item-field",
|
|
69
|
+
key: Math.random() + ''
|
|
70
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
71
|
+
className: "log-item-label"
|
|
72
|
+
}, field.fieldDisPlayName, " :"), /*#__PURE__*/React.createElement("span", {
|
|
73
|
+
className: "log-item-value"
|
|
74
|
+
}, field.oldValue), /*#__PURE__*/React.createElement(ArrowRightOutlined, {
|
|
75
|
+
style: {
|
|
76
|
+
fontSize: '14px',
|
|
77
|
+
margin: '0 10px'
|
|
78
|
+
}
|
|
79
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
80
|
+
className: "log-item-value"
|
|
81
|
+
}, field.newValue));
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
var LogDom = useMemo(function () {
|
|
85
|
+
return logData.map(function (item) {
|
|
86
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
87
|
+
className: "record-log-item"
|
|
88
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
89
|
+
className: "log-item-time"
|
|
90
|
+
}, item.createTime), /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: "log-item-center"
|
|
92
|
+
}, /*#__PURE__*/React.createElement(EditOutlined, {
|
|
93
|
+
style: {
|
|
94
|
+
fontSize: '20px'
|
|
95
|
+
}
|
|
96
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
97
|
+
className: "log-item-line"
|
|
98
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
99
|
+
className: "log-item-box"
|
|
100
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
101
|
+
className: "log-item-header"
|
|
102
|
+
}, showResourceName && /*#__PURE__*/React.createElement("span", null, item.resourceName || ''), /*#__PURE__*/React.createElement("span", null, item.creator || ''), /*#__PURE__*/React.createElement("span", null, OP_TYPE_MAP[item.operateType] || OP_TYPE_MAP['U']), /*#__PURE__*/React.createElement("span", null, item.dataName || ''), /*#__PURE__*/React.createElement("span", null, item.dataCode || '')), /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
className: "log-item-content"
|
|
104
|
+
}, renderFields(item.content)))));
|
|
105
|
+
});
|
|
106
|
+
}, [logData]);
|
|
107
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
108
|
+
className: "record-log ".concat(className),
|
|
109
|
+
style: style
|
|
110
|
+
}, logData.length ? LogDom : /*#__PURE__*/React.createElement(_Empty, {
|
|
111
|
+
description: "\u6682\u65E0\u53D8\u66F4\u6570\u636E"
|
|
112
|
+
}));
|
|
113
|
+
};
|
|
114
|
+
export default RecordLog;
|