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.
- package/dist/DemoCom/PrintContainerDemo.js +6 -4
- package/dist/components/EnhanceSelect/index.js +8 -5
- package/dist/components/PrintContainer/PrintModal.js +4 -4
- package/dist/components/PrintContainer/handle.d.ts +6 -0
- package/dist/components/PrintContainer/handle.js +24 -0
- package/dist/components/PrintContainer/print-container.d.ts +6 -0
- package/dist/components/PrintContainer/print-container.js +195 -128
- package/package.json +1 -1
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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: "
|
|
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) {
|
|
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:
|
|
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:
|
|
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,
|
|
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,
|
|
82
|
-
var
|
|
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
|
|
100
|
+
var _k = useState(false), spinning = _k[0], setSpinning = _k[1];
|
|
86
101
|
// 确认盖章后,会得到一个合同id 这个之后盖章要用
|
|
87
|
-
var
|
|
102
|
+
var _l = useState(), currentContractId = _l[0], setCurrentContractId = _l[1];
|
|
88
103
|
// 盖章后会得到一个预览地址,这个地址耀保存,同一个合同id,不能重复盖章接口
|
|
89
|
-
var
|
|
90
|
-
//
|
|
91
|
-
var
|
|
92
|
-
//
|
|
93
|
-
var
|
|
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
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
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
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
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
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
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(
|
|
729
|
-
message.info("\u5F53\u524D\u90E8\u95E8\u3001\u6D41\u7A0B\u4E0B\u672A\u914D\u7F6E\u81EA\u52A8\u76D6\u7AE0\u5173\
|
|
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
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
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(
|
|
789
|
-
|
|
790
|
-
var keyword =
|
|
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
|
-
|
|
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) + "
|
|
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
|
};
|