ztxkutils 2.10.66-27-beta → 2.10.66-29

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/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { d as authority } from './authority-7a91cb9f.js';
2
2
  export { d as dataModel } from './dataModel-6c68c88f.js';
3
3
  export { t as tools } from './tools-390e3466.js';
4
- export { v as validate } from './validate-21164759.js';
4
+ export { v as validate } from './validate-eccfa73c.js';
5
5
  export { r as request } from './request-d8d72b87.js';
6
6
  export { r as reqUrl } from './reqUrl-ea7ef876.js';
7
7
  import './i18next.js';
package/dist/print.js CHANGED
@@ -1,4 +1,4 @@
1
- import { d as __spreadArray, b as __awaiter, c as __generator, _ as __assign } from './tslib.es6-35653116.js';
1
+ import { d as __spreadArray, _ as __assign, b as __awaiter, c as __generator } from './tslib.es6-35653116.js';
2
2
  import instance from './i18next.js';
3
3
  import { jsPDF } from 'jspdf';
4
4
  import html2canvas from 'html2canvas';
@@ -174,193 +174,179 @@ function createPdf(canvas, pdf, noWater, positionX, options) {
174
174
  }
175
175
  function htmlToPdf(_a) {
176
176
  var pageClassName = _a.pageClassName, dom = _a.dom, pdfName = _a.pdfName, isShowPage = _a.isShowPage, noWater = _a.noWater, pdfOptions = _a.pdfOptions, imgPositionX = _a.imgPositionX, waterText = _a.waterText;
177
- return __awaiter(this, void 0, void 0, function () {
178
- var allDom, format, pdf, promiseAllDomArray_1;
179
- return __generator(this, function (_b) {
180
- switch (_b.label) {
181
- case 0:
182
- allDom = document.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
183
- format = (pdfOptions === null || pdfOptions === void 0 ? void 0 : pdfOptions.format) || [632.28, 841.89];
184
- pdf = new jsPDF(__assign({ unit: 'pt', format: format }, (pdfOptions || {})));
185
- if (!(allDom.length > 0 && isShowPage)) return [3 /*break*/, 2];
186
- return [4 /*yield*/, reduceDom(allDom, dom, function (child) {
187
- return html2canvas(child, {
188
- scale: 2,
189
- });
190
- })];
191
- case 1:
192
- promiseAllDomArray_1 = _b.sent();
193
- return [2 /*return*/, (function () {
194
- return __awaiter(this, void 0, void 0, function () {
195
- var i, _i, promiseAllDomArray_2, item, canvas;
196
- return __generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0:
199
- i = 0;
200
- _i = 0, promiseAllDomArray_2 = promiseAllDomArray_1;
201
- _a.label = 1;
202
- case 1:
203
- if (!(_i < promiseAllDomArray_2.length)) return [3 /*break*/, 4];
204
- item = promiseAllDomArray_2[_i];
205
- i++;
206
- return [4 /*yield*/, item];
207
- case 2:
208
- canvas = _a.sent();
209
- createPdf(canvas, pdf, noWater, imgPositionX, {
210
- width: format === null || format === void 0 ? void 0 : format[0],
211
- height: format === null || format === void 0 ? void 0 : format[1],
212
- waterText: waterText,
213
- });
214
- if (i < promiseAllDomArray_1.length) {
215
- pdf.addPage();
216
- }
217
- _a.label = 3;
218
- case 3:
219
- _i++;
220
- return [3 /*break*/, 1];
221
- case 4:
222
- pdf.save(pdfName + ".pdf");
223
- return [2 /*return*/, Promise.resolve(pdf)];
224
- }
225
- });
177
+ var allDom = document.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
178
+ var format = (pdfOptions === null || pdfOptions === void 0 ? void 0 : pdfOptions.format) || [632.28, 841.89];
179
+ var pdf = new jsPDF(__assign({ unit: 'pt', format: format }, (pdfOptions || {})));
180
+ if (allDom.length > 0 && isShowPage) {
181
+ var allDomArray = Array.prototype.slice.call(allDom);
182
+ var promiseAllDomArray_1 = allDomArray.map(function (dom) {
183
+ return html2canvas(dom, {
184
+ scale: 2,
185
+ });
186
+ });
187
+ return (function () {
188
+ return __awaiter(this, void 0, void 0, function () {
189
+ var i, _i, promiseAllDomArray_2, item, canvas;
190
+ return __generator(this, function (_a) {
191
+ switch (_a.label) {
192
+ case 0:
193
+ i = 0;
194
+ _i = 0, promiseAllDomArray_2 = promiseAllDomArray_1;
195
+ _a.label = 1;
196
+ case 1:
197
+ if (!(_i < promiseAllDomArray_2.length)) return [3 /*break*/, 4];
198
+ item = promiseAllDomArray_2[_i];
199
+ i++;
200
+ return [4 /*yield*/, item];
201
+ case 2:
202
+ canvas = _a.sent();
203
+ createPdf(canvas, pdf, noWater, imgPositionX, {
204
+ width: format === null || format === void 0 ? void 0 : format[0],
205
+ height: format === null || format === void 0 ? void 0 : format[1],
206
+ waterText: waterText,
226
207
  });
227
- })()];
228
- case 2: return [2 /*return*/, html2canvas(dom, { scale: 2 }).then(function (canvas) {
229
- createPdf(canvas, pdf, noWater, imgPositionX, {
230
- width: format === null || format === void 0 ? void 0 : format[0],
231
- height: format === null || format === void 0 ? void 0 : format[1],
232
- waterText: waterText,
233
- });
234
- pdf.save(pdfName + ".pdf");
235
- return pdf;
236
- })];
237
- }
208
+ if (i < promiseAllDomArray_1.length) {
209
+ pdf.addPage();
210
+ }
211
+ _a.label = 3;
212
+ case 3:
213
+ _i++;
214
+ return [3 /*break*/, 1];
215
+ case 4:
216
+ pdf.save(pdfName + ".pdf");
217
+ return [2 /*return*/, Promise.resolve(pdf)];
218
+ }
219
+ });
220
+ });
221
+ })();
222
+ }
223
+ else {
224
+ return html2canvas(dom, { scale: 2 }).then(function (canvas) {
225
+ createPdf(canvas, pdf, noWater, imgPositionX, {
226
+ width: format === null || format === void 0 ? void 0 : format[0],
227
+ height: format === null || format === void 0 ? void 0 : format[1],
228
+ waterText: waterText,
229
+ });
230
+ pdf.save(pdfName + ".pdf");
231
+ return pdf;
238
232
  });
239
- });
233
+ }
240
234
  }
241
235
  function htmlToPdfUseCanvas(_a) {
242
236
  var pageClassName = _a.pageClassName, dom = _a.dom, pdfName = _a.pdfName, isShowPage = _a.isShowPage, isOnlyOne = _a.isOnlyOne, noWater = _a.noWater, pdfOptions = _a.pdfOptions, imgPositionX = _a.imgPositionX, isDownload = _a.isDownload; _a.isAutoPageCount;
243
- return __awaiter(this, void 0, void 0, function () {
244
- var allDom, format, _pdfOptions, pdfBase64_1, pdfs_1, promiseAllDomArray_3, pdf_1, pdf_2;
245
- return __generator(this, function (_b) {
246
- switch (_b.label) {
247
- case 0:
248
- allDom = document.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
249
- format = (pdfOptions === null || pdfOptions === void 0 ? void 0 : pdfOptions.format) || [632.28, 841.89];
250
- _pdfOptions = __assign({ unit: 'pt', format: format }, (pdfOptions || {}));
251
- if (!(allDom.length > 0 && isShowPage)) return [3 /*break*/, 2];
252
- pdfBase64_1 = [];
253
- pdfs_1 = [];
254
- return [4 /*yield*/, reduceDom(allDom, dom, function (child) {
255
- return html2canvas(child, {
256
- scale: 2,
257
- });
258
- })];
259
- case 1:
260
- promiseAllDomArray_3 = _b.sent();
261
- if (isOnlyOne) {
262
- pdf_1 = new jsPDF(_pdfOptions);
263
- return [2 /*return*/, (function () {
264
- return __awaiter(this, void 0, void 0, function () {
265
- var i, _i, promiseAllDomArray_4, item, canvas;
266
- return __generator(this, function (_a) {
267
- switch (_a.label) {
268
- case 0:
269
- i = 0;
270
- _i = 0, promiseAllDomArray_4 = promiseAllDomArray_3;
271
- _a.label = 1;
272
- case 1:
273
- if (!(_i < promiseAllDomArray_4.length)) return [3 /*break*/, 4];
274
- item = promiseAllDomArray_4[_i];
275
- i++;
276
- return [4 /*yield*/, item];
277
- case 2:
278
- canvas = _a.sent();
279
- createPdf(canvas, pdf_1, noWater, imgPositionX, {
280
- width: format === null || format === void 0 ? void 0 : format[0],
281
- height: format === null || format === void 0 ? void 0 : format[1],
282
- });
283
- if (i < promiseAllDomArray_3.length) {
284
- pdf_1.addPage();
285
- }
286
- _a.label = 3;
287
- case 3:
288
- _i++;
289
- return [3 /*break*/, 1];
290
- case 4:
291
- if (isDownload) {
292
- pdf_1.save(pdfName + ".pdf");
293
- }
294
- return [2 /*return*/, Promise.resolve({
295
- pdfs: [pdf_1],
296
- pdfBase64: [pdf_1.output('dataurlstring')],
297
- })];
298
- }
299
- });
300
- });
301
- })()];
302
- }
303
- return [2 /*return*/, (function () {
304
- return __awaiter(this, void 0, void 0, function () {
305
- var _i, promiseAllDomArray_5, item, pdf, canvas;
306
- return __generator(this, function (_a) {
307
- switch (_a.label) {
308
- case 0:
309
- _i = 0, promiseAllDomArray_5 = promiseAllDomArray_3;
310
- _a.label = 1;
311
- case 1:
312
- if (!(_i < promiseAllDomArray_5.length)) return [3 /*break*/, 4];
313
- item = promiseAllDomArray_5[_i];
314
- pdf = new jsPDF(_pdfOptions);
315
- pdf.setCompression(true);
316
- return [4 /*yield*/, item];
317
- case 2:
318
- canvas = _a.sent();
319
- createPdf(canvas, pdf, noWater, imgPositionX, {
320
- width: format === null || format === void 0 ? void 0 : format[0],
321
- height: format === null || format === void 0 ? void 0 : format[1],
322
- });
323
- if (isDownload) {
324
- pdf.save(pdfName + ".pdf");
325
- }
326
- pdfBase64_1.push(pdf.output('dataurlstring'));
327
- pdfs_1.push(pdf);
328
- _a.label = 3;
329
- case 3:
330
- _i++;
331
- return [3 /*break*/, 1];
332
- case 4: return [2 /*return*/, Promise.resolve({
333
- pdfs: pdfs_1,
334
- pdfBase64: pdfBase64_1,
335
- })];
336
- }
237
+ var allDom = document.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
238
+ var format = (pdfOptions === null || pdfOptions === void 0 ? void 0 : pdfOptions.format) || [632.28, 841.89];
239
+ var _pdfOptions = __assign({ unit: 'pt', format: format }, (pdfOptions || {}));
240
+ if (allDom.length > 0 && isShowPage) {
241
+ var allDomArray = Array.prototype.slice.call(allDom);
242
+ var pdfBase64_1 = [];
243
+ var pdfs_1 = [];
244
+ var promiseAllDomArray_3 = allDomArray.map(function (dom) {
245
+ return html2canvas(dom, {
246
+ scale: 2,
247
+ });
248
+ });
249
+ if (isOnlyOne) {
250
+ var pdf_1 = new jsPDF(_pdfOptions);
251
+ return (function () {
252
+ return __awaiter(this, void 0, void 0, function () {
253
+ var i, _i, promiseAllDomArray_4, item, canvas;
254
+ return __generator(this, function (_a) {
255
+ switch (_a.label) {
256
+ case 0:
257
+ i = 0;
258
+ _i = 0, promiseAllDomArray_4 = promiseAllDomArray_3;
259
+ _a.label = 1;
260
+ case 1:
261
+ if (!(_i < promiseAllDomArray_4.length)) return [3 /*break*/, 4];
262
+ item = promiseAllDomArray_4[_i];
263
+ i++;
264
+ return [4 /*yield*/, item];
265
+ case 2:
266
+ canvas = _a.sent();
267
+ createPdf(canvas, pdf_1, noWater, imgPositionX, {
268
+ width: format === null || format === void 0 ? void 0 : format[0],
269
+ height: format === null || format === void 0 ? void 0 : format[1],
337
270
  });
338
- });
339
- })()];
340
- case 2:
341
- pdf_2 = new jsPDF(_pdfOptions);
342
- return [2 /*return*/, html2canvas(dom, { scale: 2 }).then(function (canvas) {
343
- createPdf(canvas, pdf_2, noWater, imgPositionX, {
271
+ if (i < promiseAllDomArray_3.length) {
272
+ pdf_1.addPage();
273
+ }
274
+ _a.label = 3;
275
+ case 3:
276
+ _i++;
277
+ return [3 /*break*/, 1];
278
+ case 4:
279
+ if (isDownload) {
280
+ pdf_1.save(pdfName + ".pdf");
281
+ }
282
+ return [2 /*return*/, Promise.resolve({
283
+ pdfs: [pdf_1],
284
+ pdfBase64: [pdf_1.output('dataurlstring')],
285
+ })];
286
+ }
287
+ });
288
+ });
289
+ })();
290
+ }
291
+ return (function () {
292
+ return __awaiter(this, void 0, void 0, function () {
293
+ var _i, promiseAllDomArray_5, item, pdf, canvas;
294
+ return __generator(this, function (_a) {
295
+ switch (_a.label) {
296
+ case 0:
297
+ _i = 0, promiseAllDomArray_5 = promiseAllDomArray_3;
298
+ _a.label = 1;
299
+ case 1:
300
+ if (!(_i < promiseAllDomArray_5.length)) return [3 /*break*/, 4];
301
+ item = promiseAllDomArray_5[_i];
302
+ pdf = new jsPDF(_pdfOptions);
303
+ return [4 /*yield*/, item];
304
+ case 2:
305
+ canvas = _a.sent();
306
+ createPdf(canvas, pdf, noWater, imgPositionX, {
344
307
  width: format === null || format === void 0 ? void 0 : format[0],
345
308
  height: format === null || format === void 0 ? void 0 : format[1],
346
309
  });
347
310
  if (isDownload) {
348
- pdf_2.save(pdfName + ".pdf");
311
+ pdf.save(pdfName + ".pdf");
349
312
  }
350
- return {
351
- pdfs: [pdf_2],
352
- pdfBase64: [pdf_2.output('dataurlstring')],
353
- };
354
- })];
313
+ pdfBase64_1.push(pdf.output('dataurlstring'));
314
+ pdfs_1.push(pdf);
315
+ _a.label = 3;
316
+ case 3:
317
+ _i++;
318
+ return [3 /*break*/, 1];
319
+ case 4: return [2 /*return*/, Promise.resolve({
320
+ pdfs: pdfs_1,
321
+ pdfBase64: pdfBase64_1,
322
+ })];
323
+ }
324
+ });
325
+ });
326
+ })();
327
+ }
328
+ else {
329
+ var pdf_2 = new jsPDF(_pdfOptions);
330
+ return html2canvas(dom, { scale: 2 }).then(function (canvas) {
331
+ createPdf(canvas, pdf_2, noWater, imgPositionX, {
332
+ width: format === null || format === void 0 ? void 0 : format[0],
333
+ height: format === null || format === void 0 ? void 0 : format[1],
334
+ });
335
+ if (isDownload) {
336
+ pdf_2.save(pdfName + ".pdf");
355
337
  }
338
+ return {
339
+ pdfs: [pdf_2],
340
+ pdfBase64: [pdf_2.output('dataurlstring')],
341
+ };
356
342
  });
357
- });
343
+ }
358
344
  }
359
345
  function htmlToPdfNoCanvas(_a) {
360
346
  var _b, _c;
361
347
  var pageClassName = _a.pageClassName, dom = _a.dom, isShowPage = _a.isShowPage, fileBinary = _a.fileBinary, pdfName = _a.pdfName, isDownload = _a.isDownload, pdfOption = _a.pdfOption, isAddWater = _a.isAddWater, waterBase64 = _a.waterBase64, imgWidth = _a.imgWidth, imgHeight = _a.imgHeight, isCompress = _a.isCompress; _a.waterText;
362
348
  return __awaiter(this, void 0, void 0, function () {
363
- var allDom, pageFormat, pageOrient, pageMarginX, pageMarginY, pdfOptions, pdfBase64_2, pdf_3, pageWidth_1;
349
+ var allDom, pageFormat, pageOrient, pageMarginX, pageMarginY, pdfOptions, allDomArray_1, pdfBase64_2, pdfs_2, pdf_3, pageWidth_1;
364
350
  return __generator(this, function (_d) {
365
351
  allDom = dom.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
366
352
  pageFormat = (pdfOption === null || pdfOption === void 0 ? void 0 : pdfOption.pageFormat) ? pdfOption.pageFormat : 'a4';
@@ -381,52 +367,118 @@ function htmlToPdfNoCanvas(_a) {
381
367
  };
382
368
  // 如果需要分页
383
369
  if (allDom.length > 0 && isShowPage) {
370
+ allDomArray_1 = Array.prototype.slice.call(allDom);
384
371
  pdfBase64_2 = [];
372
+ pdfs_2 = [];
385
373
  return [2 /*return*/, (function () {
386
374
  return __awaiter(this, void 0, void 0, function () {
387
- var pdfs;
375
+ var i, _loop_1, _i, allDomArray_2, item;
388
376
  return __generator(this, function (_a) {
389
377
  switch (_a.label) {
390
- case 0: return [4 /*yield*/, reduceDom(allDom, dom, function (item, i) {
391
- return new Promise(function (resolve) {
392
- // 每页都创建一个pdf实例
393
- var pdf = new jsPDF(pdfOptions);
394
- var pageWidth = pdf.internal.pageSize.width - pageMarginX * 2;
395
- setPdfVersion(pdf);
396
- supportJsPdfChinese(pdf, fileBinary);
397
- // 正确呈现文档
398
- pdf.html(item, {
399
- autoPaging: 'text',
400
- margin: [pageMarginY, pageMarginX, pageMarginY, pageMarginX],
401
- width: pageWidth,
402
- windowWidth: pageWidth,
403
- callback: function (res) {
404
- // 添加呈现的HTML所需的页面(从第2页开始)
405
- for (var i_1 = 2, j = res.internal.getNumberOfPages(); i_1 <= j; i_1++) {
406
- pdf.addPage(pageFormat, pageOrient);
407
- }
408
- for (var i_2 = 1, j = res.internal.getNumberOfPages(); i_2 <= j; i_2++) {
409
- pdf.setPage(i_2);
410
- // 添加水印
411
- if (isAddWater) {
412
- setPdfWater(pdf, waterBase64, imgWidth, imgHeight);
413
- }
414
- }
415
- if (isDownload) {
416
- pdf.save(pdfName + "_" + i + ".pdf");
417
- }
418
- pdfBase64_2.push(pdf.output('dataurlstring'));
419
- resolve(pdf);
420
- },
421
- });
378
+ case 0:
379
+ i = 0;
380
+ _loop_1 = function (item) {
381
+ var pdf, pageWidth;
382
+ return __generator(this, function (_b) {
383
+ switch (_b.label) {
384
+ case 0:
385
+ i++;
386
+ pdf = new jsPDF(pdfOptions);
387
+ pageWidth = pdf.internal.pageSize.width - pageMarginX * 2;
388
+ setPdfVersion(pdf);
389
+ supportJsPdfChinese(pdf, fileBinary);
390
+ return [4 /*yield*/, new Promise(function (resolve) {
391
+ // 正确呈现文档
392
+ pdf.html(item, {
393
+ autoPaging: 'text',
394
+ margin: [pageMarginY, pageMarginX, pageMarginY, pageMarginX],
395
+ width: pageWidth,
396
+ windowWidth: pageWidth,
397
+ callback: function (res) {
398
+ // 添加呈现的HTML所需的页面(从第2页开始)
399
+ for (var i_1 = 2, j = res.internal.getNumberOfPages(); i_1 <= j; i_1++) {
400
+ pdf.addPage(pageFormat, pageOrient);
401
+ }
402
+ for (var i_2 = 1, j = res.internal.getNumberOfPages(); i_2 <= j; i_2++) {
403
+ pdf.setPage(i_2);
404
+ // 添加水印
405
+ if (isAddWater) {
406
+ setPdfWater(pdf, waterBase64, imgWidth, imgHeight);
407
+ }
408
+ }
409
+ if (isDownload) {
410
+ pdf.save(pdfName + "_" + i + ".pdf");
411
+ }
412
+ pdfBase64_2.push(pdf.output('dataurlstring'));
413
+ pdfs_2.push(pdf);
414
+ resolve({});
415
+ },
416
+ });
417
+ // new jsPDF(pdfOptions).html(item, {
418
+ // autoPaging: 'text',
419
+ // margin: [pageMarginY, pageMarginX, pageMarginY, pageMarginX],
420
+ // width: pageWidth,
421
+ // windowWidth: pageWidth,
422
+ // callback: function (res) {
423
+ // // 添加呈现的HTML所需的页面(从第2页开始)
424
+ // for (
425
+ // let i = 2, j = (res as any).internal.getNumberOfPages();
426
+ // i <= j;
427
+ // i++
428
+ // ) {
429
+ // pdf.addPage(pageFormat, pageOrient);
430
+ // }
431
+ // // 正确呈现文档
432
+ // pdf.html(item, {
433
+ // autoPaging: 'text',
434
+ // margin: [pageMarginY, pageMarginX, pageMarginY, pageMarginX],
435
+ // width: pageWidth,
436
+ // windowWidth: pageWidth,
437
+ // callback: function () {
438
+ // for (
439
+ // let i = 1, j = (res as any).internal.getNumberOfPages();
440
+ // i <= j;
441
+ // i++
442
+ // ) {
443
+ // pdf.setPage(i);
444
+ // // 添加水印
445
+ // if (isAddWater) {
446
+ // setPdfWater(pdf, waterBase64, imgWidth, imgHeight);
447
+ // }
448
+ // }
449
+ // if (isDownload) {
450
+ // pdf.save(`${pdfName}_${i}.pdf`);
451
+ // }
452
+ // pdfBase64.push(pdf.output('dataurlstring'));
453
+ // pdfs.push(pdf);
454
+ // resolve({});
455
+ // },
456
+ // });
457
+ // },
458
+ // });
459
+ })];
460
+ case 1:
461
+ _b.sent();
462
+ return [2 /*return*/];
463
+ }
422
464
  });
423
- })];
465
+ };
466
+ _i = 0, allDomArray_2 = allDomArray_1;
467
+ _a.label = 1;
424
468
  case 1:
425
- pdfs = _a.sent();
426
- return [2 /*return*/, Promise.resolve({
427
- pdfs: pdfs,
428
- pdfBase64: pdfBase64_2,
429
- })];
469
+ if (!(_i < allDomArray_2.length)) return [3 /*break*/, 4];
470
+ item = allDomArray_2[_i];
471
+ return [5 /*yield**/, _loop_1(item)];
472
+ case 2:
473
+ _a.sent();
474
+ _a.label = 3;
475
+ case 3:
476
+ _i++;
477
+ return [3 /*break*/, 1];
478
+ case 4: return [2 /*return*/, Promise.resolve({
479
+ pdfs: pdfs_2,
480
+ pdfBase64: pdfBase64_2,
481
+ })];
430
482
  }
431
483
  });
432
484
  });
@@ -551,94 +603,6 @@ function setPdfWater(pdf, waterBase64, imgWidth, imgHeight) {
551
603
  pdf.addImage(waterBase64, 'PNG', 20, 20 + imgHeight + imgHeight, imgWidth, imgHeight, '5');
552
604
  pdf.addImage(waterBase64, 'PNG', 20 + imgWidth, 20 + imgHeight + imgHeight, imgWidth, imgHeight, '6');
553
605
  }
554
- }
555
- /**
556
- * @author xjy
557
- * @description 性能优化,减少页面dom数量
558
- * @param allDom 需要打印的dom节点,parentDom 需要打印的dom的父节点
559
- * @param handler 处理每个dom节点的函数,返回Promise
560
- */
561
- function reduceDom(allDom, parentDom, handler) {
562
- return __awaiter(this, void 0, void 0, function () {
563
- var domList, children, spinning, fragment, _i, children_1, element, promiseAllDomArray, _a, _b, _c, i_3, element, _d, _e, i, timer;
564
- return __generator(this, function (_f) {
565
- switch (_f.label) {
566
- case 0:
567
- domList = Array.from(allDom);
568
- children = Array.from(parentDom.children);
569
- return [4 /*yield*/, getSpinning()];
570
- case 1:
571
- spinning = _f.sent();
572
- if (spinning) {
573
- console.log('spinning', spinning);
574
- spinning.style.display = 'flex';
575
- spinning.style.flexDirection = 'column';
576
- spinning.style.justifyContent = 'center';
577
- spinning.style.alignItems = 'center';
578
- spinning.innerHTML = '正在生成PDF...';
579
- }
580
- fragment = document.createDocumentFragment();
581
- // 卸载dom
582
- for (_i = 0, children_1 = children; _i < children_1.length; _i++) {
583
- element = children_1[_i];
584
- parentDom.removeChild(element);
585
- fragment.appendChild(element);
586
- }
587
- promiseAllDomArray = [];
588
- _a = [];
589
- for (_b in domList)
590
- _a.push(_b);
591
- _c = 0;
592
- _f.label = 2;
593
- case 2:
594
- if (!(_c < _a.length)) return [3 /*break*/, 5];
595
- i_3 = _a[_c];
596
- if (spinning) {
597
- spinning.innerHTML = "<p>\u6B63\u5728\u751F\u6210PDF...</p><p>\u5F53\u524D\u8FDB\u5EA6" + (1 + Number(i_3)) + "/" + domList.length + "\u9875</p>";
598
- }
599
- element = domList[i_3].cloneNode(true);
600
- parentDom.appendChild(element);
601
- _e = (_d = promiseAllDomArray).push;
602
- return [4 /*yield*/, handler(element, i_3)];
603
- case 3:
604
- _e.apply(_d, [_f.sent()]);
605
- parentDom.removeChild(element);
606
- _f.label = 4;
607
- case 4:
608
- _c++;
609
- return [3 /*break*/, 2];
610
- case 5:
611
- // 添加dom
612
- // for (let element of children) {
613
- // parentDom.appendChild(element);
614
- // }
615
- parentDom.appendChild(fragment);
616
- i = 0;
617
- if (spinning) {
618
- spinning.innerHTML = "<p>\u6B63\u5728\u5BFC\u51FAPDF...</p><p>\u7B49\u5F85" + (1 + i) + "\u79D2";
619
- }
620
- timer = setInterval(function () {
621
- var spinning = document.querySelector('.ant-spin-spinning');
622
- if (spinning) {
623
- spinning.innerHTML = "<p>\u6B63\u5728\u5BFC\u51FAPDF...</p><p>\u7B49\u5F85" + (1 + i) + "\u79D2";
624
- i++;
625
- }
626
- else {
627
- timer && clearInterval(timer);
628
- }
629
- }, 1000);
630
- return [2 /*return*/, promiseAllDomArray];
631
- }
632
- });
633
- });
634
- }
635
- function getSpinning() {
636
- return new Promise(function (resolve) {
637
- setTimeout(function () {
638
- var spinning = document.querySelector('.ant-spin-spinning');
639
- resolve(spinning);
640
- }, 0);
641
- });
642
606
  }
643
607
 
644
608
  export { addWaterHandle, htmlToPdf, htmlToPdfNoCanvas, htmlToPdfUseCanvas, printCurrentDom, removeWaterHandle };