ls-pro-common 1.0.61 → 1.0.63
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/CHANGELOG.md +746 -746
- package/README.md +22 -22
- package/dist/common.css +101 -22
- package/dist/common.js +1 -1
- package/dist/common.min.css +101 -22
- package/dist/common.min.js +1 -1
- package/es/components/IconSelector.d.ts +2 -8
- package/es/components/IconSelector.js +114 -207
- package/es/components/ImageSelector.d.ts +3 -0
- package/es/components/ImageSelector.js +128 -24
- package/es/components/InputMultiLine.js +1 -1
- package/es/components/InputTable.d.ts +5 -0
- package/es/components/InputTable.js +26 -4
- package/es/components/common.less +176 -119
- package/es/hooks/useDtl/index.d.ts +13 -0
- package/es/hooks/useDtl/index.js +388 -235
- package/es/hooks/usePermission/index.d.ts +1 -0
- package/es/hooks/usePermission/index.js +23 -1
- package/es/hooks/useSingle/index.d.ts +1 -0
- package/es/hooks/useSingle/index.js +3 -1
- package/es/http/index.js +27 -8
- package/es/service/BaseService.d.ts +8 -0
- package/es/service/BaseService.js +69 -26
- package/es/typing.d.ts +4 -0
- package/es/utils/index.d.ts +49 -0
- package/es/utils/index.js +142 -1
- package/lib/components/IconSelector.d.ts +2 -8
- package/lib/components/IconSelector.js +112 -214
- package/lib/components/ImageSelector.d.ts +3 -0
- package/lib/components/ImageSelector.js +125 -24
- package/lib/components/InputMultiLine.js +1 -1
- package/lib/components/InputTable.d.ts +5 -0
- package/lib/components/InputTable.js +26 -4
- package/lib/components/common.less +176 -119
- package/lib/hooks/useDtl/index.d.ts +13 -0
- package/lib/hooks/useDtl/index.js +388 -235
- package/lib/hooks/usePermission/index.d.ts +1 -0
- package/lib/hooks/usePermission/index.js +23 -0
- package/lib/hooks/useSingle/index.d.ts +1 -0
- package/lib/hooks/useSingle/index.js +3 -1
- package/lib/http/index.js +25 -7
- package/lib/service/BaseService.d.ts +8 -0
- package/lib/service/BaseService.js +69 -26
- package/lib/typing.d.ts +4 -0
- package/lib/utils/index.d.ts +49 -0
- package/lib/utils/index.js +163 -3
- package/package.json +2 -2
|
@@ -1,19 +1,40 @@
|
|
|
1
1
|
import { useMemo, useCallback } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useLocation } from 'react-router-dom';
|
|
3
|
+
import { getUrlQuery, getResourceProps, getCache, getLoginName } from '../../utils';
|
|
3
4
|
|
|
4
5
|
function usePermission() {
|
|
6
|
+
var routeLocation = useLocation();
|
|
5
7
|
/** @name 资源ID */
|
|
8
|
+
|
|
6
9
|
var resourceId = useMemo(function () {
|
|
10
|
+
var _routeLocation$query;
|
|
11
|
+
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
var resId = routeLocation === null || routeLocation === void 0 ? void 0 : (_routeLocation$query = routeLocation.query) === null || _routeLocation$query === void 0 ? void 0 : _routeLocation$query.resCode;
|
|
14
|
+
if (resId) return resId;
|
|
7
15
|
return getUrlQuery('resCode') || getUrlQuery('resourceId') || getResourceProps('resourceId');
|
|
8
16
|
}, []);
|
|
17
|
+
var loginName = useMemo(function () {
|
|
18
|
+
return getLoginName();
|
|
19
|
+
}, []);
|
|
9
20
|
/** @name 用户权限 */
|
|
10
21
|
|
|
11
22
|
var permissionVal = useMemo(function () {
|
|
23
|
+
var _routeLocation$query2;
|
|
24
|
+
|
|
25
|
+
//@ts-ignore
|
|
26
|
+
var right = routeLocation === null || routeLocation === void 0 ? void 0 : (_routeLocation$query2 = routeLocation.query) === null || _routeLocation$query2 === void 0 ? void 0 : _routeLocation$query2.right;
|
|
27
|
+
if (right) return Number(right);
|
|
12
28
|
return Number(getUrlQuery('right') || getResourceProps('userPermissionVal') || getCache('right') || 0);
|
|
13
29
|
}, []);
|
|
14
30
|
/** @name 资源权限 */
|
|
15
31
|
|
|
16
32
|
var resRightVal = useMemo(function () {
|
|
33
|
+
var _routeLocation$query3;
|
|
34
|
+
|
|
35
|
+
//@ts-ignore
|
|
36
|
+
var right = routeLocation === null || routeLocation === void 0 ? void 0 : (_routeLocation$query3 = routeLocation.query) === null || _routeLocation$query3 === void 0 ? void 0 : _routeLocation$query3.resRight;
|
|
37
|
+
if (right) return Number(right);
|
|
17
38
|
return Number(getUrlQuery('resRight') || getResourceProps('permissionVal') || getCache('right') || 0);
|
|
18
39
|
}, []);
|
|
19
40
|
/**
|
|
@@ -30,6 +51,7 @@ function usePermission() {
|
|
|
30
51
|
resourceId: resourceId,
|
|
31
52
|
permissionVal: permissionVal,
|
|
32
53
|
resRightVal: resRightVal,
|
|
54
|
+
loginName: loginName,
|
|
33
55
|
checkRight: checkRight,
|
|
34
56
|
canAdd: checkRight(2),
|
|
35
57
|
canEdit: checkRight(4),
|
|
@@ -47,6 +47,7 @@ declare function useSingle(inParam: SingleParamType): {
|
|
|
47
47
|
onAudit: (row: any) => Promise<void>;
|
|
48
48
|
resourceId: any;
|
|
49
49
|
checkRight: (val: number) => boolean;
|
|
50
|
+
loginName: string | undefined;
|
|
50
51
|
isAudit: (row?: any) => boolean;
|
|
51
52
|
};
|
|
52
53
|
export default useSingle;
|
|
@@ -24,6 +24,7 @@ import usePermission from '../usePermission';
|
|
|
24
24
|
function useSingle(inParam) {
|
|
25
25
|
var _usePermission = usePermission(),
|
|
26
26
|
resourceId = _usePermission.resourceId,
|
|
27
|
+
loginName = _usePermission.loginName,
|
|
27
28
|
checkRight = _usePermission.checkRight,
|
|
28
29
|
canAdd = _usePermission.canAdd,
|
|
29
30
|
canEdit = _usePermission.canEdit,
|
|
@@ -299,7 +300,7 @@ function useSingle(inParam) {
|
|
|
299
300
|
while (1) {
|
|
300
301
|
switch (_context4.prev = _context4.next) {
|
|
301
302
|
case 0:
|
|
302
|
-
if (!(!row
|
|
303
|
+
if (!(!row && !selectedRows.length)) {
|
|
303
304
|
_context4.next = 3;
|
|
304
305
|
break;
|
|
305
306
|
}
|
|
@@ -789,6 +790,7 @@ function useSingle(inParam) {
|
|
|
789
790
|
onAudit: onAudit,
|
|
790
791
|
resourceId: resourceId,
|
|
791
792
|
checkRight: checkRight,
|
|
793
|
+
loginName: loginName,
|
|
792
794
|
isAudit: isAudit
|
|
793
795
|
};
|
|
794
796
|
}
|
package/es/http/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
4
|
import { extend } from 'umi-request';
|
|
5
|
-
import { getCache, getUrlQuery, setUrlQuery, getResourceProps, showError, toGatewayUrl, reLogin } from '../utils'; //默认超时时间为1分钟
|
|
5
|
+
import { getCache, getUrlQuery, setUrlQuery, getCookie, getResourceProps, showError, toGatewayUrl, reLogin } from '../utils'; //默认超时时间为1分钟
|
|
6
6
|
|
|
7
7
|
var request = extend({
|
|
8
8
|
timeout: 60000
|
|
@@ -10,16 +10,35 @@ var request = extend({
|
|
|
10
10
|
/** 请求拦截器,统一添加token */
|
|
11
11
|
|
|
12
12
|
request.interceptors.request.use(function (url, options) {
|
|
13
|
-
var token =
|
|
13
|
+
var token = getCookie("token");
|
|
14
14
|
|
|
15
15
|
var opts = _objectSpread({}, options);
|
|
16
16
|
|
|
17
|
+
opts.headers = opts.headers || {}; // 处理 token
|
|
18
|
+
|
|
17
19
|
if (token && url.indexOf('noToken=1') === -1) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
opts.headers.token = token;
|
|
21
|
+
} // 处理门店
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var shopNo = getCache('shopNo', true) || getCache('shopNo');
|
|
25
|
+
|
|
26
|
+
if (shopNo) {
|
|
27
|
+
opts.headers.shopNo = shopNo;
|
|
28
|
+
} // 处理门店
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
var shopCode = getCache('shopCode', true) || getCache('shopCode');
|
|
32
|
+
|
|
33
|
+
if (shopCode) {
|
|
34
|
+
opts.headers.shopCode = shopCode;
|
|
35
|
+
} // 处理仓库
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
var storeNo = getCache('storeNo', true) || getCache('storeNo');
|
|
39
|
+
|
|
40
|
+
if (storeNo) {
|
|
41
|
+
opts.headers.storeNo = storeNo;
|
|
23
42
|
}
|
|
24
43
|
|
|
25
44
|
url = url.replace('noToken=1', '').replace('&&', '&').replace('?&', '?');
|
|
@@ -63,7 +82,7 @@ request.interceptors.response.use( /*#__PURE__*/function () {
|
|
|
63
82
|
|
|
64
83
|
if (((_data$flag = data.flag) === null || _data$flag === void 0 ? void 0 : _data$flag.retCode) === 'timeout' || ((_data$flag2 = data.flag) === null || _data$flag2 === void 0 ? void 0 : _data$flag2.retCode) === '4011') {
|
|
65
84
|
reLogin();
|
|
66
|
-
} else {
|
|
85
|
+
} else if (noMsg !== '1') {
|
|
67
86
|
showError(options.url + ((_data$flag3 = data.flag) === null || _data$flag3 === void 0 ? void 0 : _data$flag3.retMsg));
|
|
68
87
|
}
|
|
69
88
|
|
|
@@ -9,6 +9,14 @@ declare class BaseService {
|
|
|
9
9
|
load(param: Record<string, any>): Promise<any>;
|
|
10
10
|
/** 保存数据方法 @param data 对象数据,当存在id时即为更改 */
|
|
11
11
|
save(data: Record<string, any>): Promise<any>;
|
|
12
|
+
saveMstDtl(data: {
|
|
13
|
+
opType: 'inserted' | 'updated' | 'deleted';
|
|
14
|
+
master: any;
|
|
15
|
+
idName: string;
|
|
16
|
+
billType?: string;
|
|
17
|
+
codeRuleDynamicField?: string;
|
|
18
|
+
details?: any;
|
|
19
|
+
}): Promise<any>;
|
|
12
20
|
/** 批量删除对象方法,@param data id集合 */
|
|
13
21
|
remove(data: any[]): Promise<any>;
|
|
14
22
|
audit(data: any[]): Promise<any>;
|
|
@@ -137,12 +137,10 @@ var BaseService = /*#__PURE__*/function () {
|
|
|
137
137
|
|
|
138
138
|
return save;
|
|
139
139
|
}()
|
|
140
|
-
/** 批量删除对象方法,@param data id集合 */
|
|
141
|
-
|
|
142
140
|
}, {
|
|
143
|
-
key: "
|
|
141
|
+
key: "saveMstDtl",
|
|
144
142
|
value: function () {
|
|
145
|
-
var
|
|
143
|
+
var _saveMstDtl = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(data) {
|
|
146
144
|
var _this$api3;
|
|
147
145
|
|
|
148
146
|
var url;
|
|
@@ -150,45 +148,90 @@ var BaseService = /*#__PURE__*/function () {
|
|
|
150
148
|
while (1) {
|
|
151
149
|
switch (_context3.prev = _context3.next) {
|
|
152
150
|
case 0:
|
|
153
|
-
url = (_this$api3 = this.api) === null || _this$api3 === void 0 ? void 0 : _this$api3.
|
|
151
|
+
url = (_this$api3 = this.api) === null || _this$api3 === void 0 ? void 0 : _this$api3.mstDtl;
|
|
154
152
|
|
|
155
153
|
if (url) {
|
|
156
154
|
_context3.next = 4;
|
|
157
155
|
break;
|
|
158
156
|
}
|
|
159
157
|
|
|
158
|
+
_message.error("主从一起保存方法没有配置api");
|
|
159
|
+
|
|
160
|
+
return _context3.abrupt("return", Promise.reject("主从一起保存方法没有配置api"));
|
|
161
|
+
|
|
162
|
+
case 4:
|
|
163
|
+
_context3.next = 6;
|
|
164
|
+
return httpPost(url, data);
|
|
165
|
+
|
|
166
|
+
case 6:
|
|
167
|
+
return _context3.abrupt("return", _context3.sent);
|
|
168
|
+
|
|
169
|
+
case 7:
|
|
170
|
+
case "end":
|
|
171
|
+
return _context3.stop();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}, _callee3, this);
|
|
175
|
+
}));
|
|
176
|
+
|
|
177
|
+
function saveMstDtl(_x3) {
|
|
178
|
+
return _saveMstDtl.apply(this, arguments);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return saveMstDtl;
|
|
182
|
+
}()
|
|
183
|
+
/** 批量删除对象方法,@param data id集合 */
|
|
184
|
+
|
|
185
|
+
}, {
|
|
186
|
+
key: "remove",
|
|
187
|
+
value: function () {
|
|
188
|
+
var _remove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(data) {
|
|
189
|
+
var _this$api4;
|
|
190
|
+
|
|
191
|
+
var url;
|
|
192
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
193
|
+
while (1) {
|
|
194
|
+
switch (_context4.prev = _context4.next) {
|
|
195
|
+
case 0:
|
|
196
|
+
url = (_this$api4 = this.api) === null || _this$api4 === void 0 ? void 0 : _this$api4.delete;
|
|
197
|
+
|
|
198
|
+
if (url) {
|
|
199
|
+
_context4.next = 4;
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
|
|
160
203
|
_message.error("删除方法没有配置api");
|
|
161
204
|
|
|
162
|
-
return
|
|
205
|
+
return _context4.abrupt("return", Promise.reject("删除方法没有配置api"));
|
|
163
206
|
|
|
164
207
|
case 4:
|
|
165
208
|
if (!(this.method.delete === 'post')) {
|
|
166
|
-
|
|
209
|
+
_context4.next = 8;
|
|
167
210
|
break;
|
|
168
211
|
}
|
|
169
212
|
|
|
170
|
-
|
|
213
|
+
_context4.next = 7;
|
|
171
214
|
return httpPost(url, data);
|
|
172
215
|
|
|
173
216
|
case 7:
|
|
174
|
-
return
|
|
217
|
+
return _context4.abrupt("return", _context4.sent);
|
|
175
218
|
|
|
176
219
|
case 8:
|
|
177
|
-
|
|
220
|
+
_context4.next = 10;
|
|
178
221
|
return httpDelete(url, data);
|
|
179
222
|
|
|
180
223
|
case 10:
|
|
181
|
-
return
|
|
224
|
+
return _context4.abrupt("return", _context4.sent);
|
|
182
225
|
|
|
183
226
|
case 11:
|
|
184
227
|
case "end":
|
|
185
|
-
return
|
|
228
|
+
return _context4.stop();
|
|
186
229
|
}
|
|
187
230
|
}
|
|
188
|
-
},
|
|
231
|
+
}, _callee4, this);
|
|
189
232
|
}));
|
|
190
233
|
|
|
191
|
-
function remove(
|
|
234
|
+
function remove(_x4) {
|
|
192
235
|
return _remove.apply(this, arguments);
|
|
193
236
|
}
|
|
194
237
|
|
|
@@ -197,41 +240,41 @@ var BaseService = /*#__PURE__*/function () {
|
|
|
197
240
|
}, {
|
|
198
241
|
key: "audit",
|
|
199
242
|
value: function () {
|
|
200
|
-
var _audit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
201
|
-
var _this$
|
|
243
|
+
var _audit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(data) {
|
|
244
|
+
var _this$api5;
|
|
202
245
|
|
|
203
246
|
var url;
|
|
204
|
-
return _regeneratorRuntime.wrap(function
|
|
247
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
205
248
|
while (1) {
|
|
206
|
-
switch (
|
|
249
|
+
switch (_context5.prev = _context5.next) {
|
|
207
250
|
case 0:
|
|
208
|
-
url = (_this$
|
|
251
|
+
url = (_this$api5 = this.api) === null || _this$api5 === void 0 ? void 0 : _this$api5.audit;
|
|
209
252
|
|
|
210
253
|
if (url) {
|
|
211
|
-
|
|
254
|
+
_context5.next = 4;
|
|
212
255
|
break;
|
|
213
256
|
}
|
|
214
257
|
|
|
215
258
|
_message.error("审核方法没有配置api");
|
|
216
259
|
|
|
217
|
-
return
|
|
260
|
+
return _context5.abrupt("return", Promise.reject("审核方法没有配置api"));
|
|
218
261
|
|
|
219
262
|
case 4:
|
|
220
|
-
|
|
263
|
+
_context5.next = 6;
|
|
221
264
|
return httpPost(url, data);
|
|
222
265
|
|
|
223
266
|
case 6:
|
|
224
|
-
return
|
|
267
|
+
return _context5.abrupt("return", _context5.sent);
|
|
225
268
|
|
|
226
269
|
case 7:
|
|
227
270
|
case "end":
|
|
228
|
-
return
|
|
271
|
+
return _context5.stop();
|
|
229
272
|
}
|
|
230
273
|
}
|
|
231
|
-
},
|
|
274
|
+
}, _callee5, this);
|
|
232
275
|
}));
|
|
233
276
|
|
|
234
|
-
function audit(
|
|
277
|
+
function audit(_x5) {
|
|
235
278
|
return _audit.apply(this, arguments);
|
|
236
279
|
}
|
|
237
280
|
|
package/es/typing.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export declare type ApiResponse = Record<string, any> & {
|
|
|
8
8
|
rows?: [];
|
|
9
9
|
data?: any;
|
|
10
10
|
total?: 0;
|
|
11
|
+
id?: string;
|
|
12
|
+
billNo?: string;
|
|
11
13
|
};
|
|
12
14
|
export declare type TableToolbar = {
|
|
13
15
|
add?: boolean;
|
|
@@ -29,6 +31,8 @@ export declare type BaseApiType = {
|
|
|
29
31
|
edit?: string;
|
|
30
32
|
/**删除数据api */
|
|
31
33
|
delete?: string;
|
|
34
|
+
/**主从一起保存方法,新增,现改,删除共用一个接口 */
|
|
35
|
+
mstDtl?: string;
|
|
32
36
|
/**导入数据api */
|
|
33
37
|
import?: string;
|
|
34
38
|
/**导出数据api,如果跟加载数据api一致,可不指定 */
|
package/es/utils/index.d.ts
CHANGED
|
@@ -150,6 +150,55 @@ export declare const treeFind: (list: any[], key: string, val: any, children?: s
|
|
|
150
150
|
* @returns 返回已处理好的表头[{dataIndex:sizeTypeNo,title:'国标码',width:120,children[...]},{dataIndex:'f1',...}...]
|
|
151
151
|
*/
|
|
152
152
|
export declare const handleSizeCols: (orgSizeHeader: any[], typeWidth?: number, sizeWidth?: number) => any[];
|
|
153
|
+
/**
|
|
154
|
+
* 函数防抖, 限定的时间内多次操作只执行最后一次
|
|
155
|
+
* @param fn 函数
|
|
156
|
+
* @param delay 限时
|
|
157
|
+
* @returns function
|
|
158
|
+
*/
|
|
159
|
+
export declare const debounce: (fn: Function, delay?: number) => () => void;
|
|
160
|
+
/**
|
|
161
|
+
* 函数节流,限时内只触发一次函数
|
|
162
|
+
* @param fn 函数
|
|
163
|
+
* @param delay 限时
|
|
164
|
+
* @returns function
|
|
165
|
+
*/
|
|
166
|
+
export declare const throttle: (fn: Function, delay?: number) => () => void;
|
|
167
|
+
/**
|
|
168
|
+
* 绑定事件
|
|
169
|
+
* @param eventName 事件名
|
|
170
|
+
* @param fn 调用函数
|
|
171
|
+
* @param el 源对象,默认为window
|
|
172
|
+
*/
|
|
173
|
+
export declare const on: (eventName: string, fn: Function, el: any | undefined) => void;
|
|
174
|
+
/**
|
|
175
|
+
* 解绑事件
|
|
176
|
+
* @param eventName 事件名
|
|
177
|
+
* @param fn 调用函数
|
|
178
|
+
* @param el 源对象,默认为window
|
|
179
|
+
*/
|
|
180
|
+
export declare const off: (eventName: string, fn: Function, el: any | undefined) => void;
|
|
181
|
+
/**
|
|
182
|
+
* 打印预览
|
|
183
|
+
* @param templateNo 打印模板编码
|
|
184
|
+
* @param reqUrl 业务请求api
|
|
185
|
+
* @param bodyParam Post传参数
|
|
186
|
+
* @param param get传参数
|
|
187
|
+
* @param method 请求方式,默认post
|
|
188
|
+
* @returns
|
|
189
|
+
*/
|
|
190
|
+
export declare const printView: (templateNo: string, reqUrl: string, bodyParam?: any, param?: any, method?: 'POST' | 'GET') => any;
|
|
191
|
+
/**
|
|
192
|
+
* 直接打印
|
|
193
|
+
* @param taskName 打印任务名
|
|
194
|
+
* @param templateNo 打印模板
|
|
195
|
+
* @param reqUrl 业务请求api
|
|
196
|
+
* @param bodyParam Post传参数
|
|
197
|
+
* @param param get传参数
|
|
198
|
+
* @param method 请求方式,默认post
|
|
199
|
+
* @returns
|
|
200
|
+
*/
|
|
201
|
+
export declare const printAsync: (taskName: string, templateNo: string, reqUrl: string, bodyParam?: any, param?: any, method?: 'POST' | 'GET') => Promise<any>;
|
|
153
202
|
export declare const isDev: boolean;
|
|
154
203
|
export declare type UserType = {
|
|
155
204
|
id?: string;
|
package/es/utils/index.js
CHANGED
|
@@ -6,7 +6,8 @@ import _message from "antd/es/message";
|
|
|
6
6
|
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
7
7
|
import React from "react";
|
|
8
8
|
import { QuestionCircleOutlined } from '@ant-design/icons';
|
|
9
|
-
import { dateFormat } from 'ls-pro-table';
|
|
9
|
+
import { dateFormat, toGatewayUrl } from 'ls-pro-table';
|
|
10
|
+
import { httpPost } from '../http';
|
|
10
11
|
export { getUrlQuery, setUrlQuery, toGatewayUrl, dateFormat, getResourceProps } from 'ls-pro-table';
|
|
11
12
|
/**
|
|
12
13
|
* 设置文档title
|
|
@@ -463,6 +464,146 @@ export var handleSizeCols = function handleSizeCols(orgSizeHeader) {
|
|
|
463
464
|
});
|
|
464
465
|
return headers;
|
|
465
466
|
};
|
|
467
|
+
/**
|
|
468
|
+
* 函数防抖, 限定的时间内多次操作只执行最后一次
|
|
469
|
+
* @param fn 函数
|
|
470
|
+
* @param delay 限时
|
|
471
|
+
* @returns function
|
|
472
|
+
*/
|
|
473
|
+
|
|
474
|
+
export var debounce = function debounce(fn) {
|
|
475
|
+
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
|
|
476
|
+
var t = null;
|
|
477
|
+
return function () {
|
|
478
|
+
clearTimeout(t);
|
|
479
|
+
t = setTimeout(fn, delay);
|
|
480
|
+
};
|
|
481
|
+
};
|
|
482
|
+
/**
|
|
483
|
+
* 函数节流,限时内只触发一次函数
|
|
484
|
+
* @param fn 函数
|
|
485
|
+
* @param delay 限时
|
|
486
|
+
* @returns function
|
|
487
|
+
*/
|
|
488
|
+
|
|
489
|
+
export var throttle = function throttle(fn) {
|
|
490
|
+
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
|
|
491
|
+
var t = Date.now();
|
|
492
|
+
return function () {
|
|
493
|
+
var now = Date.now();
|
|
494
|
+
|
|
495
|
+
if (now - t > delay) {
|
|
496
|
+
fn();
|
|
497
|
+
t = now;
|
|
498
|
+
}
|
|
499
|
+
};
|
|
500
|
+
};
|
|
501
|
+
/**
|
|
502
|
+
* 绑定事件
|
|
503
|
+
* @param eventName 事件名
|
|
504
|
+
* @param fn 调用函数
|
|
505
|
+
* @param el 源对象,默认为window
|
|
506
|
+
*/
|
|
507
|
+
|
|
508
|
+
export var on = function on(eventName, fn, el) {
|
|
509
|
+
if (!el) {
|
|
510
|
+
el = window;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
el.addEventListener(eventName, fn);
|
|
514
|
+
};
|
|
515
|
+
/**
|
|
516
|
+
* 解绑事件
|
|
517
|
+
* @param eventName 事件名
|
|
518
|
+
* @param fn 调用函数
|
|
519
|
+
* @param el 源对象,默认为window
|
|
520
|
+
*/
|
|
521
|
+
|
|
522
|
+
export var off = function off(eventName, fn, el) {
|
|
523
|
+
if (!el) {
|
|
524
|
+
el = window;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
el.removeEventListener(eventName, fn);
|
|
528
|
+
};
|
|
529
|
+
/**
|
|
530
|
+
* 打印预览
|
|
531
|
+
* @param templateNo 打印模板编码
|
|
532
|
+
* @param reqUrl 业务请求api
|
|
533
|
+
* @param bodyParam Post传参数
|
|
534
|
+
* @param param get传参数
|
|
535
|
+
* @param method 请求方式,默认post
|
|
536
|
+
* @returns
|
|
537
|
+
*/
|
|
538
|
+
|
|
539
|
+
export var printView = function printView(templateNo, reqUrl) {
|
|
540
|
+
var bodyParam = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
541
|
+
var param = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
|
|
542
|
+
var method = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'POST';
|
|
543
|
+
var printCenterUrl = toGatewayUrl('/petrel-print-center-api/report/remote/print/dataStr');
|
|
544
|
+
reqUrl = toGatewayUrl(reqUrl);
|
|
545
|
+
|
|
546
|
+
if (!reqUrl.includes(location.origin)) {
|
|
547
|
+
reqUrl = location.origin + reqUrl;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
var data = {
|
|
551
|
+
templateNo: templateNo,
|
|
552
|
+
printType: 1,
|
|
553
|
+
reqUrl: reqUrl,
|
|
554
|
+
reqMethodType: method,
|
|
555
|
+
params: param || {},
|
|
556
|
+
body: bodyParam || {}
|
|
557
|
+
};
|
|
558
|
+
var openWin = window.open();
|
|
559
|
+
var formStr = "<form style=\"visibility:hidden;\" method=\"POST\" action=\"".concat(printCenterUrl, "\">\n <input type=\"hidden\" name=\"clientPrintData\" value='").concat(JSON.stringify(data), "' />\n </form>");
|
|
560
|
+
openWin.document.body.innerHTML = formStr;
|
|
561
|
+
openWin.document.forms[0].submit();
|
|
562
|
+
return openWin;
|
|
563
|
+
};
|
|
564
|
+
/**
|
|
565
|
+
* 直接打印
|
|
566
|
+
* @param taskName 打印任务名
|
|
567
|
+
* @param templateNo 打印模板
|
|
568
|
+
* @param reqUrl 业务请求api
|
|
569
|
+
* @param bodyParam Post传参数
|
|
570
|
+
* @param param get传参数
|
|
571
|
+
* @param method 请求方式,默认post
|
|
572
|
+
* @returns
|
|
573
|
+
*/
|
|
574
|
+
|
|
575
|
+
export var printAsync = function printAsync(taskName, templateNo, reqUrl) {
|
|
576
|
+
var bodyParam = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
577
|
+
var param = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
|
|
578
|
+
var method = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'POST';
|
|
579
|
+
var printCenterUrl = toGatewayUrl('/petrel-print-center-api/report/client/print');
|
|
580
|
+
|
|
581
|
+
if (!printCenterUrl.includes(location.origin)) {
|
|
582
|
+
printCenterUrl = location.origin + printCenterUrl;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
reqUrl = toGatewayUrl(reqUrl);
|
|
586
|
+
|
|
587
|
+
if (!reqUrl.includes(location.origin)) {
|
|
588
|
+
reqUrl = location.origin + reqUrl;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
var data = {
|
|
592
|
+
taskName: taskName,
|
|
593
|
+
printReqUrl: printCenterUrl,
|
|
594
|
+
bizVO: {
|
|
595
|
+
templateNo: templateNo,
|
|
596
|
+
printType: 1,
|
|
597
|
+
reqUrl: reqUrl,
|
|
598
|
+
reqMethodType: method,
|
|
599
|
+
params: param || {},
|
|
600
|
+
body: bodyParam || {}
|
|
601
|
+
},
|
|
602
|
+
token: getCache('token') || ''
|
|
603
|
+
};
|
|
604
|
+
var url = 'http://localhost:10050/client/async/print';
|
|
605
|
+
return httpPost(url, data, true, false);
|
|
606
|
+
};
|
|
466
607
|
export var isDev = location.href.includes("//localhost");
|
|
467
608
|
/** @name 用户信息 */
|
|
468
609
|
|
|
@@ -2,18 +2,12 @@
|
|
|
2
2
|
import type { InputProps, ModalProps } from 'antd';
|
|
3
3
|
import type { ProFormItemProps } from 'ls-pro-form';
|
|
4
4
|
export declare type IconSelectorProps = ProFormItemProps<InputProps> & {
|
|
5
|
-
/** @name 图标类型 */
|
|
6
|
-
type: string;
|
|
7
|
-
/** @name 是否可上传,默认可上传 */
|
|
8
|
-
uploadable?: boolean;
|
|
9
5
|
/** @name 弹框title */
|
|
10
6
|
title?: string;
|
|
7
|
+
defaultValue?: string;
|
|
8
|
+
isInput?: boolean;
|
|
11
9
|
/** @name 弹框宽度 */
|
|
12
10
|
modalWidth?: string;
|
|
13
|
-
/**
|
|
14
|
-
* @name 最大值, 默认2M
|
|
15
|
-
*/
|
|
16
|
-
maxSize?: number;
|
|
17
11
|
modalProps?: ModalProps;
|
|
18
12
|
};
|
|
19
13
|
declare function IconSelector(prop: IconSelectorProps): JSX.Element;
|