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.
- package/dist/print.js +43 -23
- 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
|
-
|
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
|
-
|
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
|
-
|
590
|
+
_c = 0;
|
593
591
|
_f.label = 2;
|
594
592
|
case 2:
|
595
|
-
if (!(
|
596
|
-
|
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(
|
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[
|
598
|
+
element = domList[i_3].cloneNode(true);
|
601
599
|
parentDom.appendChild(element);
|
602
|
-
|
603
|
-
return [4 /*yield*/, handler(element,
|
600
|
+
_e = (_d = promiseAllDomArray).push;
|
601
|
+
return [4 /*yield*/, handler(element, i_3)];
|
604
602
|
case 3:
|
605
|
-
|
603
|
+
_e.apply(_d, [_f.sent()]);
|
606
604
|
parentDom.removeChild(element);
|
607
605
|
_f.label = 4;
|
608
606
|
case 4:
|
609
|
-
|
607
|
+
_c++;
|
610
608
|
return [3 /*break*/, 2];
|
611
609
|
case 5:
|
612
610
|
// 添加dom
|
613
|
-
for (
|
614
|
-
|
615
|
-
|
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 };
|