@yilianjituan/yilian_dgerm 1.0.1 → 1.0.2

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.
@@ -1,5 +1,5 @@
1
- import { MethodEnum } from "../../commonType/globalEnum";
2
- import { ReactNode } from "react";
1
+ import { ReactNode } from 'react';
2
+ import { MethodEnum } from '../../commonType/globalEnum';
3
3
  export interface IPageTemPropsData {
4
4
  http: any;
5
5
  ref?: any;
@@ -21,6 +21,7 @@ export interface IPageTemPropsData {
21
21
  afterRequest?: typeEmptyFunc;
22
22
  afterReset?: typeEmptyFunc;
23
23
  beforeSearch?: typeEmptyFunc;
24
+ afterExport?: typeEmptyFunc;
24
25
  beforeExport?: typeEmptyFunc;
25
26
  afterErrorRequest?: typeEmptyFunc;
26
27
  columns: IColumnsProps[];
@@ -61,6 +61,7 @@ var PageTemplate = function PageTemplate(props, ref) {
61
61
  _useState2 = _slicedToArray(_useState, 2),
62
62
  dataSource = _useState2[0],
63
63
  setDataSource = _useState2[1];
64
+ var dataSourceRef = useRef([]);
64
65
  var _useState3 = useState(false),
65
66
  _useState4 = _slicedToArray(_useState3, 2),
66
67
  tableLoading = _useState4[0],
@@ -205,9 +206,10 @@ var PageTemplate = function PageTemplate(props, ref) {
205
206
  result = _context.sent;
206
207
  _ref3 = result || {}, totalElements = _ref3.totalElements, content = _ref3.content;
207
208
  setDataSource(content || []);
209
+ dataSourceRef.current = content || [];
208
210
  setTotal(totalElements || '');
209
211
  setCurrent(current);
210
- case 7:
212
+ case 8:
211
213
  case "end":
212
214
  return _context.stop();
213
215
  }
@@ -318,15 +320,22 @@ var PageTemplate = function PageTemplate(props, ref) {
318
320
  * 导出
319
321
  */
320
322
  var exportList = function exportList() {
321
- if (dataSource.length === 0) {
322
- message.error('暂无数据,无法导出!');
323
- return;
324
- }
325
- setIsSpinLoading(true);
326
323
  _onSearch();
327
-
328
- // 需要等待搜索结束
329
324
  setTimeout(function () {
325
+ var _props$afterExport = props.afterExport,
326
+ afterExport = _props$afterExport === void 0 ? function (val) {
327
+ return val;
328
+ } : _props$afterExport;
329
+ if (dataSourceRef.current.length === 0) {
330
+ message.error('暂无数据,无法导出!');
331
+ return;
332
+ }
333
+ var params = form.getFieldsValue();
334
+ paramsRef.current = afterExport(_objectSpread(_objectSpread({}, paramsRef.current), params));
335
+ if (!paramsRef.current) return;
336
+ setIsSpinLoading(true);
337
+
338
+ // 需要等待搜索结束
330
339
  exportApi(paramsRef.current).then(function (item) {
331
340
  if (item.status === 200) {
332
341
  exportCompile(item);
@@ -4,8 +4,8 @@
4
4
  */
5
5
  export declare function revertUTF8(szInput: any): string;
6
6
  /**
7
- * 导出编译
8
- */
7
+ * 导出编译
8
+ */
9
9
  export declare function exportCompile(res: {
10
10
  data: BlobPart;
11
11
  headers: {
@@ -1,4 +1,4 @@
1
- import { message } from "antd";
1
+ import { message } from 'antd';
2
2
 
3
3
  /**
4
4
  * UTF8编码转成汉字字符串
@@ -8,22 +8,22 @@ export function revertUTF8(szInput) {
8
8
  var x,
9
9
  wch,
10
10
  wch1,
11
- wch2 = "",
12
- szRet = "";
11
+ wch2 = '',
12
+ szRet = '';
13
13
  for (x = 0; x < szInput.length; x++) {
14
- if (szInput.charAt(x) === "%") {
14
+ if (szInput.charAt(x) === '%') {
15
15
  wch = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16);
16
16
  if (!wch) {
17
17
  break;
18
18
  }
19
19
  if (!(wch & 0x80)) {
20
- // eslint-disable-next-line
20
+ // eslint-disable-next-line
21
21
  wch = wch;
22
22
  } else if (!(wch & 0x20)) {
23
23
  x++;
24
24
  wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16);
25
- wch = (wch & 0x1F) << 6;
26
- wch1 = wch1 & 0x3F;
25
+ wch = (wch & 0x1f) << 6;
26
+ wch1 = wch1 & 0x3f;
27
27
  wch = wch + wch1;
28
28
  } else {
29
29
  x++;
@@ -32,11 +32,11 @@ export function revertUTF8(szInput) {
32
32
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
33
33
  // @ts-ignore
34
34
  wch2 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16);
35
- wch = (wch & 0x0F) << 12;
36
- wch1 = (wch1 & 0x3F) << 6;
35
+ wch = (wch & 0x0f) << 12;
36
+ wch1 = (wch1 & 0x3f) << 6;
37
37
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38
38
  // @ts-ignore
39
- wch2 = wch2 & 0x3F;
39
+ wch2 = wch2 & 0x3f;
40
40
  wch = wch + wch1 + wch2;
41
41
  }
42
42
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -49,8 +49,8 @@ export function revertUTF8(szInput) {
49
49
  return szRet;
50
50
  }
51
51
  /**
52
- * 导出编译
53
- */
52
+ * 导出编译
53
+ */
54
54
  export function exportCompile(res) {
55
55
  var data = res.data;
56
56
  // 有可能下载失败,设置了responseType: 'blob',axios会把data强制转为blob
@@ -66,12 +66,13 @@ export function exportCompile(res) {
66
66
  try {
67
67
  var resData = JSON.parse(e.target.result); // this.result为FileReader获取blob数据转换为json后的数据,即后台返回的原始数据
68
68
  // 如果执行到这里,说明下载报错了,进行后续处理
69
- if (resData.result === "NULL") {
69
+ if (resData.result === 'NULL') {
70
70
  message.error('无数据无法导出,请确认后操作');
71
71
  } else {
72
72
  message.error(resData.message);
73
73
  }
74
74
  } catch (err) {
75
+ var _res$headers$content;
75
76
  // 下载正常处理
76
77
  var fileName = res.headers['content-disposition'];
77
78
  // 获取文件名
@@ -90,12 +91,12 @@ export function exportCompile(res) {
90
91
  return;
91
92
  }
92
93
  var blob = new Blob([res.data], {
93
- type: ""
94
+ type: ''
94
95
  });
95
96
  var objectUrl = URL.createObjectURL(blob);
96
- var a = document.createElement("a");
97
+ var a = document.createElement('a');
97
98
  a.href = objectUrl;
98
- a.download = revertUTF8(res.headers['content-disposition'].split('=')[1]);
99
+ a.download = revertUTF8((_res$headers$content = res.headers['content-disposition']) === null || _res$headers$content === void 0 ? void 0 : _res$headers$content.split('=')[1]);
99
100
  a.click();
100
101
  }
101
102
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yilianjituan/yilian_dgerm",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "A react library developed with dumi",
5
5
  "keywords": [
6
6
  "React",