ztxkutils 2.10.66-7-beta → 2.10.66-8-beta

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.
Files changed (2) hide show
  1. package/dist/print.js +43 -23
  2. package/package.json +1 -1
package/dist/print.js CHANGED
@@ -554,19 +554,12 @@ function setPdfWater(pdf, waterBase64, imgWidth, imgHeight) {
554
554
  /**
555
555
  * @author xjy
556
556
  * @description 性能优化,减少页面dom数量
557
- * @param allDom需要打印的dom节点,parentDom需要打印的dom的父节点
557
+ * @param allDom 需要打印的dom节点,parentDom 需要打印的dom的父节点
558
+ * @param handler 处理每个dom节点的函数,返回Promise
558
559
  */
559
560
  function reduceDom(allDom, parentDom, handler) {
560
561
  return __awaiter(this, void 0, void 0, function () {
561
- function getSpinning() {
562
- return new Promise(function (resolve) {
563
- setTimeout(function () {
564
- var spinning = document.querySelector('.ant-spin-spinning');
565
- resolve(spinning);
566
- }, 0);
567
- });
568
- }
569
- var domList, children, spinning, promiseAllDomArray, _a, _b, _i, i, element, _c, _d, _e, children_1, element;
562
+ var domList, children, spinning, fragment, _i, children_1, element, promiseAllDomArray, _a, _b, _c, i_3, element, _d, _e, i, timer;
570
563
  return __generator(this, function (_f) {
571
564
  switch (_f.label) {
572
565
  case 0:
@@ -583,41 +576,68 @@ function reduceDom(allDom, parentDom, handler) {
583
576
  spinning.style.alignItems = 'center';
584
577
  spinning.innerHTML = '正在生成PDF...';
585
578
  }
579
+ fragment = document.createDocumentFragment();
586
580
  // 卸载dom
587
- parentDom.innerHTML = '';
581
+ for (_i = 0, children_1 = children; _i < children_1.length; _i++) {
582
+ element = children_1[_i];
583
+ parentDom.removeChild(element);
584
+ fragment.appendChild(element);
585
+ }
588
586
  promiseAllDomArray = [];
589
587
  _a = [];
590
588
  for (_b in domList)
591
589
  _a.push(_b);
592
- _i = 0;
590
+ _c = 0;
593
591
  _f.label = 2;
594
592
  case 2:
595
- if (!(_i < _a.length)) return [3 /*break*/, 5];
596
- i = _a[_i];
593
+ if (!(_c < _a.length)) return [3 /*break*/, 5];
594
+ i_3 = _a[_c];
597
595
  if (spinning) {
598
- spinning.innerHTML = "<p>\u6B63\u5728\u751F\u6210PDF...</p><p>\u5F53\u524D\u8FDB\u5EA6" + (1 + Number(i)) + "/" + domList.length + "\u9875</p>";
596
+ spinning.innerHTML = "<p>\u6B63\u5728\u751F\u6210PDF...</p><p>\u5F53\u524D\u8FDB\u5EA6" + (1 + Number(i_3)) + "/" + domList.length + "\u9875</p>";
599
597
  }
600
- element = domList[i];
598
+ element = domList[i_3].cloneNode(true);
601
599
  parentDom.appendChild(element);
602
- _d = (_c = promiseAllDomArray).push;
603
- return [4 /*yield*/, handler(element, i)];
600
+ _e = (_d = promiseAllDomArray).push;
601
+ return [4 /*yield*/, handler(element, i_3)];
604
602
  case 3:
605
- _d.apply(_c, [_f.sent()]);
603
+ _e.apply(_d, [_f.sent()]);
606
604
  parentDom.removeChild(element);
607
605
  _f.label = 4;
608
606
  case 4:
609
- _i++;
607
+ _c++;
610
608
  return [3 /*break*/, 2];
611
609
  case 5:
612
610
  // 添加dom
613
- for (_e = 0, children_1 = children; _e < children_1.length; _e++) {
614
- element = children_1[_e];
615
- parentDom.appendChild(element);
611
+ // for (let element of children) {
612
+ // parentDom.appendChild(element);
613
+ // }
614
+ parentDom.appendChild(fragment);
615
+ i = 0;
616
+ if (spinning) {
617
+ spinning.innerHTML = "<p>\u6B63\u5728\u5BFC\u51FAPDF...</p><p>\u7B49\u5F85" + (1 + i) + "\u79D2";
616
618
  }
619
+ timer = setInterval(function () {
620
+ var spinning = document.querySelector('.ant-spin-spinning');
621
+ if (spinning) {
622
+ spinning.innerHTML = "<p>\u6B63\u5728\u5BFC\u51FAPDF...</p><p>\u7B49\u5F85" + (1 + i) + "\u79D2";
623
+ i++;
624
+ }
625
+ else {
626
+ timer && clearInterval(timer);
627
+ }
628
+ }, 1000);
617
629
  return [2 /*return*/, promiseAllDomArray];
618
630
  }
619
631
  });
620
632
  });
633
+ }
634
+ function getSpinning() {
635
+ return new Promise(function (resolve) {
636
+ setTimeout(function () {
637
+ var spinning = document.querySelector('.ant-spin-spinning');
638
+ resolve(spinning);
639
+ }, 0);
640
+ });
621
641
  }
622
642
 
623
643
  export { addWaterHandle, htmlToPdf, htmlToPdfNoCanvas, htmlToPdfUseCanvas, printCurrentDom, removeWaterHandle };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkutils",
3
- "version": "2.10.66-7-beta",
3
+ "version": "2.10.66-8-beta",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",