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[];
|
|
@@ -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
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ls-pro-common",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.98",
|
|
4
4
|
"description": "ls-pro-common",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": [
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"ls-pro-descriptions": "^3.0.1",
|
|
28
28
|
"ls-pro-card": "^3.0.3",
|
|
29
29
|
"ls-pro-utils": "^3.0.6",
|
|
30
|
+
"ls-pro-tools": "^3.0.0",
|
|
30
31
|
"@babel/runtime": "^7.16.3",
|
|
31
32
|
"classnames": "^2.2.6",
|
|
32
33
|
"moment": "^2.27.0",
|