@guodun/antdv 1.4.3 → 1.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +85 -85
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +1 -1
- package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.vue.mjs +66 -13
- package/dist/es/components/contract-signing-location/src/constants.mjs +27 -17
- package/dist/es/components/contract-signing-location/src/location-rules.mjs +2 -2
- package/dist/es/components/contract-signing-location/src/template-source.mjs +52 -36
- package/dist/es/components/contract-signing-location/style/index.css +1 -1
- package/dist/es/components/dept-selector/src/dept.mjs +170 -142
- package/dist/es/components/index.mjs +2 -1
- package/dist/es/components/pro-contract-template-designer/index.mjs +2 -1
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +372 -185
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.mjs +59 -42
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +4 -4
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +218 -85
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.mjs +97 -0
- package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +50 -50
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +948 -887
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.mjs +550 -245
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +225 -150
- package/dist/es/components/pro-contract-template-designer/src/extensions/template-variable.mjs +53 -35
- package/dist/es/components/pro-contract-template-designer/src/types.mjs +15 -2
- package/dist/es/components/pro-contract-template-designer/src/utils/advanced-controls.mjs +91 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/page-decorations.mjs +17 -17
- package/dist/es/components/pro-contract-template-designer/src/utils/signing-placement.mjs +14 -14
- package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +168 -137
- package/dist/es/components/pro-contract-template-designer/src/utils/template-tool-icons.mjs +23 -16
- package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/es/components/pro-selector/src/components/org-tree.mjs +130 -89
- package/dist/es/components/pro-selector/src/components/user.mjs +34 -26
- package/dist/es/components/pro-selector/src/pro-user.mjs +86 -72
- package/dist/es/components/pro-selector/src/types.mjs +4 -1
- package/dist/es/components/pro-selector/src/utils/orgTree.mjs +5 -2
- package/dist/es/components/pro-selector-group/src/compoents/dept-tree.vue.mjs +92 -65
- package/dist/es/components/pro-selector-group/src/compoents/dept.vue.mjs +3 -3
- package/dist/es/components/pro-selector-group/src/compoents/role.vue.mjs +98 -73
- package/dist/es/components/pro-selector-group/src/compoents/select-box.vue.mjs +12 -9
- package/dist/es/components/pro-selector-group/src/compoents/user.vue.mjs +101 -72
- package/dist/es/components/pro-selector-group/src/hooks/useApi.mjs +39 -22
- package/dist/es/components/pro-selector-group/src/index.vue.mjs +105 -83
- package/dist/es/components/pro-selector-group/src/utils/index.mjs +36 -0
- package/dist/es/components/role-selector/src/role.mjs +134 -120
- package/dist/es/index.mjs +50 -49
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/constants.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -1
- package/dist/lib/components/contract-signing-location/style/index.css +1 -1
- package/dist/lib/components/dept-selector/src/dept.cjs +1 -1
- package/dist/lib/components/index.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +2 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
- package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
- package/dist/lib/components/pro-contract-template-designer/src/extensions/template-variable.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/types.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/advanced-controls.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/page-decorations.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/signing-placement.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +3 -3
- package/dist/lib/components/pro-contract-template-designer/src/utils/template-tool-icons.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/lib/components/pro-selector/src/components/org-tree.cjs +1 -1
- package/dist/lib/components/pro-selector/src/components/user.cjs +1 -1
- package/dist/lib/components/pro-selector/src/pro-user.cjs +1 -1
- package/dist/lib/components/pro-selector/src/types.cjs +1 -1
- package/dist/lib/components/pro-selector/src/utils/orgTree.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/compoents/dept-tree.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/compoents/dept.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/compoents/role.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/compoents/select-box.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/compoents/user.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/hooks/useApi.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/index.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/utils/index.cjs +1 -0
- package/dist/lib/components/role-selector/src/role.cjs +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/theme/contract-signing-location.css +1 -1
- package/dist/theme/dept-selector.css +1 -1
- package/dist/theme/icon.css +1 -1
- package/dist/theme/index.css +1 -1
- package/dist/theme/pro-selector-group.css +1 -1
- package/dist/theme/pro-selector.css +1 -1
- package/dist/theme/role-selector.css +1 -1
- package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +3 -3
- package/dist/types/components/contract-signing-location/src/ContractSigningTemplatePage.vue.d.ts +3 -1
- package/dist/types/components/contract-signing-location/src/constants.d.ts +18 -0
- package/dist/types/components/contract-signing-location/src/coordinates.d.ts +6 -0
- package/dist/types/components/contract-signing-location/src/template-source.d.ts +17 -0
- package/dist/types/components/pro-contract-template-designer/index.d.ts +1 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.d.ts +1 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.d.ts +3 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.d.ts +7 -1
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.d.ts +14 -0
- package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +13 -1
- package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.d.ts +11 -1
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +4 -0
- package/dist/types/components/pro-contract-template-designer/src/extensions/template-variable.d.ts +11 -1
- package/dist/types/components/pro-contract-template-designer/src/types.d.ts +131 -2
- package/dist/types/components/pro-contract-template-designer/src/utils/advanced-controls.d.ts +15 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/template-renderer.d.ts +10 -2
- package/dist/types/components/pro-selector/index.d.ts +9 -0
- package/dist/types/components/pro-selector/src/components/user.d.ts +9 -0
- package/dist/types/components/pro-selector/src/types.d.ts +2 -0
- package/dist/types/components/pro-selector/src/utils/orgTree.d.ts +4 -1
- package/dist/types/components/pro-selector-group/src/compoents/select-box.vue.d.ts +4 -4
- package/dist/types/components/pro-selector-group/src/hooks/useApi.d.ts +6 -1
- package/dist/types/components/pro-selector-group/src/utils/index.d.ts +8 -0
- package/package.json +5 -1
package/dist/es/index.mjs
CHANGED
|
@@ -29,52 +29,53 @@ import D from "./components/pro-upload/index.mjs";
|
|
|
29
29
|
import O from "./components/pro-loading/src/pro-loading.mjs";
|
|
30
30
|
import k from "./components/plus-upload/index.mjs";
|
|
31
31
|
import A from "./components/pro-overlay/index.mjs";
|
|
32
|
-
import { GTE_ORGTREE_URL as j, UserSelectorProps as M,
|
|
33
|
-
import
|
|
34
|
-
import
|
|
35
|
-
import { useUserSelector as
|
|
36
|
-
import { GdAntUserSelector as
|
|
37
|
-
import
|
|
38
|
-
import { GTE_OPTIONS_URL as
|
|
39
|
-
import
|
|
40
|
-
import { GET_DEPT_TREE_URL as
|
|
41
|
-
import
|
|
42
|
-
import { MENU_TREE_URL as
|
|
43
|
-
import
|
|
44
|
-
import { ProTagGroupProps as
|
|
45
|
-
import
|
|
46
|
-
import { FORM_RENDER_CONTEXT_KEY as
|
|
47
|
-
import
|
|
48
|
-
import { PRO_CELL_GROUP_KEY as
|
|
49
|
-
import
|
|
50
|
-
import
|
|
51
|
-
import { selectContextKey as
|
|
52
|
-
import
|
|
53
|
-
import
|
|
54
|
-
import { DRAWER_SIZE_WIDTH as
|
|
55
|
-
import
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import
|
|
69
|
-
import
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import
|
|
73
|
-
import
|
|
74
|
-
import {
|
|
75
|
-
import
|
|
76
|
-
import
|
|
77
|
-
import {
|
|
78
|
-
import
|
|
79
|
-
import {
|
|
80
|
-
|
|
32
|
+
import { GTE_ORGTREE_URL as j, UserSelectorProps as M, resolveUserSelectorMaxCount as N, selectUserContextKey as P, userSelectorEmits as F } from "./components/pro-selector/src/types.mjs";
|
|
33
|
+
import I from "./components/pro-selector/src/components/user.mjs";
|
|
34
|
+
import L from "./components/pro-selector/src/pro-user.mjs";
|
|
35
|
+
import { useUserSelector as R } from "./components/pro-selector/src/hooks/useUserSelector.mjs";
|
|
36
|
+
import { GdAntUserSelector as z, GdAntUserSelectorCheckbox as B } from "./components/pro-selector/index.mjs";
|
|
37
|
+
import V, { GdAntProUserAvatar as H } from "./components/pro-user-avatar/index.mjs";
|
|
38
|
+
import { GTE_OPTIONS_URL as U, roleSelectorEmits as W, roleSelectorProps as G } from "./components/role-selector/src/types.mjs";
|
|
39
|
+
import K, { GdAntProRoleSelector as q } from "./components/role-selector/index.mjs";
|
|
40
|
+
import { GET_DEPT_TREE_URL as J, deptSelectorEmits as Y, deptSelectorProps as X } from "./components/dept-selector/src/types.mjs";
|
|
41
|
+
import Z from "./components/dept-selector/index.mjs";
|
|
42
|
+
import { MENU_TREE_URL as re, proMenuTreeEmits as ie, proMenuTreeProps as ae } from "./components/pro-menu-tree/src/types.mjs";
|
|
43
|
+
import oe from "./components/pro-menu-tree/index.mjs";
|
|
44
|
+
import { ProTagGroupProps as se } from "./components/pro-tag-group/src/types.mjs";
|
|
45
|
+
import ce from "./components/pro-tag-group/index.mjs";
|
|
46
|
+
import { FORM_RENDER_CONTEXT_KEY as le, FormItemProps as ue, FormRenderProps as de } from "./components/pro-form-render/src/types.mjs";
|
|
47
|
+
import fe from "./components/pro-form-render/index.mjs";
|
|
48
|
+
import { PRO_CELL_GROUP_KEY as pe } from "./components/pro-cell-group/src/types.mjs";
|
|
49
|
+
import me from "./components/pro-cell/index.mjs";
|
|
50
|
+
import he from "./components/pro-cell-group/index.mjs";
|
|
51
|
+
import { selectContextKey as ge } from "./components/pro-selector-group/src/types.mjs";
|
|
52
|
+
import _e from "./components/pro-selector-group/index.mjs";
|
|
53
|
+
import ve from "./components/pro-dynamic-tags/index.mjs";
|
|
54
|
+
import { DRAWER_SIZE_WIDTH as ye } from "./components/pro-drawer/src/types.mjs";
|
|
55
|
+
import be from "./components/pro-drawer/index.mjs";
|
|
56
|
+
import { CONTRACT_TEXT_STYLE_PRESETS as xe, CONTRACT_TEXT_STYLE_PRESET_COMMANDS as Se, DEFAULT_CONTRACT_FONT_FAMILY as Ce, DEFAULT_FONT_FAMILY_OPTIONS as we, DEFAULT_FONT_SIZE_PRESETS as Te, DEFAULT_TEXT_ALIGN_OPTIONS as Ee, getContractTextStylePreset as De, normalizeFontFamilyValue as Oe, resolveContractTextStylePresetCommands as ke, resolveFontFamilyOptions as Ae } from "./components/pro-contract-template-designer/src/constants.mjs";
|
|
57
|
+
import { CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX as je, CONTRACT_SIGNING_CSS_PX_PER_POINT as Me, CONTRACT_SIGNING_MIN_PLACEMENT_SIZE as Ne, CONTRACT_SIGNING_PLACEMENT_LABELS as Pe, CONTRACT_SIGNING_PLACEMENT_MIME as Fe, CONTRACT_SIGNING_PREVIEW_CONCURRENCY as Ie, CONTRACT_SIGNING_PX_PER_MM as Le, CONTRACT_SIGNING_SEAL_MAX_SIZE as Re, CONTRACT_SIGNING_SEAL_MIN_SIZE as ze, CONTRACT_SIGNING_SEAL_TYPE_OPTIONS as Q, CONTRACT_SIGNING_SEAL_TYPE_PRESETS as Be, CONTRACT_SIGNING_SIZE_PROFILES as Ve, CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS as He, millimetersToContractSigningCssPixels as Ue, millimetersToContractSigningPixels as We, resolveContractSigningSealSizeInCssPixels as Ge, resolveContractSigningSealSizeInPixels as Ke, resolveContractSigningSealTypeOption as qe, toContractSigningRulePageSize as Je } from "./components/contract-signing-location/src/constants.mjs";
|
|
58
|
+
import { CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET as Ye, CONTRACT_SIGNING_SNAP_THRESHOLD_PX as Xe, canResizeContractSigningPlacement as Ze, clampContractSigningPlacement as Qe, clampContractSigningZoom as $e, displayPointToContractPoint as et, getContractSigningPlacementDistances as tt, getContractSigningPlacementSize as nt, getContractSigningRuleGeometry as rt, moveContractSigningPlacementByDisplayDelta as it, normalizeContractSigningCoordinateDimension as at, normalizeContractSigningCoordinateScale as ot, resizeContractSigningSealGeometry as st, resolveContractSigningSealSizeLimit as ct, resolveContractSigningSizeProfile as lt, snapContractSigningPlacement as ut } from "./components/contract-signing-location/src/coordinates.mjs";
|
|
59
|
+
import { isContractTemplateAdvancedChoiceFieldType as dt, isContractTemplateBuiltinSelectorFieldType as ft, isContractTemplateFieldType as pt } from "./components/pro-contract-template-designer/src/types.mjs";
|
|
60
|
+
import { ContractTemplateLocationRuleBuildError as mt, SIGNING_PLACEMENT_DEFAULT_SIZES as ht, SIGNING_PLACEMENT_MIME as gt, SIGNING_PLACEMENT_MIN_SIZE as _t, SIGNING_PLACEMENT_TYPE_LABELS as vt, applySigningPlacementPatch as yt, buildContractLocationRules as bt, buildSigningPlacementLocationRules as xt, canMutateSigningPlacements as St, clampSigningPlacement as Ct, createSigningPlacement as wt, getSigningPlacementDefaultSize as Tt, getSigningPlacementTypeLabel as Et, moveSigningPlacementByDisplayDelta as Dt, normalizeSigningPlacements as Ot, parseSigningPlacementDragPayload as kt, resizeSigningPlacement as At, resolveSigningPlacementToolItems as jt, scaleSigningPlacementToPage as Mt, serializeSigningPlacementDragPayload as Nt, validateSigningPlacements as Pt } from "./components/pro-contract-template-designer/src/utils/signing-placement.mjs";
|
|
61
|
+
import { decodeContractTemplateJsonAttribute as Ft, encodeContractTemplateJsonAttribute as It, formatContractTemplateRenderValue as Lt, isAllowedContractTemplateRemoteUrl as Rt, isContractTemplateSelectionValue as zt, normalizeContractTemplateControlOptions as Bt, normalizeContractTemplateJsonObject as Vt, normalizeContractTemplateRequestTimeout as Ht, normalizeContractTemplateSelectionValue as Ut, normalizeContractTemplateSelectionValues as Wt } from "./components/pro-contract-template-designer/src/utils/advanced-controls.mjs";
|
|
62
|
+
import { ALL_DEFAULT_FIELD_TYPES as Gt, CONTRACT_TEMPLATE_RENDERER_VERSION as Kt, CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS as qt, CONTRACT_TEMPLATE_STYLE_VERSION as Jt, CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN as Yt, ContractTemplatePageDecorationValidationError as Xt, DEFAULT_ADVANCED_CHOICE_FIELD_TYPES as Zt, DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES as Qt, DEFAULT_CUSTOM_FIELD_TYPES as $t, DEFAULT_FIELD_STYLE as en, DEFAULT_FIELD_TYPES as tn, DEFAULT_MULTILINE_LINE_HEIGHT as nn, DEFAULT_MULTILINE_ROWS as rn, DEFAULT_PAGE_SIZE as an, PAGE_SIZE_OPTIONS as on, buildTemplateExpressionHtml as sn, buildTemplateHtml as cn, buildTemplatePreviewHtml as ln, buildTemplatePreviewPages as un, cloneTemplateValue as dn, collectTemplateLocationRuleExportErrors as fn, collectTemplateValueVariableKeys as pn, collectTemplateVariableKeys as mn, constrainTemplatePageSizes as hn, createBlankPage as gn, createBlankTemplate as _n, createDefaultPage as vn, createDefaultTemplate as yn, createDesignerId as $, createTemplateVariable as bn, exportTemplateValue as xn, findPageSizeOption as Sn, getFieldOption as Cn, getPageSizeKey as wn, getPageSizeOption as Tn, inferPageFormat as En, normalizeContractTemplateMaxPages as Dn, normalizePageSizeOptions as On, normalizeTemplateValue as kn, resolvePageSize as An, splitPageContentByMeasurements as jn, syncTemplateVariablesWithPages as Mn, validateContractTemplateVariableKey as Nn, validateTemplateValue as Pn } from "./components/pro-contract-template-designer/src/composables/use-template-designer.mjs";
|
|
63
|
+
import { isSafeContractImageUrl as Fn } from "./components/pro-contract-template-designer/src/utils/image-url.mjs";
|
|
64
|
+
import { buildInitialRenderValues as In, buildTemplateRenderHtml as Ln, buildTemplateRenderPages as Rn, buildTemplateVariableData as zn, isEmptyRenderValue as Bn, normalizeRenderValues as Vn, resolveTemplateRenderSubmitErrors as Hn, sanitizeContractRendererHtml as Un, validateTemplateRenderStructure as Wn, validateTemplateRenderValues as Gn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
|
|
65
|
+
import { buildContractSigningTemplateRenderPages as Kn, getContractSigningTemplateDisplayError as qn, isContractSigningTemplateFile as Jn, isContractSigningTemplateSource as Yn, validateContractSigningTemplateFile as Xn } from "./components/contract-signing-location/src/template-source.mjs";
|
|
66
|
+
import { ContractSigningLocationBuildError as Zn, buildContractSigningLocationOutput as Qn, buildContractSigningLocationRules as $n, cloneContractSigningLocationValue as er, createContractSigningLocationValue as tr, createContractSigningPlacement as nr, findContractSigningPage as rr, getContractSigningHomePage as ir, isContractSigningPageUsable as ar, normalizeContractSigningLocationValue as or, normalizeContractSigningProviderValue as sr, patchContractSigningPlacement as cr, resolveContractSigningPreviewPageSize as lr, validateContractSigningLocationValue as ur } from "./components/contract-signing-location/src/location-rules.mjs";
|
|
67
|
+
import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as dr, CONTRACT_SIGNING_PAGE_GAP as fr, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as pr, buildPageLayouts as mr, contentPointToPagePoint as hr, findPageAtOffset as gr, getContractSigningAutoScrollDelta as _r, getPageLayoutScrollTop as vr, getPageLayoutsContentSize as yr, getVisibleRange as br } from "./components/contract-signing-location/src/page-layout.mjs";
|
|
68
|
+
import { formatContractSigningDate as xr, getContractSigningDateDataUrl as Sr, getContractSigningDateSvgDataUrl as Cr, getContractSigningPlacementDataUrl as wr, getContractSigningPlacementVisual as Tr, getContractSigningSealDataUrl as Er, getContractSigningSealLabel as Dr, getContractSigningSealSvgDataUrl as Or, getContractSigningSignatureDataUrl as kr, getContractSigningSignaturePngDataUrl as Ar, getContractSigningSignatureSvgDataUrl as jr, isContractSigningVisualDataUrl as Mr, isSafeContractSigningVisualDataUrl as Nr, resolveContractSigningSealLabel as Pr, toContractSigningSvgDataUrl as Fr } from "./components/contract-signing-location/src/signing-visuals.mjs";
|
|
69
|
+
import Ir from "./components/contract-signing-location/index.mjs";
|
|
70
|
+
import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as Lr, MAX_CONTRACT_IMAGE_BYTES as Rr, MAX_CONTRACT_IMAGE_DIMENSION as zr, MIN_CONTRACT_IMAGE_DIMENSION as Br, compressContractImage as Vr, normalizeContractImageCompression as Hr, normalizeContractImageDimension as Ur, processContractImageFile as Wr, readContractImageFileAsDataUrl as Gr, resolveContractImageResizeDimensions as Kr } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
|
|
71
|
+
import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as qr, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as Jr, DEFAULT_DRAFT_CACHE_INTERVAL as Yr, DEFAULT_DRAFT_CACHE_KEY as Xr, DEFAULT_DRAFT_CACHE_MAX_BYTES as Zr, clearTemplateDraftCache as Qr, createDraftCacheStatus as $r, estimateDraftCacheBytes as ei, formatDraftCacheSavedAt as ti, getBrowserDraftCacheStorage as ni, isBlankTemplateDraftValue as ri, isBlankTemplateFilesDraftValue as ii, loadTemplateDraftCache as ai, loadTemplateFilesDraftCache as oi, saveTemplateDraftCache as si, saveTemplateFilesDraftCache as ci } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
|
|
72
|
+
import { cloneContractTemplateFiles as li, constrainContractTemplateFiles as ui, createContractTemplateFile as di, exportContractTemplateFiles as fi, moveContractTemplateFile as pi, normalizeContractTemplateFiles as mi, removeContractTemplateFile as hi, renameContractTemplateFile as gi, replaceContractTemplateFile as _i, resolveContractTemplateActiveFileId as vi } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
|
|
73
|
+
import yi, { GdAntProContractTemplateRenderer as bi } from "./components/pro-contract-template-designer/index.mjs";
|
|
74
|
+
import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as xi, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as Si, CONTRACT_SIGNING_FLOW_MAX_ZOOM as Ci, CONTRACT_SIGNING_FLOW_MIN_ZOOM as wi, CONTRACT_SIGNING_FLOW_SEAL_TYPES as Ti, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as Ei, CONTRACT_SIGNING_FLOW_ZOOM_STEP as Di, isContractSigningFlowInteractiveTarget as Oi, normalizeContractSigningFlowZoom as ki, resolveContractSigningFlowZoomShortcut as Ai, resolveContractSigningFlowZoomShortcutForTarget as ji } from "./components/pro-contract-signing-flow/src/constants.mjs";
|
|
75
|
+
import { buildConnectList as Mi, createDefaultSignRule as Ni, createEndNode as Pi, createId as Fi, createInitialFlow as Ii, createSignNode as Li, createStartNode as Ri, normalizeContractSigningFlow as zi, normalizeSignRule as Bi, useContractSigningFlow as Vi, validateContractSigningFlow as Hi } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
|
|
76
|
+
import Ui from "./components/pro-contract-signing-flow/index.mjs";
|
|
77
|
+
import { useContractTemplateAgent as Wi } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
|
|
78
|
+
import { adaptContractTemplateAgentSpec as Gi } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
|
|
79
|
+
import Ki, { GdAntProContractTemplateAgentPanel as qi, GdAntProContractTemplateAgentPreview as Ji } from "./components/pro-contract-template-agent/index.mjs";
|
|
80
|
+
import { setupAppConfig as Yi, useBasicAppConfig as Xi } from "./components/hooks/use-basic-app-config.mjs";
|
|
81
|
+
export { Gt as ALL_DEFAULT_FIELD_TYPES, je as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, Me as CONTRACT_SIGNING_CSS_PX_PER_POINT, dr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, xi as CONTRACT_SIGNING_FLOW_ACTION_LABELS, Si as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, Ci as CONTRACT_SIGNING_FLOW_MAX_ZOOM, wi as CONTRACT_SIGNING_FLOW_MIN_ZOOM, Ti as CONTRACT_SIGNING_FLOW_SEAL_TYPES, Ei as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, Di as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ne as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, fr as CONTRACT_SIGNING_PAGE_GAP, Pe as CONTRACT_SIGNING_PLACEMENT_LABELS, Fe as CONTRACT_SIGNING_PLACEMENT_MIME, Ie as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Le as CONTRACT_SIGNING_PX_PER_MM, Ye as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, Re as CONTRACT_SIGNING_SEAL_MAX_SIZE, ze as CONTRACT_SIGNING_SEAL_MIN_SIZE, Q as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, Be as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, Ve as CONTRACT_SIGNING_SIZE_PROFILES, Xe as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, pr as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, He as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, qr as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Jr as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, Kt as CONTRACT_TEMPLATE_RENDERER_VERSION, qt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Jt as CONTRACT_TEMPLATE_STYLE_VERSION, Yt as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, xe as CONTRACT_TEXT_STYLE_PRESETS, Se as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, Zn as ContractSigningLocationBuildError, mt as ContractTemplateLocationRuleBuildError, Xt as ContractTemplatePageDecorationValidationError, l as CoverScrollbarProps, Zt as DEFAULT_ADVANCED_CHOICE_FIELD_TYPES, Qt as DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES, Ce as DEFAULT_CONTRACT_FONT_FAMILY, Lr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, $t as DEFAULT_CUSTOM_FIELD_TYPES, Yr as DEFAULT_DRAFT_CACHE_INTERVAL, Xr as DEFAULT_DRAFT_CACHE_KEY, Zr as DEFAULT_DRAFT_CACHE_MAX_BYTES, en as DEFAULT_FIELD_STYLE, tn as DEFAULT_FIELD_TYPES, we as DEFAULT_FONT_FAMILY_OPTIONS, Te as DEFAULT_FONT_SIZE_PRESETS, nn as DEFAULT_MULTILINE_LINE_HEIGHT, rn as DEFAULT_MULTILINE_ROWS, an as DEFAULT_PAGE_SIZE, Ee as DEFAULT_TEXT_ALIGN_OPTIONS, ye as DRAWER_SIZE_WIDTH, le as FORM_RENDER_CONTEXT_KEY, ue as FormItemProps, de as FormRenderProps, J as GET_DEPT_TREE_URL, U as GTE_OPTIONS_URL, j as GTE_ORGTREE_URL, ne as GdAntCollapseTranstion, Ir as GdAntContractSigningLocation, u as GdAntCoverScrollBar, Z as GdAntDeptSelector, w as GdAntIcon, k as GdAntPlusUpload, y as GdAntProArea, me as GdAntProCell, he as GdAntProCellGroup, Ui as GdAntProContractSigningFlow, qi as GdAntProContractTemplateAgentPanel, Ji as GdAntProContractTemplateAgentPreview, Ki as GdAntProContractTemplateAgentWorkbench, yi as GdAntProContractTemplateDesigner, bi as GdAntProContractTemplateRenderer, be as GdAntProDrawer, ve as GdAntProDynamicTags, fe as GdAntProFormRender, O as GdAntProLoading, oe as GdAntProMenuTree, i as GdAntProModal, A as GdAntProOverlay, g as GdAntProPicker, q as GdAntProRoleSelector, _e as GdAntProSelectorGroup, x as GdAntProSignature, C as GdAntProTable, p as GdAntProTag, ce as GdAntProTagGroup, o as GdAntProTitle, D as GdAntProUpload, H as GdAntProUserAvatar, O as GdAntProloading, K as GdAntRoleSelector, d as GdAntScaleVirtualList, c as GdAntScrollBar, V as GdAntUserAvatar, z as GdAntUserSelector, B as GdAntUserSelectorCheckbox, Rr as MAX_CONTRACT_IMAGE_BYTES, zr as MAX_CONTRACT_IMAGE_DIMENSION, re as MENU_TREE_URL, Br as MIN_CONTRACT_IMAGE_DIMENSION, on as PAGE_SIZE_OPTIONS, pe as PRO_CELL_GROUP_KEY, m as PickerApiEnum, _ as ProAreaProps, h as ProPickerProps, b as ProSignatureProps, se as ProTagGroupProps, L as ProUserSelector, I as ProUserSelectorCheckbox, ht as SIGNING_PLACEMENT_DEFAULT_SIZES, gt as SIGNING_PLACEMENT_MIME, _t as SIGNING_PLACEMENT_MIN_SIZE, Q as SIGNING_PLACEMENT_SEAL_TYPE_OPTIONS, vt as SIGNING_PLACEMENT_TYPE_LABELS, a as TitleProps, T as UploadContextKey, M as UserSelectorProps, Gi as adaptContractTemplateAgentSpec, yt as applySigningPlacementPatch, Mi as buildConnectList, bt as buildContractLocationRules, Qn as buildContractSigningLocationOutput, $n as buildContractSigningLocationRules, Kn as buildContractSigningTemplateRenderPages, In as buildInitialRenderValues, mr as buildPageLayouts, xt as buildSigningPlacementLocationRules, sn as buildTemplateExpressionHtml, cn as buildTemplateHtml, ln as buildTemplatePreviewHtml, un as buildTemplatePreviewPages, Ln as buildTemplateRenderHtml, Rn as buildTemplateRenderPages, zn as buildTemplateVariableData, St as canMutateSigningPlacements, Ze as canResizeContractSigningPlacement, Qe as clampContractSigningPlacement, $e as clampContractSigningZoom, Ct as clampSigningPlacement, Qr as clearTemplateDraftCache, er as cloneContractSigningLocationValue, li as cloneContractTemplateFiles, dn as cloneTemplateValue, e as collapseProps, fn as collectTemplateLocationRuleExportErrors, pn as collectTemplateValueVariableKeys, mn as collectTemplateVariableKeys, Vr as compressContractImage, ui as constrainContractTemplateFiles, hn as constrainTemplatePageSizes, hr as contentPointToPagePoint, gn as createBlankPage, _n as createBlankTemplate, tr as createContractSigningLocationValue, nr as createContractSigningPlacement, di as createContractTemplateFile, vn as createDefaultPage, Ni as createDefaultSignRule, yn as createDefaultTemplate, $ as createDesignerId, $r as createDraftCacheStatus, Pi as createEndNode, Fi as createId, Ii as createInitialFlow, Li as createSignNode, wt as createSigningPlacement, Ri as createStartNode, bn as createTemplateVariable, Ft as decodeContractTemplateJsonAttribute, Y as deptSelectorEmits, X as deptSelectorProps, et as displayPointToContractPoint, It as encodeContractTemplateJsonAttribute, ei as estimateDraftCacheBytes, fi as exportContractTemplateFiles, xn as exportTemplateValue, rr as findContractSigningPage, gr as findPageAtOffset, Sn as findPageSizeOption, xr as formatContractSigningDate, Lt as formatContractTemplateRenderValue, ti as formatDraftCacheSavedAt, ee as generatePalette, ni as getBrowserDraftCacheStorage, _r as getContractSigningAutoScrollDelta, Sr as getContractSigningDateDataUrl, Cr as getContractSigningDateSvgDataUrl, ir as getContractSigningHomePage, wr as getContractSigningPlacementDataUrl, tt as getContractSigningPlacementDistances, nt as getContractSigningPlacementSize, Tr as getContractSigningPlacementVisual, rt as getContractSigningRuleGeometry, Er as getContractSigningSealDataUrl, Dr as getContractSigningSealLabel, Or as getContractSigningSealSvgDataUrl, kr as getContractSigningSignatureDataUrl, Ar as getContractSigningSignaturePngDataUrl, jr as getContractSigningSignatureSvgDataUrl, qn as getContractSigningTemplateDisplayError, De as getContractTextStylePreset, Cn as getFieldOption, vr as getPageLayoutScrollTop, yr as getPageLayoutsContentSize, wn as getPageSizeKey, Tn as getPageSizeOption, Tt as getSigningPlacementDefaultSize, Et as getSigningPlacementTypeLabel, br as getVisibleRange, En as inferPageFormat, Rt as isAllowedContractTemplateRemoteUrl, ri as isBlankTemplateDraftValue, ii as isBlankTemplateFilesDraftValue, Oi as isContractSigningFlowInteractiveTarget, ar as isContractSigningPageUsable, Jn as isContractSigningTemplateFile, Yn as isContractSigningTemplateSource, Mr as isContractSigningVisualDataUrl, dt as isContractTemplateAdvancedChoiceFieldType, ft as isContractTemplateBuiltinSelectorFieldType, pt as isContractTemplateFieldType, zt as isContractTemplateSelectionValue, Bn as isEmptyRenderValue, Fn as isSafeContractImageUrl, Nr as isSafeContractSigningVisualDataUrl, ai as loadTemplateDraftCache, oi as loadTemplateFilesDraftCache, Ue as millimetersToContractSigningCssPixels, We as millimetersToContractSigningPixels, it as moveContractSigningPlacementByDisplayDelta, pi as moveContractTemplateFile, Dt as moveSigningPlacementByDisplayDelta, Hr as normalizeContractImageCompression, Ur as normalizeContractImageDimension, at as normalizeContractSigningCoordinateDimension, ot as normalizeContractSigningCoordinateScale, zi as normalizeContractSigningFlow, ki as normalizeContractSigningFlowZoom, or as normalizeContractSigningLocationValue, sr as normalizeContractSigningProviderValue, Bt as normalizeContractTemplateControlOptions, mi as normalizeContractTemplateFiles, Vt as normalizeContractTemplateJsonObject, Dn as normalizeContractTemplateMaxPages, Ht as normalizeContractTemplateRequestTimeout, Ut as normalizeContractTemplateSelectionValue, Wt as normalizeContractTemplateSelectionValues, Oe as normalizeFontFamilyValue, On as normalizePageSizeOptions, Vn as normalizeRenderValues, Bi as normalizeSignRule, Ot as normalizeSigningPlacements, kn as normalizeTemplateValue, kt as parseSigningPlacementDragPayload, cr as patchContractSigningPlacement, ie as proMenuTreeEmits, ae as proMenuTreeProps, t as proModalEmits, f as proTagProps, Wr as processContractImageFile, Gr as readContractImageFileAsDataUrl, hi as removeContractTemplateFile, gi as renameContractTemplateFile, _i as replaceContractTemplateFile, st as resizeContractSigningSealGeometry, At as resizeSigningPlacement, Kr as resolveContractImageResizeDimensions, Ai as resolveContractSigningFlowZoomShortcut, ji as resolveContractSigningFlowZoomShortcutForTarget, lr as resolveContractSigningPreviewPageSize, Pr as resolveContractSigningSealLabel, Ge as resolveContractSigningSealSizeInCssPixels, Ke as resolveContractSigningSealSizeInPixels, ct as resolveContractSigningSealSizeLimit, qe as resolveContractSigningSealTypeOption, lt as resolveContractSigningSizeProfile, vi as resolveContractTemplateActiveFileId, ke as resolveContractTextStylePresetCommands, Ae as resolveFontFamilyOptions, An as resolvePageSize, jt as resolveSigningPlacementToolItems, Hn as resolveTemplateRenderSubmitErrors, N as resolveUserSelectorMaxCount, W as roleSelectorEmits, G as roleSelectorProps, Un as sanitizeContractRendererHtml, si as saveTemplateDraftCache, ci as saveTemplateFilesDraftCache, Mt as scaleSigningPlacementToPage, s as scrollbarProps, ge as selectContextKey, P as selectUserContextKey, Nt as serializeSigningPlacementDragPayload, Yi as setupAppConfig, te as setupTheme, ut as snapContractSigningPlacement, jn as splitPageContentByMeasurements, Mn as syncTemplateVariablesWithPages, Je as toContractSigningRulePageSize, Fr as toContractSigningSvgDataUrl, Xi as useBasicAppConfig, Vi as useContractSigningFlow, Wi as useContractTemplateAgent, v as useProArea, n as useProModal, r as useProModalInit, S as useProTable, E as useUpload, R as useUserSelector, F as userSelectorEmits, Hi as validateContractSigningFlow, ur as validateContractSigningLocationValue, Xn as validateContractSigningTemplateFile, Nn as validateContractTemplateVariableKey, Pt as validateSigningPlacements, Wn as validateTemplateRenderStructure, Gn as validateTemplateRenderValues, Pn as validateTemplateValue };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./ContractSigningLocationCanvas.cjs`),a=require(`./ContractSigningLocationInspector.cjs`),o=require(`./ContractSigningLocationNavigator.cjs`),s=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var ee={class:`gd-ant-contract-signing-location__header`},te={class:`gd-ant-contract-signing-location__title`},ne={class:`gd-ant-contract-signing-location__header-actions`},re={class:`gd-ant-contract-signing-location__placement-count`},ie={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},ae=[`aria-label`,`aria-expanded`],oe={class:`gd-ant-contract-signing-location__panel-stack`},se=[`aria-label`,`aria-expanded`],ce={class:`gd-ant-contract-signing-location__panel-stack`},d=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},allowedPlacementTypes:{default:()=>[`seal`,`signature`,`date`]},sizeProfile:{default:`default`},autoLoad:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minZoom:{default:.5},maxZoom:{default:1.5},zoom:{default:1},resizable:{type:Boolean,default:!1},sealMinSize:{default:8},sealMaxSize:{default:640},height:{default:void 0},showSubmitButton:{type:Boolean,default:!0},showInspector:{type:Boolean,default:void 0}},emits:[`update:modelValue`,`update:zoom`,`change`,`ready`,`file-change`,`page-change`,`submit`,`error`],setup(e,{expose:d,emit:le}){let f=e,p=le,m=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(f.sealMinSize,f.sealMaxSize)),h=r.normalizeContractSigningLocationValue(f.modelValue??r.createContractSigningLocationValue(f.contractId),{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),g=(0,c.ref)(h),_=(0,c.shallowRef)(r.cloneContractSigningLocationValue(h)),v=(0,c.shallowRef)(h.files[0]?.fileId??``),y=(0,c.shallowRef)(h.files[0]?.pages[0]?.pageIndex??0),b=(0,c.shallowRef)(``),x=(0,c.shallowRef)(!1),S=(0,c.shallowRef)(``),C=(0,c.ref)([]),w=(0,c.ref)({}),T=(0,c.shallowRef)(B(f.zoom)),E=(0,c.ref)(null),D=(0,c.ref)(!1),O=(0,c.ref)(!1),k=0,A=!1,j,M=[],N=0,P=new s.ContractSigningPreviewRequests,F=(0,c.computed)(()=>f.mode===`preview`),I=(0,c.computed)(()=>F.value||f.readonly||f.disabled),ue=(0,c.computed)(()=>f.showInspector??!F.value),de=(0,c.computed)(()=>!F.value&&f.showSubmitButton),fe=(0,c.computed)(()=>g.value.files.length<=1),pe=(0,c.computed)(()=>Ve(f.height)),L=(0,c.computed)(()=>g.value.files.find(e=>e.fileId===v.value)??g.value.files[0]),R=(0,c.computed)(()=>L.value?.pages.find(e=>e.pageIndex===y.value)??L.value?.pages[0]),me=(0,c.computed)(()=>{let e=L.value;return e?g.value.placements.filter(t=>t.fileId===e.fileId):[]}),z=(0,c.computed)(()=>g.value.placements.find(e=>e.id===b.value)),he=(0,c.computed)(()=>{let e=z.value;return e?r.findContractSigningPage(g.value,e.fileId,e.pageIndex)??R.value:R.value}),ge=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),_e=(0,c.computed)(()=>Object.keys(w.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),ve=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),ye=(0,c.computed)(()=>{let e={};return Object.entries(w.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>f.modelValue,e=>{if(!e)return;let t=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});$(t)!==$(g.value)&&(Z(),g.value=t,_.value=r.cloneContractSigningLocationValue(t),K(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)))},{deep:!0}),(0,c.watch)(m,()=>{$(r.normalizeContractSigningLocationValue(g.value,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}))!==$(g.value)&&V(g.value)}),(0,c.watch)(()=>f.zoom,e=>{T.value=B(e)}),(0,c.watch)(()=>[f.contractId,f.dataProvider,f.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&H()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{A=!0,k+=1,X(),Z()});function B(e){let n=Math.min(f.minZoom,f.maxZoom),r=Math.max(f.minZoom,f.maxZoom);return t.clampContractSigningZoom(e,n,r)}function be(e){let t=B(e);T.value=t,p(`update:zoom`,t)}function xe(){return E.value?.fitWidth()??T.value}function V(e,t={}){g.value=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),t.clearError!==!1&&(S.value=``),K();let n=r.cloneContractSigningLocationValue(g.value);return p(`update:modelValue`,n),p(`change`,n),n}async function H(){let e=String(f.contractId||g.value.contractId||``).trim();if(!f.dataProvider)return q({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return q({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++k;Z(),x.value=!0,S.value=``;try{let i=await f.dataProvider.loadContract({contractId:e});if(A||n!==k)return!1;let a=r.normalizeContractSigningProviderValue(i,t.normalizeContractSigningCoordinateScale(f.dataProvider.coordinateScale)),o=r.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:g.value.contractId===e?g.value.placements:[]},{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});g.value=o,_.value=r.cloneContractSigningLocationValue(o),b.value=``,K();let s=r.cloneContractSigningLocationValue(o);return p(`update:modelValue`,s),p(`change`,s),p(`ready`,s),Se(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),s}catch(e){return A||n!==k||q(J(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!A&&n===k&&(x.value=!1)}}async function Se(){f.dataProvider?.loadPagePreview&&await Promise.allSettled(g.value.files.map(e=>{if(n.isContractSigningTemplateFile(e))return Promise.resolve();let t=r.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?U(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function U(e,i,a){let o=f.dataProvider?.loadPagePreview,s=g.value.files.find(t=>t.fileId===e),c=r.findContractSigningPage(g.value,e,i),l=Y(e,i,a);if(!o||n.isContractSigningTemplateFile(s)||!c||C.value.includes(l))return;Le(l),C.value=[...C.value,l];let u=P.start(l);try{let n=await o({contractId:g.value.contractId||f.contractId,fileId:e,pageIndex:i,thumbnail:a,signal:u.signal});if(A||!P.isCurrent(l,u)||!r.findContractSigningPage(g.value,e,i))return;let s=r.findContractSigningPage(g.value,e,i),c=r.resolveContractSigningPreviewPageSize(s,n,t.normalizeContractSigningCoordinateScale(f.dataProvider?.coordinateScale),a),ee=g.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===i?{...e,...c||{},...a?{thumbnailUrl:n.url}:{previewUrl:n.url}}:e)}:t);V({...g.value,files:ee},{clearError:!1})}catch(t){if(!P.isCurrent(l,u)||Re(t))return;let n=J(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:i});p(`error`,n),w.value={...w.value,[l]:n.message}}finally{P.finish(l,u)&&(C.value=C.value.filter(e=>e!==l))}}function Ce(e){if(e===v.value)return;let t=v.value;X(),t&&(Z(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),M=M.filter(t=>t.fileId===e)),v.value=e;let n=g.value.files.find(t=>t.fileId===e);y.value=r.getContractSigningHomePage(n?.pages)?.pageIndex??0,b.value=``,p(`file-change`,e),p(`page-change`,e,y.value),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value))}function we(e){y.value=e}function Te(e){y.value!==e&&(y.value=e),p(`page-change`,v.value,e)}function Ee(e){X();let t=v.value;j=setTimeout(()=>{j=void 0,v.value===t&&De(t,e)},150)}function De(e,t){let r=g.value.files.find(t=>t.fileId===e);!r||n.isContractSigningTemplateFile(r)||e!==v.value||(t.forEach(e=>{let t=r.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||C.value.includes(Y(r.fileId,e,!1))||M.some(t=>t.fileId===r.fileId&&t.pageIndex===e)||M.push({fileId:r.fileId,pageIndex:e})}),Oe())}async function Oe(){let e=v.value;for(M=M.filter(t=>t.fileId===e);N<3&&M.length;){let t=M.shift();if(!t||t.fileId!==e)continue;let i=r.findContractSigningPage(g.value,t.fileId,t.pageIndex),a=g.value.files.find(e=>e.fileId===t.fileId);!i||n.isContractSigningTemplateFile(a)||i.previewUrl||C.value.includes(Y(t.fileId,t.pageIndex,!1))||(N+=1,U(t.fileId,t.pageIndex,!1).finally(()=>{N=Math.max(0,N-1),Oe()}))}}function ke(e){let t=g.value.placements.find(t=>t.id===e);t&&(t.fileId!==v.value&&Ce(t.fileId),b.value=e,(0,c.nextTick)(()=>E.value?.scrollToPlacement(e)))}function W(e,t={}){if(I.value||!f.allowedPlacementTypes.includes(e))return;let n=t.fileId??L.value?.fileId,i=t.pageIndex??R.value?.pageIndex;if(!n||i===void 0)return;let a=r.findContractSigningPage(g.value,n,i);if(!a||!r.isContractSigningPageUsable(a)){q({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:i});return}let o=f.sealTypeOptions.find(e=>String(e.value).trim())?.value;if(e===`seal`&&!o){q({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:i});return}let s=r.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:f.sizeProfile,sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions,...e===`seal`?{sealType:[String(o)]}:{}});return V({...g.value,placements:[...g.value.placements,s]}),v.value=n,y.value=i,b.value=s.id,Q(s)}function Ae(e,t){I.value||V({...g.value,placements:g.value.placements.map(n=>{if(n.id!==e)return n;let i=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=r.findContractSigningPage(g.value,n.fileId,i);return r.patchContractSigningPlacement(n,t,a,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions})})})}function je(){let e=z.value;if(!e||I.value)return;let n=r.findContractSigningPage(g.value,e.fileId,e.pageIndex);if(!n)return;let i=t.clampContractSigningPlacement({...Q(e),id:Be(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:m.value});V({...g.value,placements:[...g.value.placements,i]}),b.value=i.id}function G(e){I.value||(V({...g.value,placements:g.value.placements.filter(t=>t.id!==e)}),b.value===e&&(b.value=``))}function Me(){return r.validateContractSigningLocationValue(g.value,{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Ne(){return r.cloneContractSigningLocationValue(g.value)}function Pe(){return r.buildContractSigningLocationOutput(Ne(),{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Fe(){try{let e=Pe();return S.value=``,p(`submit`,e),e}catch(e){return q(e instanceof r.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:J(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function Ie(){let e=V(r.cloneContractSigningLocationValue(_.value));return b.value=``,K(!0),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),e}function K(e=!1){let t=(e?void 0:g.value.files.find(e=>e.fileId===v.value))??g.value.files[0];v.value=t?.fileId??``,y.value=((e?void 0:t?.pages.find(e=>e.pageIndex===y.value))??t?.pages[0])?.pageIndex??0,g.value.placements.some(e=>e.id===b.value)||(b.value=``)}function q(e){S.value=e.message,p(`error`,e)}function J(e,t,n,r={}){let i=typeof e==`object`&&e&&`status`in e?Number(e.status):void 0;return{code:t,message:i===401||i===403?`授权已失效,请重新获取签署凭证`:e instanceof Error&&e.message?e.message:n,...r,cause:e}}function Y(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function Le(e){if(!(e in w.value))return;let t={...w.value};delete t[e],w.value=t}function X(){j&&=(clearTimeout(j),void 0)}function Z(e){let t=e??(()=>!0),n=new Set(P.abort(t));n.size&&(C.value=C.value.filter(e=>!n.has(e))),e||(M=[])}function Re(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function ze(e){let t=L.value;t&&U(t.fileId,e,!1)}function Q(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function Be(){return typeof crypto<`u`&&`randomUUID`in crypto?`contract-signing-placement-${crypto.randomUUID()}`:`contract-signing-placement-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Ve(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return d({load:H,validate:Me,getValue:Ne,getOutput:Pe,submit:Fe,reset:Ie,addPlacement:W,removePlacement:G,fitWidth:xe}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":I.value,"is-disabled":e.disabled,"is-preview":F.value}]),style:(0,c.normalizeStyle)(pe.value)},[(0,c.createElementVNode)(`header`,ee,[(0,c.createElementVNode)(`div`,te,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(F.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)(g.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:x.value,onClick:H},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),F.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:I.value,onClick:Ie},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),de.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:x.value,disabled:e.disabled,onClick:Fe},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),S.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(S.value),1),e.dataProvider&&e.contractId?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:H},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":fe.value,"is-inspector-hidden":!ue.value}])},[fe.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__navigator-wrap`,{"is-collapsed":O.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:O.value?`展开页面栏`:`收起页面栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":O.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!O.value,onClick:n[0]||=e=>O.value=!O.value},[O.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,ae)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,oe,[(0,c.createVNode)(o.default,{files:g.value.files,"active-file-id":v.value,"loading-preview-keys":ge.value,"error-preview-keys":_e.value,onSelect:Ce},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(i.default,{ref_key:`canvasRef`,ref:E,file:L.value,pages:L.value?.pages??[],placements:me.value,"selected-placement-id":b.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,zoom:T.value,"preview-loading-keys":ve.value,"preview-error-map":ye.value,"active-page-index":y.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,onSelect:n[1]||=e=>b.value=e,onRetry:ze,onAdd:n[2]||=(e,t,n,r)=>W(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Ae(e.id,e),onRemove:G,onVisiblePages:Ee,onViewPage:we,onPageChange:Te,onZoomChange:be},null,8,[`file`,`pages`,`placements`,`selected-placement-id`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`zoom`,`preview-loading-keys`,`preview-error-map`,`active-page-index`,`min-zoom`,`max-zoom`]),ue.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":D.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:D.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":D.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!D.value,onClick:n[4]||=e=>D.value=!D.value},[D.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,se)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,ce,[(0,c.createVNode)(a.default,{placement:z.value,page:he.value,pages:L.value?.pages??[],placements:me.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:W,onUpdate:n[5]||=e=>z.value&&Ae(z.value.id,e),onDuplicate:je,onRemove:G,onLocate:ke},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=d;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./ContractSigningLocationCanvas.cjs`),a=require(`./ContractSigningLocationInspector.cjs`),o=require(`./ContractSigningLocationNavigator.cjs`),s=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var ee={class:`gd-ant-contract-signing-location__header`},te={class:`gd-ant-contract-signing-location__title`},ne={class:`gd-ant-contract-signing-location__header-actions`},re={class:`gd-ant-contract-signing-location__placement-count`},ie={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},ae=[`aria-label`,`aria-expanded`],oe={class:`gd-ant-contract-signing-location__panel-stack`},se=[`aria-label`,`aria-expanded`],ce={class:`gd-ant-contract-signing-location__panel-stack`},d=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},allowedPlacementTypes:{default:()=>[`seal`,`signature`,`date`]},sizeProfile:{default:`default`},autoLoad:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minZoom:{default:.5},maxZoom:{default:1.5},zoom:{default:1},resizable:{type:Boolean,default:!1},sealMinSize:{default:8},sealMaxSize:{default:640},height:{default:void 0},showSubmitButton:{type:Boolean,default:!0},showInspector:{type:Boolean,default:void 0}},emits:[`update:modelValue`,`update:zoom`,`change`,`ready`,`file-change`,`page-change`,`submit`,`error`],setup(e,{expose:d,emit:le}){let f=e,p=le,m=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(f.sealMinSize,f.sealMaxSize)),h=r.normalizeContractSigningLocationValue(f.modelValue??r.createContractSigningLocationValue(f.contractId),{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),g=(0,c.shallowRef)(h),_=(0,c.shallowRef)(r.cloneContractSigningLocationValue(h)),v=(0,c.shallowRef)(h.files[0]?.fileId??``),y=(0,c.shallowRef)(h.files[0]?.pages[0]?.pageIndex??0),b=(0,c.shallowRef)(``),x=(0,c.shallowRef)(!1),S=(0,c.shallowRef)(``),C=(0,c.ref)([]),w=(0,c.ref)({}),T=(0,c.shallowRef)(B(f.zoom)),E=(0,c.ref)(null),D=(0,c.ref)(!1),O=(0,c.ref)(!1),k=0,A=!1,j,M=[],N=0,P=new s.ContractSigningPreviewRequests,F=(0,c.computed)(()=>f.mode===`preview`),I=(0,c.computed)(()=>F.value||f.readonly||f.disabled),ue=(0,c.computed)(()=>f.showInspector??!F.value),de=(0,c.computed)(()=>!F.value&&f.showSubmitButton),fe=(0,c.computed)(()=>g.value.files.length<=1),pe=(0,c.computed)(()=>Ve(f.height)),L=(0,c.computed)(()=>g.value.files.find(e=>e.fileId===v.value)??g.value.files[0]),R=(0,c.computed)(()=>L.value?.pages.find(e=>e.pageIndex===y.value)??L.value?.pages[0]),me=(0,c.computed)(()=>{let e=L.value;return e?g.value.placements.filter(t=>t.fileId===e.fileId):[]}),z=(0,c.computed)(()=>g.value.placements.find(e=>e.id===b.value)),he=(0,c.computed)(()=>{let e=z.value;return e?r.findContractSigningPage(g.value,e.fileId,e.pageIndex)??R.value:R.value}),ge=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),_e=(0,c.computed)(()=>Object.keys(w.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),ve=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),ye=(0,c.computed)(()=>{let e={};return Object.entries(w.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>f.modelValue,e=>{if(!e)return;let t=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});$(t)!==$(g.value)&&(Z(),g.value=t,_.value=r.cloneContractSigningLocationValue(t),K(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)))},{deep:!0}),(0,c.watch)(m,()=>{$(r.normalizeContractSigningLocationValue(g.value,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}))!==$(g.value)&&V(g.value)}),(0,c.watch)(()=>f.zoom,e=>{T.value=B(e)}),(0,c.watch)(()=>[f.contractId,f.dataProvider,f.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&H()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{A=!0,k+=1,X(),Z()});function B(e){let n=Math.min(f.minZoom,f.maxZoom),r=Math.max(f.minZoom,f.maxZoom);return t.clampContractSigningZoom(e,n,r)}function be(e){let t=B(e);T.value=t,p(`update:zoom`,t)}function xe(){return E.value?.fitWidth()??T.value}function V(e,t={}){g.value=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),t.clearError!==!1&&(S.value=``),K();let n=r.cloneContractSigningLocationValue(g.value);return p(`update:modelValue`,n),p(`change`,n),n}async function H(){let e=String(f.contractId||g.value.contractId||``).trim();if(!f.dataProvider)return q({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return q({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++k;Z(),x.value=!0,S.value=``;try{let i=await f.dataProvider.loadContract({contractId:e});if(A||n!==k)return!1;let a=r.normalizeContractSigningProviderValue(i,t.normalizeContractSigningCoordinateScale(f.dataProvider.coordinateScale)),o=r.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:g.value.contractId===e?g.value.placements:[]},{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});g.value=o,_.value=r.cloneContractSigningLocationValue(o),b.value=``,K();let s=r.cloneContractSigningLocationValue(o);return p(`update:modelValue`,s),p(`change`,s),p(`ready`,s),Se(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),s}catch(e){return A||n!==k||q(J(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!A&&n===k&&(x.value=!1)}}async function Se(){f.dataProvider?.loadPagePreview&&await Promise.allSettled(g.value.files.map(e=>{if(n.isContractSigningTemplateFile(e))return Promise.resolve();let t=r.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?U(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function U(e,i,a){let o=f.dataProvider?.loadPagePreview,s=g.value.files.find(t=>t.fileId===e),c=r.findContractSigningPage(g.value,e,i),l=Y(e,i,a);if(!o||n.isContractSigningTemplateFile(s)||!c||C.value.includes(l))return;Le(l),C.value=[...C.value,l];let u=P.start(l);try{let n=await o({contractId:g.value.contractId||f.contractId,fileId:e,pageIndex:i,thumbnail:a,signal:u.signal});if(A||!P.isCurrent(l,u)||!r.findContractSigningPage(g.value,e,i))return;let s=r.findContractSigningPage(g.value,e,i),c=r.resolveContractSigningPreviewPageSize(s,n,t.normalizeContractSigningCoordinateScale(f.dataProvider?.coordinateScale),a),ee=g.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===i?{...e,...c||{},...a?{thumbnailUrl:n.url}:{previewUrl:n.url}}:e)}:t);V({...g.value,files:ee},{clearError:!1})}catch(t){if(!P.isCurrent(l,u)||Re(t))return;let n=J(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:i});p(`error`,n),w.value={...w.value,[l]:n.message}}finally{P.finish(l,u)&&(C.value=C.value.filter(e=>e!==l))}}function Ce(e){if(e===v.value)return;let t=v.value;X(),t&&(Z(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),M=M.filter(t=>t.fileId===e)),v.value=e;let n=g.value.files.find(t=>t.fileId===e);y.value=r.getContractSigningHomePage(n?.pages)?.pageIndex??0,b.value=``,p(`file-change`,e),p(`page-change`,e,y.value),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value))}function we(e){y.value=e}function Te(e){y.value!==e&&(y.value=e),p(`page-change`,v.value,e)}function Ee(e){X();let t=v.value;j=setTimeout(()=>{j=void 0,v.value===t&&De(t,e)},150)}function De(e,t){let r=g.value.files.find(t=>t.fileId===e);!r||n.isContractSigningTemplateFile(r)||e!==v.value||(t.forEach(e=>{let t=r.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||C.value.includes(Y(r.fileId,e,!1))||M.some(t=>t.fileId===r.fileId&&t.pageIndex===e)||M.push({fileId:r.fileId,pageIndex:e})}),Oe())}async function Oe(){let e=v.value;for(M=M.filter(t=>t.fileId===e);N<3&&M.length;){let t=M.shift();if(!t||t.fileId!==e)continue;let i=r.findContractSigningPage(g.value,t.fileId,t.pageIndex),a=g.value.files.find(e=>e.fileId===t.fileId);!i||n.isContractSigningTemplateFile(a)||i.previewUrl||C.value.includes(Y(t.fileId,t.pageIndex,!1))||(N+=1,U(t.fileId,t.pageIndex,!1).finally(()=>{N=Math.max(0,N-1),Oe()}))}}function ke(e){let t=g.value.placements.find(t=>t.id===e);t&&(t.fileId!==v.value&&Ce(t.fileId),b.value=e,(0,c.nextTick)(()=>E.value?.scrollToPlacement(e)))}function W(e,t={}){if(I.value||!f.allowedPlacementTypes.includes(e))return;let n=t.fileId??L.value?.fileId,i=t.pageIndex??R.value?.pageIndex;if(!n||i===void 0)return;let a=r.findContractSigningPage(g.value,n,i);if(!a||!r.isContractSigningPageUsable(a)){q({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:i});return}let o=f.sealTypeOptions.find(e=>String(e.value).trim())?.value;if(e===`seal`&&!o){q({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:i});return}let s=r.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:f.sizeProfile,sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions,...e===`seal`?{sealType:[String(o)]}:{}});return V({...g.value,placements:[...g.value.placements,s]}),v.value=n,y.value=i,b.value=s.id,Q(s)}function Ae(e,t){I.value||V({...g.value,placements:g.value.placements.map(n=>{if(n.id!==e)return n;let i=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=r.findContractSigningPage(g.value,n.fileId,i);return r.patchContractSigningPlacement(n,t,a,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions})})})}function je(){let e=z.value;if(!e||I.value)return;let n=r.findContractSigningPage(g.value,e.fileId,e.pageIndex);if(!n)return;let i=t.clampContractSigningPlacement({...Q(e),id:Be(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:m.value});V({...g.value,placements:[...g.value.placements,i]}),b.value=i.id}function G(e){I.value||(V({...g.value,placements:g.value.placements.filter(t=>t.id!==e)}),b.value===e&&(b.value=``))}function Me(){return r.validateContractSigningLocationValue(g.value,{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Ne(){return r.cloneContractSigningLocationValue(g.value)}function Pe(){return r.buildContractSigningLocationOutput(Ne(),{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Fe(){try{let e=Pe();return S.value=``,p(`submit`,e),e}catch(e){return q(e instanceof r.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:J(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function Ie(){let e=V(r.cloneContractSigningLocationValue(_.value));return b.value=``,K(!0),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),e}function K(e=!1){let t=(e?void 0:g.value.files.find(e=>e.fileId===v.value))??g.value.files[0];v.value=t?.fileId??``,y.value=((e?void 0:t?.pages.find(e=>e.pageIndex===y.value))??t?.pages[0])?.pageIndex??0,g.value.placements.some(e=>e.id===b.value)||(b.value=``)}function q(e){S.value=e.message,p(`error`,e)}function J(e,t,n,r={}){let i=typeof e==`object`&&e&&`status`in e?Number(e.status):void 0;return{code:t,message:i===401||i===403?`授权已失效,请重新获取签署凭证`:e instanceof Error&&e.message?e.message:n,...r,cause:e}}function Y(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function Le(e){if(!(e in w.value))return;let t={...w.value};delete t[e],w.value=t}function X(){j&&=(clearTimeout(j),void 0)}function Z(e){let t=e??(()=>!0),n=new Set(P.abort(t));n.size&&(C.value=C.value.filter(e=>!n.has(e))),e||(M=[])}function Re(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function ze(e){let t=L.value;t&&U(t.fileId,e,!1)}function Q(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function Be(){return typeof crypto<`u`&&`randomUUID`in crypto?`contract-signing-placement-${crypto.randomUUID()}`:`contract-signing-placement-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Ve(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return d({load:H,validate:Me,getValue:Ne,getOutput:Pe,submit:Fe,reset:Ie,addPlacement:W,removePlacement:G,fitWidth:xe}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":I.value,"is-disabled":e.disabled,"is-preview":F.value}]),style:(0,c.normalizeStyle)(pe.value)},[(0,c.createElementVNode)(`header`,ee,[(0,c.createElementVNode)(`div`,te,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(F.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)(g.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:x.value,onClick:H},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),F.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:I.value,onClick:Ie},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),de.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:x.value,disabled:e.disabled,onClick:Fe},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),S.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(S.value),1),e.dataProvider&&e.contractId?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:H},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":fe.value,"is-inspector-hidden":!ue.value}])},[fe.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__navigator-wrap`,{"is-collapsed":O.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:O.value?`展开页面栏`:`收起页面栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":O.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!O.value,onClick:n[0]||=e=>O.value=!O.value},[O.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,ae)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,oe,[(0,c.createVNode)(o.default,{files:g.value.files,"active-file-id":v.value,"loading-preview-keys":ge.value,"error-preview-keys":_e.value,onSelect:Ce},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(i.default,{ref_key:`canvasRef`,ref:E,file:L.value,pages:L.value?.pages??[],placements:me.value,"selected-placement-id":b.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,zoom:T.value,"preview-loading-keys":ve.value,"preview-error-map":ye.value,"active-page-index":y.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,onSelect:n[1]||=e=>b.value=e,onRetry:ze,onAdd:n[2]||=(e,t,n,r)=>W(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Ae(e.id,e),onRemove:G,onVisiblePages:Ee,onViewPage:we,onPageChange:Te,onZoomChange:be},null,8,[`file`,`pages`,`placements`,`selected-placement-id`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`zoom`,`preview-loading-keys`,`preview-error-map`,`active-page-index`,`min-zoom`,`max-zoom`]),ue.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":D.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:D.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":D.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!D.value,onClick:n[4]||=e=>D.value=!D.value},[D.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,se)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,ce,[(0,c.createVNode)(a.default,{placement:z.value,page:he.value,pages:L.value?.pages??[],placements:me.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:W,onUpdate:n[5]||=e=>z.value&&Ae(z.value.id,e),onDuplicate:je,onRemove:G,onLocate:ke},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=d;
|
package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractSigningTemplatePage.cjs`);require(`./constants.cjs`);const t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./page-layout.cjs`),a=require(`../../pro-contract-template-designer/src/composables/use-fit-width-zoom.cjs`),o=require(`./signing-visuals.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),u=require(`@ant-design/icons-vue`);var d={class:`gd-ant-contract-signing-location__workspace`},f={class:`gd-ant-contract-signing-location__workspace-head`},p={key:0},m={class:`gd-ant-contract-signing-location__workspace-tools`},h={class:`gd-ant-contract-signing-location__page-jumper`,"aria-label":`页码跳转`},g=[`value`,`max`],_={class:`gd-ant-contract-signing-location__zoom-tools`,"aria-label":`页面缩放`},ee=[`aria-label`],te={key:1,class:`gd-ant-contract-signing-location__page-placeholder is-error`,role:`alert`},ne=[`src`],re={key:3,class:`gd-ant-contract-signing-location__page-placeholder`},ie=[`onClick`],ae=[`onClick`],oe={class:`gd-ant-contract-signing-location__render-region`},se={class:`gd-ant-contract-signing-location__render-region-content`},ce={class:`is-horizontal is-top`},le={class:`is-horizontal is-bottom`},ue={class:`is-vertical is-left`},de={class:`is-vertical is-right`},fe={key:1,class:`gd-ant-contract-signing-location__snap-guides`,"aria-hidden":`true`},pe=[`title`,`aria-label`,`aria-pressed`,`onClick`,`onPointerdown`,`onKeydown`],me={class:`gd-ant-contract-signing-location__placement-body`},he=[`src`,`alt`],ge={key:0,class:`gd-ant-contract-signing-location__placement-badge`},_e=[`onPointerdown`],v=(0,s.defineComponent)({name:`ContractSigningLocationCanvas`,__name:`ContractSigningLocationCanvas`,props:{file:{},pages:{},placements:{},selectedPlacementId:{},readonly:{type:Boolean},resizable:{type:Boolean},zoom:{},previewLoadingKeys:{},previewErrorMap:{},activePageIndex:{},minZoom:{},maxZoom:{},sealSizeLimit:{},sealTypeOptions:{}},emits:[`select`,`add`,`update`,`remove`,`retry`,`visible-pages`,`view-page`,`page-change`,`zoom-change`,`scroll-to-ready`],setup(v,{expose:ve,emit:ye}){let be=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],y=v,b=ye,x=(0,s.ref)(null),S=(0,s.ref)(null),C=(0,s.shallowRef)(1),w=(0,s.shallowRef)(y.activePageIndex),T=(0,s.shallowRef)({start:0,end:-1}),{width:xe}=(0,l.useElementSize)(x),Se=(0,s.computed)(()=>Math.max(...y.pages.map(e=>e.displayWidth||e.width||i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width),i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width)),{fitWidth:Ce,markUserAdjusted:we}=a.useFitWidthZoom({viewportWidth:xe,widestPageWidth:Se,padding:48,minZoom:()=>y.minZoom,maxZoom:()=>y.maxZoom,getZoom:()=>y.zoom,applyZoom:e=>(b(`zoom-change`,e),e)}),E=(0,s.shallowRef)([]),D=(0,s.shallowRef)(),O=(0,s.shallowRef)(),k,A=0,j,M,N,P,F=(0,s.computed)(()=>i.buildPageLayouts(y.pages,y.zoom,16)),Te=(0,s.computed)(()=>i.getPageLayoutsContentSize(F.value)),I=(0,s.computed)(()=>n.isContractSigningTemplateFile(y.file)),Ee=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(y.file?.source)),De=(0,s.computed)(()=>new Map(Ee.value.map(e=>[e.pageIndex,e]))),L=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(y.file)),Oe=(0,s.computed)(()=>{let e=T.value;return F.value.length?e.end<e.start?F.value.slice(0,2):F.value.slice(e.start,e.end+1):[]}),ke=(0,s.computed)(()=>Oe.value.flatMap(e=>{let t=V(e.pageIndex);return t?[{layout:e,page:t,logical:H(t),templatePage:De.value.get(e.pageIndex)}]:[]})),R=(0,s.computed)(()=>y.pages.find(e=>e.pageIndex===w.value)??y.pages[0]),Ae=(0,s.computed)(()=>Math.min(y.minZoom,y.maxZoom)),je=(0,s.computed)(()=>Math.max(y.minZoom,y.maxZoom)),z=(0,s.computed)(()=>y.placements.find(e=>e.id===y.selectedPlacementId)),Me=new Date,B=new Map;function Ne(e){return JSON.stringify([e.signType,e.sealType??[],y.sealTypeOptions??[]])}function Pe(e){let t=Ne(e),n=B.get(t);if(n)return n;let r=o.getContractSigningPlacementVisual(e,{sealTypeOptions:y.sealTypeOptions,date:Me});if(B.size>=128){let e=B.keys().next().value;e!==void 0&&B.delete(e)}return B.set(t,r),r}let Fe=(0,s.computed)(()=>{let e=new WeakMap;return y.placements.forEach(t=>{e.set(t,Pe(t))}),e});(0,s.watch)(()=>y.activePageIndex,e=>{w.value=e,Ge()||Q(e)}),(0,s.watch)(()=>y.pages.map(e=>e.pageIndex).join(`,`),()=>{(0,s.nextTick)(()=>{Y(),X(),b(`scroll-to-ready`)})}),(0,s.watch)(()=>y.zoom,(e,t)=>{if(!x.value||t==null||e===t)return;let n=q(),r=i.buildPageLayouts(y.pages,t,16),a=i.findPageAtOffset(r,n.layoutScrollTop+1)??r[0];if(!a)return;N={pageIndex:a.pageIndex,offsetInPage:n.layoutScrollTop-a.top};let o=e/Math.max(.01,t);(0,s.nextTick)(()=>qe(o))}),(0,s.onMounted)(()=>{Y(),X(),b(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!x.value)&&(P=new ResizeObserver(()=>{Y(),X()}),P.observe(x.value))}),(0,s.onBeforeUnmount)(()=>{lt(),et(),j&&clearTimeout(j),P?.disconnect(),P=void 0});function V(e){return y.pages.find(t=>t.pageIndex===e)}function H(e){return e&&r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function U(e){if(!e||!r.isContractSigningPageUsable(e))return{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE};let t=Number(e.displayWidth),n=Number(e.displayHeight);return{width:Number.isFinite(t)&&t>0?t:e.width,height:Number.isFinite(n)&&n>0?n:e.height}}function Ie(e){return`${y.file?.fileId??``}:${e}`}function Le(e){return y.previewLoadingKeys.includes(Ie(e))}function Re(e){return y.previewErrorMap[Ie(e)]||``}function ze(e){return y.placements.filter(t=>t.pageIndex===e)}function W(e){let n=z.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function Be(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r);return{left:`${n.signLeft*i.width/Math.max(1,a.width)}px`,top:`${n.signTop*i.height/Math.max(1,a.height)}px`,width:`${n.signWidth*i.width/Math.max(1,a.width)}px`,height:`${n.signHeight*i.height/Math.max(1,a.height)}px`}}function Ve(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r),o=i.width/Math.max(1,a.width),s=i.height/Math.max(1,a.height);return{"--gd-contract-sign-left":`${n.signLeft*o}px`,"--gd-contract-sign-top":`${n.signTop*s}px`,"--gd-contract-sign-right":`${(n.signLeft+n.signWidth)*o}px`,"--gd-contract-sign-bottom":`${(n.signTop+n.signHeight)*s}px`}}function He(e,t){let n=U(t),r=H(t),i=e.axis===`x`?n.width/Math.max(1,r.width):n.height/Math.max(1,r.height);return e.axis===`x`?{left:`${e.position*i}px`}:{top:`${e.position*i}px`}}function G(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:y.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:y.sealTypeOptions})}function K(e){return Fe.value.get(e)??Pe(e)}function Ue(e){return t.canResizeContractSigningPlacement(e,y.resizable,y.readonly)&&e.id===y.selectedPlacementId}function We(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function q(){let e=x.value,t=S.value;if(!e)return{layoutScrollTop:0,viewportHeight:0};let n=t?.offsetTop??0;return{layoutScrollTop:e.scrollTop-n,viewportHeight:e.clientHeight}}function J(e,t){let n=S.value;if(n){let r=n.getBoundingClientRect();return{x:e-r.left,y:t-r.top}}let r=x.value;if(!r)return{x:e,y:t};let i=r.getBoundingClientRect(),a=Number.parseFloat(getComputedStyle(r).paddingLeft)||0,o=Number.parseFloat(getComputedStyle(r).paddingTop)||0;return{x:e-i.left+r.scrollLeft-a,y:t-i.top+r.scrollTop-o}}function Ge(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function Y(){let e=q();T.value=i.getVisibleRange(F.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(F.value,e.layoutScrollTop+1);if(t){let e=w.value!==t.pageIndex;w.value=t.pageIndex,Ge()||Q(t.pageIndex),e&&b(`view-page`,t.pageIndex)}}function X(){let e=T.value;b(`visible-pages`,F.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function Ke(){Y(),j&&clearTimeout(j),j=setTimeout(()=>{X(),w.value!==M&&(M=w.value,b(`page-change`,w.value))},80)}function qe(e){let t=x.value,n=S.value,r=N;if(N=void 0,!t||!n||!r)return;let i=F.value.find(e=>e.pageIndex===r.pageIndex);i&&(t.scrollTop=n.offsetTop+i.top+r.offsetInPage*e,Y())}function Z(e){let t=x.value,n=S.value;t&&(w.value=e,Q(e),b(`page-change`,e),M=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(F.value,e);t.scrollTop=(n?.offsetTop??0)+r,Y(),X()}))}function Je(e){let n=y.placements.find(t=>t.id===e),r=x.value,i=S.value;if(!n||!r)return;let a=F.value.find(e=>e.pageIndex===n.pageIndex);a&&(w.value=n.pageIndex,Q(n.pageIndex),(0,s.nextTick)(()=>{let e=q(),o=V(n.pageIndex),s=U(o),c=H(o),l=a.top+t.getContractSigningRuleGeometry(n).signTop*s.height/Math.max(1,c.height)*y.zoom,u=l+t.getContractSigningRuleGeometry(n).signHeight*s.height/Math.max(1,c.height)*y.zoom,d=e.layoutScrollTop,f=d+e.viewportHeight;(l<d||u>f)&&(r.scrollTop=(i?.offsetTop??0)+Math.max(0,l-24)),Y(),X(),b(`page-change`,n.pageIndex)}))}function Q(e){let t=y.pages.findIndex(t=>t.pageIndex===e);C.value=t>=0?t+1:1}function Ye(e){let t=y.pages.findIndex(e=>e.pageIndex===w.value),n=Math.min(y.pages.length-1,Math.max(0,(t<0?0:t)+e)),r=y.pages[n];r&&Z(r.pageIndex)}function Xe(e){let t=Number(e.target.value);if(!Number.isFinite(t)){Q(w.value);return}let n=Math.min(y.pages.length,Math.max(1,Math.round(t)))-1,r=y.pages[n];r?Z(r.pageIndex):Q(w.value)}function Ze(e,t=`user`){t===`user`&&we(),b(`zoom-change`,e)}function Qe(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||b(`select`,``)}function $e(){window.addEventListener(`pointermove`,rt,{passive:!1}),window.addEventListener(`pointerup`,$),window.addEventListener(`pointercancel`,$)}function et(){window.removeEventListener(`pointermove`,rt),window.removeEventListener(`pointerup`,$),window.removeEventListener(`pointercancel`,$)}function tt(e,t,n){e.stopPropagation(),b(`select`,t.id);let a=V(t.pageIndex);if(y.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=J(e.clientX,e.clientY),s=i.contentPointToPagePoint(F.value,y.pages,o.x,o.y),c=e.currentTarget;c.focus({preventScroll:!0}),O.value={pointerId:e.pointerId,mode:n?`resize`:`move`,handle:n,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:We(t),grabOffsetX:(s?.x??t.signLeft)-t.signLeft,grabOffsetY:(s?.y??t.signTop)-t.signTop},k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},$e(),ct();try{c.setPointerCapture(e.pointerId)}catch{}}function nt(e,t,n){tt(e,t,n)}function rt(e){let t=O.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},it(k))}function $(e){O.value?.pointerId===e.pointerId&&(O.value=void 0,k=void 0,E.value=[],D.value=void 0,lt(),et())}function it(e){let n=O.value;if(!n)return;if(n.mode===`resize`){at(n,e);return}let a=J(e.clientX,e.clientY),o=i.contentPointToPagePoint(F.value,y.pages,a.x,a.y);if(!o)return;let s=st(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=G({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,ze(s.pageIndex),y.zoom,void 0,s),u=G(l.placement,s);E.value=l.guides,D.value=s.pageIndex,b(`update`,u)}function at(e,n){let i=V(e.origin.pageIndex),a=e.handle;if(!i||!a||!r.isContractSigningPageUsable(i))return;let o=F.value.find(e=>e.pageIndex===i.pageIndex);if(!o)return;let s=J(n.clientX,n.clientY),c=U(i),l=i.width/Math.max(1,c.width*y.zoom),u=i.height/Math.max(1,c.height*y.zoom),d=(s.x-o.left)*l,f=(s.y-o.top)*u;if(e.origin.signType===`seal`){ot(e,i,a,d,f);return}let p=t.getContractSigningRuleGeometry(e.origin),m=p.signLeft,h=p.signTop,g=p.signLeft+p.signWidth,_=p.signTop+p.signHeight;a.includes(`w`)&&(m=d),a.includes(`e`)&&(g=d),a.includes(`n`)&&(h=f),a.includes(`s`)&&(_=f),g-m<8&&(a.includes(`w`)?m=g-8:g=m+8),_-h<8&&(a.includes(`n`)?h=_-8:_=h+8),b(`update`,G({...e.origin,signLeft:m,signTop:h,signWidth:g-m,signHeight:_-h},i))}function ot(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,y.sealSizeLimit);b(`update`,G({...e.origin,...o},n))}function st(e,t){let n=V(e);return n&&r.isContractSigningPageUsable(n)?n:V(t)}function ct(){lt();let e=()=>{let t=O.value,n=x.value;if(!t||!n||!k){A=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(k.clientY,r);a!==0&&(n.scrollTop+=a,Y(),it(k)),A=requestAnimationFrame(e)};A=requestAnimationFrame(e)}function lt(){A&&=(cancelAnimationFrame(A),0)}function ut(e,n){let i=V(n.pageIndex);if(y.readonly||!i||!r.isContractSigningPageUsable(i))return;if(e.key===`Delete`||e.key===`Backspace`){e.preventDefault(),b(`remove`,n.id);return}let a=e.shiftKey?10:1,o=0,s=0;if(e.key===`ArrowLeft`)o=-a;else if(e.key===`ArrowRight`)o=a;else if(e.key===`ArrowUp`)s=-a;else if(e.key===`ArrowDown`)s=a;else return;e.preventDefault();let c=U(i),l=H(i);b(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o*c.width/Math.max(1,l.width),s*c.height/Math.max(1,l.height),i,U(i),{sealSizeLimit:y.sealSizeLimit}))}function dt(e){let t=e.dataTransfer?.getData(`application/x-gd-contract-signing-location`)||e.dataTransfer?.getData(`text/plain`);if(t)try{let e=JSON.parse(t);return pt(e.type)?e.type:void 0}catch{return pt(t)?t:void 0}}function ft(e){if(y.readonly)return;let t=dt(e);if(!t)return;e.preventDefault();let n=J(e.clientX,e.clientY),r=i.contentPointToPagePoint(F.value,y.pages,n.x,n.y,1);r&&b(`add`,t,r.x,r.y,r.pageIndex)}function pt(e){return e===`seal`||e===`signature`||e===`date`}return ve({scrollToPage:Z,scrollToPlacement:Je,fitWidth:Ce}),(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`main`,d,[(0,s.createElementVNode)(`header`,f,[(0,s.createElementVNode)(`div`,null,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(v.file?.fileName||`合同页面`),1),R.value?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,p,`第 `+(0,s.toDisplayString)(R.value.displayPageNumber)+` 页 · `+(0,s.toDisplayString)(I.value?`HTML`:`PDF`)+` `+(0,s.toDisplayString)(R.value.width)+` × `+(0,s.toDisplayString)(R.value.height),1)):(0,s.createCommentVNode)(``,!0)]),(0,s.createElementVNode)(`div`,m,[(0,s.createElementVNode)(`div`,h,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value<=1,"aria-label":`上一页`,onClick:n[0]||=e=>Ye(-1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.LeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`label`,null,[n[6]||=(0,s.createTextVNode)(` 第 `,-1),(0,s.createElementVNode)(`input`,{value:C.value,type:`number`,min:`1`,max:Math.max(1,v.pages.length),onChange:Xe,onKeydown:(0,s.withKeys)(Xe,[`enter`])},null,40,g),(0,s.createTextVNode)(` / `+(0,s.toDisplayString)(v.pages.length)+` 页 `,1)]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value>=v.pages.length,"aria-label":`下一页`,onClick:n[1]||=e=>Ye(1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),(0,s.createElementVNode)(`div`,_,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom<=Ae.value,"aria-label":`缩小页面`,onClick:n[2]||=e=>Ze(v.zoom-.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`button`,{type:`button`,onClick:n[3]||=e=>Ze(1)},(0,s.toDisplayString)(Math.round(v.zoom*100))+`%`,1),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom>=je.value,"aria-label":`放大页面`,onClick:n[4]||=e=>Ze(v.zoom+.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,"aria-label":`适应宽度`,title:`适应宽度`,onClick:(0,s.unref)(Ce)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])])])]),(0,s.createElementVNode)(`div`,{ref_key:`scrollRef`,ref:x,class:`gd-ant-contract-signing-location__canvas-scroll`,onScrollPassive:Ke,onClick:Qe,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ft},[v.pages.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`stackRef`,ref:S,class:`gd-ant-contract-signing-location__page-stack`,style:(0,s.normalizeStyle)({width:`${Te.value.width}px`,height:`${Te.value.height}px`})},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ke.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.layout.pageIndex,class:`gd-ant-contract-signing-location__page-shell`,style:(0,s.normalizeStyle)({top:`${t.layout.top}px`,left:`${t.layout.left}px`,width:`${t.layout.width}px`,height:`${t.layout.height}px`})},[(0,s.createElementVNode)(`div`,{class:`gd-ant-contract-signing-location__page`,style:(0,s.normalizeStyle)({width:`${U(t.page).width}px`,height:`${U(t.page).height}px`,transform:`scale(${v.zoom})`}),"aria-label":`${v.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[I.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage},null,8,[`page`])):I.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,te,[n[8]||=(0,s.createElementVNode)(`strong`,null,`模板页面无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value||`页面结构无效,请回到模板设计器修复后重试。`),1)])):t.page.previewUrl?((0,s.openBlock)(),(0,s.createElementBlock)(`img`,{key:2,class:`gd-ant-contract-signing-location__page-image`,src:t.page.previewUrl,alt:`合同页面预览`},null,8,ne)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,re,[Le(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页加载中…`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1)],64)):Re(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[n[9]||=(0,s.createElementVNode)(`strong`,null,`合同页面预览加载失败`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(Re(t.layout.pageIndex)),1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重试当前页`,8,ie)],64)):(0,s.unref)(r.isContractSigningPageUsable)(t.page)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:3},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1),n[12]||=(0,s.createElementVNode)(`small`,null,`等待 dataProvider 返回页面预览图`,-1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:2},[n[10]||=(0,s.createElementVNode)(`strong`,null,`页面元数据不完整`,-1),n[11]||=(0,s.createElementVNode)(`span`,null,`缺少有效的原始宽高,无法安全计算签署坐标。`,-1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重新加载页面`,8,ae)],64))])),(0,s.createElementVNode)(`div`,oe,[(0,s.createElementVNode)(`div`,se,[z.value&&z.value.pageIndex===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`gd-ant-contract-signing-location__coordinate-guides`,style:(0,s.normalizeStyle)(Ve(z.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,ce,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(W(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(W(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(W(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(W(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),E.value.length&&D.value===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,fe,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(E.value,(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:`${e.axis}-${n}`,class:(0,s.normalizeClass)(e.axis===`x`?`is-vertical`:`is-horizontal`),style:(0,s.normalizeStyle)(He(e,t.page))},null,6))),128))])):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ze(t.layout.pageIndex),e=>((0,s.openBlock)(),(0,s.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__placement`,[`is-${e.signType}`,{"is-selected":e.id===v.selectedPlacementId}]]),style:(0,s.normalizeStyle)(Be(e)),title:K(e).alt,"aria-label":K(e).alt,"aria-pressed":e.id===v.selectedPlacementId,onClick:(0,s.withModifiers)(t=>b(`select`,e.id),[`stop`]),onPointerdown:t=>tt(t,e),onLostpointercapture:$,onKeydown:t=>ut(t,e)},[(0,s.createElementVNode)(`span`,me,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:K(e).dataUrl,alt:K(e).alt,draggable:`false`},null,8,he)]),e.mustSign?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ge,`必签`)):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ue(e)?be:[],t=>((0,s.openBlock)(),(0,s.createElementBlock)(`i`,{key:t,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__resize-handle`,`is-${t}`]),onPointerdown:(0,s.withModifiers)(n=>nt(n,e,t),[`stop`])},null,42,_e))),128))],46,pe))),128))])])],12,ee)],4))),128))],4)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__canvas-state`,{"is-error":I.value&&L.value}]),role:`status`},[I.value&&L.value?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[n[7]||=(0,s.createElementVNode)(`strong`,null,`合同模板无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value),1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createTextVNode)(`请选择可用的合同页面`)],64))],2))],544)]))}});exports.default=v;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractSigningTemplatePage.cjs`);require(`./constants.cjs`);const t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./page-layout.cjs`),a=require(`../../pro-contract-template-designer/src/composables/use-fit-width-zoom.cjs`),o=require(`./signing-visuals.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),u=require(`@ant-design/icons-vue`);var d={class:`gd-ant-contract-signing-location__workspace`},f={class:`gd-ant-contract-signing-location__workspace-head`},p={key:0},m={class:`gd-ant-contract-signing-location__workspace-tools`},h={class:`gd-ant-contract-signing-location__page-jumper`,"aria-label":`页码跳转`},g=[`value`,`max`],_={class:`gd-ant-contract-signing-location__zoom-tools`,"aria-label":`页面缩放`},ee=[`aria-label`],te={key:1,class:`gd-ant-contract-signing-location__page-placeholder is-error`,role:`alert`},ne=[`src`],re={key:3,class:`gd-ant-contract-signing-location__page-placeholder`},ie=[`onClick`],ae=[`onClick`],oe={class:`gd-ant-contract-signing-location__render-region`},se={class:`gd-ant-contract-signing-location__render-region-content`},ce={class:`is-horizontal is-top`},le={class:`is-horizontal is-bottom`},ue={class:`is-vertical is-left`},de={class:`is-vertical is-right`},fe={key:1,class:`gd-ant-contract-signing-location__snap-guides`,"aria-hidden":`true`},pe=[`title`,`aria-label`,`aria-pressed`,`onClick`,`onPointerdown`,`onKeydown`],me={class:`gd-ant-contract-signing-location__placement-body`},he=[`src`,`alt`],ge={key:0,class:`gd-ant-contract-signing-location__placement-badge`},_e=[`onPointerdown`],v=(0,s.defineComponent)({name:`ContractSigningLocationCanvas`,__name:`ContractSigningLocationCanvas`,props:{file:{},pages:{},placements:{},selectedPlacementId:{},readonly:{type:Boolean},resizable:{type:Boolean},zoom:{},previewLoadingKeys:{},previewErrorMap:{},activePageIndex:{},minZoom:{},maxZoom:{},sealSizeLimit:{},sealTypeOptions:{}},emits:[`select`,`add`,`update`,`remove`,`retry`,`visible-pages`,`view-page`,`page-change`,`zoom-change`,`scroll-to-ready`],setup(v,{expose:ve,emit:ye}){let be=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],y=v,b=ye,x=(0,s.ref)(null),S=(0,s.ref)(null),C=(0,s.shallowRef)(1),w=(0,s.shallowRef)(y.activePageIndex),T=(0,s.shallowRef)({start:0,end:-1}),{width:xe}=(0,l.useElementSize)(x),Se=(0,s.computed)(()=>Math.max(...y.pages.map(e=>e.displayWidth||e.width||i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width),i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width)),{fitWidth:Ce,markUserAdjusted:we}=a.useFitWidthZoom({viewportWidth:xe,widestPageWidth:Se,padding:48,minZoom:()=>y.minZoom,maxZoom:()=>y.maxZoom,getZoom:()=>y.zoom,applyZoom:e=>(b(`zoom-change`,e),e)}),E=(0,s.shallowRef)([]),D=(0,s.shallowRef)(),O=(0,s.shallowRef)(),k,A=0,j,M,N,P,F=(0,s.computed)(()=>i.buildPageLayouts(y.pages,y.zoom,16)),Te=(0,s.computed)(()=>i.getPageLayoutsContentSize(F.value)),I=(0,s.computed)(()=>n.isContractSigningTemplateFile(y.file)),Ee=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(y.file?.source)),De=(0,s.computed)(()=>new Map(Ee.value.map(e=>[e.pageIndex,e]))),L=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(y.file)),Oe=(0,s.computed)(()=>{let e=T.value;return F.value.length?e.end<e.start?F.value.slice(0,2):F.value.slice(e.start,e.end+1):[]}),ke=(0,s.computed)(()=>Oe.value.flatMap(e=>{let t=V(e.pageIndex);return t?[{layout:e,page:t,logical:H(t),templatePage:De.value.get(e.pageIndex)}]:[]})),R=(0,s.computed)(()=>y.pages.find(e=>e.pageIndex===w.value)??y.pages[0]),Ae=(0,s.computed)(()=>Math.min(y.minZoom,y.maxZoom)),je=(0,s.computed)(()=>Math.max(y.minZoom,y.maxZoom)),z=(0,s.computed)(()=>y.placements.find(e=>e.id===y.selectedPlacementId)),Me=new Date,B=new Map;function Ne(e){return JSON.stringify([e.signType,e.sealType??[],y.sealTypeOptions??[]])}function Pe(e){let t=Ne(e),n=B.get(t);if(n)return n;let r=o.getContractSigningPlacementVisual(e,{sealTypeOptions:y.sealTypeOptions,date:Me});if(B.size>=128){let e=B.keys().next().value;e!==void 0&&B.delete(e)}return B.set(t,r),r}let Fe=(0,s.computed)(()=>{let e=new WeakMap;return y.placements.forEach(t=>{e.set(t,Pe(t))}),e});(0,s.watch)(()=>y.activePageIndex,e=>{w.value=e,Ge()||Q(e)}),(0,s.watch)(()=>y.pages.map(e=>e.pageIndex).join(`,`),()=>{(0,s.nextTick)(()=>{Y(),X(),b(`scroll-to-ready`)})}),(0,s.watch)(()=>y.zoom,(e,t)=>{if(!x.value||t==null||e===t)return;let n=q(),r=i.buildPageLayouts(y.pages,t,16),a=i.findPageAtOffset(r,n.layoutScrollTop+1)??r[0];if(!a)return;N={pageIndex:a.pageIndex,offsetInPage:n.layoutScrollTop-a.top};let o=e/Math.max(.01,t);(0,s.nextTick)(()=>qe(o))}),(0,s.onMounted)(()=>{Y(),X(),b(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!x.value)&&(P=new ResizeObserver(()=>{Y(),X()}),P.observe(x.value))}),(0,s.onBeforeUnmount)(()=>{lt(),et(),j&&clearTimeout(j),P?.disconnect(),P=void 0});function V(e){return y.pages.find(t=>t.pageIndex===e)}function H(e){return e&&r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function U(e){if(!e||!r.isContractSigningPageUsable(e))return{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE};let t=Number(e.displayWidth),n=Number(e.displayHeight);return{width:Number.isFinite(t)&&t>0?t:e.width,height:Number.isFinite(n)&&n>0?n:e.height}}function Ie(e){return`${y.file?.fileId??``}:${e}`}function Le(e){return y.previewLoadingKeys.includes(Ie(e))}function Re(e){return y.previewErrorMap[Ie(e)]||``}function ze(e){return y.placements.filter(t=>t.pageIndex===e)}function W(e){let n=z.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function Be(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r);return{left:`${n.signLeft*i.width/Math.max(1,a.width)}px`,top:`${n.signTop*i.height/Math.max(1,a.height)}px`,width:`${n.signWidth*i.width/Math.max(1,a.width)}px`,height:`${n.signHeight*i.height/Math.max(1,a.height)}px`}}function Ve(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r),o=i.width/Math.max(1,a.width),s=i.height/Math.max(1,a.height);return{"--gd-contract-sign-left":`${n.signLeft*o}px`,"--gd-contract-sign-top":`${n.signTop*s}px`,"--gd-contract-sign-right":`${(n.signLeft+n.signWidth)*o}px`,"--gd-contract-sign-bottom":`${(n.signTop+n.signHeight)*s}px`}}function He(e,t){let n=U(t),r=H(t),i=e.axis===`x`?n.width/Math.max(1,r.width):n.height/Math.max(1,r.height);return e.axis===`x`?{left:`${e.position*i}px`}:{top:`${e.position*i}px`}}function G(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:y.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:y.sealTypeOptions})}function K(e){return Fe.value.get(e)??Pe(e)}function Ue(e){return t.canResizeContractSigningPlacement(e,y.resizable,y.readonly)&&e.id===y.selectedPlacementId}function We(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function q(){let e=x.value,t=S.value;if(!e)return{layoutScrollTop:0,viewportHeight:0};let n=t?.offsetTop??0;return{layoutScrollTop:e.scrollTop-n,viewportHeight:e.clientHeight}}function J(e,t){let n=S.value;if(n){let r=n.getBoundingClientRect();return{x:e-r.left,y:t-r.top}}let r=x.value;if(!r)return{x:e,y:t};let i=r.getBoundingClientRect(),a=Number.parseFloat(getComputedStyle(r).paddingLeft)||0,o=Number.parseFloat(getComputedStyle(r).paddingTop)||0;return{x:e-i.left+r.scrollLeft-a,y:t-i.top+r.scrollTop-o}}function Ge(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function Y(){let e=q();T.value=i.getVisibleRange(F.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(F.value,e.layoutScrollTop+1);if(t){let e=w.value!==t.pageIndex;w.value=t.pageIndex,Ge()||Q(t.pageIndex),e&&b(`view-page`,t.pageIndex)}}function X(){let e=T.value;b(`visible-pages`,F.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function Ke(){Y(),j&&clearTimeout(j),j=setTimeout(()=>{X(),w.value!==M&&(M=w.value,b(`page-change`,w.value))},80)}function qe(e){let t=x.value,n=S.value,r=N;if(N=void 0,!t||!n||!r)return;let i=F.value.find(e=>e.pageIndex===r.pageIndex);i&&(t.scrollTop=n.offsetTop+i.top+r.offsetInPage*e,Y())}function Z(e){let t=x.value,n=S.value;t&&(w.value=e,Q(e),b(`page-change`,e),M=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(F.value,e);t.scrollTop=(n?.offsetTop??0)+r,Y(),X()}))}function Je(e){let n=y.placements.find(t=>t.id===e),r=x.value,i=S.value;if(!n||!r)return;let a=F.value.find(e=>e.pageIndex===n.pageIndex);a&&(w.value=n.pageIndex,Q(n.pageIndex),(0,s.nextTick)(()=>{let e=q(),o=V(n.pageIndex),s=U(o),c=H(o),l=a.top+t.getContractSigningRuleGeometry(n).signTop*s.height/Math.max(1,c.height)*y.zoom,u=l+t.getContractSigningRuleGeometry(n).signHeight*s.height/Math.max(1,c.height)*y.zoom,d=e.layoutScrollTop,f=d+e.viewportHeight;(l<d||u>f)&&(r.scrollTop=(i?.offsetTop??0)+Math.max(0,l-24)),Y(),X(),b(`page-change`,n.pageIndex)}))}function Q(e){let t=y.pages.findIndex(t=>t.pageIndex===e);C.value=t>=0?t+1:1}function Ye(e){let t=y.pages.findIndex(e=>e.pageIndex===w.value),n=Math.min(y.pages.length-1,Math.max(0,(t<0?0:t)+e)),r=y.pages[n];r&&Z(r.pageIndex)}function Xe(e){let t=Number(e.target.value);if(!Number.isFinite(t)){Q(w.value);return}let n=Math.min(y.pages.length,Math.max(1,Math.round(t)))-1,r=y.pages[n];r?Z(r.pageIndex):Q(w.value)}function Ze(e,t=`user`){t===`user`&&we(),b(`zoom-change`,e)}function Qe(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||b(`select`,``)}function $e(){window.addEventListener(`pointermove`,rt,{passive:!1}),window.addEventListener(`pointerup`,$),window.addEventListener(`pointercancel`,$)}function et(){window.removeEventListener(`pointermove`,rt),window.removeEventListener(`pointerup`,$),window.removeEventListener(`pointercancel`,$)}function tt(e,t,n){e.stopPropagation(),b(`select`,t.id);let a=V(t.pageIndex);if(y.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=J(e.clientX,e.clientY),s=i.contentPointToPagePoint(F.value,y.pages,o.x,o.y),c=e.currentTarget;c.focus({preventScroll:!0}),O.value={pointerId:e.pointerId,mode:n?`resize`:`move`,handle:n,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:We(t),grabOffsetX:(s?.x??t.signLeft)-t.signLeft,grabOffsetY:(s?.y??t.signTop)-t.signTop},k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},$e(),ct();try{c.setPointerCapture(e.pointerId)}catch{}}function nt(e,t,n){tt(e,t,n)}function rt(e){let t=O.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},it(k))}function $(e){O.value?.pointerId===e.pointerId&&(O.value=void 0,k=void 0,E.value=[],D.value=void 0,lt(),et())}function it(e){let n=O.value;if(!n)return;if(n.mode===`resize`){at(n,e);return}let a=J(e.clientX,e.clientY),o=i.contentPointToPagePoint(F.value,y.pages,a.x,a.y);if(!o)return;let s=st(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=G({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,ze(s.pageIndex),y.zoom,void 0,s),u=G(l.placement,s);E.value=l.guides,D.value=s.pageIndex,b(`update`,u)}function at(e,n){let i=V(e.origin.pageIndex),a=e.handle;if(!i||!a||!r.isContractSigningPageUsable(i))return;let o=F.value.find(e=>e.pageIndex===i.pageIndex);if(!o)return;let s=J(n.clientX,n.clientY),c=U(i),l=i.width/Math.max(1,c.width*y.zoom),u=i.height/Math.max(1,c.height*y.zoom),d=(s.x-o.left)*l,f=(s.y-o.top)*u;if(e.origin.signType===`seal`){ot(e,i,a,d,f);return}let p=t.getContractSigningRuleGeometry(e.origin),m=p.signLeft,h=p.signTop,g=p.signLeft+p.signWidth,_=p.signTop+p.signHeight;a.includes(`w`)&&(m=d),a.includes(`e`)&&(g=d),a.includes(`n`)&&(h=f),a.includes(`s`)&&(_=f),g-m<8&&(a.includes(`w`)?m=g-8:g=m+8),_-h<8&&(a.includes(`n`)?h=_-8:_=h+8),b(`update`,G({...e.origin,signLeft:m,signTop:h,signWidth:g-m,signHeight:_-h},i))}function ot(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,y.sealSizeLimit);b(`update`,G({...e.origin,...o},n))}function st(e,t){let n=V(e);return n&&r.isContractSigningPageUsable(n)?n:V(t)}function ct(){lt();let e=()=>{let t=O.value,n=x.value;if(!t||!n||!k){A=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(k.clientY,r);a!==0&&(n.scrollTop+=a,Y(),it(k)),A=requestAnimationFrame(e)};A=requestAnimationFrame(e)}function lt(){A&&=(cancelAnimationFrame(A),0)}function ut(e,n){let i=V(n.pageIndex);if(y.readonly||!i||!r.isContractSigningPageUsable(i))return;if(e.key===`Delete`||e.key===`Backspace`){e.preventDefault(),b(`remove`,n.id);return}let a=e.shiftKey?10:1,o=0,s=0;if(e.key===`ArrowLeft`)o=-a;else if(e.key===`ArrowRight`)o=a;else if(e.key===`ArrowUp`)s=-a;else if(e.key===`ArrowDown`)s=a;else return;e.preventDefault();let c=U(i),l=H(i);b(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o*c.width/Math.max(1,l.width),s*c.height/Math.max(1,l.height),i,U(i),{sealSizeLimit:y.sealSizeLimit}))}function dt(e){let t=e.dataTransfer?.getData(`application/x-gd-contract-signing-location`)||e.dataTransfer?.getData(`text/plain`);if(t)try{let e=JSON.parse(t);return pt(e.type)?e.type:void 0}catch{return pt(t)?t:void 0}}function ft(e){if(y.readonly)return;let t=dt(e);if(!t)return;e.preventDefault();let n=J(e.clientX,e.clientY),r=i.contentPointToPagePoint(F.value,y.pages,n.x,n.y);r&&b(`add`,t,r.x,r.y,r.pageIndex)}function pt(e){return e===`seal`||e===`signature`||e===`date`}return ve({scrollToPage:Z,scrollToPlacement:Je,fitWidth:Ce}),(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`main`,d,[(0,s.createElementVNode)(`header`,f,[(0,s.createElementVNode)(`div`,null,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(v.file?.fileName||`合同页面`),1),R.value?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,p,`第 `+(0,s.toDisplayString)(R.value.displayPageNumber)+` 页 · `+(0,s.toDisplayString)(I.value?`HTML`:`PDF`)+` `+(0,s.toDisplayString)(R.value.width)+` × `+(0,s.toDisplayString)(R.value.height),1)):(0,s.createCommentVNode)(``,!0)]),(0,s.createElementVNode)(`div`,m,[(0,s.createElementVNode)(`div`,h,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value<=1,"aria-label":`上一页`,onClick:n[0]||=e=>Ye(-1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.LeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`label`,null,[n[6]||=(0,s.createTextVNode)(` 第 `,-1),(0,s.createElementVNode)(`input`,{value:C.value,type:`number`,min:`1`,max:Math.max(1,v.pages.length),onChange:Xe,onKeydown:(0,s.withKeys)(Xe,[`enter`])},null,40,g),(0,s.createTextVNode)(` / `+(0,s.toDisplayString)(v.pages.length)+` 页 `,1)]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value>=v.pages.length,"aria-label":`下一页`,onClick:n[1]||=e=>Ye(1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),(0,s.createElementVNode)(`div`,_,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom<=Ae.value,"aria-label":`缩小页面`,onClick:n[2]||=e=>Ze(v.zoom-.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`button`,{type:`button`,onClick:n[3]||=e=>Ze(1)},(0,s.toDisplayString)(Math.round(v.zoom*100))+`%`,1),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom>=je.value,"aria-label":`放大页面`,onClick:n[4]||=e=>Ze(v.zoom+.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,"aria-label":`适应宽度`,title:`适应宽度`,onClick:(0,s.unref)(Ce)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])])])]),(0,s.createElementVNode)(`div`,{ref_key:`scrollRef`,ref:x,class:`gd-ant-contract-signing-location__canvas-scroll`,onScrollPassive:Ke,onClick:Qe,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ft},[v.pages.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`stackRef`,ref:S,class:`gd-ant-contract-signing-location__page-stack`,style:(0,s.normalizeStyle)({width:`${Te.value.width}px`,height:`${Te.value.height}px`})},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ke.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.layout.pageIndex,class:`gd-ant-contract-signing-location__page-shell`,style:(0,s.normalizeStyle)({top:`${t.layout.top}px`,left:`${t.layout.left}px`,width:`${t.layout.width}px`,height:`${t.layout.height}px`})},[(0,s.createElementVNode)(`div`,{class:`gd-ant-contract-signing-location__page`,style:(0,s.normalizeStyle)({width:`${U(t.page).width}px`,height:`${U(t.page).height}px`,transform:`scale(${v.zoom})`}),"aria-label":`${v.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[I.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage},null,8,[`page`])):I.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,te,[n[8]||=(0,s.createElementVNode)(`strong`,null,`模板页面无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value||`页面结构无效,请回到模板设计器修复后重试。`),1)])):t.page.previewUrl?((0,s.openBlock)(),(0,s.createElementBlock)(`img`,{key:2,class:`gd-ant-contract-signing-location__page-image`,src:t.page.previewUrl,alt:`合同页面预览`},null,8,ne)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,re,[Le(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页加载中…`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1)],64)):Re(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[n[9]||=(0,s.createElementVNode)(`strong`,null,`合同页面预览加载失败`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(Re(t.layout.pageIndex)),1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重试当前页`,8,ie)],64)):(0,s.unref)(r.isContractSigningPageUsable)(t.page)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:3},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1),n[12]||=(0,s.createElementVNode)(`small`,null,`等待 dataProvider 返回页面预览图`,-1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:2},[n[10]||=(0,s.createElementVNode)(`strong`,null,`页面元数据不完整`,-1),n[11]||=(0,s.createElementVNode)(`span`,null,`缺少有效的原始宽高,无法安全计算签署坐标。`,-1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重新加载页面`,8,ae)],64))])),(0,s.createElementVNode)(`div`,oe,[(0,s.createElementVNode)(`div`,se,[z.value&&z.value.pageIndex===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`gd-ant-contract-signing-location__coordinate-guides`,style:(0,s.normalizeStyle)(Ve(z.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,ce,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(W(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(W(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(W(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(W(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),E.value.length&&D.value===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,fe,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(E.value,(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:`${e.axis}-${n}`,class:(0,s.normalizeClass)(e.axis===`x`?`is-vertical`:`is-horizontal`),style:(0,s.normalizeStyle)(He(e,t.page))},null,6))),128))])):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ze(t.layout.pageIndex),e=>((0,s.openBlock)(),(0,s.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__placement`,[`is-${e.signType}`,{"is-selected":e.id===v.selectedPlacementId}]]),style:(0,s.normalizeStyle)(Be(e)),title:K(e).alt,"aria-label":K(e).alt,"aria-pressed":e.id===v.selectedPlacementId,onClick:(0,s.withModifiers)(t=>b(`select`,e.id),[`stop`]),onPointerdown:t=>tt(t,e),onLostpointercapture:$,onKeydown:t=>ut(t,e)},[(0,s.createElementVNode)(`span`,me,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:K(e).dataUrl,alt:K(e).alt,draggable:`false`},null,8,he)]),e.mustSign?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ge,`必签`)):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ue(e)?be:[],t=>((0,s.openBlock)(),(0,s.createElementBlock)(`i`,{key:t,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__resize-handle`,`is-${t}`]),onPointerdown:(0,s.withModifiers)(n=>nt(n,e,t),[`stop`])},null,42,_e))),128))],46,pe))),128))])])],12,ee)],4))),128))],4)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__canvas-state`,{"is-error":I.value&&L.value}]),role:`status`},[I.value&&L.value?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[n[7]||=(0,s.createElementVNode)(`strong`,null,`合同模板无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value),1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createTextVNode)(`请选择可用的合同页面`)],64))],2))],544)]))}});exports.default=v;
|
package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-contract-template-designer/src/utils/page-decorations.cjs`),t=require(`../../pro-contract-template-designer/src/ContractTemplatePageDecorations.cjs`);let n=require(`vue`);var r=[`data-page-id`,`data-template-page-index`,`data-page-width`,`data-page-height`],i=[`innerHTML`],a={key:0,class:`gd-ant-contract-signing-location__template-warning`,role:`alert`},o=(0,n.defineComponent)({name:`ContractSigningTemplatePage`,__name:`ContractSigningTemplatePage`,props:{page:{}},setup(o){let s=o,c=(0,n.ref)(),l=(0,n.ref)(0),u=(0,n.computed)(()=>({"has-contract-header":e.hasEnabledPageHeader(s.page.pageDecorations,s.page.pageNumber),"has-contract-footer":e.hasEnabledPageFooter(s.page.pageDecorations,s.page.pageNumber)})),d=(0,n.computed)(()=>({width:`${s.page.displayWidth}px`,minHeight:`${s.page.displayHeight}px`,paddingTop:`${s.page.paddingTop}px`,paddingBottom:`${s.page.paddingBottom}px`})),f=(0,n.computed)(()=>l.value>1?`第 ${s.page.pageNumber} 页正文超出纸张 ${Math.round(l.value)}px,生成 PDF 时会分页,请回模板设计器调整后再指定位置。`:``),p=(0,n.computed)(()=>s.page.errors[0]||f.value),m=(0,n.computed)(()=>s.page.errors.length?`模板已安全降级展示`:`该页签署位置不可信`),h;function g(){let e=c.value;if(!e){l.value=0;return}l.value=Math.max(0,e.offsetHeight-s.page.displayHeight)}return(0,n.watch)(c,e=>{if(h?.disconnect(),h=void 0,!e||typeof ResizeObserver>`u`){g();return}h=new ResizeObserver(g),h.observe(e),g()},{immediate:!0}),(0,n.watch)(()=>[s.page.contentHtml,s.page.displayHeight],g),(0,n.onBeforeUnmount)(()=>{h?.disconnect(),h=void 0}),(e,s)=>((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{ref_key:`pageEl`,ref:c,class:(0,n.normalizeClass)([`gd-contract-template-page gd-ant-contract-signing-location__template-page`,u.value]),"data-page-id":o.page.pageId,"data-template-page-index":o.page.pageIndex,"data-page-width":o.page.displayWidth,"data-page-height":o.page.displayHeight,style:(0,n.normalizeStyle)(d.value)},[(0,n.createVNode)(t.default,{decorations:o.page.pageDecorations,"page-number":o.page.pageNumber,"total-pages":o.page.totalPages,variables:o.page.decorationVariables,values:o.page.decorationValues},null,8,[`decorations`,`page-number`,`total-pages`,`variables`,`values`]),(0,n.createElementVNode)(`div`,{class:`gd-contract-template-page__content`,innerHTML:o.page.contentHtml},null,8,i),p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a,[(0,n.createElementVNode)(`strong`,null,(0,n.toDisplayString)(m.value),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(p.value),1)])):(0,n.createCommentVNode)(``,!0)],14,r))}});exports.default=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=[{value:`01`,label:`单位专用章`},{value:`02`,label:`财务专用章`},{value:`03`,label:`发票专用章`},{value:`04`,label:`合同专用章`},{value:`05`,label:`法定代表人名章`}],t=`application/x-gd-contract-signing-location`,n={seal:`印章`,signature:`签名`,date:`签署日期`},r=8,i=640,a=72/25.4,o={"01":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"02":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"03":{shape:`ellipse`,widthMm:40,heightMm:30,centerPattern:`none`,fontFamily:`FangSong, STFangsong, serif`},"04":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"05":{shape:`square`,widthMm:20,heightMm:20,centerPattern:`none`,fontFamily:`SimSun, STSong, serif`}};function s(e){return Math.round(e*a*100)/100}function
|
|
1
|
+
var e=[{value:`01`,label:`单位专用章`},{value:`02`,label:`财务专用章`},{value:`03`,label:`发票专用章`},{value:`04`,label:`合同专用章`},{value:`05`,label:`法定代表人名章`}],t=`application/x-gd-contract-signing-location`,n={seal:`印章`,signature:`签名`,date:`签署日期`},r=8,i=640,a=72/25.4,o={"01":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"02":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"03":{shape:`ellipse`,widthMm:40,heightMm:30,centerPattern:`none`,fontFamily:`FangSong, STFangsong, serif`},"04":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"05":{shape:`square`,widthMm:20,heightMm:20,centerPattern:`none`,fontFamily:`SimSun, STSong, serif`}},s=96/72;function c(e){return{width:l(e?.width),height:l(e?.height)}}function l(e){let t=Number(e);return!Number.isFinite(t)||t<=0?0:Math.round(t/s*100)/100}function u(e){return Math.round(e*a*100)/100}function d(e,t=96){return Math.round(e/25.4*t*100)/100}function f(t,n=e){let r=String(t??``).trim(),i=n.find(e=>String(e.value).trim()===r),a=e.find(e=>String(e.value).trim()===r),s=o[r]??o[`04`];if(!(!i&&!a))return{...a??{},...i??{},...s,...i?.shape?{shape:i.shape}:{},...i?.widthMm?{widthMm:i.widthMm}:{},...i?.heightMm?{heightMm:i.heightMm}:{},...i?.centerPattern?{centerPattern:i.centerPattern}:{},fontFamily:i?.fontFamily||s.fontFamily}}function p(t,n=e){let r=(Array.isArray(t)?t:t==null?[]:[t]).map(e=>f(e,n)).filter(e=>!!e);return r.length?{width:Math.max(...r.map(e=>u(Number(e.widthMm)))),height:Math.max(...r.map(e=>u(Number(e.heightMm))))}:{width:u(40),height:u(40)}}function m(t,n=e,r=96){let i=p(t,n);return{width:d(i.width/a,r),height:d(i.height/a,r)}}var h={default:{seal:{width:113.39,height:113.39},signature:{width:142,height:57},date:{width:170,height:57}}},g=8,_=48,v=3,y=150;exports.CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX=_,exports.CONTRACT_SIGNING_CSS_PX_PER_POINT=s,exports.CONTRACT_SIGNING_MIN_PLACEMENT_SIZE=g,exports.CONTRACT_SIGNING_PLACEMENT_LABELS=n,exports.CONTRACT_SIGNING_PLACEMENT_MIME=t,exports.CONTRACT_SIGNING_PREVIEW_CONCURRENCY=v,exports.CONTRACT_SIGNING_PX_PER_MM=a,exports.CONTRACT_SIGNING_SEAL_MAX_SIZE=i,exports.CONTRACT_SIGNING_SEAL_MIN_SIZE=r,exports.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS=e,exports.CONTRACT_SIGNING_SEAL_TYPE_PRESETS=o,exports.CONTRACT_SIGNING_SIZE_PROFILES=h,exports.CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS=y,exports.millimetersToContractSigningCssPixels=d,exports.millimetersToContractSigningPixels=u,exports.resolveContractSigningSealSizeInCssPixels=m,exports.resolveContractSigningSealSizeInPixels=p,exports.resolveContractSigningSealTypeOption=f,exports.toContractSigningRulePageSize=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values,n.pages):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t,r){let i=n.buildContractSigningTemplateRenderPages({type:`template`,template:e,...t?{values:t}:{}}),a=Array.isArray(r)?r:[];return i.map(e=>{let t=a.find(t=>k((t&&typeof t==`object`?t:{}).pageIndex,-1)===e.pageIndex),n=t&&typeof t==`object`?t:{},r=O(e.displayWidth||e.width,0),i=O(e.displayHeight||e.height,0);return{pageIndex:e.pageIndex,displayPageNumber:e.pageIndex+1,pageId:e.pageId,width:O(n.width,
|
|
1
|
+
const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values,n.pages):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t,r){let i=n.buildContractSigningTemplateRenderPages({type:`template`,template:e,...t?{values:t}:{}}),a=Array.isArray(r)?r:[];return i.map(e=>{let t=a.find(t=>k((t&&typeof t==`object`?t:{}).pageIndex,-1)===e.pageIndex),n=t&&typeof t==`object`?t:{},r=O(e.displayWidth||e.width,0),i=O(e.displayHeight||e.height,0);return{pageIndex:e.pageIndex,displayPageNumber:e.pageIndex+1,pageId:e.pageId,width:O(n.width,e.width),height:O(n.height,e.height),displayWidth:r,displayHeight:i,...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}})}function x(e,t){let n=e&&typeof e==`object`?e:{},r=k(n.pageIndex,t);return{pageIndex:r,displayPageNumber:A(n.displayPageNumber,r+1),width:O(n.width,0),height:O(n.height,0),...O(n.displayWidth,0)>0?{displayWidth:O(n.displayWidth,0)}:{},...O(n.displayHeight,0)>0?{displayHeight:O(n.displayHeight,0)}:{},...n.pageId?{pageId:String(n.pageId)}:{},...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}}function S(e){if(e==null)return e;try{return JSON.parse(JSON.stringify(e))}catch{return e}}function C(e){let t=e?.signType===`seal`||e?.signType===`signature`||e?.signType===`date`?e.signType:`signature`;return{id:String(e?.id??``),fileId:String(e?.fileId??``).trim(),pageIndex:k(e?.pageIndex,0),signType:t,signLeft:D(e?.signLeft,0),signTop:D(e?.signTop,0),signWidth:D(e?.signWidth,0),signHeight:D(e?.signHeight,0),mustSign:e?.mustSign!==!1,...t===`seal`&&Array.isArray(e?.sealType)?{sealType:e.sealType.map(String)}:{}}}function w(e){return Array.isArray(e)?Array.from(new Set(e.map(String).map(e=>e.trim()).filter(Boolean))):[]}function T(e){return new Map(e.flatMap(e=>e.pages.map(t=>[E(e.fileId,t.pageIndex),t])))}function E(e,t){return`${e}\u0000${t}`}function D(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function O(e,t){return Math.max(0,D(e,t))}function k(e,t){return Math.max(0,Math.round(D(e,t)))}function A(e,t){return Math.max(1,Math.round(D(e,t)))}function j(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}exports.ContractSigningLocationBuildError=_,exports.buildContractSigningLocationOutput=g,exports.buildContractSigningLocationRules=h,exports.cloneContractSigningLocationValue=o,exports.createContractSigningLocationValue=i,exports.createContractSigningPlacement=p,exports.findContractSigningPage=c,exports.getContractSigningHomePage=l,exports.isContractSigningPageUsable=d,exports.normalizeContractSigningLocationValue=a,exports.normalizeContractSigningProviderValue=s,exports.patchContractSigningPlacement=u,exports.resolveContractSigningPreviewPageSize=f,exports.validateContractSigningLocationValue=m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function
|
|
1
|
+
const e=require(`../../pro-contract-template-designer/src/utils/page-decorations.cjs`),t=require(`./constants.cjs`),n=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function r(e){return!!(e&&typeof e==`object`&&e.type===`template`)}function i(e){return r(e?.source)}function a(e){if(!r(e)||!u(e.template))return[];try{let r=e.template,i=Array.isArray(r.pages)?r.pages:[],a=n.normalizeRenderValues(r,e.values),s=l(r),c=i.length;return i.flatMap((e,i)=>{let l=n.buildTemplateRenderPages({...r,pages:[e]},a,{readonly:!0,disabled:!0,mode:`display`})[0];if(!l)return[];let u=d(e?.pageSize,r.pageSize,l),f=t.toContractSigningRulePageSize(u),p=i+1,m=o(l.pageDecorations,p);return[{pageIndex:i,pageId:l.id,title:l.title,width:f.width||u.width,height:f.height||u.height,displayWidth:u.width,displayHeight:u.height,contentHtml:l.contentHtml,...l.pageDecorations?{pageDecorations:l.pageDecorations}:{},decorationVariables:l.decorationVariables,decorationValues:l.decorationValues,pageNumber:p,totalPages:c,paddingTop:m.top,paddingBottom:m.bottom,errors:s.filter(e=>!e.pageId||e.pageId===l.id).map(e=>e.message)}]})}catch{return[]}}function o(t,n){let r=e.normalizePageDecorations(t);return{top:e.hasEnabledPageHeader(r,n)?e.getPageDecorationSafePadding(r.header):e.CONTRACT_PAGE_BASE_PADDING.top,bottom:e.hasEnabledPageFooter(r,n)?e.getPageDecorationSafePadding(r.footer):e.CONTRACT_PAGE_BASE_PADDING.bottom}}function s(e){if(!r(e.source))return[];if(!u(e.source.template))return[{code:`CONTRACT_TEMPLATE_MISSING`,message:`文件 ${e.fileName||e.fileId} 缺少可渲染的合同模板`,fileId:e.fileId}];try{let t=Array.isArray(e.source.template.pages)?e.source.template.pages:[];return l(e.source.template).map(n=>{let r=n.pageId?t.findIndex(e=>e?.id===n.pageId):-1;return{code:`CONTRACT_${n.code||`TEMPLATE_INVALID`}`,message:`${e.fileName||e.fileId}:${n.message}`,fileId:e.fileId,...r>=0?{pageIndex:r}:{}}})}catch(t){return[{code:`CONTRACT_TEMPLATE_RENDER_FAILED`,message:`文件 ${e.fileName||e.fileId} 的模板数据无法安全渲染`,fileId:e.fileId,cause:t}]}}function c(e){return!e||!r(e.source)?``:s(e)[0]?.message??``}function l(e){return n.validateTemplateRenderStructure(e)}function u(e){return!!(e&&typeof e==`object`)}function d(e,t,n){return{width:f(e?.width,f(t?.width,n.width)),height:f(e?.height,f(t?.height,n.height))}}function f(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?n:t}exports.buildContractSigningTemplateRenderPages=a,exports.getContractSigningTemplateDisplayError=c,exports.isContractSigningTemplateFile=i,exports.isContractSigningTemplateSource=r,exports.validateContractSigningTemplateFile=s;
|