ztxkui 3.5.21 → 3.6.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.
@@ -29,14 +29,14 @@ function request(options) {
29
29
  return axios({
30
30
  baseURL: options.baseURL ? options.baseURL : 'http://192.168.0.83:8000',
31
31
  url: options.url,
32
- headers: __assign({ 'Zmdms-Auth': 'bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6bnVsbCwicmVhbF9uYW1lIjoi6ZmI5Lqa6ZuEIiwiY2xpZW50X3R5cGUiOiJ3ZWIiLCJkYXRhX3JvbGVfaWQiOiIxMzQ1OTc4NTA1MzAyMDU2OTYyLDE0NjgwMzUzNTE2MjUyODU2MzQsMTU0MjA3NjMwODU3ODAyNTQ3NCIsImNsaWVudF9pZCI6InN3b3JkIiwidXNlcl90eXBlIjoid2ViIiwicm9sZV9pZCI6IjExMjM1OTg4MTY3Mzg2NzUyMDEsMTQ2NzAxNTk3NTQ4NDc2MDA2NiwxNDY4MDM0NDM3MTU3OTYxNzI5LDE0ODA4MjkzMzc5MzkxMzI0MTciLCJwb3N0X25hbWUiOm51bGwsInNjb3BlIjpbImFsbCJdLCJpbnRlcnZpZXdfaWQiOm51bGwsImV4cCI6MTY2MTQxNTk5NSwib3JnX25hbWUiOm51bGwsImp0aSI6IjYxZTc2ZjI3LTc1YTYtNDY1Yi05OWY2LWNmMjVhOWU4NTUyNyIsIm1lbWJlcl9pZCI6MSwiY29tcGFueV9pZCI6bnVsbCwic3lzdGVtX2lkIjpudWxsLCJkZXB0X25hbWUiOm51bGwsImF2YXRhciI6IiIsImRhdGFfcm9sZV9uYW1lIjoiYWRtaW4sYWRtaW4sYWRtaW4iLCJhdXRob3JpdGllcyI6WyJhZG1pbiIsInVzZXIiLCJhZG1pbmlzdHJhdG9yIl0sInJvbGVfbmFtZSI6ImFkbWluaXN0cmF0b3IsdXNlcixhZG1pbixhZG1pbiIsInJlc3VtZV90ZW1wbGF0ZSI6bnVsbCwibGljZW5zZSI6InBvd2VyZWQgYnkgem1kbXMiLCJwb3N0X2lkIjoiIiwidXNlcl9pZCI6IjE0MTI5NTM4MDQzMzM1NTU3MTQiLCJvcmdfaWQiOm51bGwsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjpudWxsfQ.bVscr9rQI4z7neBnNw7DCT2vj4F-3qf9rr_RKNptb6Q' }, options.headers),
32
+ headers: __assign({ 'Zmdms-Auth': 'bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6bnVsbCwicmVhbF9uYW1lIjoi6ZmI5Lqa6ZuEIiwiY2xpZW50X3R5cGUiOiJ3ZWIiLCJkYXRhX3JvbGVfaWQiOiIxMzQ1OTc4NTA1MzAyMDU2OTYyLDE0NjgwMzUzNTE2MjUyODU2MzQsMTU0MjA3NjMwODU3ODAyNTQ3NCIsImNsaWVudF9pZCI6InN3b3JkIiwidXNlcl90eXBlIjoid2ViIiwicm9sZV9pZCI6IjExMjM1OTg4MTY3Mzg2NzUyMDEsMTQ2NzAxNTk3NTQ4NDc2MDA2NiwxNDY4MDM0NDM3MTU3OTYxNzI5LDE0ODA4MjkzMzc5MzkxMzI0MTciLCJwb3N0X25hbWUiOm51bGwsInNjb3BlIjpbImFsbCJdLCJpbnRlcnZpZXdfaWQiOm51bGwsImV4cCI6MTY2MTk0Mjk2MCwib3JnX25hbWUiOm51bGwsImp0aSI6ImVlN2QwNmM2LTg2YjktNDM3NC1hNjhiLTM2MTJkYTZlYmNkZSIsIm1lbWJlcl9pZCI6MSwiY29tcGFueV9pZCI6bnVsbCwic3lzdGVtX2lkIjpudWxsLCJkZXB0X25hbWUiOm51bGwsImF2YXRhciI6IiIsImRhdGFfcm9sZV9uYW1lIjoiYWRtaW4sYWRtaW4sYWRtaW4iLCJhdXRob3JpdGllcyI6WyJhZG1pbiIsInVzZXIiLCJhZG1pbmlzdHJhdG9yIl0sInJvbGVfbmFtZSI6ImFkbWluaXN0cmF0b3IsdXNlcixhZG1pbixhZG1pbiIsInJlc3VtZV90ZW1wbGF0ZSI6bnVsbCwibGljZW5zZSI6InBvd2VyZWQgYnkgem1kbXMiLCJwb3N0X2lkIjoiIiwidXNlcl9pZCI6IjE0MTI5NTM4MDQzMzM1NTU3MTQiLCJvcmdfaWQiOm51bGwsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjpudWxsfQ.ZWKKK_sK1JgHAGYnTVDm3BXy_r8OK3y_GwfOi7nmRiQ' }, options.headers),
33
33
  method: options.method,
34
34
  data: options.data,
35
35
  params: options.params,
36
36
  });
37
37
  }
38
38
  // const sealIdList = ['2980019783467188885', '2982231505305256230'];
39
- var keywordList = ['测试一', '测试四'];
39
+ // const keywordList = ['测试一', '测试四'];
40
40
  var dataSource1 = new Array(10).fill('1').map(function (item, index) { return ({
41
41
  test1: "\u6D4B\u8BD5\u4E00" + index,
42
42
  test2: "\u6D4B\u8BD5\u4E8C" + index,
@@ -91,7 +91,7 @@ var PrintContainerDemo = function () {
91
91
  var _c = useState(''), base64Img = _c[0], setBase64Img = _c[1];
92
92
  useEffect(function () {
93
93
  var xhr = new XMLHttpRequest();
94
- var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6bnVsbCwicmVhbF9uYW1lIjoi6ZmI5Lqa6ZuEIiwiY2xpZW50X3R5cGUiOiJ3ZWIiLCJkYXRhX3JvbGVfaWQiOiIxMzQ1OTc4NTA1MzAyMDU2OTYyLDE0NjgwMzUzNTE2MjUyODU2MzQsMTU0MjA3NjMwODU3ODAyNTQ3NCIsImNsaWVudF9pZCI6InN3b3JkIiwidXNlcl90eXBlIjoid2ViIiwicm9sZV9pZCI6IjExMjM1OTg4MTY3Mzg2NzUyMDEsMTQ2NzAxNTk3NTQ4NDc2MDA2NiwxNDY4MDM0NDM3MTU3OTYxNzI5LDE0ODA4MjkzMzc5MzkxMzI0MTciLCJwb3N0X25hbWUiOm51bGwsInNjb3BlIjpbImFsbCJdLCJpbnRlcnZpZXdfaWQiOm51bGwsImV4cCI6MTY2MTQxNTk5NSwib3JnX25hbWUiOm51bGwsImp0aSI6IjYxZTc2ZjI3LTc1YTYtNDY1Yi05OWY2LWNmMjVhOWU4NTUyNyIsIm1lbWJlcl9pZCI6MSwiY29tcGFueV9pZCI6bnVsbCwic3lzdGVtX2lkIjpudWxsLCJkZXB0X25hbWUiOm51bGwsImF2YXRhciI6IiIsImRhdGFfcm9sZV9uYW1lIjoiYWRtaW4sYWRtaW4sYWRtaW4iLCJhdXRob3JpdGllcyI6WyJhZG1pbiIsInVzZXIiLCJhZG1pbmlzdHJhdG9yIl0sInJvbGVfbmFtZSI6ImFkbWluaXN0cmF0b3IsdXNlcixhZG1pbixhZG1pbiIsInJlc3VtZV90ZW1wbGF0ZSI6bnVsbCwibGljZW5zZSI6InBvd2VyZWQgYnkgem1kbXMiLCJwb3N0X2lkIjoiIiwidXNlcl9pZCI6IjE0MTI5NTM4MDQzMzM1NTU3MTQiLCJvcmdfaWQiOm51bGwsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjpudWxsfQ.bVscr9rQI4z7neBnNw7DCT2vj4F-3qf9rr_RKNptb6Q';
94
+ var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6bnVsbCwicmVhbF9uYW1lIjoi6ZmI5Lqa6ZuEIiwiY2xpZW50X3R5cGUiOiJ3ZWIiLCJkYXRhX3JvbGVfaWQiOiIxMzQ1OTc4NTA1MzAyMDU2OTYyLDE0NjgwMzUzNTE2MjUyODU2MzQsMTU0MjA3NjMwODU3ODAyNTQ3NCIsImNsaWVudF9pZCI6InN3b3JkIiwidXNlcl90eXBlIjoid2ViIiwicm9sZV9pZCI6IjExMjM1OTg4MTY3Mzg2NzUyMDEsMTQ2NzAxNTk3NTQ4NDc2MDA2NiwxNDY4MDM0NDM3MTU3OTYxNzI5LDE0ODA4MjkzMzc5MzkxMzI0MTciLCJwb3N0X25hbWUiOm51bGwsInNjb3BlIjpbImFsbCJdLCJpbnRlcnZpZXdfaWQiOm51bGwsImV4cCI6MTY2MTk0Mjk2MCwib3JnX25hbWUiOm51bGwsImp0aSI6ImVlN2QwNmM2LTg2YjktNDM3NC1hNjhiLTM2MTJkYTZlYmNkZSIsIm1lbWJlcl9pZCI6MSwiY29tcGFueV9pZCI6bnVsbCwic3lzdGVtX2lkIjpudWxsLCJkZXB0X25hbWUiOm51bGwsImF2YXRhciI6IiIsImRhdGFfcm9sZV9uYW1lIjoiYWRtaW4sYWRtaW4sYWRtaW4iLCJhdXRob3JpdGllcyI6WyJhZG1pbiIsInVzZXIiLCJhZG1pbmlzdHJhdG9yIl0sInJvbGVfbmFtZSI6ImFkbWluaXN0cmF0b3IsdXNlcixhZG1pbixhZG1pbiIsInJlc3VtZV90ZW1wbGF0ZSI6bnVsbCwibGljZW5zZSI6InBvd2VyZWQgYnkgem1kbXMiLCJwb3N0X2lkIjoiIiwidXNlcl9pZCI6IjE0MTI5NTM4MDQzMzM1NTU3MTQiLCJvcmdfaWQiOm51bGwsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjpudWxsfQ.ZWKKK_sK1JgHAGYnTVDm3BXy_r8OK3y_GwfOi7nmRiQ';
95
95
  xhr.open('GET', "http://192.168.0.83:8000/api/zmdms-resource/oss/endpoint/download-file/1559472632642387969?Zmdms-Auth=bearer " + token, true);
96
96
  xhr.responseType = 'blob';
97
97
  xhr.onload = function () {
@@ -103,7 +103,9 @@ var PrintContainerDemo = function () {
103
103
  };
104
104
  xhr.send();
105
105
  }, []);
106
- return (React.createElement(PrintContainer, { isAddExportPage: true, loading: loading, request: request, deptId: "1527122794329313281", flowId: "scm_print_thd", fileId: "1551733945007517697", keywordList: keywordList, imgWaterBg: water, showPrintMessage: true,
106
+ return (React.createElement(PrintContainer, { isAddExportPage: true, loading: loading, request: request, deptId: "1295909488001540097", flowId: "scm_print_tdtd", fileId: "1551733945007517697",
107
+ // keywordList={keywordList}
108
+ imgWaterBg: water, showPrintMessage: true,
107
109
  // onPrintBeforeCallback={() => {
108
110
  // setLoading(true);
109
111
  // return new Promise((resolve, reject) => {
@@ -33,6 +33,7 @@ import React, { useCallback, useEffect, memo, useRef, useState } from 'react';
33
33
  import { Select } from 'antd';
34
34
  import { useFetchState } from 'ztxkutils/dist/hooks';
35
35
  import debounce from 'lodash/debounce';
36
+ import { dangerouslySetXss } from 'ztxkutils/dist/tools';
36
37
  /**
37
38
  * 组件缓存的数据格式,在当前浏览器运行内,能保证是唯一的引用,用来缓存数据用
38
39
  * {
@@ -502,21 +503,23 @@ function EnhanceSelect(_a) {
502
503
  ? item[componentKey]
503
504
  : item[dataKey];
504
505
  var value = item[dataKey];
505
- var title = item[titleKey];
506
+ var title = dangerouslySetXss(item[titleKey]);
506
507
  var joinTitle = [];
507
508
  var linefeedTitle = [];
508
509
  if (joinKey) {
509
510
  joinTitle = Array.isArray(joinKey)
510
- ? joinKey.map(function (joinItem) { return item[joinItem]; })
511
+ ? joinKey.map(function (joinItem) { return dangerouslySetXss(item[joinItem]); })
511
512
  : item[joinKey]
512
- ? [item[joinKey]]
513
+ ? [dangerouslySetXss(item[joinKey])]
513
514
  : [];
514
515
  }
515
516
  if (lineFeedKey) {
516
517
  linefeedTitle = Array.isArray(lineFeedKey)
517
- ? lineFeedKey.map(function (joinItem) { return item[joinItem]; })
518
+ ? lineFeedKey.map(function (joinItem) {
519
+ return dangerouslySetXss(item[joinItem]);
520
+ })
518
521
  : item[lineFeedKey]
519
- ? [item[lineFeedKey]]
522
+ ? [dangerouslySetXss(item[lineFeedKey])]
520
523
  : [];
521
524
  }
522
525
  if (Array.isArray(joinTitle)) {
@@ -40,17 +40,17 @@ var PrintModal = function (_a) {
40
40
  return (React.createElement(Modal, { title: "\u8FB9\u8DDD\u8C03\u6574", visible: visible, loading: false, width: "90%", onCancel: onCancel, onOk: onSure },
41
41
  React.createElement("div", null,
42
42
  "\u4E0A\u8FB9\u8DDD\uFF1A",
43
- React.createElement(Slider, { min: 0, max: 20, step: 0.01, value: (value === null || value === void 0 ? void 0 : value.top) || 0, onChange: function (value) {
43
+ React.createElement(Slider, { min: 0, max: 200, step: 0.01, value: (value === null || value === void 0 ? void 0 : value.top) || 0, onChange: function (value) {
44
44
  setValue(function (preValue) { return (__assign(__assign({}, (preValue || {})), { top: value })); });
45
45
  } })),
46
46
  React.createElement("div", null,
47
47
  "\u5DE6\u8FB9\u8DDD\uFF1A",
48
- React.createElement(Slider, { min: 0, max: 20, step: 0.01, value: (value === null || value === void 0 ? void 0 : value.left) || 0, onChange: function (value) {
48
+ React.createElement(Slider, { min: 0, max: 200, step: 0.01, value: (value === null || value === void 0 ? void 0 : value.left) || 0, onChange: function (value) {
49
49
  setValue(function (preValue) { return (__assign(__assign({}, (preValue || {})), { left: value })); });
50
50
  } })),
51
51
  React.createElement("div", { className: "print-modal--container", style: {
52
- paddingTop: ((value === null || value === void 0 ? void 0 : value.top) || 0) + "%",
53
- paddingLeft: ((value === null || value === void 0 ? void 0 : value.left) || 0) + "%",
52
+ paddingTop: ((value === null || value === void 0 ? void 0 : value.top) || 0) + "px",
53
+ paddingLeft: ((value === null || value === void 0 ? void 0 : value.left) || 0) + "px",
54
54
  }, dangerouslySetInnerHTML: vhtml })));
55
55
  };
56
56
  export default PrintModal;
@@ -33,3 +33,9 @@ export declare function htmlToPdfNoCanvas({ pageClassName, dom, isShowPage, file
33
33
  imgWidth?: number;
34
34
  imgHeight?: number;
35
35
  }): Promise<unknown>;
36
+ /**
37
+ * @author 陈亚雄
38
+ * @description 设置local
39
+ */
40
+ export declare function setPositionLocal(value: any, localKey?: string): void;
41
+ export declare function getPositionLocal(localKey?: string): any;
@@ -252,3 +252,27 @@ function setPdfWater(pdf, waterBase64, imgWidth, imgHeight) {
252
252
  pdf.addImage(waterBase64, 'PNG', 20 + imgWidth, 20 + imgHeight + imgHeight, imgWidth, imgHeight, '6');
253
253
  }
254
254
  }
255
+ /**
256
+ * @author 陈亚雄
257
+ * @description 设置local
258
+ */
259
+ export function setPositionLocal(value, localKey) {
260
+ var v = '';
261
+ try {
262
+ v = JSON.stringify(value);
263
+ localStorage.setItem(localKey || 'SEAL_POSITION_LOCAL_SCM', v);
264
+ }
265
+ catch (er) {
266
+ console.log('设置local失败', er);
267
+ }
268
+ }
269
+ export function getPositionLocal(localKey) {
270
+ var v = '';
271
+ try {
272
+ v = JSON.parse(localStorage.getItem(localKey || 'SEAL_POSITION_LOCAL_SCM') || '{}');
273
+ }
274
+ catch (er) {
275
+ console.log('获取local失败', er);
276
+ }
277
+ return v;
278
+ }
@@ -44,6 +44,12 @@ export interface IProps {
44
44
  onPrintCallback?: () => Promise<any> | void;
45
45
  /** 是否添加点击打印提示 */
46
46
  showPrintMessage?: boolean;
47
+ /** 是否显示打印按钮 */
48
+ showPrintBtn?: boolean;
49
+ /** 是否使用xy轴定位 */
50
+ isUseXy?: boolean;
51
+ /** 当前本地存储的key */
52
+ localKey?: string;
47
53
  }
48
54
  declare const PrintContainer: React.FC<IProps>;
49
55
  export default PrintContainer;
@@ -1,3 +1,14 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
13
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
14
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -54,13 +65,17 @@ import PrintModal from './PrintModal';
54
65
  // 其他文件
55
66
  import { printCurrentDom, htmlToPdfNoCanvas, htmlToPdf, } from 'ztxkutils/dist/print';
56
67
  import { createDownloadUrlNoBase } from 'ztxkutils/dist/fileOperation';
57
- import { dataURLtoFile, image2Base64 } from './handle';
68
+ import { dataURLtoFile,
69
+ // image2Base64,
70
+ setPositionLocal, getPositionLocal, } from './handle';
58
71
  import { createTask } from './lodop';
59
72
  import { setWater, removeWater } from './printUtils';
60
73
  var fontTTF = {
61
74
  data: '',
62
75
  };
63
76
  var loadFontTTFPromise = null;
77
+ var loadFontTTFMaxNum = 3;
78
+ var loadFontTTFNum = 0;
64
79
  // 字体文件下载
65
80
  function downloadFontTTF(_a) {
66
81
  var fileId = _a.fileId, request = _a.request;
@@ -78,43 +93,40 @@ function downloadFontTTF(_a) {
78
93
  });
79
94
  }
80
95
  var PrintContainer = function (_a) {
81
- var children = _a.children, waterText = _a.waterText, onFonsizeChange = _a.onFonsizeChange, hiddenClassName = _a.hiddenClassName, _b = _a.isAddExportPage, isAddExportPage = _b === void 0 ? false : _b, _c = _a.loading, loading = _c === void 0 ? false : _c, _d = _a.pdfName, pdfName = _d === void 0 ? 'pdf文件' : _d, request = _a.request, sealIdList = _a.sealIdList, autoSealIdList = _a.autoSealIdList, keywordList = _a.keywordList, _e = _a.showHandSeal, showHandSeal = _e === void 0 ? true : _e, _f = _a.showAutoSeal, showAutoSeal = _f === void 0 ? true : _f, _g = _a.needWatermark, needWatermark = _g === void 0 ? 0 : _g, fileId = _a.fileId, deptId = _a.deptId, flowId = _a.flowId, imgWaterBg = _a.imgWaterBg, onPrintCallback = _a.onPrintCallback, showPrintMessage = _a.showPrintMessage, onPrintBeforeCallback = _a.onPrintBeforeCallback;
82
- var _h = useState(false), showWater = _h[0], setShowWater = _h[1];
96
+ var children = _a.children, waterText = _a.waterText, onFonsizeChange = _a.onFonsizeChange, hiddenClassName = _a.hiddenClassName, _b = _a.isAddExportPage, isAddExportPage = _b === void 0 ? false : _b, _c = _a.loading, loading = _c === void 0 ? false : _c, _d = _a.pdfName, pdfName = _d === void 0 ? 'pdf文件' : _d, request = _a.request, sealIdList = _a.sealIdList, _e = _a.showHandSeal, showHandSeal = _e === void 0 ? true : _e, _f = _a.showAutoSeal, showAutoSeal = _f === void 0 ? true : _f, _g = _a.needWatermark, needWatermark = _g === void 0 ? 0 : _g, fileId = _a.fileId, deptId = _a.deptId, flowId = _a.flowId, imgWaterBg = _a.imgWaterBg, onPrintCallback = _a.onPrintCallback, showPrintMessage = _a.showPrintMessage, onPrintBeforeCallback = _a.onPrintBeforeCallback, _h = _a.showPrintBtn, showPrintBtn = _h === void 0 ? true : _h, isUseXy = _a.isUseXy, localKey = _a.localKey;
97
+ var _j = useState(false), showWater = _j[0], setShowWater = _j[1];
83
98
  var containerRef = useRef();
84
99
  var allDomRef = useRef();
85
- var _j = useState(false), spinning = _j[0], setSpinning = _j[1];
100
+ var _k = useState(false), spinning = _k[0], setSpinning = _k[1];
86
101
  // 确认盖章后,会得到一个合同id 这个之后盖章要用
87
- var _k = useState(), currentContractId = _k[0], setCurrentContractId = _k[1];
102
+ var _l = useState(), currentContractId = _l[0], setCurrentContractId = _l[1];
88
103
  // 盖章后会得到一个预览地址,这个地址耀保存,同一个合同id,不能重复盖章接口
89
- var _l = useState(), currentViewUrl = _l[0], setCurrentViewUrl = _l[1];
90
- // 印章列表
91
- var _m = useState(), _sealIdList = _m[0], setSealIdList = _m[1];
92
- // 自动盖章印章列表
93
- var _o = useState(), _autoSealIdList = _o[0], setAutoSealIdList = _o[1];
94
- // 关键字列表
95
- var _p = useState(), _keywordList = _p[0], setKeywordList = _p[1];
104
+ var _m = useState(), currentViewUrl = _m[0], setCurrentViewUrl = _m[1];
105
+ // 收到盖章-印章列表
106
+ var _o = useState(), _sealIdList = _o[0], setSealIdList = _o[1];
107
+ // 自动盖章-印章列表
108
+ var _p = useState(), autoSealList = _p[0], setAutoSealList = _p[1];
96
109
  // 边距调整相关
97
110
  var _q = useState(false), visible = _q[0], setVisible = _q[1];
98
111
  var _r = useState({
99
112
  top: 0,
100
113
  left: 0,
101
114
  }), value = _r[0], setValue = _r[1];
115
+ useEffect(function () {
116
+ var v = getPositionLocal(localKey);
117
+ setValue(v);
118
+ var printDom = document.querySelectorAll('.html2canvas-container-page');
119
+ for (var i = 0; i < printDom.length; i++) {
120
+ var item = printDom[i];
121
+ item.setAttribute('style', "padding-top: " + (v === null || v === void 0 ? void 0 : v.top) + "px; padding-left: " + (v === null || v === void 0 ? void 0 : v.left) + "px");
122
+ }
123
+ }, [localKey]);
102
124
  // 根据传入参数设置印章 关键字
103
125
  useEffect(function () {
104
126
  if (sealIdList) {
105
127
  setSealIdList(sealIdList);
106
128
  }
107
129
  }, [sealIdList]);
108
- useEffect(function () {
109
- if (autoSealIdList) {
110
- setAutoSealIdList(autoSealIdList);
111
- }
112
- }, [autoSealIdList]);
113
- useEffect(function () {
114
- if (keywordList) {
115
- setKeywordList(keywordList);
116
- }
117
- }, [keywordList]);
118
130
  // 根据流程id 部门id获取印章信息 跟 关键字信息
119
131
  useEffect(function () {
120
132
  if (deptId && flowId && request) {
@@ -135,23 +147,14 @@ var PrintContainer = function (_a) {
135
147
  var records = (data || {}).data.records;
136
148
  if (Array.isArray(records)) {
137
149
  var sealInfoList = ((_a = records[0]) === null || _a === void 0 ? void 0 : _a.sealInfoList) || [];
138
- var __sealIdList_1 = [];
139
- var __autoSealIdList_1 = [];
140
- var __keywordList_1 = [];
141
- sealInfoList.forEach(function (item, index) {
142
- // 只要传入的印章 都可以手动盖章
143
- if (item.sealId != null) {
144
- __sealIdList_1.push(item.sealId);
145
- }
146
- // 有关键字才可以自动盖章
147
- if (item.keyword != null) {
148
- __autoSealIdList_1.push(item.sealId);
149
- __keywordList_1.push(item.keyword);
150
- }
151
- });
152
- setSealIdList(__sealIdList_1);
153
- setAutoSealIdList(__autoSealIdList_1);
154
- setKeywordList(__keywordList_1);
150
+ // 只要传入的印章 都可以手动盖章
151
+ setSealIdList(sealInfoList
152
+ .filter(function (item) { return item.sealId != null; })
153
+ .map(function (item) { return item.sealId; }));
154
+ // 自动盖章列表
155
+ setAutoSealList(sealInfoList
156
+ .filter(function (item) { return item.sealId != null; })
157
+ .map(function (item) { return (__assign({}, item)); }));
155
158
  return;
156
159
  }
157
160
  message.info('当前部门、流程下未找到对应的印章!');
@@ -213,7 +216,6 @@ var PrintContainer = function (_a) {
213
216
  };
214
217
  // 调整边距
215
218
  var onAdjustPadding = function () {
216
- console.log(1111);
217
219
  setVisible(function (preVisible) { return !preVisible; });
218
220
  };
219
221
  // 添加水印
@@ -478,13 +480,21 @@ var PrintContainer = function (_a) {
478
480
  .catch(function (err) {
479
481
  // 出错了,重新下载
480
482
  console.log('出错了,重新下载字体文件');
481
- setTimeout(function () {
482
- loadFontTTFPromise = downloadFontTTF({
483
- fileId: fileId,
484
- request: request,
485
- });
486
- onSurePositionHandle();
487
- }, 2000);
483
+ if (loadFontTTFNum <= loadFontTTFMaxNum) {
484
+ loadFontTTFNum++;
485
+ setTimeout(function () {
486
+ loadFontTTFPromise = downloadFontTTF({
487
+ fileId: fileId,
488
+ request: request,
489
+ });
490
+ onPdfHandle();
491
+ }, 2000);
492
+ }
493
+ else {
494
+ message.error('生成pdf所需要的字体文件下载失败!');
495
+ loadFontTTFNum = 0;
496
+ setSpinning(false);
497
+ }
488
498
  });
489
499
  }
490
500
  else {
@@ -510,65 +520,88 @@ var PrintContainer = function (_a) {
510
520
  });
511
521
  }); };
512
522
  function createPdf() {
513
- if (imgWaterBg) {
514
- setTimeout(function () {
515
- var waterBase64 = '';
516
- var img = new Image();
517
- img.src = imgWaterBg;
518
- img.setAttribute('crossOrigin', 'Anonymous');
519
- img.onload = function () {
520
- waterBase64 = image2Base64(img);
521
- htmlToPdfNoCanvas({
522
- dom: containerRef.current,
523
- fileBinary: fontTTF,
524
- isShowPage: isAddExportPage,
525
- pdfName: pdfName,
526
- isAddWater: showWater,
527
- waterBase64: waterBase64,
528
- imgWidth: img.width,
529
- imgHeight: img.height,
530
- isDownload: true,
531
- pdfOption: {
532
- pageFormat: [1000, 1000],
533
- },
534
- })
535
- .then(function () {
536
- setSpinning(false);
537
- setShowWater(false);
538
- })
539
- .catch(function () {
540
- setSpinning(false);
541
- setShowWater(false);
542
- });
543
- };
544
- img.onerror = function () {
545
- console.log('img error', '加载失败!');
546
- };
547
- });
548
- }
549
- else {
550
- setTimeout(function () {
551
- htmlToPdfNoCanvas({
552
- dom: containerRef.current,
553
- fileBinary: fontTTF,
554
- isShowPage: isAddExportPage,
555
- pdfName: pdfName,
556
- isAddWater: showWater,
557
- isDownload: true,
558
- pdfOption: {
559
- pageFormat: [1000, 1000],
560
- },
561
- })
562
- .then(function () {
563
- setSpinning(false);
564
- setShowWater(false);
565
- })
566
- .catch(function () {
567
- setSpinning(false);
568
- setShowWater(false);
569
- });
523
+ setTimeout(function () {
524
+ htmlToPdfNoCanvas({
525
+ dom: containerRef.current,
526
+ fileBinary: fontTTF,
527
+ isShowPage: isAddExportPage,
528
+ pdfName: pdfName,
529
+ // isAddWater: showWater,
530
+ isDownload: true,
531
+ pdfOption: {
532
+ pageFormat: [1000, 1000],
533
+ // 因为生成的pdf需要打印,所以边距需要去掉
534
+ pageMarginX: 0,
535
+ pageMarginY: 0,
536
+ },
537
+ })
538
+ .then(function () {
539
+ setSpinning(false);
540
+ setShowWater(false);
541
+ })
542
+ .catch(function () {
543
+ setSpinning(false);
544
+ setShowWater(false);
570
545
  });
571
- }
546
+ });
547
+ // if (imgWaterBg) {
548
+ // setTimeout(() => {
549
+ // let waterBase64 = '';
550
+ // const img = new Image();
551
+ // img.src = imgWaterBg;
552
+ // img.setAttribute('crossOrigin', 'Anonymous');
553
+ // img.onload = function () {
554
+ // waterBase64 = image2Base64(img);
555
+ // htmlToPdfNoCanvas({
556
+ // dom: containerRef.current,
557
+ // fileBinary: fontTTF,
558
+ // isShowPage: isAddExportPage,
559
+ // pdfName,
560
+ // isAddWater: showWater,
561
+ // waterBase64,
562
+ // imgWidth: img.width,
563
+ // imgHeight: img.height,
564
+ // isDownload: true,
565
+ // pdfOption: {
566
+ // pageFormat: [1000, 1000] as any,
567
+ // },
568
+ // })
569
+ // .then(() => {
570
+ // setSpinning(false);
571
+ // setShowWater(false);
572
+ // })
573
+ // .catch(() => {
574
+ // setSpinning(false);
575
+ // setShowWater(false);
576
+ // });
577
+ // };
578
+ // img.onerror = function () {
579
+ // console.log('img error', '加载失败!');
580
+ // };
581
+ // });
582
+ // } else {
583
+ // setTimeout(() => {
584
+ // htmlToPdfNoCanvas({
585
+ // dom: containerRef.current,
586
+ // fileBinary: fontTTF,
587
+ // isShowPage: isAddExportPage,
588
+ // pdfName,
589
+ // // isAddWater: showWater,
590
+ // isDownload: true,
591
+ // pdfOption: {
592
+ // pageFormat: [1000, 1000] as any,
593
+ // },
594
+ // })
595
+ // .then(() => {
596
+ // setSpinning(false);
597
+ // setShowWater(false);
598
+ // })
599
+ // .catch(() => {
600
+ // setSpinning(false);
601
+ // setShowWater(false);
602
+ // });
603
+ // });
604
+ // }
572
605
  }
573
606
  // 关闭
574
607
  var onCloseHandle = function () {
@@ -602,13 +635,21 @@ var PrintContainer = function (_a) {
602
635
  .catch(function (err) {
603
636
  // 出错了,重新下载
604
637
  console.log('出错了,重新下载字体文件');
605
- setTimeout(function () {
606
- loadFontTTFPromise = downloadFontTTF({
607
- fileId: fileId,
608
- request: request,
609
- });
610
- onSurePositionHandle();
611
- }, 2000);
638
+ if (loadFontTTFNum <= loadFontTTFMaxNum) {
639
+ loadFontTTFNum++;
640
+ setTimeout(function () {
641
+ loadFontTTFPromise = downloadFontTTF({
642
+ fileId: fileId,
643
+ request: request,
644
+ });
645
+ onSurePositionHandle();
646
+ }, 2000);
647
+ }
648
+ else {
649
+ message.error('生成pdf所需要的字体文件下载失败!');
650
+ loadFontTTFNum = 0;
651
+ setSpinning(false);
652
+ }
612
653
  });
613
654
  }
614
655
  else {
@@ -625,6 +666,9 @@ var PrintContainer = function (_a) {
625
666
  fileBinary: fontTTF,
626
667
  pdfOption: {
627
668
  pageFormat: [1000, 1000],
669
+ // 因为生成的pdf需要打印,所以边距需要去掉
670
+ pageMarginX: 0,
671
+ pageMarginY: 0,
628
672
  },
629
673
  })
630
674
  .then(function (option) {
@@ -725,8 +769,8 @@ var PrintContainer = function (_a) {
725
769
  };
726
770
  // 自动盖章
727
771
  var onAutoSealHandle = function () {
728
- if (!Array.isArray(_autoSealIdList) || _autoSealIdList.length === 0) {
729
- message.info("\u5F53\u524D\u90E8\u95E8\u3001\u6D41\u7A0B\u4E0B\u672A\u914D\u7F6E\u81EA\u52A8\u76D6\u7AE0\u5173\u952E\u5B57\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u914D\u7F6E!");
772
+ if (!Array.isArray(autoSealList) || autoSealList.length === 0) {
773
+ message.info("\u5F53\u524D\u90E8\u95E8\u3001\u6D41\u7A0B\u4E0B\u672A\u914D\u7F6E\u81EA\u52A8\u76D6\u7AE0\u76F8\u5173\u5370\u7AE0\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u914D\u7F6E!");
730
774
  return;
731
775
  }
732
776
  if (showWater) {
@@ -751,13 +795,21 @@ var PrintContainer = function (_a) {
751
795
  .catch(function (err) {
752
796
  // 出错了,重新下载
753
797
  console.log('出错了,重新下载字体文件');
754
- setTimeout(function () {
755
- loadFontTTFPromise = downloadFontTTF({
756
- fileId: fileId,
757
- request: request,
758
- });
759
- onAutoSealHandle();
760
- }, 2000);
798
+ if (loadFontTTFNum <= loadFontTTFMaxNum) {
799
+ loadFontTTFNum++;
800
+ setTimeout(function () {
801
+ loadFontTTFPromise = downloadFontTTF({
802
+ fileId: fileId,
803
+ request: request,
804
+ });
805
+ onAutoSealHandle();
806
+ }, 2000);
807
+ }
808
+ else {
809
+ message.error('生成pdf所需要的字体文件下载失败!');
810
+ loadFontTTFNum = 0;
811
+ setSpinning(false);
812
+ }
761
813
  });
762
814
  }
763
815
  else {
@@ -774,6 +826,9 @@ var PrintContainer = function (_a) {
774
826
  fileBinary: fontTTF,
775
827
  pdfOption: {
776
828
  pageFormat: [1000, 1000],
829
+ // 因为生成的pdf需要打印,所以边距需要去掉
830
+ pageMarginX: 0,
831
+ pageMarginY: 0,
777
832
  },
778
833
  })
779
834
  .then(function (option) {
@@ -782,14 +837,25 @@ var PrintContainer = function (_a) {
782
837
  ? pdfBase64.map(function (base64) { return dataURLtoFile(base64, pdfName + ".pdf"); })
783
838
  : [];
784
839
  var formData = new FormData();
840
+ if (isUseXy) {
841
+ formData.append("useXY", 'true');
842
+ }
785
843
  files.forEach(function (file, i) {
786
844
  formData.append("fileList[" + i + "]", file);
787
845
  });
788
- if (Array.isArray(_autoSealIdList) && Array.isArray(_keywordList)) {
789
- _autoSealIdList.forEach(function (sealId, i) {
790
- var keyword = _keywordList[i];
846
+ if (Array.isArray(autoSealList)) {
847
+ autoSealList.forEach(function (autoSealItem, i) {
848
+ var sealId = autoSealItem.sealId, keyword = autoSealItem.keyword, x = autoSealItem.x, y = autoSealItem.y;
791
849
  formData.append("sealPositionInfoList[" + i + "].sealId", sealId);
792
- formData.append("sealPositionInfoList[" + i + "].keyword", keyword);
850
+ if (keyword) {
851
+ formData.append("sealPositionInfoList[" + i + "].keyword", keyword);
852
+ }
853
+ if (x) {
854
+ formData.append("sealPositionInfoList[" + i + "].x", x);
855
+ }
856
+ if (y) {
857
+ formData.append("sealPositionInfoList[" + i + "].y", y);
858
+ }
793
859
  });
794
860
  }
795
861
  request({
@@ -834,8 +900,8 @@ var PrintContainer = function (_a) {
834
900
  React.createElement(Button, { type: "primary", onClick: function () { return onFontsizeHandle('reduce'); } }, "\u7F29\u5C0F\u6587\u5B57"),
835
901
  React.createElement(Button, { type: "primary", onClick: function () { return onAdjustPadding(); } }, "\u8C03\u6574\u8FB9\u8DDD"),
836
902
  React.createElement(Button, { type: "primary", onClick: onWaterHandle }, !showWater ? '添加水印' : '移除水印'),
837
- React.createElement(Button, { type: "primary", onClick: onPrintHandle }, "\u6253\u5370"),
838
- React.createElement(Button, { type: "primary", onClick: onECPrintHandle }, "\u63D2\u4EF6\u6253\u5370"),
903
+ showPrintBtn && (React.createElement(Button, { type: "primary", onClick: onPrintHandle }, "\u6253\u5370")),
904
+ showPrintBtn && (React.createElement(Button, { type: "primary", onClick: onECPrintHandle }, "\u63D2\u4EF6\u6253\u5370")),
839
905
  React.createElement(Button, { type: "primary", onClick: onPdfHandle }, "\u5BFC\u51FAPDF"),
840
906
  showHandSeal && (React.createElement(React.Fragment, null,
841
907
  React.createElement(Button, { type: "primary", onClick: onSurePositionHandle }, "\u786E\u8BA4\u76D6\u7AE0\u4F4D\u7F6E"),
@@ -846,11 +912,12 @@ var PrintContainer = function (_a) {
846
912
  React.createElement("div", { ref: containerRef }, children)),
847
913
  React.createElement(PrintModal, { loading: loading, visible: visible, onCancel: function () { return setVisible(false); }, value: value, setValue: setValue, onChange: function (value) {
848
914
  setValue(value);
915
+ setPositionLocal(value, localKey);
849
916
  setVisible(false);
850
917
  var printDom = document.querySelectorAll('.html2canvas-container-page');
851
918
  for (var i = 0; i < printDom.length; i++) {
852
919
  var item = printDom[i];
853
- item.setAttribute('style', "padding-top: " + (value === null || value === void 0 ? void 0 : value.top) + "%; padding-left: " + (value === null || value === void 0 ? void 0 : value.left) + "%");
920
+ item.setAttribute('style', "padding-top: " + (value === null || value === void 0 ? void 0 : value.top) + "px; padding-left: " + (value === null || value === void 0 ? void 0 : value.left) + "px");
854
921
  }
855
922
  } })));
856
923
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkui",
3
- "version": "3.5.21",
3
+ "version": "3.6.2",
4
4
  "private": false,
5
5
  "description": "React components library",
6
6
  "author": "zt-front-end",