@guodun/antdv 1.4.1 → 1.4.3

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 (135) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +304 -293
  2. package/dist/es/components/contract-signing-location/src/coordinates.mjs +23 -23
  3. package/dist/es/components/contract-signing-location/src/location-rules.mjs +20 -10
  4. package/dist/es/components/contract-signing-location/src/page-layout.mjs +12 -9
  5. package/dist/es/components/contract-signing-location/src/template-source.mjs +2 -0
  6. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +208 -180
  7. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.mjs +2 -1
  8. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.mjs +5 -0
  9. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.mjs +690 -0
  10. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.mjs +5 -0
  11. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.mjs +253 -0
  12. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.mjs +5 -0
  13. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.vue.mjs +87 -0
  14. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.mjs +5 -0
  15. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.vue.mjs +98 -0
  16. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.mjs +5 -0
  17. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.mjs +550 -0
  18. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.mjs +5 -0
  19. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.mjs +117 -0
  20. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.mjs +5 -0
  21. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.mjs +96 -0
  22. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +51 -26
  23. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.mjs +56 -33
  24. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.mjs +5 -0
  25. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue.mjs +29 -0
  26. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.mjs +5 -0
  27. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.mjs +179 -0
  28. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.mjs +5 -0
  29. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.mjs +390 -0
  30. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +332 -263
  31. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1442 -2287
  32. package/dist/es/components/pro-contract-template-designer/src/composables/use-auto-pagination.mjs +71 -0
  33. package/dist/es/components/pro-contract-template-designer/src/composables/use-designer-files.mjs +11 -0
  34. package/dist/es/components/pro-contract-template-designer/src/composables/use-draft-cache-session.mjs +111 -0
  35. package/dist/es/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.mjs +79 -0
  36. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +189 -160
  37. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-files.mjs +35 -22
  38. package/dist/es/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.mjs +71 -0
  39. package/dist/es/components/pro-contract-template-designer/src/constants.mjs +71 -10
  40. package/dist/es/components/pro-contract-template-designer/src/extensions/editor-extensions.mjs +1 -0
  41. package/dist/es/components/pro-contract-template-designer/src/utils/block-style.mjs +43 -0
  42. package/dist/es/components/pro-contract-template-designer/src/utils/context-menu-viewport.mjs +13 -0
  43. package/dist/es/components/pro-contract-template-designer/src/utils/editor-state.mjs +7 -0
  44. package/dist/es/components/pro-contract-template-designer/src/utils/page-decorations.mjs +398 -0
  45. package/dist/es/components/pro-contract-template-designer/src/utils/serialize-fingerprint.mjs +6 -0
  46. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +88 -72
  47. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  48. package/dist/es/index.mjs +20 -20
  49. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
  50. package/dist/lib/components/contract-signing-location/src/coordinates.cjs +1 -1
  51. package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -1
  52. package/dist/lib/components/contract-signing-location/src/page-layout.cjs +1 -1
  53. package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -1
  54. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +1 -1
  55. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.cjs +1 -1
  56. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.cjs +1 -0
  57. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.cjs +1 -0
  58. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.cjs +1 -0
  59. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.cjs +1 -0
  60. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.cjs +1 -0
  61. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.vue.cjs +1 -0
  62. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.cjs +1 -0
  63. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.vue.cjs +1 -0
  64. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.cjs +1 -0
  65. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.cjs +1 -0
  66. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.cjs +1 -0
  67. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.cjs +1 -0
  68. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.cjs +1 -0
  69. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.cjs +1 -0
  70. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
  71. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.cjs +1 -1
  72. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.cjs +1 -0
  73. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue.cjs +1 -0
  74. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.cjs +1 -0
  75. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.cjs +1 -0
  76. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.cjs +1 -0
  77. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.cjs +1 -0
  78. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  79. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  80. package/dist/lib/components/pro-contract-template-designer/src/composables/use-auto-pagination.cjs +1 -0
  81. package/dist/lib/components/pro-contract-template-designer/src/composables/use-designer-files.cjs +1 -0
  82. package/dist/lib/components/pro-contract-template-designer/src/composables/use-draft-cache-session.cjs +1 -0
  83. package/dist/lib/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.cjs +1 -0
  84. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
  85. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-files.cjs +2 -2
  86. package/dist/lib/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.cjs +1 -0
  87. package/dist/lib/components/pro-contract-template-designer/src/constants.cjs +1 -1
  88. package/dist/lib/components/pro-contract-template-designer/src/extensions/editor-extensions.cjs +1 -1
  89. package/dist/lib/components/pro-contract-template-designer/src/utils/block-style.cjs +1 -0
  90. package/dist/lib/components/pro-contract-template-designer/src/utils/context-menu-viewport.cjs +1 -0
  91. package/dist/lib/components/pro-contract-template-designer/src/utils/editor-state.cjs +1 -0
  92. package/dist/lib/components/pro-contract-template-designer/src/utils/page-decorations.cjs +1 -0
  93. package/dist/lib/components/pro-contract-template-designer/src/utils/serialize-fingerprint.cjs +1 -0
  94. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +3 -3
  95. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  96. package/dist/lib/index.cjs +1 -1
  97. package/dist/theme/icon.css +1 -1
  98. package/dist/theme/index.css +1 -1
  99. package/dist/types/components/contract-signing-location/src/coordinates.d.ts +2 -2
  100. package/dist/types/components/contract-signing-location/src/page-layout.d.ts +2 -2
  101. package/dist/types/components/contract-signing-location/src/template-source.d.ts +2 -0
  102. package/dist/types/components/contract-signing-location/src/types.d.ts +3 -0
  103. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.d.ts +3 -0
  104. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.d.ts +1 -0
  105. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.d.ts +104 -0
  106. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.d.ts +60 -0
  107. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.vue.d.ts +27 -0
  108. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.vue.d.ts +13 -0
  109. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.d.ts +28 -0
  110. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.d.ts +77 -0
  111. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.d.ts +36 -0
  112. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.d.ts +5 -1
  113. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.d.ts +4 -4
  114. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererToolbar.vue.d.ts +4 -4
  115. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue.d.ts +12 -0
  116. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.d.ts +43 -0
  117. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.d.ts +77 -0
  118. package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +30 -32
  119. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +456 -12
  120. package/dist/types/components/pro-contract-template-designer/src/composables/use-auto-pagination.d.ts +43 -0
  121. package/dist/types/components/pro-contract-template-designer/src/composables/use-designer-files.d.ts +22 -0
  122. package/dist/types/components/pro-contract-template-designer/src/composables/use-draft-cache-session.d.ts +41 -0
  123. package/dist/types/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.d.ts +49 -0
  124. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +15 -1
  125. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-files.d.ts +13 -0
  126. package/dist/types/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.d.ts +19 -0
  127. package/dist/types/components/pro-contract-template-designer/src/constants.d.ts +7 -1
  128. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +89 -0
  129. package/dist/types/components/pro-contract-template-designer/src/utils/block-style.d.ts +4 -0
  130. package/dist/types/components/pro-contract-template-designer/src/utils/context-menu-viewport.d.ts +25 -0
  131. package/dist/types/components/pro-contract-template-designer/src/utils/editor-state.d.ts +8 -0
  132. package/dist/types/components/pro-contract-template-designer/src/utils/page-decorations.d.ts +90 -0
  133. package/dist/types/components/pro-contract-template-designer/src/utils/serialize-fingerprint.d.ts +8 -0
  134. package/dist/types/components/pro-contract-template-designer/src/utils/template-renderer.d.ts +4 -1
  135. package/package.json +3 -3
@@ -0,0 +1,96 @@
1
+ import { DEFAULT_PAGE_SIZE as e } from "./composables/use-template-designer.mjs";
2
+ import t from "./ContractTemplatePreviewPage.mjs";
3
+ import { Fragment as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, normalizeClass as l, openBlock as u, renderList as d, toDisplayString as f, unref as p, withCtx as m } from "vue";
4
+ import { Modal as h } from "ant-design-vue";
5
+ import { FileAddOutlined as g } from "@ant-design/icons-vue";
6
+ //#region src/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue?vue&type=script&setup=true&lang.ts
7
+ var _ = {
8
+ key: 0,
9
+ class: "gd-contract-template-designer__preview-layout"
10
+ }, v = {
11
+ class: "gd-contract-template-designer__preview-file-nav",
12
+ "aria-label": "合同文件预览切换"
13
+ }, y = ["aria-current", "onClick"], b = {
14
+ key: 0,
15
+ class: "gd-contract-template-designer__preview-file"
16
+ }, x = { class: "gd-contract-template-designer__preview-file-title" }, S = /* @__PURE__ */ c({
17
+ __name: "ContractTemplatePreviewModal",
18
+ props: {
19
+ open: { type: Boolean },
20
+ previewPages: {},
21
+ previewFileGroups: {},
22
+ previewActiveGroup: {},
23
+ previewSnapshot: {}
24
+ },
25
+ emits: [
26
+ "update:open",
27
+ "cancel",
28
+ "select-file"
29
+ ],
30
+ setup(c, { emit: S }) {
31
+ let C = S;
32
+ return (S, w) => (u(), r(p(h), {
33
+ open: c.open,
34
+ title: "模板预览",
35
+ width: "min(1440px, calc(100vw - 32px))",
36
+ centered: "",
37
+ footer: null,
38
+ "wrap-class-name": "gd-contract-template-designer__preview-modal",
39
+ "onUpdate:open": w[0] ||= (e) => C("update:open", e),
40
+ onCancel: w[1] ||= (e) => C("cancel")
41
+ }, {
42
+ default: m(() => [o("div", { class: l(["gd-contract-template-designer__preview", { "is-multi-file": c.previewFileGroups.length > 0 }]) }, [c.previewFileGroups.length ? (u(), a("div", _, [o("nav", v, [w[2] ||= o("span", { class: "gd-contract-template-designer__preview-file-nav-title" }, "合同文件", -1), (u(!0), a(n, null, d(c.previewFileGroups, (e) => (u(), a("button", {
43
+ key: e.file.id,
44
+ type: "button",
45
+ class: l(["gd-contract-template-designer__preview-file-tab", { "is-active": e.file.id === c.previewActiveGroup?.file.id }]),
46
+ "aria-current": e.file.id === c.previewActiveGroup?.file.id ? "page" : void 0,
47
+ onClick: (t) => C("select-file", e.file.id)
48
+ }, [
49
+ s(p(g), { "aria-hidden": "true" }),
50
+ o("span", null, f(e.file.name), 1),
51
+ o("small", null, f(e.pages.length) + " 页", 1)
52
+ ], 10, y))), 128))]), c.previewActiveGroup ? (u(), a("section", b, [o("h3", x, f(c.previewActiveGroup.file.name), 1), (u(!0), a(n, null, d(c.previewActiveGroup.pages, (e) => (u(), r(t, {
53
+ key: `${c.previewActiveGroup.file.id}:${e.page.id}`,
54
+ page: e.page,
55
+ "fallback-page-size": c.previewActiveGroup.file.template.pageSize,
56
+ "content-html": e.contentHtml,
57
+ "signing-placements": e.signingPlacements,
58
+ "page-decorations": c.previewActiveGroup.file.template.pageDecorations,
59
+ "page-number": c.previewActiveGroup.pages.indexOf(e) + 1,
60
+ "total-pages": c.previewActiveGroup.pages.length,
61
+ variables: c.previewActiveGroup.file.template.variables
62
+ }, null, 8, [
63
+ "page",
64
+ "fallback-page-size",
65
+ "content-html",
66
+ "signing-placements",
67
+ "page-decorations",
68
+ "page-number",
69
+ "total-pages",
70
+ "variables"
71
+ ]))), 128))])) : i("", !0)])) : (u(!0), a(n, { key: 1 }, d(c.previewPages, (n, i) => (u(), r(t, {
72
+ key: n.page.id,
73
+ page: n.page,
74
+ "fallback-page-size": c.previewSnapshot?.pageSize ?? p(e),
75
+ "content-html": n.contentHtml,
76
+ "signing-placements": n.signingPlacements,
77
+ "page-decorations": c.previewSnapshot?.pageDecorations,
78
+ "page-number": i + 1,
79
+ "total-pages": c.previewPages.length,
80
+ variables: c.previewSnapshot?.variables ?? []
81
+ }, null, 8, [
82
+ "page",
83
+ "fallback-page-size",
84
+ "content-html",
85
+ "signing-placements",
86
+ "page-decorations",
87
+ "page-number",
88
+ "total-pages",
89
+ "variables"
90
+ ]))), 128))], 2)]),
91
+ _: 1
92
+ }, 8, ["open"]));
93
+ }
94
+ });
95
+ //#endregion
96
+ export { S as default };
@@ -1,43 +1,68 @@
1
- import { resolvePageSize as e } from "./composables/use-template-designer.mjs";
2
- import t from "./ContractTemplatePreviewSigningLayer.mjs";
3
- import { computed as n, createElementBlock as r, createElementVNode as i, createVNode as a, defineComponent as o, normalizeStyle as s, openBlock as c } from "vue";
1
+ import { CONTRACT_PAGE_BASE_PADDING as e, getPageDecorationSafePadding as t, hasEnabledPageFooter as n, hasEnabledPageHeader as r, normalizePageDecorations as i } from "./utils/page-decorations.mjs";
2
+ import { resolvePageSize as a } from "./composables/use-template-designer.mjs";
3
+ import o from "./ContractTemplatePageDecorations.mjs";
4
+ import s from "./ContractTemplatePreviewSigningLayer.mjs";
5
+ import { computed as c, createElementBlock as l, createElementVNode as u, createVNode as d, defineComponent as f, normalizeStyle as p, openBlock as m } from "vue";
4
6
  //#region src/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue?vue&type=script&setup=true&lang.ts
5
- var l = { class: "gd-contract-template-designer__preview-page-shell" }, u = [
7
+ var h = { class: "gd-contract-template-designer__preview-page-shell" }, g = [
6
8
  "data-page-id",
7
9
  "data-page-format",
8
10
  "data-page-label",
9
11
  "data-page-width",
10
12
  "data-page-height"
11
- ], d = ["innerHTML"], f = /* @__PURE__ */ o({
13
+ ], _ = ["innerHTML"], v = /* @__PURE__ */ f({
12
14
  name: "ContractTemplatePreviewPage",
13
15
  __name: "ContractTemplatePreviewPage",
14
16
  props: {
15
17
  page: {},
16
18
  fallbackPageSize: {},
17
19
  contentHtml: {},
18
- signingPlacements: {}
20
+ signingPlacements: {},
21
+ pageDecorations: {},
22
+ pageNumber: {},
23
+ totalPages: {},
24
+ variables: {}
19
25
  },
20
- setup(o) {
21
- let f = o, p = n(() => e(f.page.pageSize, f.fallbackPageSize)), m = n(() => ({
22
- width: `${p.value.width}px`,
23
- height: `${p.value.height}px`
24
- }));
25
- return (e, n) => (c(), r("article", l, [i("section", {
26
+ setup(f) {
27
+ let v = f, y = c(() => a(v.page.pageSize, v.fallbackPageSize)), b = c(() => {
28
+ let a = i(v.pageDecorations);
29
+ return {
30
+ width: `${y.value.width}px`,
31
+ height: `${y.value.height}px`,
32
+ paddingTop: `${r(a, v.pageNumber) ? t(a.header) : e.top}px`,
33
+ paddingBottom: `${n(a, v.pageNumber) ? t(a.footer) : e.bottom}px`
34
+ };
35
+ });
36
+ return (e, t) => (m(), l("article", h, [u("section", {
26
37
  class: "gd-contract-template-page gd-contract-template-designer__preview-page",
27
- "data-page-id": o.page.id,
28
- "data-page-format": p.value.format ?? "Custom",
29
- "data-page-label": p.value.label ?? p.value.format ?? "自定义",
30
- "data-page-width": p.value.width,
31
- "data-page-height": p.value.height,
32
- style: s(m.value)
33
- }, [i("div", {
34
- class: "gd-contract-template-designer__preview-page-content",
35
- innerHTML: o.contentHtml
36
- }, null, 8, d), a(t, {
37
- "page-size": p.value,
38
- placements: o.signingPlacements
39
- }, null, 8, ["page-size", "placements"])], 12, u)]));
38
+ "data-page-id": f.page.id,
39
+ "data-page-format": y.value.format ?? "Custom",
40
+ "data-page-label": y.value.label ?? y.value.format ?? "自定义",
41
+ "data-page-width": y.value.width,
42
+ "data-page-height": y.value.height,
43
+ style: p(b.value)
44
+ }, [
45
+ d(o, {
46
+ decorations: f.pageDecorations,
47
+ "page-number": f.pageNumber,
48
+ "total-pages": f.totalPages,
49
+ variables: f.variables
50
+ }, null, 8, [
51
+ "decorations",
52
+ "page-number",
53
+ "total-pages",
54
+ "variables"
55
+ ]),
56
+ u("div", {
57
+ class: "gd-contract-template-page__content gd-contract-template-designer__preview-page-content",
58
+ innerHTML: f.contentHtml
59
+ }, null, 8, _),
60
+ d(s, {
61
+ "page-size": y.value,
62
+ placements: f.signingPlacements
63
+ }, null, 8, ["page-size", "placements"])
64
+ ], 12, g)]));
40
65
  }
41
66
  });
42
67
  //#endregion
43
- export { f as default };
68
+ export { v as default };
@@ -1,15 +1,16 @@
1
- import { computed as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, normalizeStyle as a, openBlock as o, toDisplayString as s } from "vue";
1
+ import { CONTRACT_PAGE_BASE_PADDING as e, getPageDecorationSafePadding as t, hasEnabledPageFooter as n, hasEnabledPageHeader as r, normalizePageDecorations as i } from "./utils/page-decorations.mjs";
2
+ import a from "./ContractTemplatePageDecorations.mjs";
3
+ import { computed as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, normalizeClass as f, normalizeStyle as p, openBlock as m, toDisplayString as h, unref as g } from "vue";
2
4
  //#region src/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue?vue&type=script&setup=true&lang.ts
3
- var c = ["data-render-page-id"], l = {
5
+ var _ = ["data-render-page-id"], v = {
4
6
  key: 0,
5
7
  class: "gd-contract-template-renderer__page-meta"
6
- }, u = [
8
+ }, y = [
7
9
  "data-page-id",
8
10
  "data-page-format",
9
11
  "data-page-width",
10
- "data-page-height",
11
- "innerHTML"
12
- ], d = /* @__PURE__ */ i({
12
+ "data-page-height"
13
+ ], b = ["innerHTML"], x = /* @__PURE__ */ d({
13
14
  name: "ContractTemplateRendererPage",
14
15
  __name: "ContractTemplateRendererPage",
15
16
  props: {
@@ -19,35 +20,57 @@ var c = ["data-render-page-id"], l = {
19
20
  zoom: {},
20
21
  showMeta: { type: Boolean }
21
22
  },
22
- setup(i) {
23
- let d = i, f = e(() => ({
24
- width: `${d.page.width * d.zoom}px`,
25
- height: `${d.page.height * d.zoom}px`
26
- })), p = e(() => ({
27
- width: `${d.page.width}px`,
28
- minHeight: `${d.page.height}px`,
29
- transform: `scale(${d.zoom})`
30
- }));
31
- return (e, d) => (o(), n("article", {
23
+ setup(d) {
24
+ let x = d, S = o(() => ({
25
+ width: `${x.page.width * x.zoom}px`,
26
+ height: `${x.page.height * x.zoom}px`
27
+ })), C = o(() => {
28
+ let a = i(x.page.pageDecorations);
29
+ return {
30
+ width: `${x.page.width}px`,
31
+ minHeight: `${x.page.height}px`,
32
+ paddingTop: `${r(a, x.index + 1) ? t(a.header) : e.top}px`,
33
+ paddingBottom: `${n(a, x.index + 1) ? t(a.footer) : e.bottom}px`,
34
+ transform: `scale(${x.zoom})`
35
+ };
36
+ });
37
+ return (e, t) => (m(), c("article", {
32
38
  class: "gd-contract-template-renderer__page-shell",
33
- "data-render-page-id": i.page.id
34
- }, [i.showMeta ? (o(), n("header", l, [
35
- r("strong", null, "第 " + s(i.index + 1) + " / " + s(i.total) + " 页", 1),
36
- r("span", null, s(i.page.title), 1),
37
- r("small", null, s(i.page.format) + " · " + s(i.page.width) + " × " + s(i.page.height) + " px", 1)
38
- ])) : t("", !0), r("div", {
39
+ "data-render-page-id": d.page.id
40
+ }, [d.showMeta ? (m(), c("header", v, [
41
+ l("strong", null, "第 " + h(d.index + 1) + " / " + h(d.total) + " 页", 1),
42
+ l("span", null, h(d.page.title), 1),
43
+ l("small", null, h(d.page.format) + " · " + h(d.page.width) + " × " + h(d.page.height) + " px", 1)
44
+ ])) : s("", !0), l("div", {
39
45
  class: "gd-contract-template-renderer__page-frame",
40
- style: a(f.value)
41
- }, [r("section", {
42
- class: "gd-contract-template-page",
43
- "data-page-id": i.page.id,
44
- "data-page-format": i.page.format,
45
- "data-page-width": i.page.width,
46
- "data-page-height": i.page.height,
47
- style: a(p.value),
48
- innerHTML: i.page.contentHtml
49
- }, null, 12, u)], 4)], 8, c));
46
+ style: p(S.value)
47
+ }, [l("section", {
48
+ class: f(["gd-contract-template-page", {
49
+ "has-contract-header": g(r)(d.page.pageDecorations, d.index + 1),
50
+ "has-contract-footer": g(n)(d.page.pageDecorations, d.index + 1)
51
+ }]),
52
+ "data-page-id": d.page.id,
53
+ "data-page-format": d.page.format,
54
+ "data-page-width": d.page.width,
55
+ "data-page-height": d.page.height,
56
+ style: p(C.value)
57
+ }, [u(a, {
58
+ decorations: d.page.pageDecorations,
59
+ "page-number": d.index + 1,
60
+ "total-pages": d.total,
61
+ variables: d.page.decorationVariables,
62
+ values: d.page.decorationValues
63
+ }, null, 8, [
64
+ "decorations",
65
+ "page-number",
66
+ "total-pages",
67
+ "variables",
68
+ "values"
69
+ ]), l("div", {
70
+ class: "gd-contract-template-page__content",
71
+ innerHTML: d.page.contentHtml
72
+ }, null, 8, b)], 14, y)], 4)], 8, _));
50
73
  }
51
74
  });
52
75
  //#endregion
53
- export { d as default };
76
+ export { x as default };
@@ -0,0 +1,5 @@
1
+ import e from "./ContractTemplateSubmitDataModal.vue.mjs";
2
+ //#region src/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,29 @@
1
+ import { createBlock as e, createElementVNode as t, defineComponent as n, openBlock as r, toDisplayString as i, unref as a, withCtx as o } from "vue";
2
+ import { Modal as s } from "ant-design-vue";
3
+ //#region src/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue?vue&type=script&setup=true&lang.ts
4
+ var c = { class: "gd-contract-template-designer__submit-data" }, l = /* @__PURE__ */ n({
5
+ __name: "ContractTemplateSubmitDataModal",
6
+ props: {
7
+ open: { type: Boolean },
8
+ json: {}
9
+ },
10
+ emits: ["update:open", "cancel"],
11
+ setup(n, { emit: l }) {
12
+ let u = l;
13
+ return (l, d) => (r(), e(a(s), {
14
+ open: n.open,
15
+ title: "提交数据查看",
16
+ width: "min(960px, calc(100vw - 48px))",
17
+ centered: "",
18
+ footer: null,
19
+ "wrap-class-name": "gd-contract-template-designer__submit-data-modal",
20
+ "onUpdate:open": d[0] ||= (e) => u("update:open", e),
21
+ onCancel: d[1] ||= (e) => u("cancel")
22
+ }, {
23
+ default: o(() => [t("pre", c, i(n.json), 1)]),
24
+ _: 1
25
+ }, 8, ["open"]));
26
+ }
27
+ });
28
+ //#endregion
29
+ export { l as default };
@@ -0,0 +1,5 @@
1
+ import e from "./ContractTemplateTextBubbleMenu.vue.mjs";
2
+ //#region src/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,179 @@
1
+ import { Fragment as e, createBlock as t, createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, normalizeClass as o, normalizeStyle as s, openBlock as c, ref as l, renderList as u, resolveDynamicComponent as d, unref as f, withCtx as p } from "vue";
2
+ import { Button as m, Select as h, Tooltip as g } from "ant-design-vue";
3
+ import { AlignCenterOutlined as _, AlignLeftOutlined as v, AlignRightOutlined as y, BoldOutlined as b, ClearOutlined as x, EllipsisOutlined as S, ItalicOutlined as C, UnderlineOutlined as w } from "@ant-design/icons-vue";
4
+ //#region src/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue?vue&type=script&setup=true&lang.ts
5
+ var T = ["value"], E = /* @__PURE__ */ a({
6
+ name: "ContractTemplateTextBubbleMenu",
7
+ __name: "ContractTemplateTextBubbleMenu",
8
+ props: {
9
+ x: {},
10
+ y: {},
11
+ editorState: {},
12
+ fontSizePresetOptions: {},
13
+ currentEditorFontSize: {},
14
+ editorFontSizeSearchValue: {},
15
+ currentEditorTextColor: {},
16
+ textAlignOptions: {}
17
+ },
18
+ emits: [
19
+ "command",
20
+ "patch-font-size",
21
+ "patch-text-align",
22
+ "patch-color",
23
+ "font-size-search",
24
+ "font-size-commit",
25
+ "font-size-dropdown-change",
26
+ "font-size-keydown",
27
+ "more"
28
+ ],
29
+ setup(a, { expose: E, emit: D }) {
30
+ let O = D, k = {
31
+ left: v,
32
+ center: _,
33
+ right: y
34
+ }, A = l();
35
+ function j(e) {
36
+ let t = e.currentTarget?.getBoundingClientRect();
37
+ O("more", t?.left ?? e.clientX, t?.bottom ?? e.clientY);
38
+ }
39
+ return E({ getMenuElement: () => A.value }), (l, _) => (c(), n("div", {
40
+ ref_key: "menuElement",
41
+ ref: A,
42
+ class: "gd-contract-template-designer__bubble-menu",
43
+ style: s({
44
+ left: `${a.x}px`,
45
+ top: `${a.y}px`
46
+ }),
47
+ role: "toolbar",
48
+ "aria-label": "选区格式工具条"
49
+ }, [
50
+ i(f(g), { title: "加粗" }, {
51
+ default: p(() => [i(f(m), {
52
+ size: "small",
53
+ class: o(["gd-contract-template-designer__icon-button", { "is-selected": a.editorState.isBold }]),
54
+ "aria-pressed": a.editorState.isBold,
55
+ "aria-label": "加粗",
56
+ onClick: _[0] ||= (e) => O("command", { type: "toggle-bold" })
57
+ }, {
58
+ default: p(() => [i(f(b), { "aria-hidden": "true" })]),
59
+ _: 1
60
+ }, 8, ["class", "aria-pressed"])]),
61
+ _: 1
62
+ }),
63
+ i(f(g), { title: "斜体" }, {
64
+ default: p(() => [i(f(m), {
65
+ size: "small",
66
+ class: o(["gd-contract-template-designer__icon-button", { "is-selected": a.editorState.isItalic }]),
67
+ "aria-pressed": a.editorState.isItalic,
68
+ "aria-label": "斜体",
69
+ onClick: _[1] ||= (e) => O("command", { type: "toggle-italic" })
70
+ }, {
71
+ default: p(() => [i(f(C), { "aria-hidden": "true" })]),
72
+ _: 1
73
+ }, 8, ["class", "aria-pressed"])]),
74
+ _: 1
75
+ }),
76
+ i(f(g), { title: "下划线" }, {
77
+ default: p(() => [i(f(m), {
78
+ size: "small",
79
+ class: o(["gd-contract-template-designer__icon-button", { "is-selected": a.editorState.isUnderline }]),
80
+ "aria-pressed": a.editorState.isUnderline,
81
+ "aria-label": "下划线",
82
+ onClick: _[2] ||= (e) => O("command", { type: "toggle-underline" })
83
+ }, {
84
+ default: p(() => [i(f(w), { "aria-hidden": "true" })]),
85
+ _: 1
86
+ }, 8, ["class", "aria-pressed"])]),
87
+ _: 1
88
+ }),
89
+ _[10] ||= r("span", {
90
+ class: "gd-contract-template-designer__bubble-divider",
91
+ "aria-hidden": "true"
92
+ }, null, -1),
93
+ i(f(h), {
94
+ class: "gd-contract-template-designer__bubble-font-size",
95
+ "popup-class-name": "gd-contract-template-designer__bubble-menu-popup",
96
+ value: a.currentEditorFontSize,
97
+ options: a.fontSizePresetOptions,
98
+ "show-search": "",
99
+ "filter-option": !1,
100
+ "search-value": a.editorFontSizeSearchValue,
101
+ size: "small",
102
+ onBlur: _[3] ||= (e) => O("font-size-commit"),
103
+ onChange: _[4] ||= (e) => O("patch-font-size", e),
104
+ onDropdownVisibleChange: _[5] ||= (e) => O("font-size-dropdown-change", e),
105
+ onInputKeyDown: _[6] ||= (e) => O("font-size-keydown", e),
106
+ onSearch: _[7] ||= (e) => O("font-size-search", e)
107
+ }, null, 8, [
108
+ "value",
109
+ "options",
110
+ "search-value"
111
+ ]),
112
+ i(f(g), { title: "文字颜色" }, {
113
+ default: p(() => [r("input", {
114
+ class: "gd-contract-template-designer__bubble-color",
115
+ type: "color",
116
+ "aria-label": "文字颜色",
117
+ value: a.currentEditorTextColor,
118
+ onInput: _[8] ||= (e) => O("patch-color", e.target.value)
119
+ }, null, 40, T)]),
120
+ _: 1
121
+ }),
122
+ _[11] ||= r("span", {
123
+ class: "gd-contract-template-designer__bubble-divider",
124
+ "aria-hidden": "true"
125
+ }, null, -1),
126
+ (c(!0), n(e, null, u(a.textAlignOptions, (e) => (c(), t(f(g), {
127
+ key: e.value,
128
+ title: e.label
129
+ }, {
130
+ default: p(() => [i(f(m), {
131
+ size: "small",
132
+ class: o(["gd-contract-template-designer__icon-button", { "is-selected": a.editorState.textAlign === e.value }]),
133
+ "aria-pressed": a.editorState.textAlign === e.value,
134
+ "aria-label": e.label,
135
+ onClick: (t) => O("patch-text-align", e.value)
136
+ }, {
137
+ default: p(() => [(c(), t(d(k[e.value]), { "aria-hidden": "true" }))]),
138
+ _: 2
139
+ }, 1032, [
140
+ "class",
141
+ "aria-pressed",
142
+ "aria-label",
143
+ "onClick"
144
+ ])]),
145
+ _: 2
146
+ }, 1032, ["title"]))), 128)),
147
+ _[12] ||= r("span", {
148
+ class: "gd-contract-template-designer__bubble-divider",
149
+ "aria-hidden": "true"
150
+ }, null, -1),
151
+ i(f(g), { title: "清除文字格式" }, {
152
+ default: p(() => [i(f(m), {
153
+ size: "small",
154
+ class: "gd-contract-template-designer__icon-button",
155
+ "aria-label": "清除文字格式",
156
+ onClick: _[9] ||= (e) => O("command", { type: "clear-text-format" })
157
+ }, {
158
+ default: p(() => [i(f(x), { "aria-hidden": "true" })]),
159
+ _: 1
160
+ })]),
161
+ _: 1
162
+ }),
163
+ i(f(g), { title: "更多操作" }, {
164
+ default: p(() => [i(f(m), {
165
+ size: "small",
166
+ class: "gd-contract-template-designer__icon-button",
167
+ "aria-label": "更多操作",
168
+ onClick: j
169
+ }, {
170
+ default: p(() => [i(f(S), { "aria-hidden": "true" })]),
171
+ _: 1
172
+ })]),
173
+ _: 1
174
+ })
175
+ ], 4));
176
+ }
177
+ });
178
+ //#endregion
179
+ export { E as default };
@@ -0,0 +1,5 @@
1
+ import e from "./ContractTemplateTextContextMenu.vue.mjs";
2
+ //#region src/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };