print-design-myprint 1.0.13 → 1.0.14

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.
@@ -1,6 +1,6 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('pinia'), require('vue-cropper/dist/index.css'), require('/Users/miro/Desktop/project/myprint/packages/design/src/components/design/image/image.vue?vue&type=style&index=0&scoped=923ed041&lang.css'), require('/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=f905598e&lang.css'), require('vue3-colorpicker/style.css')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'vue', 'pinia', 'vue-cropper/dist/index.css', '/Users/miro/Desktop/project/myprint/packages/design/src/components/design/image/image.vue?vue&type=style&index=0&scoped=923ed041&lang.css', '/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=f905598e&lang.css', 'vue3-colorpicker/style.css'], factory) :
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('pinia'), require('vue-cropper/dist/index.css'), require('/Users/miro/Desktop/project/myprint/packages/design/src/components/design/image/image.vue?vue&type=style&index=0&scoped=923ed041&lang.css'), require('/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=486e4aba&lang.css'), require('vue3-colorpicker/style.css')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'vue', 'pinia', 'vue-cropper/dist/index.css', '/Users/miro/Desktop/project/myprint/packages/design/src/components/design/image/image.vue?vue&type=style&index=0&scoped=923ed041&lang.css', '/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=486e4aba&lang.css', 'vue3-colorpicker/style.css'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MyPrinterDesign = {}, global.Vue, global.pinia));
5
5
  })(this, (function (exports, vue, pinia) { 'use strict';
6
6
 
@@ -81797,10 +81797,8 @@
81797
81797
  for (let i = 0; i < pagesBuffer.length; i++) {
81798
81798
  previewContext.currentPage = pagesBuffer[i];
81799
81799
  variable.pageIndex = i + 1;
81800
- if (measureList !== pageList) {
81801
- measureList.splice(0, measureList.length, pagesBuffer[i]);
81802
- await vue.nextTick();
81803
- }
81800
+ measureList.splice(0, measureList.length, pagesBuffer[i]);
81801
+ await vue.nextTick();
81804
81802
  await installPreviewElement(fixedPreviewElementList);
81805
81803
  }
81806
81804
  if (panel.pageSize == "AutoHeight") {
@@ -81950,6 +81948,7 @@
81950
81948
  previewWrapper.heightIs = false;
81951
81949
  previewContext.currentPage.previewWrapperList.push(previewWrapper);
81952
81950
  await vue.nextTick();
81951
+ await vue.nextTick();
81953
81952
  if (!previewWrapper.target) {
81954
81953
  previewWrapper.heightIs = true;
81955
81954
  return false;
@@ -82654,6 +82653,7 @@
82654
82653
  }
82655
82654
 
82656
82655
  const _hoisted_1$a = {
82656
+ key: 0,
82657
82657
  class: "my-print-print_hidden",
82658
82658
  "aria-hidden": "true"
82659
82659
  };
@@ -82681,9 +82681,9 @@
82681
82681
  const configStore = useConfigStore();
82682
82682
  const data = vue.reactive({
82683
82683
  dialogVisible: false,
82684
+ measuring: false,
82684
82685
  printer: configStore.defaultPrinter,
82685
82686
  pageList: [],
82686
- measurePages: [],
82687
82687
  resolveMap: {},
82688
82688
  previewTimeOutMap: {},
82689
82689
  taskId: null
@@ -82801,7 +82801,7 @@
82801
82801
  function handleChromePreview(printProps) {
82802
82802
  var _a;
82803
82803
  data.pageList = [];
82804
- data.measurePages = [];
82804
+ data.measuring = false;
82805
82805
  clearMeasureRefs();
82806
82806
  clearPreviewPageRefs();
82807
82807
  data.dialogVisible = true;
@@ -82810,23 +82810,26 @@
82810
82810
  handleTimeOut(printProps, data.previewTimeOutMap, data.resolveMap);
82811
82811
  return new Promise((resolve, reject) => {
82812
82812
  data.resolveMap[printProps.taskId] = resolve;
82813
- vue.nextTick().then(() => vue.nextTick()).then(() => autoPage(
82814
- measureContentRef,
82815
- data.pageList,
82816
- panel.value,
82817
- printProps.previewDataList,
82818
- data.measurePages
82819
- )).then(() => {
82813
+ vue.nextTick().then(() => vue.nextTick()).then(async () => {
82814
+ data.measuring = true;
82815
+ await vue.nextTick();
82816
+ await autoPage(
82817
+ measureContentRef,
82818
+ data.pageList,
82819
+ panel.value,
82820
+ printProps.previewDataList
82821
+ );
82822
+ }).then(() => {
82820
82823
  if (data.pageList.length === 0) {
82821
82824
  throw new Error("[MyPrint] \u9884\u89C8\u5206\u9875\u7ED3\u679C\u4E3A\u7A7A");
82822
82825
  }
82823
- data.measurePages = [];
82826
+ data.measuring = false;
82824
82827
  clearMeasureRefs();
82825
82828
  return vue.nextTick();
82826
82829
  }).then(() => vue.nextTick()).catch((e) => {
82827
82830
  var _a2;
82828
82831
  data.pageList = [];
82829
- data.measurePages = [];
82832
+ data.measuring = false;
82830
82833
  clearMeasureRefs();
82831
82834
  printResult(printProps.taskId, {
82832
82835
  status: "ERROR",
@@ -82839,7 +82842,7 @@
82839
82842
  }
82840
82843
  function closePreviewPanel() {
82841
82844
  data.pageList = [];
82842
- data.measurePages = [];
82845
+ data.measuring = false;
82843
82846
  clearMeasureRefs();
82844
82847
  clearPreviewPageRefs();
82845
82848
  printResult(data.taskId, {
@@ -82852,15 +82855,15 @@
82852
82855
  vue.Fragment,
82853
82856
  null,
82854
82857
  [
82855
- vue.createCommentVNode(" \u79BB\u5C4F\u5206\u9875\u6D4B\u91CF\uFF08\u4E0E print.vue \u4E00\u81F4\uFF0C\u4E0D\u53C2\u4E0E\u5F39\u7A97\u5E03\u5C40\uFF09 "),
82856
- vue.createElementVNode("div", _hoisted_1$a, [
82858
+ vue.createCommentVNode(" \u5206\u9875\u6D4B\u91CF\uFF1A\u4E0E print.vue \u76F8\u540C\uFF0C\u4EC5\u6D4B\u91CF\u9636\u6BB5\u6E32\u67D3 pageList\uFF0C\u907F\u514D\u5F39\u7A97\u5185\u53CD\u590D\u91CD\u7ED8 "),
82859
+ vue.unref(data).measuring ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
82857
82860
  vue.createElementVNode("div", _hoisted_2$9, [
82858
82861
  vue.createElementVNode("div", _hoisted_3$8, [
82859
82862
  vue.createElementVNode("div", _hoisted_4$3, [
82860
82863
  (vue.openBlock(true), vue.createElementBlock(
82861
82864
  vue.Fragment,
82862
82865
  null,
82863
- vue.renderList(vue.unref(data).measurePages, (page, index) => {
82866
+ vue.renderList(vue.unref(data).pageList, (page, index) => {
82864
82867
  var _a;
82865
82868
  return vue.openBlock(), vue.createElementBlock(
82866
82869
  "div",
@@ -82896,7 +82899,7 @@
82896
82899
  ])
82897
82900
  ])
82898
82901
  ])
82899
- ]),
82902
+ ])) : vue.createCommentVNode("v-if", true),
82900
82903
  vue.createVNode(MyDialog, {
82901
82904
  modelValue: vue.unref(data).dialogVisible,
82902
82905
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(data).dialogVisible = $event),
@@ -82906,7 +82909,7 @@
82906
82909
  onClose: closePreviewPanel
82907
82910
  }, {
82908
82911
  default: vue.withCtx(() => [
82909
- vue.unref(data).pageList.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$2, [
82912
+ !vue.unref(data).measuring && vue.unref(data).pageList.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$2, [
82910
82913
  vue.createVNode(MyScrollbar, {
82911
82914
  height: "100%",
82912
82915
  class: "preview-panel__scrollbar",
@@ -83062,7 +83065,7 @@
83062
83065
  }
83063
83066
  });
83064
83067
 
83065
- var previewPanelView = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-f905598e"], ["__file", "preview-panel.vue"]]);
83068
+ var previewPanelView = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-486e4aba"], ["__file", "preview-panel.vue"]]);
83066
83069
 
83067
83070
  let previewNode = null;
83068
83071
  let handleChromePreview = null;
@@ -94050,7 +94053,7 @@ ${$$g(r2)}`), n2;
94050
94053
  }
94051
94054
  }
94052
94055
 
94053
- const version$1 = "1.0.13";
94056
+ const version$1 = "1.0.14";
94054
94057
 
94055
94058
  function isDataTableWidget(d) {
94056
94059
  return d.type === "DataTable";
@@ -2,7 +2,7 @@ import { defineComponent, h as h$5, getCurrentInstance as getCurrentInstance$1,
2
2
  import { defineStore, createPinia } from 'pinia';
3
3
  import 'vue-cropper/dist/index.css';
4
4
  import '/Users/miro/Desktop/project/myprint/packages/design/src/components/design/image/image.vue?vue&type=style&index=0&scoped=923ed041&lang.css';
5
- import '/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=f905598e&lang.css';
5
+ import '/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=486e4aba&lang.css';
6
6
  import 'vue3-colorpicker/style.css';
7
7
 
8
8
  const MathCalc = {
@@ -81798,10 +81798,8 @@ async function autoPage(previewEl, pageList, panel, previewDataList, measurePage
81798
81798
  for (let i = 0; i < pagesBuffer.length; i++) {
81799
81799
  previewContext.currentPage = pagesBuffer[i];
81800
81800
  variable.pageIndex = i + 1;
81801
- if (measureList !== pageList) {
81802
- measureList.splice(0, measureList.length, pagesBuffer[i]);
81803
- await nextTick$1();
81804
- }
81801
+ measureList.splice(0, measureList.length, pagesBuffer[i]);
81802
+ await nextTick$1();
81805
81803
  await installPreviewElement(fixedPreviewElementList);
81806
81804
  }
81807
81805
  if (panel.pageSize == "AutoHeight") {
@@ -81951,6 +81949,7 @@ async function autoPage(previewEl, pageList, panel, previewDataList, measurePage
81951
81949
  previewWrapper.heightIs = false;
81952
81950
  previewContext.currentPage.previewWrapperList.push(previewWrapper);
81953
81951
  await nextTick$1();
81952
+ await nextTick$1();
81954
81953
  if (!previewWrapper.target) {
81955
81954
  previewWrapper.heightIs = true;
81956
81955
  return false;
@@ -82655,6 +82654,7 @@ function handleTimeOut(printProps, previewTimeOutMap, resolveMap) {
82655
82654
  }
82656
82655
 
82657
82656
  const _hoisted_1$a = {
82657
+ key: 0,
82658
82658
  class: "my-print-print_hidden",
82659
82659
  "aria-hidden": "true"
82660
82660
  };
@@ -82682,9 +82682,9 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
82682
82682
  const configStore = useConfigStore();
82683
82683
  const data = reactive({
82684
82684
  dialogVisible: false,
82685
+ measuring: false,
82685
82686
  printer: configStore.defaultPrinter,
82686
82687
  pageList: [],
82687
- measurePages: [],
82688
82688
  resolveMap: {},
82689
82689
  previewTimeOutMap: {},
82690
82690
  taskId: null
@@ -82802,7 +82802,7 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
82802
82802
  function handleChromePreview(printProps) {
82803
82803
  var _a;
82804
82804
  data.pageList = [];
82805
- data.measurePages = [];
82805
+ data.measuring = false;
82806
82806
  clearMeasureRefs();
82807
82807
  clearPreviewPageRefs();
82808
82808
  data.dialogVisible = true;
@@ -82811,23 +82811,26 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
82811
82811
  handleTimeOut(printProps, data.previewTimeOutMap, data.resolveMap);
82812
82812
  return new Promise((resolve, reject) => {
82813
82813
  data.resolveMap[printProps.taskId] = resolve;
82814
- nextTick$1().then(() => nextTick$1()).then(() => autoPage(
82815
- measureContentRef,
82816
- data.pageList,
82817
- panel.value,
82818
- printProps.previewDataList,
82819
- data.measurePages
82820
- )).then(() => {
82814
+ nextTick$1().then(() => nextTick$1()).then(async () => {
82815
+ data.measuring = true;
82816
+ await nextTick$1();
82817
+ await autoPage(
82818
+ measureContentRef,
82819
+ data.pageList,
82820
+ panel.value,
82821
+ printProps.previewDataList
82822
+ );
82823
+ }).then(() => {
82821
82824
  if (data.pageList.length === 0) {
82822
82825
  throw new Error("[MyPrint] \u9884\u89C8\u5206\u9875\u7ED3\u679C\u4E3A\u7A7A");
82823
82826
  }
82824
- data.measurePages = [];
82827
+ data.measuring = false;
82825
82828
  clearMeasureRefs();
82826
82829
  return nextTick$1();
82827
82830
  }).then(() => nextTick$1()).catch((e) => {
82828
82831
  var _a2;
82829
82832
  data.pageList = [];
82830
- data.measurePages = [];
82833
+ data.measuring = false;
82831
82834
  clearMeasureRefs();
82832
82835
  printResult(printProps.taskId, {
82833
82836
  status: "ERROR",
@@ -82840,7 +82843,7 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
82840
82843
  }
82841
82844
  function closePreviewPanel() {
82842
82845
  data.pageList = [];
82843
- data.measurePages = [];
82846
+ data.measuring = false;
82844
82847
  clearMeasureRefs();
82845
82848
  clearPreviewPageRefs();
82846
82849
  printResult(data.taskId, {
@@ -82853,15 +82856,15 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
82853
82856
  Fragment,
82854
82857
  null,
82855
82858
  [
82856
- createCommentVNode(" \u79BB\u5C4F\u5206\u9875\u6D4B\u91CF\uFF08\u4E0E print.vue \u4E00\u81F4\uFF0C\u4E0D\u53C2\u4E0E\u5F39\u7A97\u5E03\u5C40\uFF09 "),
82857
- createElementVNode("div", _hoisted_1$a, [
82859
+ createCommentVNode(" \u5206\u9875\u6D4B\u91CF\uFF1A\u4E0E print.vue \u76F8\u540C\uFF0C\u4EC5\u6D4B\u91CF\u9636\u6BB5\u6E32\u67D3 pageList\uFF0C\u907F\u514D\u5F39\u7A97\u5185\u53CD\u590D\u91CD\u7ED8 "),
82860
+ unref(data).measuring ? (openBlock(), createElementBlock("div", _hoisted_1$a, [
82858
82861
  createElementVNode("div", _hoisted_2$9, [
82859
82862
  createElementVNode("div", _hoisted_3$8, [
82860
82863
  createElementVNode("div", _hoisted_4$3, [
82861
82864
  (openBlock(true), createElementBlock(
82862
82865
  Fragment,
82863
82866
  null,
82864
- renderList(unref(data).measurePages, (page, index) => {
82867
+ renderList(unref(data).pageList, (page, index) => {
82865
82868
  var _a;
82866
82869
  return openBlock(), createElementBlock(
82867
82870
  "div",
@@ -82897,7 +82900,7 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
82897
82900
  ])
82898
82901
  ])
82899
82902
  ])
82900
- ]),
82903
+ ])) : createCommentVNode("v-if", true),
82901
82904
  createVNode(MyDialog, {
82902
82905
  modelValue: unref(data).dialogVisible,
82903
82906
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(data).dialogVisible = $event),
@@ -82907,7 +82910,7 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
82907
82910
  onClose: closePreviewPanel
82908
82911
  }, {
82909
82912
  default: withCtx(() => [
82910
- unref(data).pageList.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
82913
+ !unref(data).measuring && unref(data).pageList.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
82911
82914
  createVNode(MyScrollbar, {
82912
82915
  height: "100%",
82913
82916
  class: "preview-panel__scrollbar",
@@ -83063,7 +83066,7 @@ var _sfc_main$f = /* @__PURE__ */ defineComponent({
83063
83066
  }
83064
83067
  });
83065
83068
 
83066
- var previewPanelView = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-f905598e"], ["__file", "preview-panel.vue"]]);
83069
+ var previewPanelView = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-486e4aba"], ["__file", "preview-panel.vue"]]);
83067
83070
 
83068
83071
  let previewNode = null;
83069
83072
  let handleChromePreview = null;
@@ -94051,7 +94054,7 @@ function mountDesign(app, props, element) {
94051
94054
  }
94052
94055
  }
94053
94056
 
94054
- const version$1 = "1.0.13";
94057
+ const version$1 = "1.0.14";
94055
94058
 
94056
94059
  function isDataTableWidget(d) {
94057
94060
  return d.type === "DataTable";
@@ -154,10 +154,8 @@ async function autoPage(previewEl, pageList, panel, previewDataList, measurePage
154
154
  for (let i = 0; i < pagesBuffer.length; i++) {
155
155
  previewContext.currentPage = pagesBuffer[i];
156
156
  variable.pageIndex = i + 1;
157
- if (measureList !== pageList) {
158
- measureList.splice(0, measureList.length, pagesBuffer[i]);
159
- await nextTick();
160
- }
157
+ measureList.splice(0, measureList.length, pagesBuffer[i]);
158
+ await nextTick();
161
159
  await installPreviewElement(fixedPreviewElementList);
162
160
  }
163
161
  if (panel.pageSize == "AutoHeight") {
@@ -305,6 +303,7 @@ async function autoPage(previewEl, pageList, panel, previewDataList, measurePage
305
303
  previewWrapper.heightIs = false;
306
304
  previewContext.currentPage.previewWrapperList.push(previewWrapper);
307
305
  await nextTick();
306
+ await nextTick();
308
307
  if (!previewWrapper.target) {
309
308
  previewWrapper.heightIs = true;
310
309
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"autoPage.mjs","sources":["../../../../../src/components/preview/autoPage.ts"],"sourcesContent":["import {\n downloadImg2Base64,\n generateUUID,\n parse,\n replaceSpacesOutsideHTMLTags,\n stringify\n} from '@myprint/design/utils/utils';\nimport { px2unit, unit2px } from '@myprint/design/utils/devicePixelRatio';\nimport { nextTick, reactive, Ref } from 'vue-demi';\nimport {\n FormatterVariable,\n MyElement,\n Panel,\n PreviewContainerWrapper,\n PreviewContext,\n PreviewWrapper,\n RuntimeElementOption,\n TableCellElement\n} from '@myprint/design/types/entity';\nimport { element2PreviewWrapper, formatter } from '@myprint/design/utils/elementUtil';\nimport numberUtil from '@myprint/design/utils/numberUtil';\nimport {\n lastHeadList,\n previewRowStatisticsList,\n previewTableStatisticsList,\n statisticsData\n} from '@myprint/design/utils/table/dataTable';\nimport { isEmpty } from 'lodash';\n\nfunction panelHasDataTable(container?: { elementList?: MyElement[]; pageHeader?: MyElement; pageFooter?: MyElement }): boolean {\n if (container == null) {\n return false;\n }\n const walk = (list?: MyElement[]): boolean => {\n if (list == null) {\n return false;\n }\n for (const el of list) {\n if (el.type === 'DataTable' || el.type === 'FreeTable') {\n return true;\n }\n if (el.elementList?.length && walk(el.elementList)) {\n return true;\n }\n }\n return false;\n };\n return walk(container.elementList)\n || (container.pageHeader != null && walk([container.pageHeader]))\n || (container.pageFooter != null && walk([container.pageFooter]));\n}\n\n/**\n * 含 DataTable 时:previewData 数组每一项是表格行,不是多份整页;避免外层 for 按行数重复渲染整模板导致卡死。\n */\nfunction normalizePreviewRecords(panel: Panel, previewDataList: any[]) {\n if (!panelHasDataTable(panel) || previewDataList.length === 0) {\n return { records: previewDataList, tableBodyRows: null as any[] | null };\n }\n // 多项:每项为表格一行;单项:表体走 field 绑定的数组,避免误把整对象当一行\n if (previewDataList.length > 1) {\n return {\n records: [previewDataList[0] ?? {}],\n tableBodyRows: previewDataList\n };\n }\n return { records: previewDataList, tableBodyRows: null };\n}\n\nfunction resolveTableBodyRows(\n previewContext: PreviewContext,\n previewWrapper: PreviewWrapper,\n previewDataTmp: any\n): any[] {\n if (previewContext.tableBodyRows != null && previewContext.tableBodyRows.length > 0) {\n return previewContext.tableBodyRows;\n }\n if (previewWrapper.field) {\n const byField = previewContext.previewData?.[previewWrapper.field];\n if (Array.isArray(byField)) {\n return byField;\n }\n if (byField != null && typeof byField === 'object') {\n return [byField];\n }\n }\n if (Array.isArray(previewDataTmp)) {\n return previewDataTmp;\n }\n if (previewDataTmp != null && typeof previewDataTmp === 'object') {\n return [previewDataTmp];\n }\n return [{}];\n}\n\nexport async function autoPage(\n previewEl: Ref<HTMLDivElement[] | undefined>,\n pageList: Array<PreviewContainerWrapper>,\n panel: Panel,\n previewDataList?: any[],\n /** 离屏测量 DOM 专用;与 pageList 分离时最终结果只写入 pageList */\n measurePageList?: Array<PreviewContainerWrapper>\n) {\n const measureList = measurePageList ?? pageList;\n if (previewDataList == null) {\n previewDataList = [{}];\n } else if (!Array.isArray(previewDataList)) {\n previewDataList = [previewDataList];\n }\n if (previewDataList.length === 0) {\n previewDataList = [{}];\n }\n const { records: previewRecords, tableBodyRows } = normalizePreviewRecords(panel, previewDataList);\n /** 分页过程中先写入缓冲区,避免每页 push 触发 Vue 全量重绘导致卡死 */\n const pagesBuffer: PreviewContainerWrapper[] = [];\n const variable = {\n pageIndex: 0,\n pageSize: 0,\n nowDate: new Date()\n } as FormatterVariable;\n\n // 初始化element offsetTop\n let offsetLastElementTop = 0;\n const fixedPreviewElementList: PreviewWrapper[] = [];\n const previewElementList: PreviewWrapper[] = [];\n\n let previewContext = {\n currentPreview: undefined!,\n autoPageIs: false,\n previewData: {},\n panel: panel,\n pageList: [],\n currentPage: undefined! as any,\n top: 0,\n bottom: panel.height, // 单位 mm\n pagingRepetition: true,\n tableBodyRows\n } as PreviewContext;\n // 处理elementWrapper\n for (let myElement of previewContext.panel.elementList) {\n handleElement(myElement);\n }\n\n if (previewContext.panel.pageHeader) {\n handleElement(previewContext.panel.pageHeader);\n }\n if (previewContext.panel.pageFooter) {\n handleElement(previewContext.panel.pageFooter);\n }\n\n function handleElement(myElement: MyElement) {\n const previewElement = element2PreviewWrapper(myElement);\n if (previewElement.previewWrapperList != null && previewElement.previewWrapperList.length > 0) {\n for (let i = previewElement.previewWrapperList.length - 1; i >= 0; i--) {\n const pageNumPreviewElement = previewElement.previewWrapperList[i];\n // 处理嵌套 pageNum\n if (pageNumPreviewElement.option?.fixed) {\n pageNumPreviewElement.x = pageNumPreviewElement.x + previewElement.x;\n pageNumPreviewElement.y = pageNumPreviewElement.y + previewElement.y;\n\n fixedPreviewElementList.push(pageNumPreviewElement);\n previewElement.previewWrapperList.splice(i, 1);\n }\n }\n }\n // if (elementTypeContainerList.includes(previewElement.type)) {\n // previewElement.previewWrapperList = [];\n // }\n\n if (previewElement.option?.fixed) {\n fixedPreviewElementList.push(previewElement);\n } else {\n previewElementList.push(previewElement);\n }\n }\n\n // 排序\n previewElementList.sort((o1, o2) => {\n return o1.y - o2.y;\n });\n\n // 计算每个元素距离上个元素的距离\n for (let previewWrapper of previewElementList) {\n previewWrapper.offsetLastElementTop = numberUtil.subScale(previewWrapper.y, offsetLastElementTop);\n offsetLastElementTop = numberUtil.sumScale(previewWrapper.y, previewWrapper.height);\n }\n\n const MAX_PAGE_ITERATIONS = 500;\n\n for (let previewData of previewRecords) {\n previewContext.previewData = previewData;\n // 固定高度 表格分页打印\n let pageGuard = 0;\n while (previewContext.pagingRepetition) {\n if (++pageGuard > MAX_PAGE_ITERATIONS) {\n console.error('[MyPrint] 表格分页超过最大页数,已中止以避免页面卡死');\n previewContext.pagingRepetition = false;\n break;\n }\n previewContext.pagingRepetition = false;\n previewContext.currentPreview = undefined!;\n\n await newPage();\n await installPreviewElement(previewElementList);\n }\n\n previewContext.pagingRepetition = true;\n for (const el of previewElementList) {\n if (el.type === 'DataTable') {\n el.previewTableRowIndex = 0;\n }\n }\n }\n\n previewContext.autoPageIs = false;\n variable.pageSize = pagesBuffer.length;\n // 每页设置页码\n // 组装固定元素\n for (let i = 0; i < pagesBuffer.length; i++) {\n previewContext.currentPage = pagesBuffer[i];\n variable.pageIndex = i + 1;\n if (measureList !== pageList) {\n measureList.splice(0, measureList.length, pagesBuffer[i]);\n await nextTick();\n }\n await installPreviewElement(fixedPreviewElementList);\n }\n\n // 所有的都处理完,如果是自动高度,要重新计算一下高度\n if (panel.pageSize == 'AutoHeight') {\n await nextTick();\n const lastElementChild = previewEl.value?.[0]?.lastElementChild;\n if (lastElementChild) {\n const rect = lastElementChild.getBoundingClientRect();\n pagesBuffer[0].height = px2unit(rect.bottom, panel);\n panel.runtimeOption.printRealHeight = pagesBuffer[0].height;\n }\n }\n\n pageList.splice(0, pageList.length, ...pagesBuffer);\n if (measureList !== pageList) {\n measureList.length = 0;\n }\n\n async function installPreviewElement(previewElementList: PreviewWrapper[]) {\n for (let i = 0; i < previewElementList.length; i++) {\n const oldPreviewWrapper = previewElementList[i];\n let previewWrapper = element2PreviewWrapper(previewElementList[i]);\n\n // 计算顶部需不需要偏移\n if (!previewWrapper.option?.fixed) {\n // 页面顶部有偏移\n // debugger\n if (previewContext.currentPage.offsetTop > 0 && previewContext.currentPreview) {\n if (previewContext.currentPreview.heightIs) {\n previewWrapper.y = previewContext.currentPreview.y + previewContext.currentPreview.height + previewWrapper.offsetLastElementTop;\n } else {\n // debugger\n previewWrapper.y = numberUtil.sumScale(previewContext.currentPage.offsetTop, previewWrapper.offsetLastElementTop);\n }\n\n }\n\n // 判断需不需要分页\n // console.log(await isNeedNewPage(previewWrapper.y, previewContext.bottom));\n // console.log(await isNeedNewPage(previewWrapper.y + previewWrapper.height, previewContext.bottom));\n if (previewWrapper.type != 'PageFooter'\n && previewContext.currentPage.previewWrapperList.length > 0\n && (await isNeedNewPage(previewWrapper.y, previewContext.bottom) || await isNeedNewPage(previewWrapper.y + previewWrapper.height, previewContext.bottom))) {\n previewWrapper.y = 1;\n previewContext.currentPage!.offsetTop = 1;\n }\n }\n\n if (previewWrapper.option?.fixed && previewWrapper.option.displayStrategy != undefined) {\n switch (previewWrapper.option.displayStrategy) {\n case 'firstPage':\n if (variable.pageIndex != 1) {\n continue;\n }\n break;\n case 'lastPage':\n if (variable.pageIndex != variable.pageSize) {\n continue;\n }\n break;\n case 'none':\n continue;\n case 'oddPage':\n if (variable.pageIndex % 2 != 1) {\n continue;\n }\n break;\n case 'evenPage':\n if (variable.pageIndex % 2 != 0) {\n continue;\n }\n break;\n }\n }\n\n previewContext.currentPreview = previewWrapper;\n\n // 需要data\n let previewDataTmp: any;\n\n if (previewWrapper.field) {\n // 打印数据\n previewDataTmp = previewContext.previewData[previewWrapper.field];\n }\n\n if (!previewDataTmp) {\n // 格式化数据\n previewDataTmp = formatter(previewWrapper, variable);\n }\n\n if (!previewDataTmp) {\n // 设计数据\n previewDataTmp = previewWrapper.data;\n }\n\n if (previewWrapper.type == 'Image') {\n previewWrapper.data = previewDataTmp;\n // 如果是图片地址,则下载下来\n if (!isEmpty(previewWrapper.data) && (previewWrapper.data as string).startsWith('http')) {\n // 网络图片,下载下来\n try {\n previewWrapper.data = await downloadImg2Base64(previewWrapper.data);\n } catch (e: any) {\n previewWrapper.data = '图片加载错误';\n }\n }\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n } else if (previewWrapper.type == 'Text' || previewWrapper.type == 'PageNum' || previewWrapper.type == 'TextTime') {\n\n if (previewWrapper.type == 'PageNum') {\n previewWrapper = element2PreviewWrapper(previewWrapper);\n previewContext.currentPreview = previewWrapper;\n previewElementList[i] = previewWrapper;\n }\n\n if (!previewWrapper.contentType) {\n previewWrapper.contentType = 'Text';\n }\n\n previewWrapper.data = previewDataTmp;\n\n if (previewWrapper.contentType === 'Text') {\n if (previewDataTmp) {\n previewDataTmp = replaceSpacesOutsideHTMLTags(previewDataTmp);\n previewWrapper.data = previewDataTmp;\n }\n await autoTextElement(previewDataTmp, true);\n } else if (previewWrapper.contentType === 'QrCode' || previewWrapper.contentType === 'Barcode') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n } else {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n }\n } else if (previewWrapper.type == 'DataTable') {\n const source = previewElementList[i];\n const tableRowIndex = source.previewTableRowIndex ?? 0;\n const tableRows = resolveTableBodyRows(previewContext, previewWrapper, previewDataTmp);\n await autoTableRow(previewContext, tableRows, tableRowIndex, source);\n if (!previewContext.pagingRepetition) {\n source.previewTableRowIndex = 0;\n }\n } else if (previewWrapper.type == 'Container') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n const tmpPage = previewContext.currentPage;\n previewContext.currentPage = previewWrapper;\n previewWrapper.previewWrapperList = [];\n await installPreviewElement(oldPreviewWrapper.previewWrapperList);\n previewContext.currentPage = tmpPage;\n } else if (previewWrapper.type == 'PageHeader') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n const tmpPage = previewContext.currentPage;\n previewContext.currentPage = previewWrapper;\n previewWrapper.previewWrapperList = [];\n await installPreviewElement(oldPreviewWrapper.previewWrapperList);\n previewContext.currentPage = tmpPage;\n } else if (previewWrapper.type == 'PageFooter') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n const tmpPage = previewContext.currentPage;\n previewContext.currentPage = previewWrapper;\n previewWrapper.previewWrapperList = [];\n await installPreviewElement(oldPreviewWrapper.previewWrapperList);\n previewContext.currentPage = tmpPage;\n } else {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n }\n\n if (!previewContext.currentPreview.heightIs) {\n // 重新计算顶部偏移\n previewContext.currentPage.offsetTop = (await computeBottom(previewContext.currentPreview))!;\n }\n\n previewContext.currentPreview = previewWrapper;\n }\n }\n\n async function autoTextElement(previewData: string, first: boolean) {\n let previewWrapper = previewContext.currentPreview;\n previewWrapper.data = previewData;\n previewWrapper.heightIs = false;\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n if (!previewWrapper.target) {\n previewWrapper.heightIs = true;\n return false;\n }\n const height = previewWrapper.target.clientHeight;\n\n /**\n * 非自动高度\n */\n if (previewWrapper.option?.autoTextHeight == null || !previewWrapper.option?.autoTextHeight) {\n previewWrapper.heightIs = true;\n return false;\n }\n\n if (first && height < previewWrapper.runtimeOption.height) {\n previewWrapper.heightIs = true;\n // console.log('小')\n return false;\n } else {\n // console.log('大')\n }\n\n // console.log(height)\n if (previewWrapper.y + px2unit(height, panel) < previewContext.bottom) {\n return false;\n } else {\n // console.log(previewWrapper)\n }\n\n let mid = await binary_search(previewWrapper, previewData, 1, previewData.length);\n // console.log(mid)\n\n if (mid > 0 && mid < previewData.length) {\n // console.log('文本分页');\n if (previewContext.autoPageIs) {\n await newPage();\n previewContext.currentPreview = element2PreviewWrapper(previewWrapper);\n // previewWrapper.element = previewWrapper\n previewContext.currentPreview.y = previewContext.top;\n // console.log(previewWrapper)\n await autoTextElement(previewData.substring(mid + 1, previewData.length), false);\n return true;\n }\n // data.currentPage.offsetTop = computeBottom({previewWrapper: previewWrapper} as PreviewWrapper)\n }\n\n return false;\n }\n\n async function autoTableRow(\n previewContext: PreviewContext,\n previewDataList: Array<any>,\n index: number,\n tableSource: PreviewWrapper,\n recursionDepth = 0\n ) {\n const MAX_TABLE_RECURSION = 100;\n if (recursionDepth > MAX_TABLE_RECURSION) {\n console.error('[MyPrint] 表格分页递归过深,已中止');\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n return false;\n }\n if (previewDataList == null) {\n previewDataList = [];\n }\n let previewWrapper = previewContext.currentPreview;\n const tableStatisticsSizeEarly = previewWrapper.statisticsList?.length ?? 0;\n if (index >= previewDataList.length + tableStatisticsSizeEarly) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n return false;\n }\n if (previewWrapper.option.tableHeightType == 'AUTO') {\n previewWrapper.heightIs = false;\n }\n\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n const table = previewWrapper.target;\n if (!table) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n return false;\n }\n const tableHeadList = [...previewWrapper.tableHeadList];\n const headList = lastHeadList(tableHeadList);\n const bodyList = previewWrapper.tableBodyList[0];\n if (previewWrapper.statisticsList == null) {\n previewWrapper.statisticsList = [];\n }\n const tableStatisticsList = [...previewWrapper.statisticsList];\n const tableStatisticsSize = tableStatisticsList.length;\n let statisticsListWrapper: Record<number, any[]> = {};\n let tableStaticsListWrapper: Record<number, any[]> = {};\n if (previewWrapper.tableHeadHiddenIs) {\n previewWrapper.tableHeadList.length = 0;\n for (let j = 0; j < bodyList.length; j++) {\n bodyList[j].runtimeOption.width = headList[j].runtimeOption.width;\n }\n\n // 设置第一行的宽度<不然表格宽度有问题\n }\n previewWrapper.tableBodyList.length = 0;\n previewWrapper.statisticsList.length = 0;\n if (index < previewDataList.length) {\n previewTableStatisticsList(tableStatisticsList, previewWrapper.statisticsList, statisticsListWrapper, headList);\n }\n const previewDataTmpList: any[] = [];\n let i = index;\n for (; i < previewDataList.length + tableStatisticsSize; i++) {\n const rowList: TableCellElement[] = [];\n if (i < previewDataList.length) {\n const previewData = previewDataList[i];\n previewDataTmpList.push(previewData);\n // 序号\n if (!previewData['autoIncrement']) {\n previewData['autoIncrement'] = i + 1;\n }\n for (let j = 0; j < headList.length; j++) {\n const head = headList[j];\n bodyList[j].data = previewData[head.field!];\n rowList.push(element2PreviewWrapper(bodyList[j]));\n }\n\n previewWrapper.tableBodyList.push(rowList);\n } else {\n // debugger\n // 计算\n const tableStatisticsIndex = i - previewDataList.length;\n const rowList = [...tableStatisticsList[tableStatisticsIndex]];\n let hasCell = previewRowStatisticsList(rowList, tableStaticsListWrapper, headList, 'tableStatisticsIs');\n if (hasCell) {\n previewWrapper.statisticsList.push(rowList);\n }\n }\n\n await nextTick();\n // console.log(table.height())\n\n const tableBodyEl = table.childNodes[1] as HTMLElement | undefined;\n if (previewWrapper.option.tableHeightType == 'FIXED' && tableBodyEl) {\n // 固定高度\n if (tableBodyEl.clientHeight > unit2px(previewWrapper.height, panel)) {\n const isLastDataRow = i >= previewDataList.length - 1;\n if (i === index && isLastDataRow) {\n // 仅一行或已是最后一行仍超高:本页展示,禁止触发 while 死循环\n } else if (i == index) {\n tableSource.previewTableRowIndex = i + 1;\n previewContext.pagingRepetition = true;\n statisticsData(previewDataTmpList, statisticsListWrapper);\n if (i >= previewDataList.length) {\n statisticsData(previewDataList, tableStaticsListWrapper);\n }\n previewDataTmpList.pop();\n break;\n } else {\n previewWrapper.tableBodyList.pop();\n previewDataTmpList.pop();\n tableSource.previewTableRowIndex = i;\n previewContext.pagingRepetition = true;\n statisticsData(previewDataTmpList, statisticsListWrapper);\n if (i >= previewDataList.length) {\n statisticsData(previewDataList, tableStaticsListWrapper);\n }\n previewDataTmpList.pop();\n break;\n }\n }\n }\n\n if (await isNeedNewPage(unit2px(previewWrapper.y, panel) + table.clientHeight, unit2px(previewContext.bottom, panel))) {\n if (recursionDepth >= 8) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n break;\n }\n // 删除刚才创建的\n previewWrapper.tableBodyList.pop();\n previewDataTmpList.pop();\n // 统计\n statisticsData(previewDataTmpList, statisticsListWrapper);\n previewContext.currentPreview = element2PreviewWrapper(previewWrapper);\n previewWrapper = previewContext.currentPreview;\n if (!previewWrapper.option?.tablePageHeadIs) {\n previewWrapper.tableHeadHiddenIs = true;\n }\n previewWrapper.tableHeadList = [...tableHeadList];\n previewWrapper.statisticsList = [...tableStatisticsList];\n previewWrapper.runtimeOption = parse(stringify(previewWrapper.runtimeOption, 'parent'), {} as RuntimeElementOption);\n previewWrapper.tableBodyList = [bodyList];\n previewWrapper.y = previewContext.top + 1;\n tableSource.previewTableRowIndex = i;\n await autoTableRow(previewContext, previewDataList, i, tableSource, recursionDepth + 1);\n break;\n }\n }\n\n if (i >= previewDataList.length + tableStatisticsSize) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n }\n\n if (i >= previewDataList.length) {\n statisticsData(previewDataTmpList, statisticsListWrapper);\n }\n statisticsData(previewDataList, tableStaticsListWrapper);\n }\n\n /**\n * 单位 px\n */\n async function isNeedNewPage(y: number | undefined, bottom: number | undefined, callback?: () => void) {\n\n if (!previewContext.autoPageIs) {\n return false;\n }\n if (previewContext.panel.pageSize == 'AutoHeight') {\n return false;\n }\n\n // 为啥+1\n if (y! > bottom! + 1) {\n if (callback) {\n callback();\n }\n await newPage();\n return true;\n }\n return false;\n }\n\n async function newPage() {\n previewContext.currentPage = reactive({\n id: generateUUID(),\n width: previewContext.panel.width,\n height: previewContext.panel.height,\n offsetTop: 0,\n previewWrapperList: []\n } as any);\n previewContext.pageList.push(previewContext.currentPage);\n previewContext.autoPageIs = true;\n pagesBuffer.push(previewContext.currentPage!);\n // 测量阶段只挂载当前页,避免随页数增长反复全量重绘 measure DOM 导致卡死\n measureList.splice(0, measureList.length, previewContext.currentPage!);\n\n await nextTick();\n // getPanelDiv();\n\n if (previewContext.panel.pageHeader) {\n const preview = element2PreviewWrapper(previewContext.panel.pageHeader);\n previewContext.currentPage!.previewWrapperList!.push(preview);\n previewContext.top = (await computeBottom(preview))!;\n }\n if (previewContext.panel.pageFooter) {\n const preview = element2PreviewWrapper(previewContext.panel.pageFooter);\n previewContext.currentPage!.previewWrapperList!.push(preview);\n previewContext.bottom = (await computeTop(preview))!;\n }\n }\n\n async function computeBottom(previewWrapper: PreviewWrapper) {\n await nextTick();\n if (!previewWrapper.target) {\n return;\n }\n const div = previewWrapper.target;\n // debugger\n return numberUtil.toFixed(px2unit(numberUtil.sumScale(div.offsetTop, div.offsetHeight), panel));\n }\n\n async function computeTop(previewWrapper: PreviewWrapper) {\n await nextTick();\n if (!previewWrapper.target) {\n return;\n }\n const div = previewWrapper.target;\n // console.log(div.offsetTop);\n return numberUtil.toFixed(px2unit(div.offsetTop, panel));\n }\n\n async function computeTextHeight(previewWrapper: PreviewWrapper, previewDataTmp: any) {\n previewWrapper.data = previewDataTmp;\n await nextTick();\n const itemRef = previewWrapper.target;\n // console.log(div)\n if (!itemRef) {\n // debugger\n return;\n }\n const height = previewWrapper.target.clientHeight;\n return previewWrapper.y + px2unit(height, panel) < previewContext.bottom;\n }\n\n async function binary_search(previewWrapper: PreviewWrapper, previewData: string, low: number, height: number): Promise<any> {\n if (low > height) {\n // console.log(\"low > height\")\n return -1;\n }\n const mid = Math.floor((height + low) / 2);\n let isH = await computeTextHeight(previewWrapper, previewData.substring(0, mid + 2));\n let isL = await computeTextHeight(previewWrapper, previewData.substring(0, mid + 1));\n // console.log(data.substring(0, mid + 1))\n // console.log(mid)\n // if (!isH && !isL) {\n // return -1\n // }\n if (isL && !isH) {\n // console.log('返回');\n return mid;\n } else if (!isH) {\n height = mid - 1;\n // console.log('减少', height);\n return binary_search(previewWrapper, previewData, low, height);\n } else if (isL) {\n low = mid + 1;\n // console.log('增加', low);\n return binary_search(previewWrapper, previewData, low, height);\n } else {\n return -1;\n }\n }\n}\n\n\n\n"],"names":["numberUtil","previewElementList","previewContext","previewDataList","rowList"],"mappings":"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"}
1
+ {"version":3,"file":"autoPage.mjs","sources":["../../../../../src/components/preview/autoPage.ts"],"sourcesContent":["import {\n downloadImg2Base64,\n generateUUID,\n parse,\n replaceSpacesOutsideHTMLTags,\n stringify\n} from '@myprint/design/utils/utils';\nimport { px2unit, unit2px } from '@myprint/design/utils/devicePixelRatio';\nimport { nextTick, reactive, Ref } from 'vue-demi';\nimport {\n FormatterVariable,\n MyElement,\n Panel,\n PreviewContainerWrapper,\n PreviewContext,\n PreviewWrapper,\n RuntimeElementOption,\n TableCellElement\n} from '@myprint/design/types/entity';\nimport { element2PreviewWrapper, formatter } from '@myprint/design/utils/elementUtil';\nimport numberUtil from '@myprint/design/utils/numberUtil';\nimport {\n lastHeadList,\n previewRowStatisticsList,\n previewTableStatisticsList,\n statisticsData\n} from '@myprint/design/utils/table/dataTable';\nimport { isEmpty } from 'lodash';\n\nfunction panelHasDataTable(container?: { elementList?: MyElement[]; pageHeader?: MyElement; pageFooter?: MyElement }): boolean {\n if (container == null) {\n return false;\n }\n const walk = (list?: MyElement[]): boolean => {\n if (list == null) {\n return false;\n }\n for (const el of list) {\n if (el.type === 'DataTable' || el.type === 'FreeTable') {\n return true;\n }\n if (el.elementList?.length && walk(el.elementList)) {\n return true;\n }\n }\n return false;\n };\n return walk(container.elementList)\n || (container.pageHeader != null && walk([container.pageHeader]))\n || (container.pageFooter != null && walk([container.pageFooter]));\n}\n\n/**\n * 含 DataTable 时:previewData 数组每一项是表格行,不是多份整页;避免外层 for 按行数重复渲染整模板导致卡死。\n */\nfunction normalizePreviewRecords(panel: Panel, previewDataList: any[]) {\n if (!panelHasDataTable(panel) || previewDataList.length === 0) {\n return { records: previewDataList, tableBodyRows: null as any[] | null };\n }\n // 多项:每项为表格一行;单项:表体走 field 绑定的数组,避免误把整对象当一行\n if (previewDataList.length > 1) {\n return {\n records: [previewDataList[0] ?? {}],\n tableBodyRows: previewDataList\n };\n }\n return { records: previewDataList, tableBodyRows: null };\n}\n\nfunction resolveTableBodyRows(\n previewContext: PreviewContext,\n previewWrapper: PreviewWrapper,\n previewDataTmp: any\n): any[] {\n if (previewContext.tableBodyRows != null && previewContext.tableBodyRows.length > 0) {\n return previewContext.tableBodyRows;\n }\n if (previewWrapper.field) {\n const byField = previewContext.previewData?.[previewWrapper.field];\n if (Array.isArray(byField)) {\n return byField;\n }\n if (byField != null && typeof byField === 'object') {\n return [byField];\n }\n }\n if (Array.isArray(previewDataTmp)) {\n return previewDataTmp;\n }\n if (previewDataTmp != null && typeof previewDataTmp === 'object') {\n return [previewDataTmp];\n }\n return [{}];\n}\n\nexport async function autoPage(\n previewEl: Ref<HTMLDivElement[] | undefined>,\n pageList: Array<PreviewContainerWrapper>,\n panel: Panel,\n previewDataList?: any[],\n /** 离屏测量 DOM 专用;与 pageList 分离时最终结果只写入 pageList */\n measurePageList?: Array<PreviewContainerWrapper>\n) {\n const measureList = measurePageList ?? pageList;\n if (previewDataList == null) {\n previewDataList = [{}];\n } else if (!Array.isArray(previewDataList)) {\n previewDataList = [previewDataList];\n }\n if (previewDataList.length === 0) {\n previewDataList = [{}];\n }\n const { records: previewRecords, tableBodyRows } = normalizePreviewRecords(panel, previewDataList);\n /** 分页过程中先写入缓冲区,避免每页 push 触发 Vue 全量重绘导致卡死 */\n const pagesBuffer: PreviewContainerWrapper[] = [];\n const variable = {\n pageIndex: 0,\n pageSize: 0,\n nowDate: new Date()\n } as FormatterVariable;\n\n // 初始化element offsetTop\n let offsetLastElementTop = 0;\n const fixedPreviewElementList: PreviewWrapper[] = [];\n const previewElementList: PreviewWrapper[] = [];\n\n let previewContext = {\n currentPreview: undefined!,\n autoPageIs: false,\n previewData: {},\n panel: panel,\n pageList: [],\n currentPage: undefined! as any,\n top: 0,\n bottom: panel.height, // 单位 mm\n pagingRepetition: true,\n tableBodyRows\n } as PreviewContext;\n // 处理elementWrapper\n for (let myElement of previewContext.panel.elementList) {\n handleElement(myElement);\n }\n\n if (previewContext.panel.pageHeader) {\n handleElement(previewContext.panel.pageHeader);\n }\n if (previewContext.panel.pageFooter) {\n handleElement(previewContext.panel.pageFooter);\n }\n\n function handleElement(myElement: MyElement) {\n const previewElement = element2PreviewWrapper(myElement);\n if (previewElement.previewWrapperList != null && previewElement.previewWrapperList.length > 0) {\n for (let i = previewElement.previewWrapperList.length - 1; i >= 0; i--) {\n const pageNumPreviewElement = previewElement.previewWrapperList[i];\n // 处理嵌套 pageNum\n if (pageNumPreviewElement.option?.fixed) {\n pageNumPreviewElement.x = pageNumPreviewElement.x + previewElement.x;\n pageNumPreviewElement.y = pageNumPreviewElement.y + previewElement.y;\n\n fixedPreviewElementList.push(pageNumPreviewElement);\n previewElement.previewWrapperList.splice(i, 1);\n }\n }\n }\n // if (elementTypeContainerList.includes(previewElement.type)) {\n // previewElement.previewWrapperList = [];\n // }\n\n if (previewElement.option?.fixed) {\n fixedPreviewElementList.push(previewElement);\n } else {\n previewElementList.push(previewElement);\n }\n }\n\n // 排序\n previewElementList.sort((o1, o2) => {\n return o1.y - o2.y;\n });\n\n // 计算每个元素距离上个元素的距离\n for (let previewWrapper of previewElementList) {\n previewWrapper.offsetLastElementTop = numberUtil.subScale(previewWrapper.y, offsetLastElementTop);\n offsetLastElementTop = numberUtil.sumScale(previewWrapper.y, previewWrapper.height);\n }\n\n const MAX_PAGE_ITERATIONS = 500;\n\n for (let previewData of previewRecords) {\n previewContext.previewData = previewData;\n // 固定高度 表格分页打印\n let pageGuard = 0;\n while (previewContext.pagingRepetition) {\n if (++pageGuard > MAX_PAGE_ITERATIONS) {\n console.error('[MyPrint] 表格分页超过最大页数,已中止以避免页面卡死');\n previewContext.pagingRepetition = false;\n break;\n }\n previewContext.pagingRepetition = false;\n previewContext.currentPreview = undefined!;\n\n await newPage();\n await installPreviewElement(previewElementList);\n }\n\n previewContext.pagingRepetition = true;\n for (const el of previewElementList) {\n if (el.type === 'DataTable') {\n el.previewTableRowIndex = 0;\n }\n }\n }\n\n previewContext.autoPageIs = false;\n variable.pageSize = pagesBuffer.length;\n // 每页设置页码\n // 组装固定元素\n for (let i = 0; i < pagesBuffer.length; i++) {\n previewContext.currentPage = pagesBuffer[i];\n variable.pageIndex = i + 1;\n // 每页单独挂载测量 DOM(含 pageList 与 measureList 为同一引用时)\n measureList.splice(0, measureList.length, pagesBuffer[i]);\n await nextTick();\n await installPreviewElement(fixedPreviewElementList);\n }\n\n // 所有的都处理完,如果是自动高度,要重新计算一下高度\n if (panel.pageSize == 'AutoHeight') {\n await nextTick();\n const lastElementChild = previewEl.value?.[0]?.lastElementChild;\n if (lastElementChild) {\n const rect = lastElementChild.getBoundingClientRect();\n pagesBuffer[0].height = px2unit(rect.bottom, panel);\n panel.runtimeOption.printRealHeight = pagesBuffer[0].height;\n }\n }\n\n pageList.splice(0, pageList.length, ...pagesBuffer);\n if (measureList !== pageList) {\n measureList.length = 0;\n }\n\n async function installPreviewElement(previewElementList: PreviewWrapper[]) {\n for (let i = 0; i < previewElementList.length; i++) {\n const oldPreviewWrapper = previewElementList[i];\n let previewWrapper = element2PreviewWrapper(previewElementList[i]);\n\n // 计算顶部需不需要偏移\n if (!previewWrapper.option?.fixed) {\n // 页面顶部有偏移\n // debugger\n if (previewContext.currentPage.offsetTop > 0 && previewContext.currentPreview) {\n if (previewContext.currentPreview.heightIs) {\n previewWrapper.y = previewContext.currentPreview.y + previewContext.currentPreview.height + previewWrapper.offsetLastElementTop;\n } else {\n // debugger\n previewWrapper.y = numberUtil.sumScale(previewContext.currentPage.offsetTop, previewWrapper.offsetLastElementTop);\n }\n\n }\n\n // 判断需不需要分页\n // console.log(await isNeedNewPage(previewWrapper.y, previewContext.bottom));\n // console.log(await isNeedNewPage(previewWrapper.y + previewWrapper.height, previewContext.bottom));\n if (previewWrapper.type != 'PageFooter'\n && previewContext.currentPage.previewWrapperList.length > 0\n && (await isNeedNewPage(previewWrapper.y, previewContext.bottom) || await isNeedNewPage(previewWrapper.y + previewWrapper.height, previewContext.bottom))) {\n previewWrapper.y = 1;\n previewContext.currentPage!.offsetTop = 1;\n }\n }\n\n if (previewWrapper.option?.fixed && previewWrapper.option.displayStrategy != undefined) {\n switch (previewWrapper.option.displayStrategy) {\n case 'firstPage':\n if (variable.pageIndex != 1) {\n continue;\n }\n break;\n case 'lastPage':\n if (variable.pageIndex != variable.pageSize) {\n continue;\n }\n break;\n case 'none':\n continue;\n case 'oddPage':\n if (variable.pageIndex % 2 != 1) {\n continue;\n }\n break;\n case 'evenPage':\n if (variable.pageIndex % 2 != 0) {\n continue;\n }\n break;\n }\n }\n\n previewContext.currentPreview = previewWrapper;\n\n // 需要data\n let previewDataTmp: any;\n\n if (previewWrapper.field) {\n // 打印数据\n previewDataTmp = previewContext.previewData[previewWrapper.field];\n }\n\n if (!previewDataTmp) {\n // 格式化数据\n previewDataTmp = formatter(previewWrapper, variable);\n }\n\n if (!previewDataTmp) {\n // 设计数据\n previewDataTmp = previewWrapper.data;\n }\n\n if (previewWrapper.type == 'Image') {\n previewWrapper.data = previewDataTmp;\n // 如果是图片地址,则下载下来\n if (!isEmpty(previewWrapper.data) && (previewWrapper.data as string).startsWith('http')) {\n // 网络图片,下载下来\n try {\n previewWrapper.data = await downloadImg2Base64(previewWrapper.data);\n } catch (e: any) {\n previewWrapper.data = '图片加载错误';\n }\n }\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n } else if (previewWrapper.type == 'Text' || previewWrapper.type == 'PageNum' || previewWrapper.type == 'TextTime') {\n\n if (previewWrapper.type == 'PageNum') {\n previewWrapper = element2PreviewWrapper(previewWrapper);\n previewContext.currentPreview = previewWrapper;\n previewElementList[i] = previewWrapper;\n }\n\n if (!previewWrapper.contentType) {\n previewWrapper.contentType = 'Text';\n }\n\n previewWrapper.data = previewDataTmp;\n\n if (previewWrapper.contentType === 'Text') {\n if (previewDataTmp) {\n previewDataTmp = replaceSpacesOutsideHTMLTags(previewDataTmp);\n previewWrapper.data = previewDataTmp;\n }\n await autoTextElement(previewDataTmp, true);\n } else if (previewWrapper.contentType === 'QrCode' || previewWrapper.contentType === 'Barcode') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n } else {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n }\n } else if (previewWrapper.type == 'DataTable') {\n const source = previewElementList[i];\n const tableRowIndex = source.previewTableRowIndex ?? 0;\n const tableRows = resolveTableBodyRows(previewContext, previewWrapper, previewDataTmp);\n await autoTableRow(previewContext, tableRows, tableRowIndex, source);\n if (!previewContext.pagingRepetition) {\n source.previewTableRowIndex = 0;\n }\n } else if (previewWrapper.type == 'Container') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n const tmpPage = previewContext.currentPage;\n previewContext.currentPage = previewWrapper;\n previewWrapper.previewWrapperList = [];\n await installPreviewElement(oldPreviewWrapper.previewWrapperList);\n previewContext.currentPage = tmpPage;\n } else if (previewWrapper.type == 'PageHeader') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n const tmpPage = previewContext.currentPage;\n previewContext.currentPage = previewWrapper;\n previewWrapper.previewWrapperList = [];\n await installPreviewElement(oldPreviewWrapper.previewWrapperList);\n previewContext.currentPage = tmpPage;\n } else if (previewWrapper.type == 'PageFooter') {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n const tmpPage = previewContext.currentPage;\n previewContext.currentPage = previewWrapper;\n previewWrapper.previewWrapperList = [];\n await installPreviewElement(oldPreviewWrapper.previewWrapperList);\n previewContext.currentPage = tmpPage;\n } else {\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n }\n\n if (!previewContext.currentPreview.heightIs) {\n // 重新计算顶部偏移\n previewContext.currentPage.offsetTop = (await computeBottom(previewContext.currentPreview))!;\n }\n\n previewContext.currentPreview = previewWrapper;\n }\n }\n\n async function autoTextElement(previewData: string, first: boolean) {\n let previewWrapper = previewContext.currentPreview;\n previewWrapper.data = previewData;\n previewWrapper.heightIs = false;\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n await nextTick();\n if (!previewWrapper.target) {\n previewWrapper.heightIs = true;\n return false;\n }\n const height = previewWrapper.target.clientHeight;\n\n /**\n * 非自动高度\n */\n if (previewWrapper.option?.autoTextHeight == null || !previewWrapper.option?.autoTextHeight) {\n previewWrapper.heightIs = true;\n return false;\n }\n\n if (first && height < previewWrapper.runtimeOption.height) {\n previewWrapper.heightIs = true;\n // console.log('小')\n return false;\n } else {\n // console.log('大')\n }\n\n // console.log(height)\n if (previewWrapper.y + px2unit(height, panel) < previewContext.bottom) {\n return false;\n } else {\n // console.log(previewWrapper)\n }\n\n let mid = await binary_search(previewWrapper, previewData, 1, previewData.length);\n // console.log(mid)\n\n if (mid > 0 && mid < previewData.length) {\n // console.log('文本分页');\n if (previewContext.autoPageIs) {\n await newPage();\n previewContext.currentPreview = element2PreviewWrapper(previewWrapper);\n // previewWrapper.element = previewWrapper\n previewContext.currentPreview.y = previewContext.top;\n // console.log(previewWrapper)\n await autoTextElement(previewData.substring(mid + 1, previewData.length), false);\n return true;\n }\n // data.currentPage.offsetTop = computeBottom({previewWrapper: previewWrapper} as PreviewWrapper)\n }\n\n return false;\n }\n\n async function autoTableRow(\n previewContext: PreviewContext,\n previewDataList: Array<any>,\n index: number,\n tableSource: PreviewWrapper,\n recursionDepth = 0\n ) {\n const MAX_TABLE_RECURSION = 100;\n if (recursionDepth > MAX_TABLE_RECURSION) {\n console.error('[MyPrint] 表格分页递归过深,已中止');\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n return false;\n }\n if (previewDataList == null) {\n previewDataList = [];\n }\n let previewWrapper = previewContext.currentPreview;\n const tableStatisticsSizeEarly = previewWrapper.statisticsList?.length ?? 0;\n if (index >= previewDataList.length + tableStatisticsSizeEarly) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n return false;\n }\n if (previewWrapper.option.tableHeightType == 'AUTO') {\n previewWrapper.heightIs = false;\n }\n\n previewContext.currentPage.previewWrapperList.push(previewWrapper);\n await nextTick();\n const table = previewWrapper.target;\n if (!table) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n return false;\n }\n const tableHeadList = [...previewWrapper.tableHeadList];\n const headList = lastHeadList(tableHeadList);\n const bodyList = previewWrapper.tableBodyList[0];\n if (previewWrapper.statisticsList == null) {\n previewWrapper.statisticsList = [];\n }\n const tableStatisticsList = [...previewWrapper.statisticsList];\n const tableStatisticsSize = tableStatisticsList.length;\n let statisticsListWrapper: Record<number, any[]> = {};\n let tableStaticsListWrapper: Record<number, any[]> = {};\n if (previewWrapper.tableHeadHiddenIs) {\n previewWrapper.tableHeadList.length = 0;\n for (let j = 0; j < bodyList.length; j++) {\n bodyList[j].runtimeOption.width = headList[j].runtimeOption.width;\n }\n\n // 设置第一行的宽度<不然表格宽度有问题\n }\n previewWrapper.tableBodyList.length = 0;\n previewWrapper.statisticsList.length = 0;\n if (index < previewDataList.length) {\n previewTableStatisticsList(tableStatisticsList, previewWrapper.statisticsList, statisticsListWrapper, headList);\n }\n const previewDataTmpList: any[] = [];\n let i = index;\n for (; i < previewDataList.length + tableStatisticsSize; i++) {\n const rowList: TableCellElement[] = [];\n if (i < previewDataList.length) {\n const previewData = previewDataList[i];\n previewDataTmpList.push(previewData);\n // 序号\n if (!previewData['autoIncrement']) {\n previewData['autoIncrement'] = i + 1;\n }\n for (let j = 0; j < headList.length; j++) {\n const head = headList[j];\n bodyList[j].data = previewData[head.field!];\n rowList.push(element2PreviewWrapper(bodyList[j]));\n }\n\n previewWrapper.tableBodyList.push(rowList);\n } else {\n // debugger\n // 计算\n const tableStatisticsIndex = i - previewDataList.length;\n const rowList = [...tableStatisticsList[tableStatisticsIndex]];\n let hasCell = previewRowStatisticsList(rowList, tableStaticsListWrapper, headList, 'tableStatisticsIs');\n if (hasCell) {\n previewWrapper.statisticsList.push(rowList);\n }\n }\n\n await nextTick();\n // console.log(table.height())\n\n const tableBodyEl = table.childNodes[1] as HTMLElement | undefined;\n if (previewWrapper.option.tableHeightType == 'FIXED' && tableBodyEl) {\n // 固定高度\n if (tableBodyEl.clientHeight > unit2px(previewWrapper.height, panel)) {\n const isLastDataRow = i >= previewDataList.length - 1;\n if (i === index && isLastDataRow) {\n // 仅一行或已是最后一行仍超高:本页展示,禁止触发 while 死循环\n } else if (i == index) {\n tableSource.previewTableRowIndex = i + 1;\n previewContext.pagingRepetition = true;\n statisticsData(previewDataTmpList, statisticsListWrapper);\n if (i >= previewDataList.length) {\n statisticsData(previewDataList, tableStaticsListWrapper);\n }\n previewDataTmpList.pop();\n break;\n } else {\n previewWrapper.tableBodyList.pop();\n previewDataTmpList.pop();\n tableSource.previewTableRowIndex = i;\n previewContext.pagingRepetition = true;\n statisticsData(previewDataTmpList, statisticsListWrapper);\n if (i >= previewDataList.length) {\n statisticsData(previewDataList, tableStaticsListWrapper);\n }\n previewDataTmpList.pop();\n break;\n }\n }\n }\n\n if (await isNeedNewPage(unit2px(previewWrapper.y, panel) + table.clientHeight, unit2px(previewContext.bottom, panel))) {\n if (recursionDepth >= 8) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n break;\n }\n // 删除刚才创建的\n previewWrapper.tableBodyList.pop();\n previewDataTmpList.pop();\n // 统计\n statisticsData(previewDataTmpList, statisticsListWrapper);\n previewContext.currentPreview = element2PreviewWrapper(previewWrapper);\n previewWrapper = previewContext.currentPreview;\n if (!previewWrapper.option?.tablePageHeadIs) {\n previewWrapper.tableHeadHiddenIs = true;\n }\n previewWrapper.tableHeadList = [...tableHeadList];\n previewWrapper.statisticsList = [...tableStatisticsList];\n previewWrapper.runtimeOption = parse(stringify(previewWrapper.runtimeOption, 'parent'), {} as RuntimeElementOption);\n previewWrapper.tableBodyList = [bodyList];\n previewWrapper.y = previewContext.top + 1;\n tableSource.previewTableRowIndex = i;\n await autoTableRow(previewContext, previewDataList, i, tableSource, recursionDepth + 1);\n break;\n }\n }\n\n if (i >= previewDataList.length + tableStatisticsSize) {\n previewContext.pagingRepetition = false;\n tableSource.previewTableRowIndex = 0;\n }\n\n if (i >= previewDataList.length) {\n statisticsData(previewDataTmpList, statisticsListWrapper);\n }\n statisticsData(previewDataList, tableStaticsListWrapper);\n }\n\n /**\n * 单位 px\n */\n async function isNeedNewPage(y: number | undefined, bottom: number | undefined, callback?: () => void) {\n\n if (!previewContext.autoPageIs) {\n return false;\n }\n if (previewContext.panel.pageSize == 'AutoHeight') {\n return false;\n }\n\n // 为啥+1\n if (y! > bottom! + 1) {\n if (callback) {\n callback();\n }\n await newPage();\n return true;\n }\n return false;\n }\n\n async function newPage() {\n previewContext.currentPage = reactive({\n id: generateUUID(),\n width: previewContext.panel.width,\n height: previewContext.panel.height,\n offsetTop: 0,\n previewWrapperList: []\n } as any);\n previewContext.pageList.push(previewContext.currentPage);\n previewContext.autoPageIs = true;\n pagesBuffer.push(previewContext.currentPage!);\n // 测量阶段只挂载当前页,避免随页数增长反复全量重绘 measure DOM 导致卡死\n measureList.splice(0, measureList.length, previewContext.currentPage!);\n\n await nextTick();\n // getPanelDiv();\n\n if (previewContext.panel.pageHeader) {\n const preview = element2PreviewWrapper(previewContext.panel.pageHeader);\n previewContext.currentPage!.previewWrapperList!.push(preview);\n previewContext.top = (await computeBottom(preview))!;\n }\n if (previewContext.panel.pageFooter) {\n const preview = element2PreviewWrapper(previewContext.panel.pageFooter);\n previewContext.currentPage!.previewWrapperList!.push(preview);\n previewContext.bottom = (await computeTop(preview))!;\n }\n }\n\n async function computeBottom(previewWrapper: PreviewWrapper) {\n await nextTick();\n if (!previewWrapper.target) {\n return;\n }\n const div = previewWrapper.target;\n // debugger\n return numberUtil.toFixed(px2unit(numberUtil.sumScale(div.offsetTop, div.offsetHeight), panel));\n }\n\n async function computeTop(previewWrapper: PreviewWrapper) {\n await nextTick();\n if (!previewWrapper.target) {\n return;\n }\n const div = previewWrapper.target;\n // console.log(div.offsetTop);\n return numberUtil.toFixed(px2unit(div.offsetTop, panel));\n }\n\n async function computeTextHeight(previewWrapper: PreviewWrapper, previewDataTmp: any) {\n previewWrapper.data = previewDataTmp;\n await nextTick();\n const itemRef = previewWrapper.target;\n // console.log(div)\n if (!itemRef) {\n // debugger\n return;\n }\n const height = previewWrapper.target.clientHeight;\n return previewWrapper.y + px2unit(height, panel) < previewContext.bottom;\n }\n\n async function binary_search(previewWrapper: PreviewWrapper, previewData: string, low: number, height: number): Promise<any> {\n if (low > height) {\n // console.log(\"low > height\")\n return -1;\n }\n const mid = Math.floor((height + low) / 2);\n let isH = await computeTextHeight(previewWrapper, previewData.substring(0, mid + 2));\n let isL = await computeTextHeight(previewWrapper, previewData.substring(0, mid + 1));\n // console.log(data.substring(0, mid + 1))\n // console.log(mid)\n // if (!isH && !isL) {\n // return -1\n // }\n if (isL && !isH) {\n // console.log('返回');\n return mid;\n } else if (!isH) {\n height = mid - 1;\n // console.log('减少', height);\n return binary_search(previewWrapper, previewData, low, height);\n } else if (isL) {\n low = mid + 1;\n // console.log('增加', low);\n return binary_search(previewWrapper, previewData, low, height);\n } else {\n return -1;\n }\n }\n}\n\n\n\n"],"names":["numberUtil","previewElementList","previewContext","previewDataList","rowList"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import _sfc_main from './preview-panel.vue2.mjs';
2
- import '/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=d81330ee&lang.css';
2
+ import '/Users/miro/Desktop/project/myprint/packages/design/src/components/preview/preview-panel.vue?vue&type=style&index=0&scoped=edd49e88&lang.css';
3
3
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
- var previewPanelView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d81330ee"], ["__file", "preview-panel.vue"]]);
5
+ var previewPanelView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-edd49e88"], ["__file", "preview-panel.vue"]]);
6
6
 
7
7
  export { previewPanelView as default };
8
8
  //# sourceMappingURL=preview-panel.vue.mjs.map