@guodun/antdv 1.3.2 → 1.4.0
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/index.mjs +1 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +304 -289
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +337 -326
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationNavigator.vue.mjs +41 -33
- package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.mjs +5 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.vue.mjs +23 -0
- package/dist/es/components/contract-signing-location/src/location-rules.mjs +115 -77
- package/dist/es/components/contract-signing-location/src/template-source.mjs +85 -0
- package/dist/es/components/contract-signing-location/style/index.css +1 -1
- package/dist/es/components/index.mjs +8 -6
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.mjs +164 -57
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.mjs +128 -125
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.vue.mjs +75 -49
- package/dist/es/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.mjs +135 -91
- package/dist/es/components/pro-contract-signing-flow/src/constants.mjs +25 -5
- package/dist/es/components/pro-contract-signing-flow/style/index.css +1 -1
- package/dist/es/components/pro-contract-template-designer/index.mjs +5 -4
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +347 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.mjs +171 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateFileBar.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateFileBar.vue.mjs +166 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +4 -4
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.vue.mjs +36 -0
- package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +202 -202
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1591 -1612
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.mjs +235 -239
- package/dist/es/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.mjs +16 -16
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +166 -166
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs +100 -33
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-files.mjs +77 -0
- package/dist/es/components/pro-contract-template-designer/src/extensions/word-paste.mjs +23 -23
- package/dist/es/components/pro-contract-template-designer/src/utils/file-tabs.mjs +14 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +121 -121
- package/dist/es/components/pro-contract-template-designer/src/utils/toolbar-overflow.mjs +19 -0
- package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/es/index.mjs +23 -21
- package/dist/lib/components/contract-signing-location/index.cjs +1 -1
- 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/ContractSigningLocationNavigator.vue.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs +1 -0
- 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 -0
- package/dist/lib/components/contract-signing-location/style/index.css +1 -1
- package/dist/lib/components/index.cjs +1 -1
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-signing-flow/src/constants.cjs +1 -1
- package/dist/lib/components/pro-contract-signing-flow/style/index.css +1 -1
- package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateFileBar.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateFileBar.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.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/SigningPlacementLayer.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +2 -2
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-draft-cache.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-files.cjs +2 -0
- package/dist/lib/components/pro-contract-template-designer/src/extensions/word-paste.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/file-tabs.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +2 -2
- package/dist/lib/components/pro-contract-template-designer/src/utils/toolbar-overflow.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/theme/contract-signing-location.css +1 -1
- package/dist/theme/icon.css +1 -1
- package/dist/theme/index.css +1 -1
- package/dist/theme/pro-contract-signing-flow.css +1 -1
- package/dist/types/components/contract-signing-location/index.d.ts +1 -0
- package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +3 -1
- package/dist/types/components/contract-signing-location/src/ContractSigningLocationInspector.vue.d.ts +2 -2
- package/dist/types/components/contract-signing-location/src/ContractSigningTemplatePage.vue.d.ts +6 -0
- package/dist/types/components/contract-signing-location/src/location-rules.d.ts +3 -3
- package/dist/types/components/contract-signing-location/src/template-source.d.ts +20 -0
- package/dist/types/components/contract-signing-location/src/types.d.ts +47 -2
- package/dist/types/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.d.ts +19 -3
- package/dist/types/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.d.ts +223 -2
- package/dist/types/components/pro-contract-signing-flow/src/constants.d.ts +15 -0
- package/dist/types/components/pro-contract-signing-flow/src/types.d.ts +12 -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 +103 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.d.ts +48 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateFileBar.vue.d.ts +231 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.vue.d.ts +15 -0
- package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +1 -1
- package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +25 -2
- package/dist/types/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.d.ts +2 -2
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +1 -1
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-draft-cache.d.ts +29 -1
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-files.d.ts +24 -0
- package/dist/types/components/pro-contract-template-designer/src/constants.d.ts +2 -2
- package/dist/types/components/pro-contract-template-designer/src/types.d.ts +59 -1
- package/dist/types/components/pro-contract-template-designer/src/utils/file-tabs.d.ts +3 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/toolbar-overflow.d.ts +11 -0
- package/package.json +2 -1
package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./composables/use-fit-width-zoom.cjs`),t=require(`./constants.cjs`),n=require(`./utils/image-url.cjs`),r=require(`./utils/content-image.cjs`),i=require(`./utils/context-variable.cjs`),a=require(`./types.cjs`),o=require(`./utils/signing-placement.cjs`),s=require(`./composables/use-template-designer.cjs`),ee=require(`./DesignerPage.cjs`),te=require(`./ContractTemplatePreviewPage.cjs`),ne=require(`./TableContextMenu.cjs`),re=require(`./TableSizePicker.cjs`),c=require(`./composables/use-template-draft-cache.cjs`),ie=require(`./SigningPlacementInspector.cjs`),ae=require(`./utils/template-tool-icons.cjs`);let l=require(`vue`),u=require(`ant-design-vue`),oe=require(`@vueuse/core`),d=require(`@ant-design/icons-vue`);var se=[`aria-label`,`aria-expanded`],ce={class:`gd-contract-template-designer__panel-stack`},le={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},ue={class:`gd-contract-template-designer__panel-head`},de={class:`gd-contract-template-designer__panel-actions`},fe=[`onClick`],pe={class:`gd-contract-template-designer__page-nav-actions`},me={key:0,class:`gd-contract-template-designer__page-config`},he={key:0,class:`gd-contract-template-designer__form-row`},ge={class:`gd-contract-template-designer__page-size-note`},_e={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},ve={class:`gd-contract-template-designer__panel-head`},ye=[`onClick`],be={key:0,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},xe={class:`gd-contract-template-designer__panel-head`},Se=[`onClick`],Ce={class:`gd-contract-template-designer__workspace-header`},we={class:`gd-contract-template-designer__workspace-meta`},Te={class:`gd-contract-template-designer__workspace-actions`},Ee={class:`gd-contract-template-designer__workspace-controls`},De={class:`gd-contract-template-designer__zoom`},Oe={class:`gd-contract-template-designer__workspace-buttons`},ke={class:`gd-contract-template-designer__toolbar`},Ae={class:`gd-contract-template-designer__toolbar-group`},je={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--style`},Me={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--format`},Ne={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--insert`},Pe={class:`gd-contract-template-designer__popover gd-contract-template-designer__control-insert-popover`},Fe={class:`gd-contract-template-designer__text-menu-control-options`},Ie=[`aria-label`,`onClick`],Le={class:`gd-contract-template-designer__popover gd-contract-template-designer__image-insert-popover`},Re={class:`gd-contract-template-designer__image-size-fields`,role:`group`,"aria-label":`图片尺寸`},ze={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--typography`,"data-toolbar-overflow-key":`typography`},Be=[`value`,`disabled`],Ve={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--cleanup`,"data-toolbar-overflow-key":`cleanup`},He={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--table`,"data-toolbar-overflow-key":`table`},Ue={class:`gd-contract-template-designer__popover`},We={class:`gd-contract-template-designer__switch-row`},Ge={class:`gd-contract-template-designer__popover`},Ke={class:`gd-contract-template-designer__table-actions`},qe={class:`gd-contract-template-designer__toolbar-more-panel`,role:`menu`,"aria-label":`更多编辑工具`},Je={class:`gd-contract-template-designer__toolbar-more-section`},Ye={class:`gd-contract-template-designer__toolbar-more-section`},Xe={class:`gd-contract-template-designer__toolbar-more-section`},Ze={key:0,class:`gd-contract-template-designer__validation`},Qe={key:0,class:`gd-contract-template-designer__validation-list`},$e=[`onClick`],et=[`aria-label`,`aria-expanded`],tt={class:`gd-contract-template-designer__panel-stack`},nt={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--tools`},rt=[`disabled`,`onDragstart`,`onClick`],it={class:`gd-contract-template-designer__tool-item-icon`,"aria-hidden":`true`},at={class:`gd-contract-template-designer__tool-item-copy`},ot={key:0,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--tools`},st={class:`gd-contract-template-designer__panel-head`},ct={class:`gd-contract-template-designer__panel-actions`},lt=[`disabled`,`onDragstart`,`onClick`],ut={class:`gd-contract-template-designer__tool-item-icon`,"aria-hidden":`true`},dt={class:`gd-contract-template-designer__signing-tool-copy`},ft={class:`gd-contract-template-designer__signing-tool-label`},pt={key:2,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--properties`},mt={class:`gd-contract-template-designer__panel-head`},ht={key:0,class:`gd-contract-template-designer__panel-actions`},gt={class:`gd-contract-template-designer__form-row`},_t={class:`gd-contract-template-designer__form-row`},vt={class:`gd-contract-template-designer__form-row`},yt={class:`gd-contract-template-designer__form-row`},bt={class:`gd-contract-template-designer__form-row`},xt={class:`gd-contract-template-designer__form-row`},St={key:0,class:`gd-contract-template-designer__switch-grid`},Ct={class:`gd-contract-template-designer__switch-row`},wt={key:0,class:`gd-contract-template-designer__form-row is-compact`},Tt={key:1,class:`gd-contract-template-designer__form-row`},Et={class:`gd-contract-template-designer__form-row`},Dt={class:`gd-contract-template-designer__form-row`},Ot={class:`gd-contract-template-designer__form-row`},kt={class:`gd-contract-template-designer__form-row`},At={class:`gd-contract-template-designer__switch-grid`},jt={class:`gd-contract-template-designer__switch-row`},Mt={class:`gd-contract-template-designer__switch-row`},Nt={class:`gd-contract-template-designer__switch-row`},Pt={key:0,class:`gd-contract-template-designer__switch-row`},Ft={class:`gd-contract-template-designer__form-row`},It={class:`gd-contract-template-designer__form-row`},Lt={class:`gd-contract-template-designer__form-row`},Rt=[`value`,`disabled`],zt={class:`gd-contract-template-designer__form-row`},Bt=[`value`,`disabled`],Vt={class:`gd-contract-template-designer__form-row`},Ht=[`value`,`disabled`],Ut={class:`gd-contract-template-designer__form-row`},Wt={class:`gd-contract-template-designer__form-row`},Gt={class:`gd-contract-template-designer__form-row`},Kt={class:`gd-contract-template-designer__image-size-fields`,role:`group`,"aria-label":`图片尺寸`},qt={class:`gd-contract-template-designer__popover-actions`},Jt={class:`gd-contract-template-designer__text-menu-row`,role:`group`,"aria-label":`编辑历史与剪贴板`},Yt={key:0,class:`gd-contract-template-designer__text-menu-quick-insert`,role:`group`,"aria-label":`光标处插入`},Xt={class:`gd-contract-template-designer__text-menu-row gd-contract-template-designer__text-menu-row--controls`,role:`group`,"aria-label":`文字样式`},Zt=[`value`],Qt=[`aria-label`],$t={class:`gd-contract-template-designer__text-menu-control-head`},en={class:`gd-contract-template-designer__text-menu-control-options`},tn=[`aria-label`,`onClick`],nn=[`disabled`],rn={class:`gd-contract-template-designer__text-menu-bind-list`,role:`listbox`,"aria-label":`已有正文控件`},an=[`onClick`],on={class:`gd-contract-template-designer__text-menu-bind-item-label`},sn={class:`gd-contract-template-designer__text-menu-bind-item-meta`},cn={key:0,class:`gd-contract-template-designer__text-menu-bind-empty`},ln={class:`gd-contract-template-designer__text-menu-row`,role:`group`,"aria-label":`常用格式与列表`},un={class:`gd-contract-template-designer__text-menu-row gd-contract-template-designer__text-menu-row--cleanup`,role:`group`,"aria-label":`清理格式`},dn={class:`gd-contract-template-designer__sr-status`,"aria-live":`polite`},fn={class:`gd-contract-template-designer__preview`},pn={class:`gd-contract-template-designer__submit-data`},mn=.5,hn=1.5,gn=.1,_n=128,vn=108,yn=48,bn=24,xn=10,Sn=48,Cn=304,wn=300,Tn=288,En=196,f=12,Dn=43,On=6,kn=4,p=(0,l.defineComponent)({name:`ProContractTemplateDesigner`,__name:`ProContractTemplateDesigner`,props:{modelValue:{default:void 0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},height:{default:760},pageSize:{default:()=>s.DEFAULT_PAGE_SIZE},pageSizeOptions:{},maxPages:{default:50},imageCompression:{type:[Object,Boolean]},imageUpload:{},variableTypes:{default:()=>s.DEFAULT_FIELD_TYPES},defaultVariableStyle:{default:()=>s.DEFAULT_FIELD_STYLE},fontFamilies:{default:void 0},fontFamilyMode:{default:`append`},showSubmitDataViewer:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showSigningPlacementTools:{type:Boolean,default:!1},enableDraftCache:{type:Boolean,default:!0},draftCacheKey:{default:c.DEFAULT_DRAFT_CACHE_KEY},draftCacheInterval:{default:c.DEFAULT_DRAFT_CACHE_INTERVAL},draftCacheMaxBytes:{default:c.DEFAULT_DRAFT_CACHE_MAX_BYTES},showDraftCacheStatus:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`variable-add`,`validate`,`draft-cache-change`,`page-limit`,`image-error`,`signing-placement-add`,`signing-placement-change`,`signing-placement-remove`,`signing-placement-select`],setup(p,{expose:An,emit:jn}){let m=p,h=jn,Mn=(0,l.computed)(()=>({height:typeof m.height==`number`?`${m.height}px`:m.height})),Nn=(0,l.ref)(),Pn=(0,l.ref)(),Fn=(0,l.ref)(),In=(0,l.ref)(),Ln=(0,l.ref)(),Rn=(0,l.ref)(),zn=(0,l.ref)(),Bn=(0,l.ref)(),Vn=(0,l.ref)();function Hn(e){if(!e||!Array.isArray(e.pages)||!Array.isArray(e.signingPlacements))return[];try{return s.validateTemplateValue(e).filter(e=>e.type===`signing-placement`)}catch{return[]}}let g=(0,l.ref)(Hn(m.modelValue)),Un=s.normalizeTemplateValue(m.modelValue,m.pageSize),Wn=s.constrainTemplatePageSizes(Un,m.pageSizeOptions),_=(0,l.ref)(Wn.value);m.modelValue&&JSON.stringify(Wn.value)!==JSON.stringify(Un)&&(h(`update:modelValue`,s.cloneTemplateValue(Wn.value)),h(`change`,s.cloneTemplateValue(Wn.value)),_i(Wn.resizedSigningPlacementIds,Wn.value));let v=(0,l.ref)(``),y=(0,l.ref)(``),b=(0,l.ref)(_.value.pages[0]?.id??``),Gn=(0,l.ref)(!1),x=(0,l.ref)([]),S=new Map,Kn=(0,l.ref)(!1),qn=(0,l.ref)(``),Jn=(0,l.ref)(!1),Yn=(0,l.ref)(),Xn=(0,l.ref)(!1),Zn=(0,l.ref)(``),C=(0,l.ref)(1),w=(0,l.ref)(!1),T=(0,l.ref)(!1),E=(0,l.ref)(!1),D=(0,l.ref)(!1),Qn=(0,l.ref)({}),$n=(0,l.ref)(),er=(0,l.ref)(``),O=(0,l.ref)(!1),k=(0,l.ref)(!1),tr=(0,l.ref)(!1),nr=(0,l.ref)(!1),rr=(0,l.ref)(``),ir=(0,l.ref)(),ar=(0,l.ref)(),or=(0,l.ref)(``),A=(0,l.ref)(!1),j=(0,l.ref)(),sr=(0,l.ref)(),cr=(0,l.ref)(!1),lr=(0,l.ref)(``),M=(0,l.ref)(),ur=(0,l.ref)(),N=(0,l.ref)(),dr=(0,l.ref)(),fr=(0,l.ref)(),pr=(0,l.ref)(),P=(0,l.ref)(``),F=(0,l.ref)(c.createDraftCacheStatus(`idle`,`暂无本地草稿`)),mr=(0,l.ref)({rows:3,cols:3,withHeaderRow:!0}),hr,gr,_r=``,I=(0,l.computed)(()=>m.readonly||m.disabled),vr=(0,l.computed)(()=>!!m.enableDraftCache&&!I.value),L=(0,l.computed)(()=>_.value.variables.find(e=>e.key===v.value)),R=(0,l.computed)(()=>_.value.signingPlacements??[]),yr=(0,l.computed)(()=>Yn.value?s.buildTemplatePreviewPages(Yn.value):[]),br=(0,l.computed)(()=>R.value.find(e=>e.id===y.value)),xr=(0,l.computed)(()=>R.value.map(e=>{let t=_.value.pages.findIndex(t=>t.id===e.pageId);return{placement:e,label:o.SIGNING_PLACEMENT_TYPE_LABELS[e.type],detail:`${o.SIGNING_PLACEMENT_TYPE_LABELS[e.type]} · 第 ${Math.max(0,t)+1} 页`}})),Sr=(0,l.computed)(()=>{let e=br.value?.pageId;return q(_.value.pages.find(t=>t.id===e))}),z=(0,l.computed)(()=>_.value.pages.find(e=>e.id===b.value)??_.value.pages[0]),Cr=(0,l.computed)(()=>s.resolvePageSize(z.value?.pageSize,_.value.pageSize)),wr=(0,l.computed)(()=>Gn.value&&x.value.length===0),Tr=(0,l.computed)(()=>Gn.value?wr.value?`校验通过,正文变量与变量配置一致`:`发现 ${x.value.length} 个校验问题`:``),Er=(0,l.computed)(()=>`${z.value?.title||`合同正文`} · ${Cr.value.label} · 共 ${_.value.pages.length} 页`),Dr=(0,l.computed)(()=>{switch(F.value.type){case`saved`:return`草稿已缓存 ${c.formatDraftCacheSavedAt(F.value.savedAt)}`;case`restored`:return`已恢复本地草稿`;case`too-large`:return`草稿过大,未缓存`;case`unavailable`:case`read-failed`:case`write-failed`:return`草稿缓存失败`;case`cleared`:return`草稿缓存已清理`;default:return``}}),Or=(0,l.computed)(()=>({"is-success":F.value.type===`saved`||F.value.type===`restored`,"is-warning":F.value.type===`too-large`,"is-error":F.value.type===`unavailable`||F.value.type===`read-failed`||F.value.type===`write-failed`})),kr=(0,l.computed)(()=>`${Math.round(C.value*100)}%`),Ar=(0,l.computed)(()=>t.resolveFontFamilyOptions(m.fontFamilies,m.fontFamilyMode)),jr=(0,l.computed)(()=>Ar.value.map(e=>({label:e.label,value:e.value}))),Mr=(0,l.computed)(()=>t.CONTRACT_TEXT_STYLE_PRESETS.map(e=>({label:e.label,value:e.key}))),Nr=t.DEFAULT_TEXT_ALIGN_OPTIONS,Pr=[{label:`正文`,value:`paragraph`},{label:`H1`,value:1},{label:`H2`,value:2},{label:`H3`,value:3},{label:`H4`,value:4},{label:`H5`,value:5},{label:`H6`,value:6}],Fr=[{label:`实线`,value:`solid`},{label:`虚线`,value:`dashed`}],Ir=[{label:`完整显示`,value:`contain`},{label:`铺满裁剪`,value:`cover`},{label:`拉伸填充`,value:`fill`}],Lr=(0,l.computed)(()=>s.normalizePageSizeOptions(m.pageSizeOptions)),Rr=(0,l.computed)(()=>Lr.value.map(e=>({label:`${e.label} · ${e.width} × ${e.height}`,value:s.getPageSizeKey(e)}))),zr=(0,l.computed)(()=>s.getPageSizeKey(Cr.value)),Br=(0,l.computed)(()=>o.resolveSigningPlacementToolItems({showSigningPlacementTools:m.showSigningPlacementTools})),Vr=(0,l.computed)(()=>m.variableTypes.filter(e=>a.isContractTemplateFieldType(e?.type))),Hr=(0,l.computed)(()=>Vr.value.map(e=>({...e,icon:ae.resolveFieldTypeIcon(e.type)}))),B=(0,l.computed)(()=>s.normalizeContractTemplateMaxPages(m.maxPages)),V=(0,l.computed)(()=>_.value.pages.length>=B.value),Ur=(0,l.computed)(()=>{let e=lr.value.trim().toLowerCase(),t=_.value.variables;return e?t.filter(t=>t.label.toLowerCase().includes(e)||t.key.toLowerCase().includes(e)):t}),Wr=(0,l.computed)(()=>Math.max(yn,Cr.value.width-_n)),Gr=(0,l.computed)(()=>Math.max(bn,Cr.value.height-vn)),H=(0,l.computed)(()=>Qn.value[b.value]??Qr()),Kr=(0,l.computed)(()=>H.value.currentHeadingLevel??`paragraph`),qr=(0,l.computed)(()=>H.value.fontFamily||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`),Jr=(0,l.computed)(()=>H.value.fontSize??s.DEFAULT_FIELD_STYLE.fontSize??14),Yr=(0,l.computed)(()=>H.value.textColor||s.DEFAULT_FIELD_STYLE.color||`#1f2937`),Xr=(0,l.computed)(()=>L.value?.style?.fontFamily||s.DEFAULT_FIELD_STYLE.fontFamily||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`),Zr=(0,l.computed)(()=>{let e=t.DEFAULT_FONT_SIZE_PRESETS.map(e=>({label:`${e}px`,value:e})),n=ri(Jr.value),r=ri(er.value),i=new Map;return r&&!t.DEFAULT_FONT_SIZE_PRESETS.includes(r)&&i.set(r,{label:`使用 ${r}px`,value:r}),n&&!t.DEFAULT_FONT_SIZE_PRESETS.includes(n)&&i.set(n,{label:r===n?`使用 ${n}px`:`${n}px`,value:n}),[...Array.from(i.values()),...e]});(0,l.watch)(()=>m.modelValue,e=>{if(!e)return;let t=s.normalizeTemplateValue(e,m.pageSize),n=s.constrainTemplatePageSizes(t,m.pageSizeOptions),r=n.value;g.value=Hn(e),JSON.stringify(r)!==JSON.stringify(_.value)&&(_.value=r,b.value=r.pages[0]?.id??``,v.value=``,y.value=``,X(b.value)),JSON.stringify(r)!==JSON.stringify(t)&&(h(`update:modelValue`,s.cloneTemplateValue(r)),h(`change`,s.cloneTemplateValue(r)),_i(n.resizedSigningPlacementIds,r))},{deep:!0}),(0,l.watch)(()=>m.pageSize,e=>{let t=s.normalizeTemplateValue(_.value,e),n=s.constrainTemplatePageSizes(t,m.pageSizeOptions);JSON.stringify(n.value)!==JSON.stringify(_.value)&&(_.value=n.value,h(`update:modelValue`,s.cloneTemplateValue(n.value)),h(`change`,s.cloneTemplateValue(n.value)),_i(n.resizedSigningPlacementIds,n.value)),X(b.value)},{deep:!0}),(0,l.watch)(()=>m.pageSizeOptions,e=>{let t=s.constrainTemplatePageSizes(_.value,e);JSON.stringify(t.value)!==JSON.stringify(_.value)&&(_.value=t.value,h(`update:modelValue`,s.cloneTemplateValue(t.value)),h(`change`,s.cloneTemplateValue(t.value)),_i(t.resizedSigningPlacementIds,t.value),X(b.value))},{deep:!0}),(0,l.watch)(B,()=>{X(_.value.pages[0]?.id)}),(0,l.watch)(I,e=>{e&&(Q(),O.value=!1,k.value=!1)}),(0,l.watch)(R,e=>{y.value&&!e.some(e=>e.id===y.value)&&(y.value=``,h(`signing-placement-select`,void 0))},{deep:!0}),(0,l.watch)(()=>[m.enableDraftCache,m.draftCacheKey,m.draftCacheInterval,I.value],()=>{_r=``,di()}),(0,l.watch)(w,e=>{if(!(typeof document>`u`)){if(e){hr=document.body.style.overflow,document.body.style.overflow=`hidden`;return}document.body.style.overflow=hr??``,hr=void 0}}),(0,l.onMounted)(()=>{li(),di(),X(b.value),window.addEventListener(`pointerdown`,Lo,!0),window.addEventListener(`keydown`,zo),window.addEventListener(`resize`,Q),window.addEventListener(`scroll`,Q,!0)}),(0,l.onBeforeUnmount)(()=>{w.value&&typeof document<`u`&&(document.body.style.overflow=hr??``),window.removeEventListener(`pointerdown`,Lo,!0),window.removeEventListener(`keydown`,zo),window.removeEventListener(`resize`,Q),window.removeEventListener(`scroll`,Q,!0),ui()});function Qr(){return{isFocused:!1,canUndo:!1,canRedo:!1,isBold:!1,isItalic:!1,isUnderline:!1,isBulletList:!1,isOrderedList:!1,isTableActive:!1,textAlign:`left`,fontFamily:t.DEFAULT_CONTRACT_FONT_FAMILY,fontSize:s.DEFAULT_FIELD_STYLE.fontSize??14,textColor:s.DEFAULT_FIELD_STYLE.color??`#1f2937`,selectionText:``}}function $r(e){return e===`left`||e===`center`||e===`right`}function ei(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function ti(e){return typeof e==`string`&&t.CONTRACT_TEXT_STYLE_PRESETS.some(t=>t.key===e)}function ni(e,t=Jr.value){let n=Number(e);return Number.isFinite(n)?Math.min(Sn,Math.max(xn,Math.round(n))):t}function ri(e){let t=String(e||``).trim().match(/(\d+(\.\d+)?)/);if(!t)return;let n=Number(t[1]);if(Number.isFinite(n))return Math.min(Sn,Math.max(xn,Math.round(n)))}function U(e=_.value){return{...e,pages:e.pages.map(e=>{let t=S.get(e.id);return{...e,contentHtml:t?.getHTML()??e.contentHtml,contentJson:t?.getJSON()??e.contentJson}})}}function W(e){let t=s.normalizeTemplateValue(e,m.pageSize),n=s.constrainTemplatePageSizes(t,m.pageSizeOptions),r=n.value;return _.value=r,Gn.value=!1,x.value=[],h(`update:modelValue`,s.cloneTemplateValue(r)),h(`change`,s.cloneTemplateValue(r)),_i(n.resizedSigningPlacementIds,r),r}function ii(e,t=e.type!==`unchanged`){F.value=e,t&&h(`draft-cache-change`,{...e})}function ai(){if(!vr.value){let e=c.createDraftCacheStatus(`unavailable`,`草稿缓存未启用`);return ii(e),e}let e=c.saveTemplateDraftCache({storage:c.getBrowserDraftCacheStorage(),key:m.draftCacheKey,value:s.cloneTemplateValue(U()),maxBytes:m.draftCacheMaxBytes,previousValueSerialized:_r});return e.valueSerialized&&(_r=e.valueSerialized),e.status.type!==`unchanged`&&ii(e.status),e.status}function oi(){let e=c.loadTemplateDraftCache(c.getBrowserDraftCacheStorage(),m.draftCacheKey);return e.valueSerialized&&(_r=e.valueSerialized),e.status.type!==`idle`&&ii(e.status),e.value?s.cloneTemplateValue(e.value):void 0}function si(){let e=c.clearTemplateDraftCache(c.getBrowserDraftCacheStorage(),m.draftCacheKey);_r=``,ii(e)}function ci(){return{...F.value}}function li(){if(!vr.value||!c.isBlankTemplateDraftValue(m.modelValue))return;let e=c.loadTemplateDraftCache(c.getBrowserDraftCacheStorage(),m.draftCacheKey);if(e.valueSerialized&&(_r=e.valueSerialized),e.value){b.value=W(e.value).pages[0]?.id??``,v.value=``,X(b.value),ii(e.status);return}e.status.type!==`idle`&&e.status.type!==`invalid`&&ii(e.status)}function ui(){gr&&=(clearInterval(gr),void 0)}function di(){if(ui(),!vr.value||typeof window>`u`)return;let e=Math.max(1e3,Math.round(Number(m.draftCacheInterval)||5e3));gr=window.setInterval(()=>{ai()},e)}function fi(e,t){t?S.set(e,t):S.delete(e)}function G(e,t=z.value?.id??b.value){I.value||S.get(t)?.runCommand(e)}function K(e){G(e),Q()}function pi(e){let t=j.value?.pageId;t&&(S.get(t)?.focus(),P.value=typeof document<`u`&&document.execCommand(e)?`${e===`copy`?`已复制`:e===`cut`?`已剪切`:`已粘贴`}`:`浏览器未授权剪贴板操作,请使用系统快捷键。`,Q())}function mi(e){let t=W(s.syncTemplateVariablesWithPages(e));return v.value&&!t.variables.some(e=>e.key===v.value)&&(v.value=``),t}function hi(e){mi({..._.value,pages:_.value.pages.map(t=>t.id===e.id?e:t)}),X(e.id)}function q(e){return s.resolvePageSize(e?.pageSize,_.value.pageSize)}function gi(e){return R.value.filter(t=>t.pageId===e)}function J(e){return{...e,...e.sealTypes?{sealTypes:[...e.sealTypes]}:{}}}function _i(e,t=_.value){let n=new Set(e);n.size&&(yi(n),(t.signingPlacements??[]).filter(e=>n.has(e.id)).forEach(e=>h(`signing-placement-change`,J(e))))}function Y(e){let t=e?R.value.find(t=>t.id===e):void 0;y.value=t?.id??``,t&&(v.value=``,b.value=t.pageId),h(`signing-placement-select`,t?J(t):void 0)}function vi(e){Y(e.id)}function yi(e){let t=new Set(e);t.size&&(g.value=g.value.filter(e=>e.type!==`signing-placement`||!t.has(e.id)))}function bi(e){g.value=g.value.filter(t=>t.type!==`signing-placement`||t.pageId!==e)}function xi(e,t=[]){return yi(t),W({..._.value,signingPlacements:e})}function Si(e,t=z.value?.id??_.value.pages[0]?.id,n){if(!o.canMutateSigningPlacements(m.readonly,m.disabled)||!t)return;let r=_.value.pages.find(e=>e.id===t);if(!r)return;let i=o.createSigningPlacement(e,t,q(r),{...n??S.get(t)?.getVisibleSigningPlacementPosition(e)});return xi([...R.value,i]),b.value=t,Y(i.id),h(`signing-placement-add`,J(i)),i}function Ci(e,t,n,r){if(!m.showSigningPlacementTools)return;let i=o.getSigningPlacementDefaultSize(t.type);Si(t.type,e,{x:n-i.width/2,y:r-i.height/2})}function wi(e){return Si(e.type)}function Ti(e,t){if(!o.canMutateSigningPlacements(m.readonly,m.disabled)){e.preventDefault();return}e.dataTransfer?.setData(o.SIGNING_PLACEMENT_MIME,o.serializeSigningPlacementDragPayload(t)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function Ei(e){if(!o.canMutateSigningPlacements(m.readonly,m.disabled))return;let t=_.value.pages.find(t=>t.id===e.pageId);if(!t)return;let n=o.clampSigningPlacement({...e,...e.type===`seal`?{}:{sealTypes:void 0}},q(t));xi(R.value.map(e=>e.id===n.id?n:e),[n.id]),y.value=n.id,h(`signing-placement-change`,J(n))}function Di(e){let t=br.value;if(!t)return;let n=_.value.pages.find(e=>e.id===t.pageId);n&&Ei(o.applySigningPlacementPatch(t,e,q(n)))}function Oi(e=br.value){if(!o.canMutateSigningPlacements(m.readonly,m.disabled)||!e)return;let t=_.value.pages.find(t=>t.id===e.pageId);if(!t)return;let n=o.createSigningPlacement(e.type,e.pageId,q(t),{...J(e),id:void 0,x:e.x+16,y:e.y+16});xi([...R.value,n]),Y(n.id),h(`signing-placement-add`,J(n))}function ki(e=br.value){!o.canMutateSigningPlacements(m.readonly,m.disabled)||!e||(xi(R.value.filter(t=>t.id!==e.id),[e.id]),y.value===e.id&&Y(),h(`signing-placement-remove`,J(e)))}function Ai(e){if(I.value||!z.value)return;let t=Lr.value.find(t=>s.getPageSizeKey(t)===e);if(!t)return;let n=z.value.id,r=q(z.value),i=s.resolvePageSize(t,_.value.pageSize),a=R.value.map(e=>e.pageId===n?o.scaleSigningPlacementToPage(e,r,i):e);yi(a.filter(e=>e.pageId===n).map(e=>e.id)),W({..._.value,pages:_.value.pages.map(e=>e.id===n?{...e,pageSize:i}:e),signingPlacements:a}),a.filter(e=>e.pageId===n).forEach(e=>h(`signing-placement-change`,J(e))),X(n)}function ji(e){return{type:`doc`,content:e.length?e:[{type:`paragraph`}]}}function Mi(e){return e.replace(/<p>\s*(<br>)?\s*<\/p>/gi,``).trim().length===0}function Ni(e,t,n){let r=e.contentJson?.content,i=[...t,...r?.length?r:[]],a=Mi(e.contentHtml||``)?``:e.contentHtml;return{...e,contentHtml:`${n}${a}`,contentJson:ji(i)}}function X(e=b.value){if(I.value)return;let t=_.value.pages.findIndex(e=>e.id===qn.value),n=_.value.pages.findIndex(t=>t.id===e);(!qn.value||t<0||n>=0&&n<t)&&(qn.value=e),!Kn.value&&(0,l.nextTick)(()=>Fi())}function Pi(e){let t=B.value;P.value=`合同最多支持 ${t} 页`,h(`page-limit`,t,e)}async function Fi(){if(!Kn.value){Kn.value=!0;try{let e=qn.value;qn.value=``;let t=0,n=Math.max(40,B.value+1);for(;t<n;){await(0,l.nextTick)();let n=U().pages,r=Math.max(0,n.findIndex(t=>t.id===e)),i=!1;for(let t=r;t<n.length;t+=1){let r=n[t];if(t===n.length-1&&n.length>=B.value&&S.get(r.id)?.hasOverflowContent()){Pi(`auto-pagination`);break}let a=S.get(r.id)?.splitOverflowContent();if(!a)continue;let o=U().pages,ee=o.findIndex(e=>e.id===r.id);if(ee<0)break;o[ee]=a.page;let te=o[ee+1];te?o[ee+1]=S.get(te.id)?.prependContent(a.overflowContent)??Ni(te,a.overflowContent,a.overflowHtml):o.push(s.createBlankPage(o.length+1,q(a.page),a.overflowHtml,ji(a.overflowContent))),mi({..._.value,pages:o}),e=o[ee+1]?.id??a.page.id,i=!0;break}if(!i)break;t+=1}}finally{Kn.value=!1,qn.value&&(0,l.nextTick)(()=>Fi())}}}function Ii(){if(I.value)return;if(V.value){Pi(`add`);return}let e=s.createDefaultPage(_.value.pages.length+1,Cr.value);W({..._.value,pages:[..._.value.pages,e]}),b.value=e.id}function Li(e){if(I.value)return;if(V.value){Pi(`duplicate`);return}let t=_.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=s.cloneTemplateValue({pages:[e],variables:[],pageSize:_.value.pageSize,signingPlacements:[]}).pages[0],r=s.createBlankPage(t+2,q(e),n.contentHtml,n.contentJson);r.title=`${e.title||`第 ${t+1} 页`}副本`;let i=[..._.value.pages];i.splice(t+1,0,r);let a=gi(e.id).map(e=>o.createSigningPlacement(e.type,r.id,q(r),{...J(e),id:void 0,pageId:r.id}));W({..._.value,pages:i,signingPlacements:[...R.value,...a]}),b.value=r.id,a.forEach(e=>h(`signing-placement-add`,J(e))),a[0]&&Y(a[0].id)}function Ri(e){if(I.value||_.value.pages.length<=1)return;let t=_.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=gi(e.id);bi(e.id);let r=_.value.pages.filter(t=>t.id!==e.id),i=mi({..._.value,pages:r,signingPlacements:R.value.filter(t=>t.pageId!==e.id)});b.value=i.pages[Math.min(t,i.pages.length-1)]?.id??``,n.some(e=>e.id===y.value)&&Y(),n.forEach(e=>h(`signing-placement-remove`,J(e)))}function zi(e){if(I.value||_.value.pages.length<=1)return;let t=gi(e.id).length;if(!t){Ri(e);return}u.Modal.confirm({title:`删除合同页面`,content:`此页包含 ${t} 个签署位置,删除页面会同时移除这些位置,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>Ri(e)})}function Bi(e){let t=new Set(_.value.variables.map(e=>e.key)),n=1;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Vi(e){let t=e.type??`text`;return s.createTemplateVariable({...e,type:t,key:e.key||Bi(t),label:e.label||s.getFieldOption(t,m.variableTypes).label},m.variableTypes,m.defaultVariableStyle)}function Hi(e,t=z.value?.id??_.value.pages[0].id,n){if(I.value)return e;let r=S.get(t)?.insertVariable(e,n),i=!_.value.variables.some(t=>t.key===e.key);return W({..._.value,pages:r?_.value.pages.map(e=>e.id===r.id?r:e):_.value.pages,variables:i?[..._.value.variables,e]:_.value.variables}),v.value=e.key,Y(),b.value=t,i&&h(`variable-add`,e),X(t),e}function Ui(e){let{width:t,height:n,...i}=e,a=r.normalizeContractImageDimension(t),o=r.normalizeContractImageDimension(n);return{...i,...a===void 0?{}:{width:a},...o===void 0?{}:{height:o}}}function Wi(e={}){let t=r.normalizeContractImageDimension(ir.value),n=r.normalizeContractImageDimension(ar.value);return{...e,...t===void 0?{}:{width:t},...n===void 0?{}:{height:n}}}function Gi(){rr.value=``,ir.value=void 0,ar.value=void 0,or.value=``}function Ki(e,t=z.value?.id??_.value.pages[0]?.id,r){let i=Ui({...e,src:e.src.trim()});if(!(I.value||!t||!n.isSafeContractImageUrl(i.src)||!i.src||!S.get(t)?.insertContentImage(i,r)))return b.value=t,v.value=``,Y(),i.src}function qi(e){return e instanceof Error?e:Error(`图片处理失败`)}async function Ji(e,t){t===`toolbar`&&(A.value=!0,or.value=``);try{return(await r.processContractImageFile(e,{source:t,compression:m.imageCompression,upload:m.imageUpload})).src}catch(e){let n=qi(e);t===`toolbar`&&(or.value=n.message),P.value=n.message,h(`image-error`,n,t);return}finally{t===`toolbar`&&(A.value=!1)}}async function Yi(e){return await Ji(e,`paste`)??null}async function Xi(e,t={}){if(I.value)return;let r=z.value?.id??_.value.pages[0]?.id,i=r?S.get(r)?.getSelectionRange():void 0,a=typeof e==`string`?e.trim():await Ji(e,`toolbar`);if(!a||!n.isSafeContractImageUrl(a)){typeof e==`string`&&(or.value=`请输入安全的图片 URL`);return}let o=Ki({...t,src:a},r,i);return o&&(nr.value=!1,Gi(),P.value=`已插入图片`),o}function Zi(){I.value||A.value||(Q(),or.value=``,Vn.value&&(Vn.value.value=``),Vn.value?.click())}async function Qi(e){let t=e.target.files?.[0];t&&await Xi(t,Wi({alt:t.name}))}async function $i(){let e=rr.value;await Xi(e,Wi())}function ea(e){_a(e),tr.value=!1}function ta(){Q(),Ii()}function na(e,t,n,r){Q(),Hi(Vi({type:t}),e,{left:n,top:r})}function ra(e){Q(),v.value=e,Y()}function ia(e){let t=_.value.variables.find(t=>t.id===e.id),n=[..._.value.pages],r=t?.key??e.key,i=``;S.forEach((t,a)=>{let o=t.updateVariable(e,r);if(o){i||=a;let e=n.findIndex(e=>e.id===a);e>=0&&(n[e]=o)}}),W({..._.value,pages:n,variables:_.value.variables.map(t=>t.id===e.id?e:t)}),v.value=e.key,X(i||b.value)}function Z(e){L.value&&ia({...L.value,...e,style:{...L.value.style,...e.style}})}function aa(e){(e===`left`||e===`center`||e===`right`)&&Z({style:{textAlign:e}})}function oa(e){(e===`solid`||e===`dashed`)&&Z({style:{borderStyle:e}})}function sa(e){(e===`contain`||e===`cover`||e===`fill`)&&Z({style:{objectFit:e}})}function ca(e){Z({style:e})}function la(e){ca({fontFamily:String(e||``).trim()||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`})}function ua(e){ca({fontSize:ni(e,L.value?.style?.fontSize??14)})}function da(e){L.value&&Z({multiline:e,rows:L.value.rows||3,lineHeight:L.value.lineHeight||28,style:e?{underline:!0}:void 0})}function fa(e){L.value&&Z({rows:Number(e||3),lineHeight:L.value.lineHeight||28})}function pa(e){if(I.value)return;let t=[..._.value.pages];S.forEach((n,r)=>{let i=n.removeVariable(e.key);if(i){let e=t.findIndex(e=>e.id===r);e>=0&&(t[e]=i)}}),W({..._.value,pages:t,variables:_.value.variables.filter(t=>t.id!==e.id)}),v.value=``,y.value=``}function ma(e){let t=(e.trim()||`variable`).replace(/\s+/g,`_`),n=new Set(_.value.variables.map(e=>e.key));if(!n.has(t))return t;let r=2;for(;n.has(`${t}_${r}`);)r+=1;return`${t}_${r}`}function ha(e){I.value||Hi(s.createTemplateVariable({...e,id:void 0,key:ma(`${e.key||e.type}_copy`),label:`${e.label}副本`,style:{...e.style}},m.variableTypes,m.defaultVariableStyle))}function ga(e){return I.value?void 0:Hi(_.value.variables.find(t=>t.key===e.key)??s.createTemplateVariable(e,m.variableTypes,m.defaultVariableStyle))}function _a(e){if(!I.value)return Hi(Vi({type:e}))}function va(e){if(I.value||!a.isContractTemplateFieldType(e))return;let t=j.value,n=Vr.value.find(t=>t.type===e);if(!t||!n)return;let r=i.inferContextVariableLabel(t.leadingText)||n.label,o=i.resolveContextVariableWidth(t.selectionWidth,yn,Wr.value),s=ya();Hi(Vi({type:e,label:r,...o?{width:o}:{},...s?{style:s}:{}}),t.pageId),P.value=t.hasSelection?`已将选中内容替换为${n.label}控件`:`已插入${n.label}控件`,Q()}function ya(){let e=H.value,t={};return e.isUnderline&&(t.underline=!0),typeof e.fontSize==`number`&&Number.isFinite(e.fontSize)&&(t.fontSize=e.fontSize),e.fontFamily&&(t.fontFamily=e.fontFamily),e.textColor&&(t.color=e.textColor),Object.keys(t).length?t:void 0}function ba(e){if(I.value)return;let t=j.value;t&&(Hi(e,t.pageId),P.value=`已绑定到${e.label},沿用原控件尺寸`,Q())}function xa(e){let t=e.type&&a.isContractTemplateFieldType(e.type)?e.type:`text`;return s.getFieldOption(t,Vr.value).label}function Sa(){_.value.variables.length&&(cr.value=!0,(0,l.nextTick)(()=>{Ao(),sr.value?.querySelector(`.gd-contract-template-designer__text-menu-bind-search input`)?.focus()}))}function Ca(e,t){e.dataTransfer?.setData(`application/x-gd-contract-variable`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function wa(e){return C.value=Math.round(Math.min(hn,Math.max(mn,Number.isFinite(e)?e:1))*100)/100,C.value}let{width:Ta}=(0,oe.useElementSize)(Pn),{width:Ea}=(0,oe.useElementSize)(In),Da=(0,l.computed)(()=>Math.max(..._.value.pages.map(e=>q(e).width),s.DEFAULT_PAGE_SIZE.width)+10),Oa=[`table`,`cleanup`,`typography`],ka=(0,l.ref)([]),Aa=new Map,ja=0,Ma=(0,l.computed)(()=>ka.value.length>0);function Na(e){return ka.value.includes(e)}function Pa(e,t){let n=ka.value;n.length===e.length&&e.every(e=>n.includes(e))||(ka.value=e,e.length||(D.value=!1),!(t>=kn)&&(0,l.nextTick)(()=>Fa(t+1)))}function Fa(e=0){let t=In.value;if(!t)return;if(typeof window<`u`&&window.matchMedia(`(max-width: 760px)`).matches){Pa([],e);return}let n=t.clientWidth;if(n<=0)return;let r=Ln.value,i=0;for(let e of Array.from(t.children)){if(!(e instanceof HTMLElement))continue;if(e===r){e.offsetWidth>0&&(ja=e.offsetWidth);continue}let t=e.dataset.toolbarOverflowKey;if(t){e.offsetWidth>0&&Aa.set(t,e.offsetWidth);continue}i+=e.offsetWidth}let a=Oa.reduce((e,t)=>e+(Aa.get(t)??0),0);if(i+a+On<=n){Pa([],e);return}let o=[],s=i+a+(ja||Dn);for(let e of Oa){if(s<=n)break;o.push(e),s-=Aa.get(e)??0}Pa(o,e)}(0,l.watch)([Ea,Kr,$n,qr,Jr,I],()=>{(0,l.nextTick)(()=>Fa())},{immediate:!0}),(0,l.onMounted)(()=>{(0,l.nextTick)(()=>Fa()),typeof document<`u`&&document.fonts?.ready&&document.fonts.ready.then(()=>{In.value&&(0,l.nextTick)(()=>Fa())})});let{fitWidth:Ia,applyAutoFit:La,markUserAdjusted:Ra}=e.useFitWidthZoom({viewportWidth:Ta,widestPageWidth:Da,padding:48,minZoom:mn,maxZoom:hn,getZoom:()=>C.value,applyZoom:wa});function za(e){return Ra(),wa(e)}function Ba(){return La()}function Va(){return C.value}function Ha(){za(C.value+gn)}function Ua(){za(C.value-gn)}function Wa(e){let t=e.target instanceof HTMLElement?e.target:null;t&&(t.closest(`.gd-contract-template-designer__toolbar-more, .ant-popover, .ant-select-dropdown`)||(D.value=!1))}(0,l.watch)(D,e=>{typeof document>`u`||(e?document.addEventListener(`mousedown`,Wa,!0):document.removeEventListener(`mousedown`,Wa,!0))}),(0,l.onBeforeUnmount)(()=>{typeof document<`u`&&document.removeEventListener(`mousedown`,Wa,!0)});function Ga(){Q(),O.value=!1,k.value=!1,D.value=!1,w.value=!w.value}function Ka(){Q(),Yn.value=s.cloneTemplateValue(U()),Jn.value=!0}function qa(){Jn.value=!1,Yn.value=void 0}function Ja(){return lo()}function Ya(){Q();let e=Ja();return Zn.value=JSON.stringify(e,null,2),Xn.value=!0,e}function Xa(){Xn.value=!1}function Za(){Q(),O.value=!1,k.value=!1;let e=R.value.map(J);g.value=[];let t=!!y.value;v.value=``,y.value=``,b.value=``,Jn.value=!1,Yn.value=void 0,Xn.value=!1,Zn.value=``,Qn.value={},qn.value=``;let n=W(s.createBlankTemplate(s.DEFAULT_PAGE_SIZE));return t&&h(`signing-placement-select`,void 0),e.forEach(e=>h(`signing-placement-remove`,e)),b.value=n.pages[0]?.id??``,s.cloneTemplateValue(n)}function Qa(){I.value||(Q(),u.Modal.confirm({title:`清空合同内容`,content:`将清空全部合同正文、页面、模板变量和签署位置,仅保留一个空白 A4 合同页。此操作不可撤销。`,okText:`确认清空`,okType:`danger`,cancelText:`取消`,onOk:()=>{Za()}}))}function $a(e){let t=U().pages,n=t.find(e=>e.id===b.value);return(n?[n,...t.filter(e=>e.id!==n.id)]:t).find(t=>t.contentHtml.includes(`data-key="${e.key}"`)||t.contentHtml.includes(`data-key='${e.key}'`))}function eo(e){Q(),v.value=e.key,Y();let t=$a(e);t&&(b.value=t.id,(0,l.nextTick)(()=>{S.get(t.id)?.scrollIntoVariable(e.key)}))}function to(e){let t=_.value.variables.find(t=>t.key===e||t.id===e);t&&eo(t)}function no(e){let t=R.value.find(t=>t.id===e);t&&(Q(),v.value=``,b.value=t.pageId,Y(t.id),(0,l.nextTick)(()=>{S.get(t.pageId)?.scrollIntoSigningPlacement(t.id)}))}function ro(e,t=!0){Q(),b.value=e,t&&(0,l.nextTick)(()=>{S.get(e)?.scrollIntoPage()})}function io(e){_.value.pages.some(t=>t.id===e)&&ro(e)}function ao(){return s.cloneTemplateValue(U())}function oo(e){g.value=Hn(e);let t=W(s.normalizeTemplateValue(e,m.pageSize));t.signingPlacements?.some(e=>e.id===y.value)||Y(),X(t.pages[0]?.id)}function so(){let e=mo([...g.value,...s.validateTemplateValue(U(),{maxPages:B.value})]);return x.value=e,Gn.value=!0,h(`validate`,e),e}function co(e){if(e.type===`signing-placement`){let t=R.value.find(t=>t.id===e.id);if(t){ro(t.pageId),Y(t.id);return}}if(e.variableKey){to(e.variableKey);return}if(e.pageId){io(e.pageId);return}let t=_.value.variables.find(t=>t.id===e.id||t.key===e.id);if(t){eo(t);return}_.value.pages.some(t=>t.id===e.id)&&ro(e.id)}function lo(){return s.exportTemplateValue(U())}function uo(e){let t=U();try{let n=s.collectTemplateLocationRuleExportErrors(t,g.value);if(n.length)throw new o.ContractTemplateLocationRuleBuildError(n);return e(t)}catch(e){throw e instanceof o.ContractTemplateLocationRuleBuildError&&(x.value=[...e.errors],Gn.value=!0,h(`validate`,[...e.errors])),e}}function fo(e){return uo(t=>o.buildSigningPlacementLocationRules(t,e))}function po(e){return uo(t=>o.buildContractLocationRules(t,e))}function mo(e){let t=new Set;return e.filter(e=>{let n=`${e.code??``}|${e.id}|${e.pageId??``}|${e.message}`;return t.has(n)?!1:(t.add(n),!0)})}function ho(e){x.value=[...e],Gn.value=!0}function go(){x.value=[],Gn.value=!1}function _o(){S.get(z.value?.id??b.value)?.focus()}function vo(e){$r(e)&&G({type:`set-text-align`,value:e})}function yo(e){if(e===`paragraph`){G({type:`set-paragraph`});return}ei(e)&&G({type:`set-heading`,level:e})}function bo(e){let t=ri(e);t&&(G({type:`set-font-size`,value:t}),er.value=``)}function xo(e){let t=String(e||``).trim();if(!t){G({type:`unset-font-family`});return}G({type:`set-font-family`,value:t})}function So(e){Co(e.target?.value??``)}function Co(e){let t=e.trim();t&&G({type:`set-color`,value:t})}function wo(e){er.value=e}function To(){er.value.trim()&&bo(er.value)}function Eo(e){e.key===`Enter`&&(e.preventDefault(),To())}function Do(e){e||(To(),er.value=``)}function Oo(e){ti(e)&&(G({type:`apply-text-style-preset`,preset:e}),$n.value=void 0,Q())}function ko(e){if(I.value)return;b.value=e.pageId,O.value=!1,k.value=!1,M.value=void 0,N.value=void 0,cr.value=!1,lr.value=``;let t=Math.max(f,Math.min(e.clientX,window.innerWidth-Cn)),n=Math.max(f,Math.min(e.clientY,window.innerHeight-wn));j.value={pageId:e.pageId,x:t,y:n,hasSelection:e.hasSelection,selectionWidth:e.selectionWidth,leadingText:e.leadingText},(0,l.nextTick)(()=>{Ao(),sr.value?.querySelector(`button:not(:disabled)`)?.focus()})}function Ao(){let e=sr.value,t=j.value;if(!e||!t)return;let n=e.getBoundingClientRect();j.value={...t,x:Math.max(f,Math.min(t.x,window.innerWidth-n.width-f)),y:Math.max(f,Math.min(t.y,window.innerHeight-n.height-f))}}function jo(e){I.value||(b.value=e.pageId,O.value=!1,k.value=!1,j.value=void 0,N.value=void 0,M.value={...e,x:Math.max(8,Math.min(e.clientX,window.innerWidth-248)),y:Math.max(8,Math.min(e.clientY,window.innerHeight-400))},(0,l.nextTick)(()=>{let e=ur.value?.getMenuElement(),t=M.value;if(e&&t){let n=e.getBoundingClientRect();M.value={...t,x:Math.max(8,Math.min(t.x,window.innerWidth-n.width-8)),y:Math.max(8,Math.min(t.y,window.innerHeight-n.height-8))}}ur.value?.focusFirstItem()}))}function Mo(e){I.value||(b.value=e.pageId,O.value=!1,k.value=!1,j.value=void 0,M.value=void 0,fr.value=e.image.width,pr.value=e.image.height,v.value=``,y.value&&Y(),N.value={pageId:e.pageId,image:e.image,x:Math.max(f,Math.min(e.clientX,window.innerWidth-Tn)),y:Math.max(f,Math.min(e.clientY,window.innerHeight-En))},(0,l.nextTick)(()=>{No(),dr.value?.querySelector(`input, button:not(:disabled)`)?.focus()}))}function No(){let e=dr.value,t=N.value;if(!e||!t)return;let n=e.getBoundingClientRect();N.value={...t,x:Math.max(f,Math.min(t.x,window.innerWidth-n.width-f)),y:Math.max(f,Math.min(t.y,window.innerHeight-n.height-f))}}function Po(){let e=N.value;!e||I.value||(S.get(e.pageId)?.updateSelectedContentImage({width:r.normalizeContractImageDimension(fr.value),height:r.normalizeContractImageDimension(pr.value)})&&(P.value=`已更新图片尺寸`),Q())}function Fo(){let e=N.value;!e||I.value||(S.get(e.pageId)?.updateSelectedContentImage({width:void 0,height:void 0})&&(P.value=`已恢复图片自然尺寸`),Q())}function Io(e){e.type===`table`?jo(e):e.type===`image`?Mo(e):ko(e)}function Q(){j.value=void 0,M.value=void 0,N.value=void 0,cr.value=!1,lr.value=``}function Lo(e){!j.value&&!M.value&&!N.value||(e.target instanceof HTMLElement?e.target:null)?.closest(`.gd-contract-template-designer__context-menu`)||Q()}function Ro(e){let t=Nn.value;if(!t||typeof document>`u`)return!1;let n=e.target instanceof Node?e.target:void 0,r=document.activeElement;return!!(n&&t.contains(n)||r&&t.contains(r)||n instanceof Element&&n.closest(`.gd-contract-template-designer__context-menu`))}function zo(e){if((e.ctrlKey||e.metaKey)&&!e.altKey&&e.key.toLowerCase()===`s`){if(!vr.value||!Ro(e))return;e.preventDefault(),ai();return}e.key===`Escape`&&(Q(),O.value=!1,k.value=!1,w.value=!1)}function Bo(e,t){e===b.value&&t.selectedContentImage&&(v.value=``,y.value&&Y());let n=Qn.value[e];n&&JSON.stringify(n)===JSON.stringify(t)||(Qn.value={...Qn.value,[e]:t})}function Vo(e=mr.value.rows,t=mr.value.cols){G({type:`insert-table`,options:{rows:Math.min(10,Math.max(1,Math.round(Number(e)||3))),cols:Math.min(10,Math.max(1,Math.round(Number(t)||3))),withHeaderRow:!!mr.value.withHeaderRow}}),O.value=!1,Q()}let Ho={"delete-table-row":{label:`删除当前行`,countKey:`deleteRow`},"delete-table-column":{label:`删除当前列`,countKey:`deleteColumn`},"delete-table":{label:`删除表格`,countKey:`deleteTable`}};function Uo(e){let t=M.value;if(!t)return;let n=()=>{G(e,t.pageId),Q()},r=Ho[e.type];if(!r){n();return}let i=t.affectedVariableCounts[r.countKey];Q(),u.Modal.confirm({title:r.label,content:i?`此操作将移除 ${i} 个正文变量节点,是否继续?`:`此操作将修改表格结构,是否继续?`,okText:`确认`,okType:`danger`,cancelText:`取消`,onOk:n,onCancel:()=>S.get(t.pageId)?.focus()})}function Wo(e){let t=ur.value?.getMenuElement();if(!t)return;if(e.key===`Escape`){e.preventDefault();let t=M.value?.pageId;Q(),S.get(t??``)?.focus();return}let n=Array.from(t.querySelectorAll(`button:not(:disabled)`));if(!n.length)return;if(e.key===`Home`||e.key===`End`){e.preventDefault(),n[e.key===`Home`?0:n.length-1]?.focus();return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key))return;let r=(Math.max(0,n.indexOf(document.activeElement))+(e.key===`ArrowUp`||e.key===`ArrowLeft`?-1:1)+n.length)%n.length;e.preventDefault(),n[r]?.focus()}function Go(e){if(e.key!==`Escape`)return;e.preventDefault();let t=j.value?.pageId;Q(),S.get(t??``)?.focus()}function Ko(e){if(e.key!==`Escape`)return;e.preventDefault();let t=N.value?.pageId;Q(),S.get(t??``)?.focus()}function $(e){G({type:e}),k.value=!1,Q()}return An({getValue:ao,setValue:oo,validate:so,exportTemplate:lo,getSubmitData:Ja,clearTemplate:Za,saveDraftCache:ai,loadDraftCache:oi,clearDraftCache:si,getDraftCacheStatus:ci,insertVariable:ga,insertImage:Xi,focus:_o,openPreview:Ka,closePreview:qa,openSubmitDataViewer:Ya,closeSubmitDataViewer:Xa,setServerValidationErrors:ho,clearValidationErrors:go,scrollToVariable:to,scrollToSigningPlacement:no,scrollToPage:io,setZoom:za,resetZoom:Ba,getZoom:Va,fitWidth:Ia,insertSigningPlacement:Si,selectSigningPlacement:Y,buildLocationRules:fo,buildContractLocationRules:po}),(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{ref_key:`designerElement`,ref:Nn,class:(0,l.normalizeClass)([`gd-contract-template-designer`,{"is-disabled":p.disabled,"is-readonly":I.value,"is-fullscreen":w.value}]),style:(0,l.normalizeStyle)(Mn.value)},[(0,l.createElementVNode)(`div`,{class:(0,l.normalizeClass)([`gd-contract-template-designer__layout`,{"is-sidebar-collapsed":T.value,"is-inspector-collapsed":E.value}])},[(0,l.createElementVNode)(`aside`,{class:(0,l.normalizeClass)([`gd-contract-template-designer__sidebar`,{"is-collapsed":T.value}])},[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:T.value?`展开页面栏`:`收起页面栏`},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle`,"aria-label":T.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!T.value,onClick:t[0]||=e=>T.value=!T.value},[T.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.RightOutlined),{key:0,"aria-hidden":`true`})):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,se)]),_:1},8,[`title`]),(0,l.createElementVNode)(`div`,ce,[(0,l.createElementVNode)(`section`,le,[(0,l.createElementVNode)(`div`,ue,[t[81]||=(0,l.createElementVNode)(`strong`,null,`页面`,-1),(0,l.createVNode)((0,l.unref)(u.Tag),null,{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(_.value.pages.length)+` / `+(0,l.toDisplayString)(B.value),1)]),_:1}),(0,l.createElementVNode)(`div`,de,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:V.value?`已达 ${B.value} 页上限`:`新增页面`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value||V.value,"aria-label":`新增页面`,onClick:Ii},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.PlusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1},8,[`title`])])]),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(_.value.pages,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:e.id,class:`gd-contract-template-designer__page-nav-row`},[(0,l.createElementVNode)(`button`,{type:`button`,class:(0,l.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":b.value===e.id}]),onClick:t=>ro(e.id)},[(0,l.createElementVNode)(`span`,null,[(0,l.createTextVNode)((0,l.toDisplayString)(e.title||`第 ${t+1} 页`)+` `,1),(0,l.createElementVNode)(`small`,null,(0,l.toDisplayString)(q(e).label)+` · `+(0,l.toDisplayString)(gi(e.id).length)+` 个签署位置`,1)]),(0,l.createVNode)((0,l.unref)(u.Tag),null,{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(t+1),1)]),_:2},1024)],10,fe),(0,l.createElementVNode)(`div`,pe,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`复制页面`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value||V.value,"aria-label":`复制页面`,onClick:t=>Li(e)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`删除页面`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,danger:``,class:`gd-contract-template-designer__icon-button`,disabled:I.value||_.value.pages.length<=1,"aria-label":`删除页面`,onClick:t=>zi(e)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)])]))),128)),z.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,me,[Lr.value.length>1?((0,l.openBlock)(),(0,l.createElementBlock)(`label`,he,[t[82]||=(0,l.createElementVNode)(`span`,null,`页面格式`,-1),(0,l.createVNode)((0,l.unref)(u.Select),{value:zr.value,options:Rr.value,disabled:I.value,onChange:Ai},null,8,[`value`,`options`,`disabled`])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,ge,(0,l.toDisplayString)(Cr.value.width)+` × `+(0,l.toDisplayString)(Cr.value.height),1)])):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`section`,_e,[(0,l.createElementVNode)(`div`,ve,[t[83]||=(0,l.createElementVNode)(`strong`,null,`控件参数`,-1),(0,l.createVNode)((0,l.unref)(u.Tag),null,{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(_.value.variables.length),1)]),_:1})]),_.value.variables.length?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Empty),{key:0,description:`暂无正文控件`,image:(0,l.unref)(u.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(_.value.variables,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,l.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":v.value===e.key}]),onClick:t=>eo(e)},[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.label),1),(0,l.createElementVNode)(`small`,null,(0,l.toDisplayString)(e.type||`text`)+` · `+(0,l.toDisplayString)(e.key),1)],10,ye))),128))]),m.showSigningPlacementTools?((0,l.openBlock)(),(0,l.createElementBlock)(`section`,be,[(0,l.createElementVNode)(`div`,xe,[t[84]||=(0,l.createElementVNode)(`strong`,null,`签署位置`,-1),(0,l.createVNode)((0,l.unref)(u.Tag),null,{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(xr.value.length),1)]),_:1})]),xr.value.length?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Empty),{key:0,description:`暂无签署位置`,image:(0,l.unref)(u.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(xr.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:e.placement.id,type:`button`,class:(0,l.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":y.value===e.placement.id}]),onClick:t=>no(e.placement.id)},[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.label),1),(0,l.createElementVNode)(`small`,null,(0,l.toDisplayString)(e.detail)+` · x`+(0,l.toDisplayString)(e.placement.x)+` y`+(0,l.toDisplayString)(e.placement.y),1)],10,Se))),128))])):(0,l.createCommentVNode)(``,!0)])],2),(0,l.createElementVNode)(`main`,{ref_key:`workspaceElement`,ref:Fn,class:`gd-contract-template-designer__workspace`},[(0,l.createElementVNode)(`header`,Ce,[(0,l.createElementVNode)(`div`,we,[(0,l.createElementVNode)(`strong`,null,(0,l.toDisplayString)(Er.value),1),p.showDraftCacheStatus&&Dr.value?((0,l.openBlock)(),(0,l.createElementBlock)(`small`,{key:0,class:(0,l.normalizeClass)([`gd-contract-template-designer__draft-cache-status`,Or.value])},(0,l.toDisplayString)(Dr.value),3)):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`div`,Te,[(0,l.createElementVNode)(`div`,Ee,[(0,l.createElementVNode)(`div`,De,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`缩小`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:C.value<=mn,"aria-label":`缩小`,onClick:Ua},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(kr.value),1),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`放大`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:C.value>=hn,"aria-label":`放大`,onClick:Ha},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`适应宽度`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`适应宽度`,onClick:(0,l.unref)(Ia)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`重置缩放`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`重置缩放`,onClick:Ba},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ReloadOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:w.value?`退出全屏`:`全屏显示`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":w.value?`退出全屏`:`全屏显示`,onClick:Ga},{default:(0,l.withCtx)(()=>[w.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.FullscreenExitOutlined),{key:0,"aria-hidden":`true`})):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.FullscreenOutlined),{key:1,"aria-hidden":`true`}))]),_:1},8,[`aria-label`])]),_:1},8,[`title`])])]),(0,l.createElementVNode)(`div`,Oe,[p.showClearButton?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tooltip),{key:0,title:`清空合同`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,danger:``,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`清空合同`,onClick:Qa},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`校验`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`校验`,onClick:so},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.AuditOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`预览`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,type:`primary`,class:`gd-contract-template-designer__icon-button`,"aria-label":`预览`,onClick:Ka},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.EyeOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),p.showSubmitDataViewer?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tooltip),{key:1,title:`数据查看`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`数据查看`,onClick:Ya},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.DatabaseOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})):(0,l.createCommentVNode)(``,!0)])])]),(0,l.createElementVNode)(`header`,ke,[(0,l.createElementVNode)(`div`,{ref_key:`toolbarMainElement`,ref:In,class:`gd-contract-template-designer__toolbar-section gd-contract-template-designer__toolbar-section--main`},[(0,l.createElementVNode)(`div`,Ae,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`撤销`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value||!H.value.canUndo,"aria-label":`撤销`,onClick:t[1]||=e=>G({type:`undo`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.UndoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`重做`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value||!H.value.canRedo,"aria-label":`重做`,onClick:t[2]||=e=>G({type:`redo`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.RedoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),(0,l.createElementVNode)(`div`,je,[(0,l.createVNode)((0,l.unref)(u.Select),{value:$n.value,"onUpdate:value":t[3]||=e=>$n.value=e,class:`gd-contract-template-designer__toolbar-select`,options:Mr.value,placeholder:`合同样式`,disabled:I.value,onChange:Oo},null,8,[`value`,`options`,`disabled`]),(0,l.createVNode)((0,l.unref)(u.Select),{class:`gd-contract-template-designer__toolbar-select`,value:Kr.value,options:Pr,disabled:I.value,onChange:yo},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`div`,Me,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`加粗`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:H.value.isBold?`primary`:`default`,disabled:I.value,"aria-label":`加粗`,onClick:t[4]||=e=>G({type:`toggle-bold`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.BoldOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`斜体`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:H.value.isItalic?`primary`:`default`,disabled:I.value,"aria-label":`斜体`,onClick:t[5]||=e=>G({type:`toggle-italic`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ItalicOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`下划线`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:H.value.isUnderline?`primary`:`default`,disabled:I.value,"aria-label":`下划线`,onClick:t[6]||=e=>G({type:`toggle-underline`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.UnderlineOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`编号列表`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:H.value.isOrderedList?`primary`:`default`,disabled:I.value,"aria-label":`编号列表`,onClick:t[7]||=e=>G({type:`toggle-ordered-list`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.OrderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`项目列表`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:H.value.isBulletList?`primary`:`default`,disabled:I.value,"aria-label":`项目列表`,onClick:t[8]||=e=>G({type:`toggle-bullet-list`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.UnorderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1})]),(0,l.createElementVNode)(`div`,Ne,[(0,l.createVNode)((0,l.unref)(u.Popover),{open:tr.value,"onUpdate:open":t[9]||=e=>tr.value=e,trigger:`click`,placement:`bottom`},{content:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Pe,[t[85]||=(0,l.createElementVNode)(`strong`,null,`插入正文控件`,-1),(0,l.createElementVNode)(`div`,Fe,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(Hr.value,e=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tooltip),{key:e.type,title:`插入${e.label}控件`},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__text-menu-control-option`,"aria-label":`插入${e.label}控件`,onClick:t=>ea(e.type)},[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(e.icon),{"aria-hidden":`true`})),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.label),1)],8,Ie)]),_:2},1032,[`title`]))),128))])])]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`插入正文控件`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`插入正文控件`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.PlusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,l.createVNode)((0,l.unref)(u.Popover),{open:nr.value,"onUpdate:open":t[13]||=e=>nr.value=e,trigger:`click`,placement:`bottom`},{content:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Le,[t[90]||=(0,l.createElementVNode)(`strong`,null,`插入正文图片`,-1),(0,l.createVNode)((0,l.unref)(u.Button),{block:``,loading:A.value,disabled:I.value,onClick:Zi},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.PictureOutlined),{"aria-hidden":`true`}),t[86]||=(0,l.createTextVNode)(` 本地图片 `,-1)]),_:1},8,[`loading`,`disabled`]),(0,l.createVNode)((0,l.unref)(u.Input),{value:rr.value,"onUpdate:value":t[10]||=e=>rr.value=e,"allow-clear":``,disabled:I.value||A.value,placeholder:`https:// 或 data:image/...`,"aria-label":`图片 URL`,onPressEnter:$i},null,8,[`value`,`disabled`]),(0,l.createElementVNode)(`div`,Re,[(0,l.createElementVNode)(`label`,null,[t[87]||=(0,l.createElementVNode)(`span`,null,`宽度`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:ir.value,"onUpdate:value":t[11]||=e=>ir.value=e,min:(0,l.unref)(16),max:(0,l.unref)(r.MAX_CONTRACT_IMAGE_DIMENSION),disabled:I.value||A.value,placeholder:`自然`,"aria-label":`图片宽度`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,l.createElementVNode)(`label`,null,[t[88]||=(0,l.createElementVNode)(`span`,null,`高度`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:ar.value,"onUpdate:value":t[12]||=e=>ar.value=e,min:(0,l.unref)(16),max:(0,l.unref)(r.MAX_CONTRACT_IMAGE_DIMENSION),disabled:I.value||A.value,placeholder:`自然`,"aria-label":`图片高度`},null,8,[`value`,`min`,`max`,`disabled`])])]),(0,l.createVNode)((0,l.unref)(u.Button),{type:`primary`,block:``,disabled:I.value||A.value||!rr.value.trim(),onClick:$i},{default:(0,l.withCtx)(()=>[...t[89]||=[(0,l.createTextVNode)(` 插入 URL `,-1)]]),_:1},8,[`disabled`]),or.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Alert),{key:0,type:`error`,"show-icon":``,message:or.value},null,8,[`message`])):(0,l.createCommentVNode)(``,!0)])]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`插入图片`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`插入图片`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.PictureOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`插入分隔线`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`插入分隔线`,onClick:t[14]||=e=>G({type:`insert-horizontal-rule`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.MinusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:V.value?`已达 ${B.value} 页上限`:`新增页面`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value||V.value,"aria-label":`新增页面`,onClick:Ii},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.FileAddOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1},8,[`title`])]),((0,l.openBlock)(),(0,l.createBlock)(l.Teleport,{disabled:!Na(`typography`)||!Rn.value,to:Rn.value||`body`},[(0,l.createElementVNode)(`div`,ze,[(0,l.createVNode)((0,l.unref)(u.Select),{class:`gd-contract-template-designer__toolbar-select is-wide`,value:qr.value,options:jr.value,disabled:I.value,onChange:xo},null,8,[`value`,`options`,`disabled`]),(0,l.createVNode)((0,l.unref)(u.Select),{class:`gd-contract-template-designer__toolbar-select`,value:Jr.value,options:Zr.value,"show-search":``,"filter-option":!1,"search-value":er.value,disabled:I.value,onBlur:To,onChange:bo,onDropdownVisibleChange:Do,onInputKeyDown:Eo,onSearch:wo},null,8,[`value`,`options`,`search-value`,`disabled`]),(0,l.createElementVNode)(`input`,{class:`gd-contract-template-designer__color`,type:`color`,value:Yr.value,disabled:I.value,onInput:So},null,40,Be),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`左对齐`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":H.value.textAlign===`left`}]),type:H.value.textAlign===`left`?`primary`:`default`,disabled:I.value,"aria-label":`左对齐`,onClick:t[15]||=e=>vo(`left`)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.AlignLeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`居中对齐`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":H.value.textAlign===`center`}]),type:H.value.textAlign===`center`?`primary`:`default`,disabled:I.value,"aria-label":`居中对齐`,onClick:t[16]||=e=>vo(`center`)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.AlignCenterOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`右对齐`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":H.value.textAlign===`right`}]),type:H.value.textAlign===`right`?`primary`:`default`,disabled:I.value,"aria-label":`右对齐`,onClick:t[17]||=e=>vo(`right`)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.AlignRightOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1})])],8,[`disabled`,`to`])),((0,l.openBlock)(),(0,l.createBlock)(l.Teleport,{disabled:!Na(`cleanup`)||!zn.value,to:zn.value||`body`},[(0,l.createElementVNode)(`div`,Ve,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`清文字`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`清文字`,onClick:t[18]||=e=>G({type:`clear-text-format`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ClearOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`清段落`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`清段落`,onClick:t[19]||=e=>G({type:`clear-block-format`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.FormatPainterOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})])],8,[`disabled`,`to`])),((0,l.openBlock)(),(0,l.createBlock)(l.Teleport,{disabled:!Na(`table`)||!Bn.value,to:Bn.value||`body`},[(0,l.createElementVNode)(`div`,He,[(0,l.createVNode)((0,l.unref)(u.Popover),{open:O.value,"onUpdate:open":t[23]||=e=>O.value=e,trigger:`click`,placement:`bottom`},{content:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Ue,[t[92]||=(0,l.createElementVNode)(`strong`,null,`插入表格`,-1),(0,l.createVNode)(re.default,{disabled:I.value,onSelect:t[20]||=e=>Vo(e.rows,e.cols),onClose:t[21]||=e=>O.value=!1},null,8,[`disabled`]),(0,l.createElementVNode)(`label`,We,[t[91]||=(0,l.createElementVNode)(`span`,null,`表头行`,-1),(0,l.createVNode)((0,l.unref)(u.Switch),{checked:mr.value.withHeaderRow,"onUpdate:checked":t[22]||=e=>mr.value.withHeaderRow=e,disabled:I.value},null,8,[`checked`,`disabled`])])])]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`插入表格`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`插入表格`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.TableOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,l.createVNode)((0,l.unref)(u.Popover),{open:k.value,"onUpdate:open":t[33]||=e=>k.value=e,trigger:`click`,placement:`bottom`},{content:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,Ge,[t[102]||=(0,l.createElementVNode)(`strong`,null,`表格操作`,-1),(0,l.createElementVNode)(`div`,Ke,[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[24]||=e=>$(`add-table-row-before`)},{default:(0,l.withCtx)(()=>[...t[93]||=[(0,l.createTextVNode)(` 上方插行 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[25]||=e=>$(`add-table-row-after`)},{default:(0,l.withCtx)(()=>[...t[94]||=[(0,l.createTextVNode)(` 下方插行 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[26]||=e=>$(`add-table-column-before`)},{default:(0,l.withCtx)(()=>[...t[95]||=[(0,l.createTextVNode)(` 左侧插列 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[27]||=e=>$(`add-table-column-after`)},{default:(0,l.withCtx)(()=>[...t[96]||=[(0,l.createTextVNode)(` 右侧插列 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[28]||=e=>$(`delete-table-row`)},{default:(0,l.withCtx)(()=>[...t[97]||=[(0,l.createTextVNode)(` 删除当前行 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[29]||=e=>$(`delete-table-column`)},{default:(0,l.withCtx)(()=>[...t[98]||=[(0,l.createTextVNode)(` 删除当前列 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[30]||=e=>$(`toggle-table-header-row`)},{default:(0,l.withCtx)(()=>[...t[99]||=[(0,l.createTextVNode)(` 切换表头行 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:I.value,onClick:t[31]||=e=>$(`toggle-table-header-column`)},{default:(0,l.withCtx)(()=>[...t[100]||=[(0,l.createTextVNode)(` 切换表头列 `,-1)]]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{danger:``,size:`small`,disabled:I.value,onClick:t[32]||=e=>$(`delete-table`)},{default:(0,l.withCtx)(()=>[...t[101]||=[(0,l.createTextVNode)(` 删除表格 `,-1)]]),_:1},8,[`disabled`])])])]),default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`表格操作`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value||!H.value.isTableActive,"aria-label":`表格操作`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.TableOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`])])],8,[`disabled`,`to`])),(0,l.withDirectives)((0,l.createElementVNode)(`div`,{ref_key:`toolbarMoreElement`,ref:Ln,class:`gd-contract-template-designer__toolbar-more`},[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`更多工具`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":D.value}]),"aria-label":`更多工具`,"aria-haspopup":`true`,"aria-expanded":D.value,onClick:t[34]||=(0,l.withModifiers)(e=>D.value=!D.value,[`stop`])},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.EllipsisOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-expanded`])]),_:1}),(0,l.withDirectives)((0,l.createElementVNode)(`div`,qe,[(0,l.withDirectives)((0,l.createElementVNode)(`div`,Je,[t[103]||=(0,l.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`文字排版`,-1),(0,l.createElementVNode)(`div`,{ref_key:`toolbarTypographySlotElement`,ref:Rn,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[l.vShow,Na(`typography`)]]),(0,l.withDirectives)((0,l.createElementVNode)(`div`,Ye,[t[104]||=(0,l.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`清除格式`,-1),(0,l.createElementVNode)(`div`,{ref_key:`toolbarCleanupSlotElement`,ref:zn,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[l.vShow,Na(`cleanup`)]]),(0,l.withDirectives)((0,l.createElementVNode)(`div`,Xe,[t[105]||=(0,l.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`表格`,-1),(0,l.createElementVNode)(`div`,{ref_key:`toolbarTableSlotElement`,ref:Bn,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[l.vShow,Na(`table`)]])],512),[[l.vShow,D.value]])],512),[[l.vShow,Ma.value]])],512)]),Gn.value?((0,l.openBlock)(),(0,l.createElementBlock)(`section`,Ze,[(0,l.createVNode)((0,l.unref)(u.Alert),{type:wr.value?`success`:`error`,message:Tr.value,"show-icon":``},null,8,[`type`,`message`]),x.value.length?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Qe,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(x.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:`${e.id}-${e.message}`,type:`button`,class:`gd-contract-template-designer__validation-item`,onClick:t=>co(e)},[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.message),1),(0,l.createElementVNode)(`small`,null,(0,l.toDisplayString)(e.type===`signing-placement`?`签署位置`:e.type===`variable`?`变量`:`字段`),1)],8,$e))),128))])):(0,l.createCommentVNode)(``,!0)])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,{ref_key:`canvasElement`,ref:Pn,class:`gd-contract-template-designer__canvas`},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(_.value.pages,(e,n)=>((0,l.openBlock)(),(0,l.createBlock)(ee.default,{key:e.id,ref_for:!0,ref:t=>fi(e.id,t),page:e,"page-index":n,"page-size":q(e),variables:_.value.variables,"selected-variable-key":v.value,"signing-placements":m.showSigningPlacementTools?gi(e.id):[],"selected-signing-placement-id":y.value,active:b.value===e.id,readonly:p.readonly,disabled:p.disabled,zoom:C.value,"process-image-file":Yi,onPageUpdate:hi,onVariableDrop:na,onVariableSelect:ra,onSigningPlacementDrop:Ci,onSigningPlacementSelect:vi,onSigningPlacementMove:Ei,onSigningPlacementRemove:ki,onEditorFocus:t[35]||=e=>ro(e,!1),onEditorStateChange:Bo,onEditorContextMenu:Io,onVariableMoveBlocked:t[36]||=e=>P.value=`变量只能在当前页内移动,跨页移动尚未支持。`},null,8,[`page`,`page-index`,`page-size`,`variables`,`selected-variable-key`,`signing-placements`,`selected-signing-placement-id`,`active`,`readonly`,`disabled`,`zoom`]))),128))],512)],512),(0,l.createElementVNode)(`aside`,{class:(0,l.normalizeClass)([`gd-contract-template-designer__inspector`,{"is-collapsed":E.value}])},[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:E.value?`展开属性栏`:`收起属性栏`},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle`,"aria-label":E.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!E.value,onClick:t[37]||=e=>E.value=!E.value},[E.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.RightOutlined),{key:1,"aria-hidden":`true`}))],8,et)]),_:1},8,[`title`]),(0,l.createElementVNode)(`div`,tt,[(0,l.createElementVNode)(`section`,nt,[t[107]||=(0,l.createElementVNode)(`div`,{class:`gd-contract-template-designer__panel-head`},[(0,l.createElementVNode)(`strong`,null,`正文控件`),(0,l.createElementVNode)(`span`,null,`拖到正文`)],-1),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(Hr.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:e.type,type:`button`,draggable:`true`,class:`gd-contract-template-designer__tool-item`,disabled:I.value,onDragstart:t=>Ca(t,e.type),onClick:t=>_a(e.type)},[(0,l.createElementVNode)(`span`,it,[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(e.icon)))]),(0,l.createElementVNode)(`span`,at,[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.label),1),t[106]||=(0,l.createElementVNode)(`small`,null,`模板变量`,-1)])],40,rt))),128))]),m.showSigningPlacementTools?((0,l.openBlock)(),(0,l.createElementBlock)(`section`,ot,[(0,l.createElementVNode)(`div`,st,[t[108]||=(0,l.createElementVNode)(`strong`,null,`签署位置`,-1),(0,l.createElementVNode)(`div`,ct,[(0,l.createVNode)((0,l.unref)(u.Tag),null,{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(R.value.length),1)]),_:1})])]),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(Br.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:e.key,type:`button`,draggable:`true`,class:`gd-contract-template-designer__tool-item gd-contract-template-designer__signing-tool`,disabled:I.value,onDragstart:t=>Ti(t,e),onClick:t=>wi(e)},[(0,l.createElementVNode)(`span`,ut,[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)((0,l.unref)(ae.resolveSigningPlacementTypeIcon)(e.type))))]),(0,l.createElementVNode)(`span`,dt,[(0,l.createElementVNode)(`span`,ft,(0,l.toDisplayString)(e.label),1),(0,l.createElementVNode)(`small`,null,(0,l.toDisplayString)((0,l.unref)(o.SIGNING_PLACEMENT_TYPE_LABELS)[e.type])+` · 页面坐标`,1)])],40,lt))),128))])):(0,l.createCommentVNode)(``,!0),m.showSigningPlacementTools&&br.value?((0,l.openBlock)(),(0,l.createBlock)(ie.default,{key:1,placement:br.value,"page-size":Sr.value,readonly:p.readonly,disabled:p.disabled,onUpdate:Di,onDuplicate:t[38]||=e=>Oi(),onRemove:t[39]||=e=>ki()},null,8,[`placement`,`page-size`,`readonly`,`disabled`])):((0,l.openBlock)(),(0,l.createElementBlock)(`section`,pt,[(0,l.createElementVNode)(`div`,mt,[t[109]||=(0,l.createElementVNode)(`strong`,null,`属性`,-1),L.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,ht,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`复制变量`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,type:`primary`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`复制变量`,onClick:t[40]||=e=>ha(L.value)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`删除变量`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{danger:``,type:`primary`,size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:I.value,"aria-label":`删除变量`,onClick:t[41]||=e=>pa(L.value)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})])):(0,l.createCommentVNode)(``,!0)]),L.value?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createElementVNode)(`label`,gt,[t[110]||=(0,l.createElementVNode)(`span`,null,`名称`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.label,disabled:I.value,onChange:t[42]||=e=>Z({label:e.target.value})},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`label`,_t,[t[111]||=(0,l.createElementVNode)(`span`,null,`变量标识`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.key,disabled:``},null,8,[`value`])]),(0,l.createElementVNode)(`label`,vt,[t[112]||=(0,l.createElementVNode)(`span`,null,`占位文案`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.placeholder,disabled:I.value,onChange:t[43]||=e=>Z({placeholder:e.target.value})},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`label`,yt,[t[113]||=(0,l.createElementVNode)(`span`,null,`默认值`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.defaultValue,disabled:I.value,onChange:t[44]||=e=>Z({defaultValue:e.target.value})},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`label`,bt,[t[114]||=(0,l.createElementVNode)(`span`,null,`宽度`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:L.value.width,min:yn,max:Wr.value,disabled:I.value,onChange:t[45]||=e=>Z({width:Number(e||yn)})},null,8,[`value`,`max`,`disabled`])]),(0,l.createElementVNode)(`label`,xt,[t[115]||=(0,l.createElementVNode)(`span`,null,`高度`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:L.value.height,min:bn,max:Gr.value,disabled:I.value,onChange:t[46]||=e=>Z({height:Number(e||bn)})},null,8,[`value`,`max`,`disabled`])]),L.value.type===`text`?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,St,[(0,l.createElementVNode)(`label`,Ct,[t[116]||=(0,l.createElementVNode)(`span`,null,`多行`,-1),(0,l.createVNode)((0,l.unref)(u.Switch),{checked:!!L.value.multiline,disabled:I.value,onChange:t[47]||=e=>da(!!e)},null,8,[`checked`,`disabled`])]),L.value.multiline?((0,l.openBlock)(),(0,l.createElementBlock)(`label`,wt,[t[117]||=(0,l.createElementVNode)(`span`,null,`行数`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:L.value.rows||(0,l.unref)(3),min:2,max:12,disabled:I.value,onChange:fa},null,8,[`value`,`disabled`])])):(0,l.createCommentVNode)(``,!0)])):(0,l.createCommentVNode)(``,!0),L.value.type===`date`?((0,l.openBlock)(),(0,l.createElementBlock)(`label`,Tt,[t[118]||=(0,l.createElementVNode)(`span`,null,`日期格式`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.format,disabled:I.value,onChange:t[48]||=e=>Z({format:e.target.value})},null,8,[`value`,`disabled`])])):(0,l.createCommentVNode)(``,!0),L.value.type===`number`?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:2},[(0,l.createElementVNode)(`label`,Et,[t[119]||=(0,l.createElementVNode)(`span`,null,`数字格式`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.format,disabled:I.value,onChange:t[49]||=e=>Z({format:e.target.value})},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`label`,Dt,[t[120]||=(0,l.createElementVNode)(`span`,null,`小数位`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:L.value.precision,min:0,max:6,disabled:I.value,onChange:t[50]||=e=>Z({precision:typeof e==`number`?e:void 0})},null,8,[`value`,`disabled`])])],64)):(0,l.createCommentVNode)(``,!0),L.value.type===`checkbox`?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:3},[(0,l.createElementVNode)(`label`,Ot,[t[121]||=(0,l.createElementVNode)(`span`,null,`勾选文本`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.checkedText,disabled:I.value,onChange:t[51]||=e=>Z({checkedText:e.target.value})},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`label`,kt,[t[122]||=(0,l.createElementVNode)(`span`,null,`未选文本`,-1),(0,l.createVNode)((0,l.unref)(u.Input),{value:L.value.uncheckedText,disabled:I.value,onChange:t[52]||=e=>Z({uncheckedText:e.target.value})},null,8,[`value`,`disabled`])])],64)):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,At,[(0,l.createElementVNode)(`label`,jt,[t[123]||=(0,l.createElementVNode)(`span`,null,`必填`,-1),(0,l.createVNode)((0,l.unref)(u.Switch),{checked:L.value.required,disabled:I.value,onChange:t[53]||=e=>Z({required:!!e})},null,8,[`checked`,`disabled`])]),(0,l.createElementVNode)(`label`,Mt,[t[124]||=(0,l.createElementVNode)(`span`,null,`边框`,-1),(0,l.createVNode)((0,l.unref)(u.Switch),{checked:!!L.value.style?.border,disabled:I.value,onChange:t[54]||=e=>ca({border:!!e})},null,8,[`checked`,`disabled`])]),(0,l.createElementVNode)(`label`,Nt,[t[125]||=(0,l.createElementVNode)(`span`,null,`下划线`,-1),(0,l.createVNode)((0,l.unref)(u.Switch),{checked:!!L.value.style?.underline,disabled:I.value,onChange:t[55]||=e=>ca({underline:!!e})},null,8,[`checked`,`disabled`])]),L.value.type===`number`?((0,l.openBlock)(),(0,l.createElementBlock)(`label`,Pt,[t[126]||=(0,l.createElementVNode)(`span`,null,`千分位`,-1),(0,l.createVNode)((0,l.unref)(u.Switch),{checked:L.value.useGrouping!==!1,disabled:I.value,onChange:t[56]||=e=>Z({useGrouping:!!e})},null,8,[`checked`,`disabled`])])):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`label`,Ft,[t[127]||=(0,l.createElementVNode)(`span`,null,`字体`,-1),(0,l.createVNode)((0,l.unref)(u.Select),{value:Xr.value,options:jr.value,disabled:I.value,onChange:la},null,8,[`value`,`options`,`disabled`])]),(0,l.createElementVNode)(`label`,It,[t[128]||=(0,l.createElementVNode)(`span`,null,`字号`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:L.value.style?.fontSize,min:xn,max:Sn,disabled:I.value,onChange:ua},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`label`,Lt,[t[129]||=(0,l.createElementVNode)(`span`,null,`颜色`,-1),(0,l.createElementVNode)(`input`,{type:`color`,value:L.value.style?.color||`#1f2937`,disabled:I.value,onInput:t[57]||=e=>ca({color:e.target.value})},null,40,Rt)]),(0,l.createElementVNode)(`label`,zt,[t[130]||=(0,l.createElementVNode)(`span`,null,`占位颜色`,-1),(0,l.createElementVNode)(`input`,{type:`color`,value:L.value.style?.placeholderColor||`#7a818b`,disabled:I.value,onInput:t[58]||=e=>ca({placeholderColor:e.target.value})},null,40,Bt)]),(0,l.createElementVNode)(`label`,Vt,[t[131]||=(0,l.createElementVNode)(`span`,null,`线条颜色`,-1),(0,l.createElementVNode)(`input`,{type:`color`,value:L.value.style?.lineColor||`#565b66`,disabled:I.value,onInput:t[59]||=e=>ca({lineColor:e.target.value})},null,40,Ht)]),(0,l.createElementVNode)(`label`,Ut,[t[132]||=(0,l.createElementVNode)(`span`,null,`文字对齐`,-1),(0,l.createVNode)((0,l.unref)(u.Select),{value:L.value.style?.textAlign||`left`,options:(0,l.unref)(Nr),disabled:I.value,onChange:aa},null,8,[`value`,`options`,`disabled`])]),L.value.type===`image`?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:4},[(0,l.createElementVNode)(`label`,Wt,[t[133]||=(0,l.createElementVNode)(`span`,null,`边框样式`,-1),(0,l.createVNode)((0,l.unref)(u.Select),{value:L.value.style?.borderStyle||`dashed`,options:Fr,disabled:I.value,onChange:oa},null,8,[`value`,`disabled`])]),(0,l.createElementVNode)(`label`,Gt,[t[134]||=(0,l.createElementVNode)(`span`,null,`图片适配`,-1),(0,l.createVNode)((0,l.unref)(u.Select),{value:L.value.style?.objectFit||`contain`,options:Ir,disabled:I.value,onChange:sa},null,8,[`value`,`disabled`])])],64)):(0,l.createCommentVNode)(``,!0)],64)):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Empty),{key:0,description:`请选择模板变量`,image:(0,l.unref)(u.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`]))]))])],2)],2),((0,l.openBlock)(),(0,l.createBlock)(l.Teleport,{to:`body`},[M.value?((0,l.openBlock)(),(0,l.createBlock)(ne.default,{key:0,ref_key:`tableContextMenuElement`,ref:ur,capabilities:M.value.capabilities,"active-alignment":M.value.activeAlignment,style:(0,l.normalizeStyle)({left:`${M.value.x}px`,top:`${M.value.y}px`}),onExecute:Uo,onKeydown:Wo},null,8,[`capabilities`,`active-alignment`,`style`])):(0,l.createCommentVNode)(``,!0),N.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:1,ref_key:`imageContextMenuElement`,ref:dr,class:`gd-contract-template-designer__context-menu gd-contract-template-designer__image-context-menu`,style:(0,l.normalizeStyle)({left:`${N.value.x}px`,top:`${N.value.y}px`}),role:`dialog`,"aria-label":`图片尺寸`,onKeydown:Ko},[t[139]||=(0,l.createElementVNode)(`div`,{class:`gd-contract-template-designer__image-context-title`},[(0,l.createElementVNode)(`strong`,null,`图片尺寸`),(0,l.createElementVNode)(`span`,null,`单位:px;留空可恢复自然尺寸`)],-1),(0,l.createElementVNode)(`div`,Kt,[(0,l.createElementVNode)(`label`,null,[t[135]||=(0,l.createElementVNode)(`span`,null,`宽度`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:fr.value,"onUpdate:value":t[60]||=e=>fr.value=e,min:(0,l.unref)(16),max:(0,l.unref)(r.MAX_CONTRACT_IMAGE_DIMENSION),disabled:I.value,placeholder:`自然`,"aria-label":`图片宽度`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,l.createElementVNode)(`label`,null,[t[136]||=(0,l.createElementVNode)(`span`,null,`高度`,-1),(0,l.createVNode)((0,l.unref)(u.InputNumber),{value:pr.value,"onUpdate:value":t[61]||=e=>pr.value=e,min:(0,l.unref)(16),max:(0,l.unref)(r.MAX_CONTRACT_IMAGE_DIMENSION),disabled:I.value,placeholder:`自然`,"aria-label":`图片高度`},null,8,[`value`,`min`,`max`,`disabled`])])]),(0,l.createElementVNode)(`div`,qt,[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,onClick:Fo},{default:(0,l.withCtx)(()=>[...t[137]||=[(0,l.createTextVNode)(`恢复自然尺寸`,-1)]]),_:1}),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,type:`primary`,onClick:Po},{default:(0,l.withCtx)(()=>[...t[138]||=[(0,l.createTextVNode)(`应用`,-1)]]),_:1})])],36)):(0,l.createCommentVNode)(``,!0),j.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:2,ref_key:`textContextMenuElement`,ref:sr,class:`gd-contract-template-designer__context-menu gd-contract-template-designer__text-context-menu`,style:(0,l.normalizeStyle)({left:`${j.value.x}px`,top:`${j.value.y}px`}),role:`toolbar`,"aria-label":`正文快捷操作`,onKeydown:Go},[(0,l.createElementVNode)(`div`,Jt,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`撤销`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,disabled:!H.value.canUndo,"aria-label":`撤销`,onClick:t[62]||=e=>K({type:`undo`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.UndoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`重做`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,disabled:!H.value.canRedo,"aria-label":`重做`,onClick:t[63]||=e=>K({type:`redo`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.RedoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),t[140]||=(0,l.createElementVNode)(`span`,{class:`gd-contract-template-designer__text-menu-divider`,"aria-hidden":`true`},null,-1),j.value.hasSelection?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tooltip),{key:0,title:`复制`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,"aria-label":`复制`,onClick:t[64]||=e=>pi(`copy`)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.CopyOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})):(0,l.createCommentVNode)(``,!0),j.value.hasSelection?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tooltip),{key:1,title:`剪切`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,"aria-label":`剪切`,onClick:t[65]||=e=>pi(`cut`)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ScissorOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`粘贴`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,"aria-label":`粘贴`,onClick:t[66]||=e=>pi(`paste`)},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.CopyOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})]),j.value.hasSelection?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Yt,[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,onClick:Zi},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.PictureOutlined),{"aria-hidden":`true`}),t[141]||=(0,l.createElementVNode)(`span`,null,`图片`,-1)]),_:1}),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,onClick:t[67]||=e=>K({type:`insert-table`,options:mr.value})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.TableOutlined),{"aria-hidden":`true`}),t[142]||=(0,l.createElementVNode)(`span`,null,`表格`,-1)]),_:1}),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,onClick:t[68]||=e=>K({type:`insert-horizontal-rule`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.MinusOutlined),{"aria-hidden":`true`}),t[143]||=(0,l.createElementVNode)(`span`,null,`分隔线`,-1)]),_:1}),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,disabled:V.value,onClick:ta},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.FileAddOutlined),{"aria-hidden":`true`}),t[144]||=(0,l.createElementVNode)(`span`,null,`新页面`,-1)]),_:1},8,[`disabled`]),(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,onClick:t[69]||=e=>K({type:`select-all`})},{default:(0,l.withCtx)(()=>[...t[145]||=[(0,l.createElementVNode)(`span`,null,`全选正文`,-1)]]),_:1})])),(0,l.createElementVNode)(`div`,Xt,[(0,l.createVNode)((0,l.unref)(u.Select),{class:`gd-contract-template-designer__context-menu-field gd-contract-template-designer__text-menu-font-size`,value:Jr.value,options:Zr.value,"show-search":``,"filter-option":!1,"search-value":er.value,onBlur:To,onChange:bo,onDropdownVisibleChange:Do,onInputKeyDown:Eo,onSearch:wo},null,8,[`value`,`options`,`search-value`]),(0,l.createVNode)((0,l.unref)(u.Select),{class:`gd-contract-template-designer__context-menu-field gd-contract-template-designer__text-menu-alignment`,value:H.value.textAlign,options:(0,l.unref)(Nr),onChange:vo},null,8,[`value`,`options`]),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`文字颜色`},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`input`,{class:`gd-contract-template-designer__context-menu-color`,type:`color`,"aria-label":`文字颜色`,value:Yr.value,onInput:t[70]||=e=>Co(e.target.value)},null,40,Zt)]),_:1})]),(0,l.createElementVNode)(`div`,{class:`gd-contract-template-designer__text-menu-control-group`,role:`group`,"aria-label":j.value.hasSelection?`转换为正文控件`:`插入正文控件`},[(0,l.createElementVNode)(`div`,$t,[(0,l.createElementVNode)(`strong`,null,(0,l.toDisplayString)(j.value.hasSelection?`转换为正文控件`:`插入正文控件`),1),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(j.value.hasSelection?`替换选中内容`:`在光标处插入`),1)]),(0,l.createElementVNode)(`div`,en,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(Hr.value,e=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.Tooltip),{key:e.type,title:j.value.hasSelection?`转换为${e.label}控件`:`插入${e.label}控件`},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__text-menu-control-option`,"aria-label":j.value.hasSelection?`转换为${e.label}控件`:`插入${e.label}控件`,onClick:t=>va(e.type)},[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(e.icon),{"aria-hidden":`true`})),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.label),1)],8,tn)]),_:2},1032,[`title`]))),128))]),cr.value?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createVNode)((0,l.unref)(u.Input),{value:lr.value,"onUpdate:value":t[71]||=e=>lr.value=e,class:`gd-contract-template-designer__text-menu-bind-search`,size:`small`,"allow-clear":``,placeholder:`搜索已有控件`,"aria-label":`搜索已有控件`},null,8,[`value`]),(0,l.createElementVNode)(`div`,rn,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(Ur.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:e.id,type:`button`,class:`gd-contract-template-designer__text-menu-bind-item`,role:`option`,onClick:t=>ba(e)},[(0,l.createElementVNode)(`span`,on,(0,l.toDisplayString)(e.label),1),(0,l.createElementVNode)(`span`,sn,(0,l.toDisplayString)(xa(e))+` · `+(0,l.toDisplayString)(e.key),1)],8,an))),128)),Ur.value.length?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createElementBlock)(`p`,cn,` 暂无已有控件 `))])],64)):((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:0,type:`button`,class:`gd-contract-template-designer__text-menu-bind-toggle`,disabled:!_.value.variables.length,"aria-expanded":!1,"aria-label":`绑定已有控件`,onClick:Sa},[t[146]||=(0,l.createElementVNode)(`span`,null,`绑定已有`,-1),(0,l.createVNode)((0,l.unref)(d.DownOutlined),{"aria-hidden":`true`})],8,nn))],8,Qt),(0,l.createElementVNode)(`div`,ln,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`加粗`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":H.value.isBold}]),"aria-pressed":H.value.isBold,"aria-label":`加粗`,onClick:t[72]||=e=>K({type:`toggle-bold`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.BoldOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`斜体`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":H.value.isItalic}]),"aria-pressed":H.value.isItalic,"aria-label":`斜体`,onClick:t[73]||=e=>K({type:`toggle-italic`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ItalicOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`下划线`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":H.value.isUnderline}]),"aria-pressed":H.value.isUnderline,"aria-label":`下划线`,onClick:t[74]||=e=>K({type:`toggle-underline`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.UnderlineOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),t[147]||=(0,l.createElementVNode)(`span`,{class:`gd-contract-template-designer__text-menu-divider`,"aria-hidden":`true`},null,-1),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`有序列表`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":H.value.isOrderedList}]),"aria-pressed":H.value.isOrderedList,"aria-label":`有序列表`,onClick:t[75]||=e=>K({type:`toggle-ordered-list`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.OrderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`无序列表`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:(0,l.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":H.value.isBulletList}]),"aria-pressed":H.value.isBulletList,"aria-label":`无序列表`,onClick:t[76]||=e=>K({type:`toggle-bullet-list`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.UnorderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1})]),(0,l.createElementVNode)(`div`,un,[(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`清除文字格式`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-clear-action`,"aria-label":`清除文字格式`,onClick:t[77]||=e=>K({type:`clear-text-format`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ClearOutlined),{"aria-hidden":`true`}),t[148]||=(0,l.createElementVNode)(`span`,null,`清文字`,-1)]),_:1})]),_:1}),(0,l.createVNode)((0,l.unref)(u.Tooltip),{title:`清除段落格式`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(u.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-clear-action`,"aria-label":`清除段落格式`,onClick:t[78]||=e=>K({type:`clear-block-format`})},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.FormatPainterOutlined),{"aria-hidden":`true`}),t[149]||=(0,l.createElementVNode)(`span`,null,`清段落`,-1)]),_:1})]),_:1})])],36)):(0,l.createCommentVNode)(``,!0)])),(0,l.createElementVNode)(`input`,{ref_key:`imageFileInputElement`,ref:Vn,class:`gd-contract-template-designer__hidden-file-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif,image/bmp`,tabindex:`-1`,"aria-hidden":`true`,onChange:Qi},null,544),(0,l.createElementVNode)(`span`,dn,(0,l.toDisplayString)(P.value),1),(0,l.createVNode)((0,l.unref)(u.Modal),{open:Jn.value,"onUpdate:open":t[79]||=e=>Jn.value=e,title:`模板预览`,width:`min(1440px, calc(100vw - 32px))`,centered:``,footer:null,"wrap-class-name":`gd-contract-template-designer__preview-modal`,onCancel:qa},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,fn,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(yr.value,e=>((0,l.openBlock)(),(0,l.createBlock)(te.default,{key:e.page.id,page:e.page,"fallback-page-size":Yn.value?.pageSize??(0,l.unref)(s.DEFAULT_PAGE_SIZE),"content-html":e.contentHtml,"signing-placements":e.signingPlacements},null,8,[`page`,`fallback-page-size`,`content-html`,`signing-placements`]))),128))])]),_:1},8,[`open`]),(0,l.createVNode)((0,l.unref)(u.Modal),{open:Xn.value,"onUpdate:open":t[80]||=e=>Xn.value=e,title:`提交数据查看`,width:`min(960px, calc(100vw - 48px))`,centered:``,footer:null,"wrap-class-name":`gd-contract-template-designer__submit-data-modal`,onCancel:Xa},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`pre`,pn,(0,l.toDisplayString)(Zn.value),1)]),_:1},8,[`open`])],6))}});exports.default=p;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./types.cjs`),t=require(`./utils/signing-placement.cjs`),n=require(`./constants.cjs`),r=require(`./composables/use-template-designer.cjs`),i=require(`./utils/image-url.cjs`),a=require(`./composables/use-fit-width-zoom.cjs`),o=require(`./utils/content-image.cjs`),s=require(`./utils/context-variable.cjs`),c=require(`./DesignerPage.cjs`),ee=require(`./ContractTemplatePreviewPage.cjs`),te=require(`./TableContextMenu.cjs`),ne=require(`./TableSizePicker.cjs`),l=require(`./composables/use-template-draft-cache.cjs`),u=require(`./composables/use-template-files.cjs`),re=require(`./utils/template-tool-icons.cjs`),ie=require(`./ContractTemplateFileBar.cjs`),ae=require(`./ContractTemplateDesignerSidebar.cjs`),oe=require(`./ContractTemplateDesignerInspector.cjs`),se=require(`./utils/toolbar-overflow.cjs`);let d=require(`vue`),f=require(`ant-design-vue`),ce=require(`@vueuse/core`),p=require(`@ant-design/icons-vue`);var le={class:`gd-contract-template-designer__workspace-header`},ue={class:`gd-contract-template-designer__workspace-meta`},de={class:`gd-contract-template-designer__workspace-actions`},fe={class:`gd-contract-template-designer__workspace-controls`},pe={class:`gd-contract-template-designer__zoom`},me={class:`gd-contract-template-designer__workspace-buttons`},he={class:`gd-contract-template-designer__toolbar`},ge={class:`gd-contract-template-designer__toolbar-group`},_e={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--style`},ve={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--format`},ye={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--insert`,"data-toolbar-overflow-key":`insert`},be={class:`gd-contract-template-designer__popover gd-contract-template-designer__control-insert-popover`},xe={class:`gd-contract-template-designer__text-menu-control-options`},Se=[`aria-label`,`onClick`],Ce={class:`gd-contract-template-designer__popover gd-contract-template-designer__image-insert-popover`},we={class:`gd-contract-template-designer__image-size-fields`,role:`group`,"aria-label":`图片尺寸`},Te={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--typography`,"data-toolbar-overflow-key":`typography`},Ee=[`value`,`disabled`],De={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--cleanup`,"data-toolbar-overflow-key":`cleanup`},Oe={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--table`,"data-toolbar-overflow-key":`table`},ke={class:`gd-contract-template-designer__popover`},Ae={class:`gd-contract-template-designer__switch-row`},je={class:`gd-contract-template-designer__popover`},Me={class:`gd-contract-template-designer__table-actions`},Ne={class:`gd-contract-template-designer__toolbar-more-panel`,role:`menu`,"aria-label":`更多编辑工具`},Pe={class:`gd-contract-template-designer__toolbar-more-section`},Fe={class:`gd-contract-template-designer__toolbar-more-section`},Ie={class:`gd-contract-template-designer__toolbar-more-section`},Le={class:`gd-contract-template-designer__toolbar-more-section`},Re={key:0,class:`gd-contract-template-designer__validation`},ze={key:0,class:`gd-contract-template-designer__validation-list`},Be=[`onClick`],Ve={class:`gd-contract-template-designer__image-size-fields`,role:`group`,"aria-label":`图片尺寸`},He={class:`gd-contract-template-designer__popover-actions`},Ue={class:`gd-contract-template-designer__text-menu-row`,role:`group`,"aria-label":`编辑历史与剪贴板`},We={key:0,class:`gd-contract-template-designer__text-menu-quick-insert`,role:`group`,"aria-label":`光标处插入`},Ge={class:`gd-contract-template-designer__text-menu-row gd-contract-template-designer__text-menu-row--controls`,role:`group`,"aria-label":`文字样式`},Ke=[`value`],qe=[`aria-label`],Je={class:`gd-contract-template-designer__text-menu-control-head`},Ye={class:`gd-contract-template-designer__text-menu-control-options`},Xe=[`aria-label`,`onClick`],Ze=[`disabled`],Qe={class:`gd-contract-template-designer__text-menu-bind-list`,role:`listbox`,"aria-label":`已有正文控件`},$e=[`onClick`],et={class:`gd-contract-template-designer__text-menu-bind-item-label`},tt={class:`gd-contract-template-designer__text-menu-bind-item-meta`},nt={key:0,class:`gd-contract-template-designer__text-menu-bind-empty`},rt={class:`gd-contract-template-designer__text-menu-row`,role:`group`,"aria-label":`常用格式与列表`},it={class:`gd-contract-template-designer__text-menu-row gd-contract-template-designer__text-menu-row--cleanup`,role:`group`,"aria-label":`清理格式`},at={class:`gd-contract-template-designer__sr-status`,"aria-live":`polite`},ot={key:0,class:`gd-contract-template-designer__preview-layout`},st={class:`gd-contract-template-designer__preview-file-nav`,"aria-label":`合同文件预览切换`},ct=[`aria-current`,`onClick`],lt={key:0,class:`gd-contract-template-designer__preview-file`},ut={class:`gd-contract-template-designer__preview-file-title`},dt={class:`gd-contract-template-designer__submit-data`},ft=.5,pt=1.5,mt=.1,ht=128,gt=108,_t=48,vt=24,yt=10,bt=48,xt=304,St=300,Ct=288,wt=196,m=12,Tt=43,Et=6,Dt=4,h=(0,d.defineComponent)({name:`ProContractTemplateDesigner`,__name:`ProContractTemplateDesigner`,props:{modelValue:{default:void 0},files:{},activeFileId:{},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},height:{default:760},pageSize:{default:()=>r.DEFAULT_PAGE_SIZE},pageSizeOptions:{},maxPages:{default:20},imageCompression:{type:[Object,Boolean]},imageUpload:{},variableTypes:{default:()=>r.DEFAULT_FIELD_TYPES},defaultVariableStyle:{default:()=>r.DEFAULT_FIELD_STYLE},fontFamilies:{default:void 0},fontFamilyMode:{default:`append`},showSubmitDataViewer:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showSigningPlacementTools:{type:Boolean,default:!1},enableDraftCache:{type:Boolean,default:!0},draftCacheKey:{default:l.DEFAULT_DRAFT_CACHE_KEY},draftCacheInterval:{default:l.DEFAULT_DRAFT_CACHE_INTERVAL},draftCacheMaxBytes:{default:l.DEFAULT_DRAFT_CACHE_MAX_BYTES},showDraftCacheStatus:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`update:files`,`update:activeFileId`,`files-change`,`file-add`,`file-change`,`file-remove`,`file-move`,`variable-add`,`validate`,`draft-cache-change`,`page-limit`,`image-error`,`signing-placement-add`,`signing-placement-change`,`signing-placement-remove`,`signing-placement-select`],setup(h,{expose:Ot,emit:kt}){let g=h,_=kt,At=(0,d.computed)(()=>({height:typeof g.height==`number`?`${g.height}px`:g.height})),jt=(0,d.ref)(),Mt=(0,d.ref)(),Nt=(0,d.ref)(),Pt=(0,d.ref)(),Ft=(0,d.ref)(),It=(0,d.ref)(),Lt=(0,d.ref)(),Rt=(0,d.ref)(),zt=(0,d.ref)(),Bt=(0,d.ref)();function Vt(e){if(!e||!Array.isArray(e.pages)||!Array.isArray(e.signingPlacements))return[];try{return r.validateTemplateValue(e).filter(e=>e.type===`signing-placement`)}catch{return[]}}function Ht(e,t){return Object.fromEntries(e.map((e,n)=>[e.id,Vt(t?.[n]?.template??e.template)]))}function Ut(e,t){let n=new Map;return{files:e.map(e=>{let i=r.constrainTemplatePageSizes(e.template,t);return i.resizedSigningPlacementIds.length&&n.set(e.id,i.resizedSigningPlacementIds),{...e,template:i.value}}),resizedSigningPlacementIds:n}}let Wt=``,Gt=``,Kt=(0,d.ref)(!1),v=(0,d.computed)(()=>Kt.value||Array.isArray(g.files)),qt=u.normalizeContractTemplateFiles(g.files,g.modelValue,g.pageSize),Jt=Ut(qt,g.pageSizeOptions),Yt=v.value?Jt.files:qt,Xt=u.resolveContractTemplateActiveFileId(Yt,g.activeFileId),y=(0,d.ref)(Yt),b=(0,d.ref)(Xt),Zt=Yt.find(e=>e.id===Xt)??Yt[0],x=(0,d.ref)(Ht(Yt,Array.isArray(g.files)?g.files:g.modelValue?[{template:g.modelValue}]:void 0)),S=(0,d.ref)(x.value[Xt]??Vt(Zt?.template)),Qt=r.normalizeTemplateValue(Zt?.template??g.modelValue,g.pageSize),$t=r.constrainTemplatePageSizes(Qt,g.pageSizeOptions),C=(0,d.ref)($t.value);if(v.value){if(y.value=u.replaceContractTemplateFile(y.value,b.value,$t.value),JSON.stringify(y.value)!==JSON.stringify(qt)){let e=u.cloneContractTemplateFiles(y.value);Wt=JSON.stringify(e),_(`update:files`,e),_(`files-change`,u.cloneContractTemplateFiles(e))}}else g.modelValue&&JSON.stringify($t.value)!==JSON.stringify(Qt)&&(Gt=JSON.stringify($t.value),_(`update:modelValue`,r.cloneTemplateValue($t.value)),_(`change`,r.cloneTemplateValue($t.value)),Vr($t.resizedSigningPlacementIds,$t.value));let w=(0,d.ref)(``),T=(0,d.ref)(``),E=(0,d.ref)(C.value.pages[0]?.id??``),D=(0,d.ref)(!1),O=(0,d.ref)([]),k=new Map,en=(0,d.ref)(!1),tn=(0,d.ref)(``),nn=(0,d.ref)(!1),rn=(0,d.ref)(),an=(0,d.ref)(),on=(0,d.ref)(``),sn=(0,d.ref)(!1),cn=(0,d.ref)(``),A=(0,d.ref)(1),ln=(0,d.ref)(!1),un=(0,d.ref)(!1),dn=(0,d.ref)(!1),fn=(0,d.ref)(!1),pn=(0,d.ref)({}),mn=(0,d.ref)(),hn=(0,d.ref)(``),j=(0,d.ref)(!1),M=(0,d.ref)(!1),gn=(0,d.ref)(!1),_n=(0,d.ref)(!1),vn=(0,d.ref)(``),yn=(0,d.ref)(),bn=(0,d.ref)(),xn=(0,d.ref)(``),Sn=(0,d.ref)(!1),N=(0,d.ref)(),Cn=(0,d.ref)(),wn=(0,d.ref)(!1),Tn=(0,d.ref)(``),P=(0,d.ref)(),En=(0,d.ref)(),F=(0,d.ref)(),Dn=(0,d.ref)(),On=(0,d.ref)(),kn=(0,d.ref)(),I=(0,d.ref)(``),L=(0,d.ref)(l.createDraftCacheStatus(`idle`,`暂无本地草稿`)),An=(0,d.ref)({rows:3,cols:3,withHeaderRow:!0}),jn,Mn,R=``,z=(0,d.computed)(()=>g.readonly||g.disabled),Nn=(0,d.computed)(()=>!!g.enableDraftCache&&!z.value),Pn=(0,d.computed)(()=>y.value.find(e=>e.id===b.value)??y.value[0]),Fn=(0,d.computed)(()=>g.draftCacheKey),B=(0,d.computed)(()=>C.value.variables.find(e=>e.key===w.value)),V=(0,d.computed)(()=>C.value.signingPlacements??[]),In=(0,d.computed)(()=>rn.value?r.buildTemplatePreviewPages(rn.value):[]),Ln=(0,d.computed)(()=>(an.value??[]).map(e=>({file:e,pages:r.buildTemplatePreviewPages(e.template)}))),Rn=(0,d.computed)(()=>Ln.value.find(e=>e.file.id===on.value)??Ln.value[0]),zn=(0,d.computed)(()=>V.value.find(e=>e.id===T.value)),Bn=(0,d.computed)(()=>V.value.map(e=>{let n=C.value.pages.findIndex(t=>t.id===e.pageId);return{placement:e,label:t.SIGNING_PLACEMENT_TYPE_LABELS[e.type],detail:`${t.SIGNING_PLACEMENT_TYPE_LABELS[e.type]} · 第 ${Math.max(0,n)+1} 页`}})),Vn=(0,d.computed)(()=>{let e=zn.value?.pageId;return Y(C.value.pages.find(t=>t.id===e))}),H=(0,d.computed)(()=>C.value.pages.find(e=>e.id===E.value)??C.value.pages[0]),Hn=(0,d.computed)(()=>r.resolvePageSize(H.value?.pageSize,C.value.pageSize)),Un=(0,d.computed)(()=>D.value&&O.value.length===0),Wn=(0,d.computed)(()=>D.value?Un.value?`校验通过,正文变量与变量配置一致`:`发现 ${O.value.length} 个校验问题`:``),Gn=(0,d.computed)(()=>{let e=H.value?.title||`合同正文`;return`${v.value&&Pn.value?`${Pn.value.name} · `:``}${e} · ${Hn.value.label} · 共 ${C.value.pages.length} 页`}),Kn=(0,d.computed)(()=>{switch(L.value.type){case`saved`:return`草稿已缓存 ${l.formatDraftCacheSavedAt(L.value.savedAt)}`;case`restored`:return`已恢复本地草稿`;case`too-large`:return`草稿过大,未缓存`;case`unavailable`:case`read-failed`:case`write-failed`:return`草稿缓存失败`;case`cleared`:return`草稿缓存已清理`;default:return``}}),qn=(0,d.computed)(()=>({"is-success":L.value.type===`saved`||L.value.type===`restored`,"is-warning":L.value.type===`too-large`,"is-error":L.value.type===`unavailable`||L.value.type===`read-failed`||L.value.type===`write-failed`})),Jn=(0,d.computed)(()=>`${Math.round(A.value*100)}%`),Yn=(0,d.computed)(()=>n.resolveFontFamilyOptions(g.fontFamilies,g.fontFamilyMode)),Xn=(0,d.computed)(()=>Yn.value.map(e=>({label:e.label,value:e.value}))),Zn=(0,d.computed)(()=>n.CONTRACT_TEXT_STYLE_PRESETS.map(e=>({label:e.label,value:e.key}))),Qn=n.DEFAULT_TEXT_ALIGN_OPTIONS,$n=[{label:`正文`,value:`paragraph`},{label:`H1`,value:1},{label:`H2`,value:2},{label:`H3`,value:3},{label:`H4`,value:4},{label:`H5`,value:5},{label:`H6`,value:6}],er=[{label:`实线`,value:`solid`},{label:`虚线`,value:`dashed`}],tr=[{label:`完整显示`,value:`contain`},{label:`铺满裁剪`,value:`cover`},{label:`拉伸填充`,value:`fill`}],nr=(0,d.computed)(()=>r.normalizePageSizeOptions(g.pageSizeOptions)),rr=(0,d.computed)(()=>nr.value.map(e=>({label:`${e.label} · ${e.width} × ${e.height}`,value:r.getPageSizeKey(e)}))),ir=(0,d.computed)(()=>r.getPageSizeKey(Hn.value)),ar=(0,d.computed)(()=>t.resolveSigningPlacementToolItems({showSigningPlacementTools:g.showSigningPlacementTools})),or=(0,d.computed)(()=>g.variableTypes.filter(t=>e.isContractTemplateFieldType(t?.type))),sr=(0,d.computed)(()=>or.value.map(e=>({...e,icon:re.resolveFieldTypeIcon(e.type)}))),cr=(0,d.computed)(()=>r.normalizeContractTemplateMaxPages(g.maxPages)),lr=(0,d.computed)(()=>C.value.pages.length>=cr.value),ur=(0,d.computed)(()=>{let e=Tn.value.trim().toLowerCase(),t=C.value.variables;return e?t.filter(t=>t.label.toLowerCase().includes(e)||t.key.toLowerCase().includes(e)):t}),dr=(0,d.computed)(()=>Math.max(_t,Hn.value.width-ht)),fr=(0,d.computed)(()=>Math.max(vt,Hn.value.height-gt)),U=(0,d.computed)(()=>pn.value[E.value]??br()),pr=(0,d.computed)(()=>U.value.currentHeadingLevel??`paragraph`),mr=(0,d.computed)(()=>U.value.fontFamily||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`),hr=(0,d.computed)(()=>U.value.fontSize??r.DEFAULT_FIELD_STYLE.fontSize??14),gr=(0,d.computed)(()=>U.value.textColor||r.DEFAULT_FIELD_STYLE.color||`#1f2937`),_r=(0,d.computed)(()=>B.value?.style?.fontFamily||r.DEFAULT_FIELD_STYLE.fontFamily||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`),vr=(0,d.computed)(()=>{let e=n.DEFAULT_FONT_SIZE_PRESETS.map(e=>({label:`${e}px`,value:e})),t=Tr(hr.value),r=Tr(hn.value),i=new Map;return r&&!n.DEFAULT_FONT_SIZE_PRESETS.includes(r)&&i.set(r,{label:`使用 ${r}px`,value:r}),t&&!n.DEFAULT_FONT_SIZE_PRESETS.includes(t)&&i.set(t,{label:r===t?`使用 ${t}px`:`${t}px`,value:t}),[...Array.from(i.values()),...e]});(0,d.watch)(()=>g.modelValue,e=>{if(!e||v.value)return;let t=r.normalizeTemplateValue(e,g.pageSize),n=r.constrainTemplatePageSizes(t,g.pageSizeOptions),i=n.value,a=JSON.stringify(i)!==JSON.stringify(C.value),o=JSON.stringify(i),s=o===Gt;s&&(Gt=``),(a||!s)&&(S.value=Vt(e),x.value={...x.value,[b.value]:S.value},C.value=i,y.value=u.replaceContractTemplateFile(y.value,b.value,i),E.value=i.pages[0]?.id??``,w.value=``,T.value=``,Q(E.value)),JSON.stringify(i)!==JSON.stringify(t)&&(Gt=o,_(`update:modelValue`,r.cloneTemplateValue(i)),_(`change`,r.cloneTemplateValue(i)),Vr(n.resizedSigningPlacementIds,i))},{deep:!0}),(0,d.watch)(()=>g.files,e=>{if(!Array.isArray(e))return;let t=u.normalizeContractTemplateFiles(e,void 0,g.pageSize),n=Ut(t,g.pageSizeOptions).files,r=JSON.stringify(n),i=JSON.stringify(y.value),a=r===Wt;a||(x.value=Ht(n,e)),a&&(Wt=``);let o=u.resolveContractTemplateActiveFileId(n,g.activeFileId||b.value);if(r===i?o!==b.value&&Dr(o,!1,!1):(y.value=n,Dr(o,!1,!1,!0,!1)),r!==JSON.stringify(t)){let e=u.cloneContractTemplateFiles(n);Wt=JSON.stringify(e),_(`update:files`,e),_(`files-change`,u.cloneContractTemplateFiles(e))}},{deep:!0}),(0,d.watch)(()=>g.activeFileId,e=>{!v.value||!e||e===b.value||Dr(e,!0,!1)});function yr(e,t){let n=JSON.stringify(y.value);W(!1);let{files:i,resizedSigningPlacementIds:a}=Ut(u.normalizeContractTemplateFiles(y.value,void 0,e),t),o=JSON.stringify(i)!==n,s=i.find(e=>e.id===b.value);s&&JSON.stringify(s.template)!==JSON.stringify(C.value)&&(C.value=r.cloneTemplateValue(s.template),S.value=[...x.value[b.value]??[]]),o&&(D.value=!1,O.value=[],G(i,``));let c=a.get(b.value);return c?.length&&s&&Vr(c,s.template),o}(0,d.watch)([()=>g.pageSize,()=>g.pageSizeOptions],([e,t])=>{if(v.value){yr(e,t),Q(E.value);return}let n=r.normalizeTemplateValue(C.value,e),i=r.constrainTemplatePageSizes(n,t);JSON.stringify(i.value)!==JSON.stringify(C.value)&&K(i.value),Q(E.value)},{deep:!0}),(0,d.watch)(cr,()=>{Q(C.value.pages[0]?.id)}),(0,d.watch)(z,e=>{e&&($(),j.value=!1,M.value=!1)}),(0,d.watch)(V,e=>{T.value&&!e.some(e=>e.id===T.value)&&(T.value=``,_(`signing-placement-select`,void 0))},{deep:!0}),(0,d.watch)(()=>[g.enableDraftCache,Fn.value,g.draftCacheInterval,z.value],()=>{R=``,Fr()}),(0,d.watch)(ln,e=>{if(!(typeof document>`u`)){if(e){jn=document.body.style.overflow,document.body.style.overflow=`hidden`;return}document.body.style.overflow=jn??``,jn=void 0}}),(0,d.onMounted)(()=>{Nr(),Fr(),Q(E.value),window.addEventListener(`pointerdown`,go,!0),window.addEventListener(`keydown`,vo),window.addEventListener(`resize`,$),window.addEventListener(`scroll`,$,!0)}),(0,d.onBeforeUnmount)(()=>{ln.value&&typeof document<`u`&&(document.body.style.overflow=jn??``),window.removeEventListener(`pointerdown`,go,!0),window.removeEventListener(`keydown`,vo),window.removeEventListener(`resize`,$),window.removeEventListener(`scroll`,$,!0),Pr()});function br(){return{isFocused:!1,canUndo:!1,canRedo:!1,isBold:!1,isItalic:!1,isUnderline:!1,isBulletList:!1,isOrderedList:!1,isTableActive:!1,textAlign:`left`,fontFamily:n.DEFAULT_CONTRACT_FONT_FAMILY,fontSize:r.DEFAULT_FIELD_STYLE.fontSize??14,textColor:r.DEFAULT_FIELD_STYLE.color??`#1f2937`,selectionText:``}}function xr(e){return e===`left`||e===`center`||e===`right`}function Sr(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function Cr(e){return typeof e==`string`&&n.CONTRACT_TEXT_STYLE_PRESETS.some(t=>t.key===e)}function wr(e,t=hr.value){let n=Number(e);return Number.isFinite(n)?Math.min(bt,Math.max(yt,Math.round(n))):t}function Tr(e){let t=String(e||``).trim().match(/(\d+(\.\d+)?)/);if(!t)return;let n=Number(t[1]);if(Number.isFinite(n))return Math.min(bt,Math.max(yt,Math.round(n)))}function Er(e=C.value){return{...e,pages:e.pages.map(e=>{let t=k.get(e.id);return{...e,contentHtml:t?.getHTML()??e.contentHtml,contentJson:t?.getJSON()??e.contentJson}})}}function W(e=!1){let t=r.cloneTemplateValue(Er());if(!v.value)return t;let n=y.value.find(e=>e.id===b.value)?.template,i=JSON.stringify(n)!==JSON.stringify(t),a=u.replaceContractTemplateFile(y.value,b.value,t);return y.value=a,i&&e&&G(a),t}function G(e,t=b.value){if(!v.value)return;let n=u.cloneContractTemplateFiles(e);y.value=n,Wt=JSON.stringify(n),_(`update:files`,u.cloneContractTemplateFiles(n)),_(`files-change`,u.cloneContractTemplateFiles(n));let r=n.find(e=>e.id===t);r&&_(`file-change`,u.cloneContractTemplateFiles([r])[0])}function Dr(e,t=!0,n=!0,i=!1,a=!0){let o=u.resolveContractTemplateActiveFileId(y.value,e),s=o!==b.value;if(a&&v.value&&b.value&&(x.value={...x.value,[b.value]:[...S.value]}),t&&W(!0),!s&&!i)return;let c=y.value.find(e=>e.id===o);c&&(b.value=o,C.value=r.cloneTemplateValue(c.template),S.value=[...x.value[o]??[]],w.value=``,T.value=``,E.value=C.value.pages[0]?.id??``,pn.value={},k.clear(),tn.value=``,D.value=!1,O.value=[],nn.value=!1,rn.value=void 0,an.value=void 0,R=``,n&&s&&_(`update:activeFileId`,o),t&&s&&Nn.value&&kr(),(0,d.nextTick)(()=>{Q(E.value)}))}function K(e){let t=r.normalizeTemplateValue(e,g.pageSize),n=r.constrainTemplatePageSizes(t,g.pageSizeOptions),i=n.value;return C.value=i,D.value=!1,O.value=[],v.value?G(u.replaceContractTemplateFile(y.value,b.value,i)):(y.value=u.replaceContractTemplateFile(y.value,b.value,i),Gt=JSON.stringify(i),_(`update:modelValue`,r.cloneTemplateValue(i)),_(`change`,r.cloneTemplateValue(i))),Vr(n.resizedSigningPlacementIds,i),i}function Or(e,t=e.type!==`unchanged`){L.value=e,t&&_(`draft-cache-change`,{...e})}function kr(){if(!Nn.value){let e=l.createDraftCacheStatus(`unavailable`,`草稿缓存未启用`);return Or(e),e}let e=l.getBrowserDraftCacheStorage();v.value&&W(!1);let t=v.value?l.saveTemplateFilesDraftCache({storage:e,key:Fn.value,value:{files:u.cloneContractTemplateFiles(y.value),activeFileId:b.value},maxBytes:g.draftCacheMaxBytes,previousValueSerialized:R}):l.saveTemplateDraftCache({storage:e,key:Fn.value,value:r.cloneTemplateValue(Er()),maxBytes:g.draftCacheMaxBytes,previousValueSerialized:R});return t.valueSerialized&&(R=t.valueSerialized),t.status.type!==`unchanged`&&Or(t.status),t.status}function Ar(){if(v.value){let e=l.loadTemplateFilesDraftCache(l.getBrowserDraftCacheStorage(),Fn.value);e.valueSerialized&&(R=e.valueSerialized),e.status.type!==`idle`&&Or(e.status);let t=u.resolveContractTemplateActiveFileId(e.value?.files??[],e.value?.activeFileId),n=e.value?.files.find(e=>e.id===t)?.template;return n?r.cloneTemplateValue(n):void 0}let e=l.loadTemplateDraftCache(l.getBrowserDraftCacheStorage(),Fn.value);return e.valueSerialized&&(R=e.valueSerialized),e.status.type!==`idle`&&Or(e.status),e.value?r.cloneTemplateValue(e.value):void 0}function jr(){let e=l.clearTemplateDraftCache(l.getBrowserDraftCacheStorage(),Fn.value);R=``,Or(e)}function Mr(){return{...L.value}}function Nr(){if(!Nn.value)return;if(v.value){let e={files:u.cloneContractTemplateFiles(y.value),activeFileId:b.value};if(!l.isBlankTemplateFilesDraftValue(e))return;let t=l.loadTemplateFilesDraftCache(l.getBrowserDraftCacheStorage(),Fn.value);if(t.valueSerialized&&(R=t.valueSerialized),t.value){let e=Ut(u.normalizeContractTemplateFiles(t.value.files,void 0,g.pageSize),g.pageSizeOptions);y.value=e.files,x.value=Ht(e.files,t.value.files),Dr(u.resolveContractTemplateActiveFileId(y.value,t.value.activeFileId),!1,!0,!0,!1),G(y.value,``),Or(t.status);return}t.status.type!==`idle`&&t.status.type!==`invalid`&&Or(t.status);return}if(!l.isBlankTemplateDraftValue(C.value))return;let e=l.loadTemplateDraftCache(l.getBrowserDraftCacheStorage(),Fn.value);if(e.valueSerialized&&(R=e.valueSerialized),e.value){E.value=K(e.value).pages[0]?.id??``,w.value=``,Q(E.value),Or(e.status);return}e.status.type!==`idle`&&e.status.type!==`invalid`&&Or(e.status)}function Pr(){Mn&&=(clearInterval(Mn),void 0)}function Fr(){if(Pr(),!Nn.value||typeof window>`u`)return;let e=Math.max(1e3,Math.round(Number(g.draftCacheInterval)||5e3));Mn=window.setInterval(()=>{kr()},e)}function Ir(e,t){t?k.set(e,t):k.delete(e)}function q(e,t=H.value?.id??E.value){z.value||k.get(t)?.runCommand(e)}function J(e){q(e),$()}function Lr(e){let t=N.value?.pageId;t&&(k.get(t)?.focus(),I.value=typeof document<`u`&&document.execCommand(e)?`${e===`copy`?`已复制`:e===`cut`?`已剪切`:`已粘贴`}`:`浏览器未授权剪贴板操作,请使用系统快捷键。`,$())}function Rr(e){let t=K(r.syncTemplateVariablesWithPages(e));return w.value&&!t.variables.some(e=>e.key===w.value)&&(w.value=``),t}function zr(e){Rr({...C.value,pages:C.value.pages.map(t=>t.id===e.id?e:t)}),Q(e.id)}function Y(e){return r.resolvePageSize(e?.pageSize,C.value.pageSize)}function Br(e){return V.value.filter(t=>t.pageId===e)}function X(e){return{...e,...e.sealTypes?{sealTypes:[...e.sealTypes]}:{}}}function Vr(e,t=C.value){let n=new Set(e);n.size&&(Ur(n),(t.signingPlacements??[]).filter(e=>n.has(e.id)).forEach(e=>_(`signing-placement-change`,X(e))))}function Z(e){let t=e?V.value.find(t=>t.id===e):void 0;T.value=t?.id??``,t&&(w.value=``,E.value=t.pageId),_(`signing-placement-select`,t?X(t):void 0)}function Hr(e){Z(e.id)}function Ur(e){let t=new Set(e);if(!t.size)return;let n=S.value.filter(e=>e.type!==`signing-placement`||!t.has(e.id));S.value=n,x.value={...x.value,[b.value]:n}}function Wr(e){let t=S.value.filter(t=>t.type!==`signing-placement`||t.pageId!==e);S.value=t,x.value={...x.value,[b.value]:t}}function Gr(e,t=[]){return Ur(t),K({...C.value,signingPlacements:e})}function Kr(e,n=H.value?.id??C.value.pages[0]?.id,r){if(!t.canMutateSigningPlacements(g.readonly,g.disabled)||!n)return;let i=C.value.pages.find(e=>e.id===n);if(!i)return;let a=t.createSigningPlacement(e,n,Y(i),{...r??k.get(n)?.getVisibleSigningPlacementPosition(e)});return Gr([...V.value,a]),E.value=n,Z(a.id),_(`signing-placement-add`,X(a)),a}function qr(e,n,r,i){if(!g.showSigningPlacementTools)return;let a=t.getSigningPlacementDefaultSize(n.type);Kr(n.type,e,{x:r-a.width/2,y:i-a.height/2})}function Jr(e){return Kr(e.type)}function Yr(e,n){if(!t.canMutateSigningPlacements(g.readonly,g.disabled)){e.preventDefault();return}e.dataTransfer?.setData(t.SIGNING_PLACEMENT_MIME,t.serializeSigningPlacementDragPayload(n)),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function Xr(e){if(!t.canMutateSigningPlacements(g.readonly,g.disabled))return;let n=C.value.pages.find(t=>t.id===e.pageId);if(!n)return;let r=t.clampSigningPlacement({...e,...e.type===`seal`?{}:{sealTypes:void 0}},Y(n));Gr(V.value.map(e=>e.id===r.id?r:e),[r.id]),T.value=r.id,_(`signing-placement-change`,X(r))}function Zr(e){let n=zn.value;if(!n)return;let r=C.value.pages.find(e=>e.id===n.pageId);r&&Xr(t.applySigningPlacementPatch(n,e,Y(r)))}function Qr(e=zn.value){if(!t.canMutateSigningPlacements(g.readonly,g.disabled)||!e)return;let n=C.value.pages.find(t=>t.id===e.pageId);if(!n)return;let r=t.createSigningPlacement(e.type,e.pageId,Y(n),{...X(e),id:void 0,x:e.x+16,y:e.y+16});Gr([...V.value,r]),Z(r.id),_(`signing-placement-add`,X(r))}function $r(e=zn.value){!t.canMutateSigningPlacements(g.readonly,g.disabled)||!e||(Gr(V.value.filter(t=>t.id!==e.id),[e.id]),T.value===e.id&&Z(),_(`signing-placement-remove`,X(e)))}function ei(e){if(z.value||!H.value)return;let n=nr.value.find(t=>r.getPageSizeKey(t)===e);if(!n)return;let i=H.value.id,a=Y(H.value),o=r.resolvePageSize(n,C.value.pageSize),s=V.value.map(e=>e.pageId===i?t.scaleSigningPlacementToPage(e,a,o):e);Ur(s.filter(e=>e.pageId===i).map(e=>e.id)),K({...C.value,pages:C.value.pages.map(e=>e.id===i?{...e,pageSize:o}:e),signingPlacements:s}),s.filter(e=>e.pageId===i).forEach(e=>_(`signing-placement-change`,X(e))),Q(i)}function ti(e){return{type:`doc`,content:e.length?e:[{type:`paragraph`}]}}function ni(e){return e.replace(/<p>\s*(<br>)?\s*<\/p>/gi,``).trim().length===0}function ri(e,t,n){let r=e.contentJson?.content,i=[...t,...r?.length?r:[]],a=ni(e.contentHtml||``)?``:e.contentHtml;return{...e,contentHtml:`${n}${a}`,contentJson:ti(i)}}function Q(e=E.value){if(z.value)return;let t=C.value.pages.findIndex(e=>e.id===tn.value),n=C.value.pages.findIndex(t=>t.id===e);(!tn.value||t<0||n>=0&&n<t)&&(tn.value=e),!en.value&&(0,d.nextTick)(()=>ai())}function ii(e){let t=cr.value;I.value=`合同最多支持 ${t} 页`,_(`page-limit`,t,e)}async function ai(){if(!en.value){en.value=!0;try{let e=tn.value;tn.value=``;let t=0,n=Math.max(40,cr.value+1);for(;t<n;){await(0,d.nextTick)();let n=Er().pages,i=Math.max(0,n.findIndex(t=>t.id===e)),a=!1;for(let t=i;t<n.length;t+=1){let i=n[t];if(t===n.length-1&&n.length>=cr.value&&k.get(i.id)?.hasOverflowContent()){ii(`auto-pagination`);break}let o=k.get(i.id)?.splitOverflowContent();if(!o)continue;let s=Er().pages,c=s.findIndex(e=>e.id===i.id);if(c<0)break;s[c]=o.page;let ee=s[c+1];ee?s[c+1]=k.get(ee.id)?.prependContent(o.overflowContent)??ri(ee,o.overflowContent,o.overflowHtml):s.push(r.createBlankPage(s.length+1,Y(o.page),o.overflowHtml,ti(o.overflowContent))),Rr({...C.value,pages:s}),e=s[c+1]?.id??o.page.id,a=!0;break}if(!a)break;t+=1}}finally{en.value=!1,tn.value&&(0,d.nextTick)(()=>ai())}}}function oi(){if(z.value)return;if(lr.value){ii(`add`);return}let e=r.createDefaultPage(C.value.pages.length+1,Hn.value);K({...C.value,pages:[...C.value.pages,e]}),E.value=e.id}function si(e){if(z.value)return;if(lr.value){ii(`duplicate`);return}let n=C.value.pages.findIndex(t=>t.id===e.id);if(n<0)return;let i=r.cloneTemplateValue({pages:[e],variables:[],pageSize:C.value.pageSize,signingPlacements:[]}).pages[0],a=r.createBlankPage(n+2,Y(e),i.contentHtml,i.contentJson);a.title=`${e.title||`第 ${n+1} 页`}副本`;let o=[...C.value.pages];o.splice(n+1,0,a);let s=Br(e.id).map(e=>t.createSigningPlacement(e.type,a.id,Y(a),{...X(e),id:void 0,pageId:a.id}));K({...C.value,pages:o,signingPlacements:[...V.value,...s]}),E.value=a.id,s.forEach(e=>_(`signing-placement-add`,X(e))),s[0]&&Z(s[0].id)}function ci(e){if(z.value||C.value.pages.length<=1)return;let t=C.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=Br(e.id);Wr(e.id);let r=C.value.pages.filter(t=>t.id!==e.id),i=Rr({...C.value,pages:r,signingPlacements:V.value.filter(t=>t.pageId!==e.id)});E.value=i.pages[Math.min(t,i.pages.length-1)]?.id??``,n.some(e=>e.id===T.value)&&Z(),n.forEach(e=>_(`signing-placement-remove`,X(e)))}function li(e){if(z.value||C.value.pages.length<=1)return;let t=Br(e.id).length;if(!t){ci(e);return}f.Modal.confirm({title:`删除合同页面`,content:`此页包含 ${t} 个签署位置,删除页面会同时移除这些位置,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{ci(e)}})}function ui(e){let t=new Set(C.value.variables.map(e=>e.key)),n=1;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function di(e){let t=e.type??`text`;return r.createTemplateVariable({...e,type:t,key:e.key||ui(t),label:e.label||r.getFieldOption(t,g.variableTypes).label},g.variableTypes,g.defaultVariableStyle)}function fi(e,t=H.value?.id??C.value.pages[0].id,n){if(z.value)return e;let r=k.get(t)?.insertVariable(e,n),i=!C.value.variables.some(t=>t.key===e.key);return K({...C.value,pages:r?C.value.pages.map(e=>e.id===r.id?r:e):C.value.pages,variables:i?[...C.value.variables,e]:C.value.variables}),w.value=e.key,Z(),E.value=t,i&&_(`variable-add`,e),Q(t),e}function pi(e){let{width:t,height:n,...r}=e,i=o.normalizeContractImageDimension(t),a=o.normalizeContractImageDimension(n);return{...r,...i===void 0?{}:{width:i},...a===void 0?{}:{height:a}}}function mi(e={}){let t=o.normalizeContractImageDimension(yn.value),n=o.normalizeContractImageDimension(bn.value);return{...e,...t===void 0?{}:{width:t},...n===void 0?{}:{height:n}}}function hi(){vn.value=``,yn.value=void 0,bn.value=void 0,xn.value=``}function gi(e,t=H.value?.id??C.value.pages[0]?.id,n){let r=pi({...e,src:e.src.trim()});if(!(z.value||!t||!i.isSafeContractImageUrl(r.src)||!r.src||!k.get(t)?.insertContentImage(r,n)))return E.value=t,w.value=``,Z(),r.src}function _i(e){return e instanceof Error?e:Error(`图片处理失败`)}async function vi(e,t){t===`toolbar`&&(Sn.value=!0,xn.value=``);try{return(await o.processContractImageFile(e,{source:t,compression:g.imageCompression,upload:g.imageUpload})).src}catch(e){let n=_i(e);t===`toolbar`&&(xn.value=n.message),I.value=n.message,_(`image-error`,n,t);return}finally{t===`toolbar`&&(Sn.value=!1)}}async function yi(e){return await vi(e,`paste`)??null}async function bi(e,t={}){if(z.value)return;let n=H.value?.id??C.value.pages[0]?.id,r=n?k.get(n)?.getSelectionRange():void 0,a=typeof e==`string`?e.trim():await vi(e,`toolbar`);if(!a||!i.isSafeContractImageUrl(a)){typeof e==`string`&&(xn.value=`请输入安全的图片 URL`);return}let o=gi({...t,src:a},n,r);return o&&(_n.value=!1,hi(),I.value=`已插入图片`),o}function xi(){z.value||Sn.value||($(),xn.value=``,Bt.value&&(Bt.value.value=``),Bt.value?.click())}async function Si(e){let t=e.target.files?.[0];t&&await bi(t,mi({alt:t.name}))}async function Ci(){let e=vn.value;await bi(e,mi())}function wi(e){Hi(e),gn.value=!1}function Ti(){$(),oi()}function Ei(e,t,n,r){$(),fi(di({type:t}),e,{left:n,top:r})}function Di(e){$(),w.value=e,Z()}function Oi(e){let t=C.value.variables.find(t=>t.id===e.id),n=[...C.value.pages],r=t?.key??e.key,i=``;k.forEach((t,a)=>{let o=t.updateVariable(e,r);if(o){i||=a;let e=n.findIndex(e=>e.id===a);e>=0&&(n[e]=o)}}),K({...C.value,pages:n,variables:C.value.variables.map(t=>t.id===e.id?e:t)}),w.value=e.key,Q(i||E.value)}function ki(e){B.value&&Oi({...B.value,...e,style:{...B.value.style,...e.style}})}function Ai(e){(e===`left`||e===`center`||e===`right`)&&ki({style:{textAlign:e}})}function ji(e){(e===`solid`||e===`dashed`)&&ki({style:{borderStyle:e}})}function Mi(e){(e===`contain`||e===`cover`||e===`fill`)&&ki({style:{objectFit:e}})}function Ni(e){ki({style:e})}function Pi(e){Ni({fontFamily:String(e||``).trim()||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`})}function Fi(e){Ni({fontSize:wr(e,B.value?.style?.fontSize??14)})}function Ii(e){B.value&&ki({multiline:e,rows:B.value.rows||3,lineHeight:B.value.lineHeight||28,style:e?{underline:!0}:void 0})}function Li(e){B.value&&ki({rows:Number(e||3),lineHeight:B.value.lineHeight||28})}function Ri(e){if(z.value)return;let t=[...C.value.pages];k.forEach((n,r)=>{let i=n.removeVariable(e.key);if(i){let e=t.findIndex(e=>e.id===r);e>=0&&(t[e]=i)}}),K({...C.value,pages:t,variables:C.value.variables.filter(t=>t.id!==e.id)}),w.value=``,T.value=``}function zi(e){let t=(e.trim()||`variable`).replace(/\s+/g,`_`),n=new Set(C.value.variables.map(e=>e.key));if(!n.has(t))return t;let r=2;for(;n.has(`${t}_${r}`);)r+=1;return`${t}_${r}`}function Bi(e){z.value||fi(r.createTemplateVariable({...e,id:void 0,key:zi(`${e.key||e.type}_copy`),label:`${e.label}副本`,style:{...e.style}},g.variableTypes,g.defaultVariableStyle))}function Vi(e){return z.value?void 0:fi(C.value.variables.find(t=>t.key===e.key)??r.createTemplateVariable(e,g.variableTypes,g.defaultVariableStyle))}function Hi(e){if(!z.value)return fi(di({type:e}))}function Ui(t){if(z.value||!e.isContractTemplateFieldType(t))return;let n=N.value,r=or.value.find(e=>e.type===t);if(!n||!r)return;let i=s.inferContextVariableLabel(n.leadingText)||r.label,a=s.resolveContextVariableWidth(n.selectionWidth,_t,dr.value),o=Wi();fi(di({type:t,label:i,...a?{width:a}:{},...o?{style:o}:{}}),n.pageId),I.value=n.hasSelection?`已将选中内容替换为${r.label}控件`:`已插入${r.label}控件`,$()}function Wi(){let e=U.value,t={};return e.isUnderline&&(t.underline=!0),typeof e.fontSize==`number`&&Number.isFinite(e.fontSize)&&(t.fontSize=e.fontSize),e.fontFamily&&(t.fontFamily=e.fontFamily),e.textColor&&(t.color=e.textColor),Object.keys(t).length?t:void 0}function Gi(e){if(z.value)return;let t=N.value;t&&(fi(e,t.pageId),I.value=`已绑定到${e.label},沿用原控件尺寸`,$())}function Ki(t){let n=t.type&&e.isContractTemplateFieldType(t.type)?t.type:`text`;return r.getFieldOption(n,or.value).label}function qi(){C.value.variables.length&&(wn.value=!0,(0,d.nextTick)(()=>{co(),Cn.value?.querySelector(`.gd-contract-template-designer__text-menu-bind-search input`)?.focus()}))}function Ji(e,t){e.dataTransfer?.setData(`application/x-gd-contract-variable`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function Yi(e){return A.value=Math.round(Math.min(pt,Math.max(ft,Number.isFinite(e)?e:1))*100)/100,A.value}let{width:Xi}=(0,ce.useElementSize)(Mt),{width:Zi}=(0,ce.useElementSize)(Pt),Qi=(0,d.computed)(()=>Math.max(...C.value.pages.map(e=>Y(e).width),r.DEFAULT_PAGE_SIZE.width)+10),$i=(0,d.ref)([]),ea=new Map,ta=0,na=(0,d.computed)(()=>$i.value.length>0);function ra(e){return $i.value.includes(e)}function ia(e,t){let n=$i.value;n.length===e.length&&e.every(e=>n.includes(e))||($i.value=e,e.length||(fn.value=!1),!(t>=Dt)&&(0,d.nextTick)(()=>aa(t+1)))}function aa(e=0){let t=Pt.value;if(!t)return;if(typeof window<`u`&&window.matchMedia(`(max-width: 760px)`).matches){ia([],e);return}let n=t.clientWidth;if(n<=0)return;let r=Ft.value,i=0;for(let e of Array.from(t.children)){if(!(e instanceof HTMLElement))continue;if(e===r){e.offsetWidth>0&&(ta=e.offsetWidth);continue}let t=e.dataset.toolbarOverflowKey;if(t){e.offsetWidth>0&&ea.set(t,e.offsetWidth);continue}i+=e.offsetWidth}let a=Object.fromEntries(se.CONTRACT_TEMPLATE_TOOLBAR_OVERFLOW_PRIORITY.map(e=>[e,ea.get(e)??0]));ia(se.resolveContractTemplateToolbarOverflowKeys({availableWidth:n,fixedWidth:i,groupWidths:a,moreWidth:ta||Tt,buffer:Et}),e)}(0,d.watch)([Zi,pr,mn,mr,hr,z],()=>{(0,d.nextTick)(()=>aa())},{immediate:!0}),(0,d.onMounted)(()=>{(0,d.nextTick)(()=>aa()),typeof document<`u`&&document.fonts?.ready&&document.fonts.ready.then(()=>{Pt.value&&(0,d.nextTick)(()=>aa())})});let{fitWidth:oa,applyAutoFit:sa,markUserAdjusted:ca}=a.useFitWidthZoom({viewportWidth:Xi,widestPageWidth:Qi,padding:48,minZoom:ft,maxZoom:pt,getZoom:()=>A.value,applyZoom:Yi});function la(e){return ca(),Yi(e)}function ua(){return sa()}function da(){return A.value}function fa(){la(A.value+mt)}function pa(){la(A.value-mt)}function ma(e){let t=e.target instanceof HTMLElement?e.target:null;t&&(t.closest(`.gd-contract-template-designer__toolbar-more, .ant-popover, .ant-select-dropdown`)||(fn.value=!1))}(0,d.watch)(fn,e=>{typeof document>`u`||(e?document.addEventListener(`mousedown`,ma,!0):document.removeEventListener(`mousedown`,ma,!0))}),(0,d.onBeforeUnmount)(()=>{typeof document<`u`&&document.removeEventListener(`mousedown`,ma,!0)});function ha(){$(),j.value=!1,M.value=!1,fn.value=!1,ln.value=!ln.value}function ga(){$();let e=W(!1);v.value?(an.value=u.cloneContractTemplateFiles(y.value),rn.value=void 0,on.value=b.value||y.value[0]?.id||``):(rn.value=r.cloneTemplateValue(e),an.value=void 0,on.value=``),nn.value=!0}function _a(){nn.value=!1,rn.value=void 0,an.value=void 0,on.value=``}function va(){return Va()}function ya(){$();let e=va();return cn.value=JSON.stringify(e,null,2),sn.value=!0,e}function ba(){sn.value=!1}function xa(){$(),j.value=!1,M.value=!1;let e=V.value.map(X);S.value=[],x.value={...x.value,[b.value]:[]};let t=!!T.value;w.value=``,T.value=``,E.value=``,nn.value=!1,rn.value=void 0,an.value=void 0,sn.value=!1,cn.value=``,pn.value={},tn.value=``;let n=K(r.createBlankTemplate(r.DEFAULT_PAGE_SIZE));return t&&_(`signing-placement-select`,void 0),e.forEach(e=>_(`signing-placement-remove`,e)),E.value=n.pages[0]?.id??``,r.cloneTemplateValue(n)}function Sa(){z.value||($(),f.Modal.confirm({title:`清空合同内容`,content:`将清空全部合同正文、页面、模板变量和签署位置,仅保留一个空白 A4 合同页。此操作不可撤销。`,okText:`确认清空`,okType:`danger`,cancelText:`取消`,onOk:()=>{xa()}}))}function Ca(e){let t=Er().pages,n=t.find(e=>e.id===E.value);return(n?[n,...t.filter(e=>e.id!==n.id)]:t).find(t=>t.contentHtml.includes(`data-key="${e.key}"`)||t.contentHtml.includes(`data-key='${e.key}'`))}function wa(e){$(),w.value=e.key,Z();let t=Ca(e);t&&(E.value=t.id,(0,d.nextTick)(()=>{k.get(t.id)?.scrollIntoVariable(e.key)}))}function Ta(e){let t=C.value.variables.find(t=>t.key===e||t.id===e);t&&wa(t)}function Ea(e){let t=V.value.find(t=>t.id===e);t&&($(),w.value=``,E.value=t.pageId,Z(t.id),(0,d.nextTick)(()=>{k.get(t.pageId)?.scrollIntoSigningPlacement(t.id)}))}function Da(e,t=!0){$(),E.value=e,t&&(0,d.nextTick)(()=>{k.get(e)?.scrollIntoPage()})}function Oa(e){C.value.pages.some(t=>t.id===e)&&Da(e)}function ka(){return r.cloneTemplateValue(Er())}function Aa(e){S.value=Vt(e),x.value={...x.value,[b.value]:S.value};let t=K(r.normalizeTemplateValue(e,g.pageSize));t.signingPlacements?.some(e=>e.id===T.value)||Z(),Q(t.pages[0]?.id)}function ja(){let e=W(!1);return v.value?u.cloneContractTemplateFiles(y.value):u.cloneContractTemplateFiles(u.replaceContractTemplateFile(y.value,b.value,e))}function Ma(e,t){let n=Ut(u.normalizeContractTemplateFiles(e,void 0,g.pageSize),g.pageSizeOptions),r=y.value;Kt.value=!0,W(!1),y.value=n.files,x.value=Ht(n.files,e),Dr(u.resolveContractTemplateActiveFileId(y.value,t??b.value),!1,!0,!0,!1),JSON.stringify(r)!==JSON.stringify(y.value)&&G(y.value,``)}function Na(e){if(z.value)return;Kt.value=!0,W(!0);let t=u.createContractTemplateFile(e||`合同文件 ${y.value.length+1}`,g.pageSize);return y.value=[...y.value,t],x.value={...x.value,[t.id]:[]},G(y.value,``),_(`file-add`,u.cloneContractTemplateFiles([t])[0]),Dr(t.id,!1,!0,!0),u.cloneContractTemplateFiles([t])[0]}function Pa(e){!v.value&&!y.value.some(t=>t.id===e)||(Kt.value=!0,Dr(e))}function Fa(e,t){if(z.value)return;Kt.value=!0,W(!1);let n=u.renameContractTemplateFile(y.value,e,t),r=n.find(t=>t.id===e);if(r)return y.value=n,G(n,e),u.cloneContractTemplateFiles([r])[0]}function Ia(e){if(z.value||y.value.length<=1)return;Kt.value=!0,W(!1);let t=y.value.find(t=>t.id===e);if(!t)return;let n=u.removeContractTemplateFile(y.value,e);if(n.length===y.value.length)return;y.value=n;let{[e]:r,...i}=x.value;x.value=i,G(n,``),_(`file-remove`,u.cloneContractTemplateFiles([t])[0]);let a=t.template.signingPlacements??[];return a.forEach(e=>_(`signing-placement-remove`,X(e))),a.some(e=>e.id===T.value)&&_(`signing-placement-select`,void 0),b.value===e&&Dr(u.resolveContractTemplateActiveFileId(n,n[0]?.id),!1,!0,!0,!1),u.cloneContractTemplateFiles([t])[0]}function La(e){if(z.value||y.value.length<=1)return;let t=y.value.find(t=>t.id===e);if(!t)return;let n=t.template.signingPlacements?.length??0;f.Modal.confirm({title:`删除合同文件`,content:n?`“${t.name}”包含 ${n} 个签署位置,删除后文件内正文、变量和签署位置都会移除,是否继续?`:`删除“${t.name}”后,其正文和变量将无法恢复,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{Ia(e)}})}function Ra(e,t){if(z.value)return;Kt.value=!0,W(!1);let n=y.value.findIndex(t=>t.id===e),r=u.moveContractTemplateFile(y.value,e,t),i=r.findIndex(t=>t.id===e),a=r[i];if(!(!a||n===i))return y.value=r,G(r,``),_(`file-move`,u.cloneContractTemplateFiles([a])[0],n,i),u.cloneContractTemplateFiles([a])[0]}function za(){W(!1);let e=Ka(v.value?y.value.flatMap(e=>{let t=r.validateTemplateValue(e.template,{maxPages:cr.value});return[...x.value[e.id]??[],...t].map(t=>({...t,fileId:e.id}))}):[...S.value,...r.validateTemplateValue(Er(),{maxPages:cr.value})]);return O.value=e,D.value=!0,_(`validate`,e),e}function Ba(e){if(e.fileId&&e.fileId!==b.value){Pa(e.fileId),(0,d.nextTick)(()=>Ba({...e,fileId:void 0}));return}if(e.type===`signing-placement`){let t=V.value.find(t=>t.id===e.id);if(t){Da(t.pageId),Z(t.id);return}}if(e.variableKey){Ta(e.variableKey);return}if(e.pageId){Oa(e.pageId);return}let t=C.value.variables.find(t=>t.id===e.id||t.key===e.id);if(t){wa(t);return}C.value.pages.some(t=>t.id===e.id)&&Da(e.id)}function Va(){return r.exportTemplateValue(Er())}function Ha(){let e=W(!1),t=v.value?y.value:u.replaceContractTemplateFile(y.value,b.value,e);return u.exportContractTemplateFiles(t)}function Ua(e){let n=Er();try{let i=r.collectTemplateLocationRuleExportErrors(n,S.value);if(i.length)throw new t.ContractTemplateLocationRuleBuildError(i);return e(n)}catch(e){throw e instanceof t.ContractTemplateLocationRuleBuildError&&(O.value=[...e.errors],D.value=!0,_(`validate`,[...e.errors])),e}}function Wa(e){return Ua(n=>t.buildSigningPlacementLocationRules(n,e))}function Ga(e){return Ua(n=>t.buildContractLocationRules(n,e))}function Ka(e){let t=new Set;return e.filter(e=>{let n=`${e.fileId??``}|${e.code??``}|${e.id}|${e.pageId??``}|${e.message}`;return t.has(n)?!1:(t.add(n),!0)})}function qa(e){O.value=[...e],D.value=!0}function Ja(){O.value=[],D.value=!1}function Ya(){k.get(H.value?.id??E.value)?.focus()}function Xa(e){xr(e)&&q({type:`set-text-align`,value:e})}function Za(e){if(e===`paragraph`){q({type:`set-paragraph`});return}Sr(e)&&q({type:`set-heading`,level:e})}function Qa(e){let t=Tr(e);t&&(q({type:`set-font-size`,value:t}),hn.value=``)}function $a(e){let t=String(e||``).trim();if(!t){q({type:`unset-font-family`});return}q({type:`set-font-family`,value:t})}function eo(e){to(e.target?.value??``)}function to(e){let t=e.trim();t&&q({type:`set-color`,value:t})}function no(e){hn.value=e}function ro(){hn.value.trim()&&Qa(hn.value)}function io(e){e.key===`Enter`&&(e.preventDefault(),ro())}function ao(e){e||(ro(),hn.value=``)}function oo(e){Cr(e)&&(q({type:`apply-text-style-preset`,preset:e}),mn.value=void 0,$())}function so(e){if(z.value)return;E.value=e.pageId,j.value=!1,M.value=!1,P.value=void 0,F.value=void 0,wn.value=!1,Tn.value=``;let t=Math.max(m,Math.min(e.clientX,window.innerWidth-xt)),n=Math.max(m,Math.min(e.clientY,window.innerHeight-St));N.value={pageId:e.pageId,x:t,y:n,hasSelection:e.hasSelection,selectionWidth:e.selectionWidth,leadingText:e.leadingText},(0,d.nextTick)(()=>{co(),Cn.value?.querySelector(`button:not(:disabled)`)?.focus()})}function co(){let e=Cn.value,t=N.value;if(!e||!t)return;let n=e.getBoundingClientRect();N.value={...t,x:Math.max(m,Math.min(t.x,window.innerWidth-n.width-m)),y:Math.max(m,Math.min(t.y,window.innerHeight-n.height-m))}}function lo(e){z.value||(E.value=e.pageId,j.value=!1,M.value=!1,N.value=void 0,F.value=void 0,P.value={...e,x:Math.max(8,Math.min(e.clientX,window.innerWidth-248)),y:Math.max(8,Math.min(e.clientY,window.innerHeight-400))},(0,d.nextTick)(()=>{let e=En.value?.getMenuElement(),t=P.value;if(e&&t){let n=e.getBoundingClientRect();P.value={...t,x:Math.max(8,Math.min(t.x,window.innerWidth-n.width-8)),y:Math.max(8,Math.min(t.y,window.innerHeight-n.height-8))}}En.value?.focusFirstItem()}))}function uo(e){z.value||(E.value=e.pageId,j.value=!1,M.value=!1,N.value=void 0,P.value=void 0,On.value=e.image.width,kn.value=e.image.height,w.value=``,T.value&&Z(),F.value={pageId:e.pageId,image:e.image,x:Math.max(m,Math.min(e.clientX,window.innerWidth-Ct)),y:Math.max(m,Math.min(e.clientY,window.innerHeight-wt))},(0,d.nextTick)(()=>{fo(),Dn.value?.querySelector(`input, button:not(:disabled)`)?.focus()}))}function fo(){let e=Dn.value,t=F.value;if(!e||!t)return;let n=e.getBoundingClientRect();F.value={...t,x:Math.max(m,Math.min(t.x,window.innerWidth-n.width-m)),y:Math.max(m,Math.min(t.y,window.innerHeight-n.height-m))}}function po(){let e=F.value;!e||z.value||(k.get(e.pageId)?.updateSelectedContentImage({width:o.normalizeContractImageDimension(On.value),height:o.normalizeContractImageDimension(kn.value)})&&(I.value=`已更新图片尺寸`),$())}function mo(){let e=F.value;!e||z.value||(k.get(e.pageId)?.updateSelectedContentImage({width:void 0,height:void 0})&&(I.value=`已恢复图片自然尺寸`),$())}function ho(e){e.type===`table`?lo(e):e.type===`image`?uo(e):so(e)}function $(){N.value=void 0,P.value=void 0,F.value=void 0,wn.value=!1,Tn.value=``}function go(e){!N.value&&!P.value&&!F.value||(e.target instanceof HTMLElement?e.target:null)?.closest(`.gd-contract-template-designer__context-menu`)||$()}function _o(e){let t=jt.value;if(!t||typeof document>`u`)return!1;let n=e.target instanceof Node?e.target:void 0,r=document.activeElement;return!!(n&&t.contains(n)||r&&t.contains(r)||n instanceof Element&&n.closest(`.gd-contract-template-designer__context-menu`))}function vo(e){if((e.ctrlKey||e.metaKey)&&!e.altKey&&e.key.toLowerCase()===`s`){if(!Nn.value||!_o(e))return;e.preventDefault(),kr();return}e.key===`Escape`&&($(),j.value=!1,M.value=!1,ln.value=!1)}function yo(e,t){e===E.value&&t.selectedContentImage&&(w.value=``,T.value&&Z());let n=pn.value[e];n&&JSON.stringify(n)===JSON.stringify(t)||(pn.value={...pn.value,[e]:t})}function bo(e=An.value.rows,t=An.value.cols){q({type:`insert-table`,options:{rows:Math.min(10,Math.max(1,Math.round(Number(e)||3))),cols:Math.min(10,Math.max(1,Math.round(Number(t)||3))),withHeaderRow:!!An.value.withHeaderRow}}),j.value=!1,$()}let xo={"delete-table-row":{label:`删除当前行`,countKey:`deleteRow`},"delete-table-column":{label:`删除当前列`,countKey:`deleteColumn`},"delete-table":{label:`删除表格`,countKey:`deleteTable`}};function So(e){let t=P.value;if(!t)return;let n=()=>{q(e,t.pageId),$()},r=xo[e.type];if(!r){n();return}let i=t.affectedVariableCounts[r.countKey];$(),f.Modal.confirm({title:r.label,content:i?`此操作将移除 ${i} 个正文变量节点,是否继续?`:`此操作将修改表格结构,是否继续?`,okText:`确认`,okType:`danger`,cancelText:`取消`,onOk:n,onCancel:()=>k.get(t.pageId)?.focus()})}function Co(e){let t=En.value?.getMenuElement();if(!t)return;if(e.key===`Escape`){e.preventDefault();let t=P.value?.pageId;$(),k.get(t??``)?.focus();return}let n=Array.from(t.querySelectorAll(`button:not(:disabled)`));if(!n.length)return;if(e.key===`Home`||e.key===`End`){e.preventDefault(),n[e.key===`Home`?0:n.length-1]?.focus();return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key))return;let r=(Math.max(0,n.indexOf(document.activeElement))+(e.key===`ArrowUp`||e.key===`ArrowLeft`?-1:1)+n.length)%n.length;e.preventDefault(),n[r]?.focus()}function wo(e){if(e.key!==`Escape`)return;e.preventDefault();let t=N.value?.pageId;$(),k.get(t??``)?.focus()}function To(e){if(e.key!==`Escape`)return;e.preventDefault();let t=F.value?.pageId;$(),k.get(t??``)?.focus()}function Eo(e){q({type:e}),M.value=!1,$()}return Ot({getValue:ka,setValue:Aa,getFiles:ja,setFiles:Ma,addFile:Na,selectFile:Pa,renameFile:Fa,removeFile:Ia,moveFile:Ra,validate:za,exportTemplate:Va,exportFiles:Ha,getSubmitData:va,clearTemplate:xa,saveDraftCache:kr,loadDraftCache:Ar,clearDraftCache:jr,getDraftCacheStatus:Mr,insertVariable:Vi,insertImage:bi,focus:Ya,openPreview:ga,closePreview:_a,openSubmitDataViewer:ya,closeSubmitDataViewer:ba,setServerValidationErrors:qa,clearValidationErrors:Ja,scrollToVariable:Ta,scrollToSigningPlacement:Ea,scrollToPage:Oa,setZoom:la,resetZoom:ua,getZoom:da,fitWidth:oa,insertSigningPlacement:Kr,selectSigningPlacement:Z,buildLocationRules:Wa,buildContractLocationRules:Ga}),(e,n)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{ref_key:`designerElement`,ref:jt,class:(0,d.normalizeClass)([`gd-contract-template-designer`,{"is-disabled":h.disabled,"is-readonly":z.value,"is-fullscreen":ln.value}]),style:(0,d.normalizeStyle)(At.value)},[v.value?((0,d.openBlock)(),(0,d.createBlock)(ie.default,{key:0,files:y.value,"active-file-id":b.value,readonly:z.value,onSelect:Pa,onAdd:n[0]||=e=>Na(),onRename:Fa,onRemove:La,onMove:Ra},null,8,[`files`,`active-file-id`,`readonly`])):(0,d.createCommentVNode)(``,!0),(0,d.createElementVNode)(`div`,{class:(0,d.normalizeClass)([`gd-contract-template-designer__layout`,{"is-sidebar-collapsed":un.value,"is-inspector-collapsed":dn.value}])},[(0,d.createVNode)(ae.default,{collapsed:un.value,pages:C.value.pages,variables:C.value.variables,"signing-placement-navigation-items":Bn.value,"active-page-id":E.value,"selected-variable-key":w.value,"selected-signing-placement-id":T.value,"normalized-max-pages":cr.value,"page-limit-reached":lr.value,"selected-page":H.value,"selected-page-size":Hn.value,"normalized-page-size-options":nr.value,"page-size-options":rr.value,"selected-page-size-option-value":ir.value,"show-signing-placement-tools":g.showSigningPlacementTools,readonly:z.value,"get-page-size":Y,"get-page-signing-placements":Br,onToggle:n[1]||=e=>un.value=!un.value,onAddPage:oi,onActivatePage:Da,onDuplicatePage:si,onRemovePage:li,onPatchPageFormat:ei,onScrollToVariable:wa,onScrollToSigningPlacement:Ea},null,8,[`collapsed`,`pages`,`variables`,`signing-placement-navigation-items`,`active-page-id`,`selected-variable-key`,`selected-signing-placement-id`,`normalized-max-pages`,`page-limit-reached`,`selected-page`,`selected-page-size`,`normalized-page-size-options`,`page-size-options`,`selected-page-size-option-value`,`show-signing-placement-tools`,`readonly`]),(0,d.createElementVNode)(`main`,{ref_key:`workspaceElement`,ref:Nt,class:`gd-contract-template-designer__workspace`},[(0,d.createElementVNode)(`header`,le,[(0,d.createElementVNode)(`div`,ue,[(0,d.createElementVNode)(`strong`,null,(0,d.toDisplayString)(Gn.value),1),h.showDraftCacheStatus&&Kn.value?((0,d.openBlock)(),(0,d.createElementBlock)(`small`,{key:0,class:(0,d.normalizeClass)([`gd-contract-template-designer__draft-cache-status`,qn.value])},(0,d.toDisplayString)(Kn.value),3)):(0,d.createCommentVNode)(``,!0)]),(0,d.createElementVNode)(`div`,de,[(0,d.createElementVNode)(`div`,fe,[(0,d.createElementVNode)(`div`,pe,[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`缩小`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.value<=ft,"aria-label":`缩小`,onClick:pa},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(Jn.value),1),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`放大`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.value>=pt,"aria-label":`放大`,onClick:fa},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`适应宽度`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`适应宽度`,onClick:(0,d.unref)(oa)},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`重置缩放`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`重置缩放`,onClick:ua},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ReloadOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:ln.value?`退出全屏`:`全屏显示`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":ln.value?`退出全屏`:`全屏显示`,onClick:ha},{default:(0,d.withCtx)(()=>[ln.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(p.FullscreenExitOutlined),{key:0,"aria-hidden":`true`})):((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(p.FullscreenOutlined),{key:1,"aria-hidden":`true`}))]),_:1},8,[`aria-label`])]),_:1},8,[`title`])])]),(0,d.createElementVNode)(`div`,me,[h.showClearButton?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.Tooltip),{key:0,title:`清空合同`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,danger:``,class:`gd-contract-template-designer__icon-button`,disabled:z.value,"aria-label":`清空合同`,onClick:Sa},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})):(0,d.createCommentVNode)(``,!0),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`校验`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`校验`,onClick:za},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.AuditOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`预览`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,type:`primary`,class:`gd-contract-template-designer__icon-button`,"aria-label":`预览`,onClick:ga},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.EyeOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),h.showSubmitDataViewer?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.Tooltip),{key:1,title:`数据查看`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`数据查看`,onClick:ya},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.DatabaseOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})):(0,d.createCommentVNode)(``,!0)])])]),(0,d.createElementVNode)(`header`,he,[(0,d.createElementVNode)(`div`,{ref_key:`toolbarMainElement`,ref:Pt,class:`gd-contract-template-designer__toolbar-section gd-contract-template-designer__toolbar-section--main`},[(0,d.createElementVNode)(`div`,ge,[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`撤销`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value||!U.value.canUndo,"aria-label":`撤销`,onClick:n[2]||=e=>q({type:`undo`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.UndoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`重做`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value||!U.value.canRedo,"aria-label":`重做`,onClick:n[3]||=e=>q({type:`redo`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.RedoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),(0,d.createElementVNode)(`div`,_e,[(0,d.createVNode)((0,d.unref)(f.Select),{value:mn.value,"onUpdate:value":n[4]||=e=>mn.value=e,class:`gd-contract-template-designer__toolbar-select`,options:Zn.value,placeholder:`合同样式`,disabled:z.value,onChange:oo},null,8,[`value`,`options`,`disabled`]),(0,d.createVNode)((0,d.unref)(f.Select),{class:`gd-contract-template-designer__toolbar-select`,value:pr.value,options:$n,disabled:z.value,onChange:Za},null,8,[`value`,`disabled`])]),(0,d.createElementVNode)(`div`,ve,[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`加粗`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:U.value.isBold?`primary`:`default`,disabled:z.value,"aria-label":`加粗`,onClick:n[5]||=e=>q({type:`toggle-bold`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.BoldOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`斜体`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:U.value.isItalic?`primary`:`default`,disabled:z.value,"aria-label":`斜体`,onClick:n[6]||=e=>q({type:`toggle-italic`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ItalicOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`下划线`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:U.value.isUnderline?`primary`:`default`,disabled:z.value,"aria-label":`下划线`,onClick:n[7]||=e=>q({type:`toggle-underline`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.UnderlineOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`编号列表`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:U.value.isOrderedList?`primary`:`default`,disabled:z.value,"aria-label":`编号列表`,onClick:n[8]||=e=>q({type:`toggle-ordered-list`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.OrderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`项目列表`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:U.value.isBulletList?`primary`:`default`,disabled:z.value,"aria-label":`项目列表`,onClick:n[9]||=e=>q({type:`toggle-bullet-list`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.UnorderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1})]),((0,d.openBlock)(),(0,d.createBlock)(d.Teleport,{disabled:!ra(`insert`)||!It.value,to:It.value||`body`},[(0,d.createElementVNode)(`div`,ye,[(0,d.createVNode)((0,d.unref)(f.Popover),{open:gn.value,"onUpdate:open":n[10]||=e=>gn.value=e,trigger:`click`,placement:`bottom`},{content:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,be,[n[62]||=(0,d.createElementVNode)(`strong`,null,`插入正文控件`,-1),(0,d.createElementVNode)(`div`,xe,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(sr.value,e=>((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.Tooltip),{key:e.type,title:`插入${e.label}控件`},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__text-menu-control-option`,"aria-label":`插入${e.label}控件`,onClick:t=>wi(e.type)},[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e.icon),{"aria-hidden":`true`})),(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(e.label),1)],8,Se)]),_:2},1032,[`title`]))),128))])])]),default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`插入正文控件`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value,"aria-label":`插入正文控件`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.PlusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,d.createVNode)((0,d.unref)(f.Popover),{open:_n.value,"onUpdate:open":n[14]||=e=>_n.value=e,trigger:`click`,placement:`bottom`},{content:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,Ce,[n[67]||=(0,d.createElementVNode)(`strong`,null,`插入正文图片`,-1),(0,d.createVNode)((0,d.unref)(f.Button),{block:``,loading:Sn.value,disabled:z.value,onClick:xi},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.PictureOutlined),{"aria-hidden":`true`}),n[63]||=(0,d.createTextVNode)(` 本地图片 `,-1)]),_:1},8,[`loading`,`disabled`]),(0,d.createVNode)((0,d.unref)(f.Input),{value:vn.value,"onUpdate:value":n[11]||=e=>vn.value=e,"allow-clear":``,disabled:z.value||Sn.value,placeholder:`https:// 或 data:image/...`,"aria-label":`图片 URL`,onPressEnter:Ci},null,8,[`value`,`disabled`]),(0,d.createElementVNode)(`div`,we,[(0,d.createElementVNode)(`label`,null,[n[64]||=(0,d.createElementVNode)(`span`,null,`宽度`,-1),(0,d.createVNode)((0,d.unref)(f.InputNumber),{value:yn.value,"onUpdate:value":n[12]||=e=>yn.value=e,min:(0,d.unref)(16),max:(0,d.unref)(o.MAX_CONTRACT_IMAGE_DIMENSION),disabled:z.value||Sn.value,placeholder:`自然`,"aria-label":`图片宽度`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,d.createElementVNode)(`label`,null,[n[65]||=(0,d.createElementVNode)(`span`,null,`高度`,-1),(0,d.createVNode)((0,d.unref)(f.InputNumber),{value:bn.value,"onUpdate:value":n[13]||=e=>bn.value=e,min:(0,d.unref)(16),max:(0,d.unref)(o.MAX_CONTRACT_IMAGE_DIMENSION),disabled:z.value||Sn.value,placeholder:`自然`,"aria-label":`图片高度`},null,8,[`value`,`min`,`max`,`disabled`])])]),(0,d.createVNode)((0,d.unref)(f.Button),{type:`primary`,block:``,disabled:z.value||Sn.value||!vn.value.trim(),onClick:Ci},{default:(0,d.withCtx)(()=>[...n[66]||=[(0,d.createTextVNode)(` 插入 URL `,-1)]]),_:1},8,[`disabled`]),xn.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.Alert),{key:0,type:`error`,"show-icon":``,message:xn.value},null,8,[`message`])):(0,d.createCommentVNode)(``,!0)])]),default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`插入图片`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value,"aria-label":`插入图片`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.PictureOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`插入分隔线`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value,"aria-label":`插入分隔线`,onClick:n[15]||=e=>q({type:`insert-horizontal-rule`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.MinusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:lr.value?`已达 ${cr.value} 页上限`:`新增页面`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value||lr.value,"aria-label":`新增页面`,onClick:oi},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.FileAddOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1},8,[`title`])])],8,[`disabled`,`to`])),((0,d.openBlock)(),(0,d.createBlock)(d.Teleport,{disabled:!ra(`typography`)||!Lt.value,to:Lt.value||`body`},[(0,d.createElementVNode)(`div`,Te,[(0,d.createVNode)((0,d.unref)(f.Select),{class:`gd-contract-template-designer__toolbar-select is-wide`,value:mr.value,options:Xn.value,disabled:z.value,onChange:$a},null,8,[`value`,`options`,`disabled`]),(0,d.createVNode)((0,d.unref)(f.Select),{class:`gd-contract-template-designer__toolbar-select`,value:hr.value,options:vr.value,"show-search":``,"filter-option":!1,"search-value":hn.value,disabled:z.value,onBlur:ro,onChange:Qa,onDropdownVisibleChange:ao,onInputKeyDown:io,onSearch:no},null,8,[`value`,`options`,`search-value`,`disabled`]),(0,d.createElementVNode)(`input`,{class:`gd-contract-template-designer__color`,type:`color`,value:gr.value,disabled:z.value,onInput:eo},null,40,Ee),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`左对齐`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":U.value.textAlign===`left`}]),type:U.value.textAlign===`left`?`primary`:`default`,disabled:z.value,"aria-label":`左对齐`,onClick:n[16]||=e=>Xa(`left`)},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.AlignLeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`居中对齐`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":U.value.textAlign===`center`}]),type:U.value.textAlign===`center`?`primary`:`default`,disabled:z.value,"aria-label":`居中对齐`,onClick:n[17]||=e=>Xa(`center`)},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.AlignCenterOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`右对齐`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":U.value.textAlign===`right`}]),type:U.value.textAlign===`right`?`primary`:`default`,disabled:z.value,"aria-label":`右对齐`,onClick:n[18]||=e=>Xa(`right`)},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.AlignRightOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1})])],8,[`disabled`,`to`])),((0,d.openBlock)(),(0,d.createBlock)(d.Teleport,{disabled:!ra(`cleanup`)||!Rt.value,to:Rt.value||`body`},[(0,d.createElementVNode)(`div`,De,[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`清文字`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value,"aria-label":`清文字`,onClick:n[19]||=e=>q({type:`clear-text-format`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ClearOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`清段落`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value,"aria-label":`清段落`,onClick:n[20]||=e=>q({type:`clear-block-format`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.FormatPainterOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})])],8,[`disabled`,`to`])),((0,d.openBlock)(),(0,d.createBlock)(d.Teleport,{disabled:!ra(`table`)||!zt.value,to:zt.value||`body`},[(0,d.createElementVNode)(`div`,Oe,[(0,d.createVNode)((0,d.unref)(f.Popover),{open:j.value,"onUpdate:open":n[24]||=e=>j.value=e,trigger:`click`,placement:`bottom`},{content:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,ke,[n[69]||=(0,d.createElementVNode)(`strong`,null,`插入表格`,-1),(0,d.createVNode)(ne.default,{disabled:z.value,onSelect:n[21]||=e=>bo(e.rows,e.cols),onClose:n[22]||=e=>j.value=!1},null,8,[`disabled`]),(0,d.createElementVNode)(`label`,Ae,[n[68]||=(0,d.createElementVNode)(`span`,null,`表头行`,-1),(0,d.createVNode)((0,d.unref)(f.Switch),{checked:An.value.withHeaderRow,"onUpdate:checked":n[23]||=e=>An.value.withHeaderRow=e,disabled:z.value},null,8,[`checked`,`disabled`])])])]),default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`插入表格`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value,"aria-label":`插入表格`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.TableOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,d.createVNode)((0,d.unref)(f.Popover),{open:M.value,"onUpdate:open":n[34]||=e=>M.value=e,trigger:`click`,placement:`bottom`},{content:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,je,[n[79]||=(0,d.createElementVNode)(`strong`,null,`表格操作`,-1),(0,d.createElementVNode)(`div`,Me,[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[25]||=e=>Eo(`add-table-row-before`)},{default:(0,d.withCtx)(()=>[...n[70]||=[(0,d.createTextVNode)(` 上方插行 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[26]||=e=>Eo(`add-table-row-after`)},{default:(0,d.withCtx)(()=>[...n[71]||=[(0,d.createTextVNode)(` 下方插行 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[27]||=e=>Eo(`add-table-column-before`)},{default:(0,d.withCtx)(()=>[...n[72]||=[(0,d.createTextVNode)(` 左侧插列 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[28]||=e=>Eo(`add-table-column-after`)},{default:(0,d.withCtx)(()=>[...n[73]||=[(0,d.createTextVNode)(` 右侧插列 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[29]||=e=>Eo(`delete-table-row`)},{default:(0,d.withCtx)(()=>[...n[74]||=[(0,d.createTextVNode)(` 删除当前行 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[30]||=e=>Eo(`delete-table-column`)},{default:(0,d.withCtx)(()=>[...n[75]||=[(0,d.createTextVNode)(` 删除当前列 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[31]||=e=>Eo(`toggle-table-header-row`)},{default:(0,d.withCtx)(()=>[...n[76]||=[(0,d.createTextVNode)(` 切换表头行 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:z.value,onClick:n[32]||=e=>Eo(`toggle-table-header-column`)},{default:(0,d.withCtx)(()=>[...n[77]||=[(0,d.createTextVNode)(` 切换表头列 `,-1)]]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{danger:``,size:`small`,disabled:z.value,onClick:n[33]||=e=>Eo(`delete-table`)},{default:(0,d.withCtx)(()=>[...n[78]||=[(0,d.createTextVNode)(` 删除表格 `,-1)]]),_:1},8,[`disabled`])])])]),default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`表格操作`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:z.value||!U.value.isTableActive,"aria-label":`表格操作`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.TableOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`])])],8,[`disabled`,`to`])),(0,d.withDirectives)((0,d.createElementVNode)(`div`,{ref_key:`toolbarMoreElement`,ref:Ft,class:`gd-contract-template-designer__toolbar-more`},[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`更多工具`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":fn.value}]),"aria-label":`更多工具`,"aria-haspopup":`true`,"aria-expanded":fn.value,onClick:n[35]||=(0,d.withModifiers)(e=>fn.value=!fn.value,[`stop`])},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.EllipsisOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-expanded`])]),_:1}),(0,d.withDirectives)((0,d.createElementVNode)(`div`,Ne,[(0,d.withDirectives)((0,d.createElementVNode)(`div`,Pe,[n[80]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`插入`,-1),(0,d.createElementVNode)(`div`,{ref_key:`toolbarInsertSlotElement`,ref:It,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[d.vShow,ra(`insert`)]]),(0,d.withDirectives)((0,d.createElementVNode)(`div`,Fe,[n[81]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`文字排版`,-1),(0,d.createElementVNode)(`div`,{ref_key:`toolbarTypographySlotElement`,ref:Lt,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[d.vShow,ra(`typography`)]]),(0,d.withDirectives)((0,d.createElementVNode)(`div`,Ie,[n[82]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`清除格式`,-1),(0,d.createElementVNode)(`div`,{ref_key:`toolbarCleanupSlotElement`,ref:Rt,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[d.vShow,ra(`cleanup`)]]),(0,d.withDirectives)((0,d.createElementVNode)(`div`,Le,[n[83]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`表格`,-1),(0,d.createElementVNode)(`div`,{ref_key:`toolbarTableSlotElement`,ref:zt,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[d.vShow,ra(`table`)]])],512),[[d.vShow,fn.value]])],512),[[d.vShow,na.value]])],512)]),D.value?((0,d.openBlock)(),(0,d.createElementBlock)(`section`,Re,[(0,d.createVNode)((0,d.unref)(f.Alert),{type:Un.value?`success`:`error`,message:Wn.value,"show-icon":``},null,8,[`type`,`message`]),O.value.length?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,ze,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(O.value,e=>((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:`${e.id}-${e.message}`,type:`button`,class:`gd-contract-template-designer__validation-item`,onClick:t=>Ba(e)},[(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(e.message),1),(0,d.createElementVNode)(`small`,null,(0,d.toDisplayString)(e.type===`signing-placement`?`签署位置`:e.type===`variable`?`变量`:`字段`),1)],8,Be))),128))])):(0,d.createCommentVNode)(``,!0)])):(0,d.createCommentVNode)(``,!0),(0,d.createElementVNode)(`div`,{ref_key:`canvasElement`,ref:Mt,class:`gd-contract-template-designer__canvas`},[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(C.value.pages,(e,t)=>((0,d.openBlock)(),(0,d.createBlock)(c.default,{key:`${b.value}:${e.id}`,ref_for:!0,ref:t=>Ir(e.id,t),page:e,"page-index":t,"page-size":Y(e),variables:C.value.variables,"selected-variable-key":w.value,"signing-placements":g.showSigningPlacementTools?Br(e.id):[],"selected-signing-placement-id":T.value,active:E.value===e.id,readonly:h.readonly,disabled:h.disabled,zoom:A.value,"process-image-file":yi,onPageUpdate:zr,onVariableDrop:Ei,onVariableSelect:Di,onSigningPlacementDrop:qr,onSigningPlacementSelect:Hr,onSigningPlacementMove:Xr,onSigningPlacementRemove:$r,onEditorFocus:n[36]||=e=>Da(e,!1),onEditorStateChange:yo,onEditorContextMenu:ho,onVariableMoveBlocked:n[37]||=e=>I.value=`变量只能在当前页内移动,跨页移动尚未支持。`},null,8,[`page`,`page-index`,`page-size`,`variables`,`selected-variable-key`,`signing-placements`,`selected-signing-placement-id`,`active`,`readonly`,`disabled`,`zoom`]))),128))],512)],512),(0,d.createVNode)(oe.default,{collapsed:dn.value,readonly:h.readonly,disabled:h.disabled,"show-signing-placement-tools":g.showSigningPlacementTools,"body-control-tool-items":sr.value,"signing-placement-tools":ar.value,"signing-placements":V.value,"selected-signing-placement":zn.value,"selected-signing-placement-page-size":Vn.value,"selected-variable":B.value,"current-variable-font-family":_r.value,"font-family-select-options":Xn.value,"text-align-options":(0,d.unref)(Qn),"border-style-options":er,"object-fit-options":tr,"selected-variable-width-max":dr.value,"selected-variable-height-max":fr.value,"min-font-size":yt,"max-font-size":bt,"default-multiline-rows":(0,d.unref)(3),"resolve-signing-placement-type-icon":(0,d.unref)(re.resolveSigningPlacementTypeIcon),"signing-placement-type-labels":(0,d.unref)(t.SIGNING_PLACEMENT_TYPE_LABELS),onToggle:n[38]||=e=>dn.value=!dn.value,onVariableDragStart:Ji,onInsertVariable:Hi,onSigningPlacementDragStart:Yr,onInsertSigningPlacement:Jr,onPatchSigningPlacement:Zr,onDuplicateSigningPlacement:n[39]||=e=>Qr(),onRemoveSigningPlacement:n[40]||=e=>$r(),onDuplicateVariable:Bi,onRemoveVariable:Ri,onPatchVariable:ki,onPatchStyle:Ni,onPatchMultiline:Ii,onPatchRows:Li,onPatchFontFamily:Pi,onPatchFontSize:Fi,onPatchTextAlign:Ai,onPatchBorderStyle:ji,onPatchObjectFit:Mi},null,8,[`collapsed`,`readonly`,`disabled`,`show-signing-placement-tools`,`body-control-tool-items`,`signing-placement-tools`,`signing-placements`,`selected-signing-placement`,`selected-signing-placement-page-size`,`selected-variable`,`current-variable-font-family`,`font-family-select-options`,`text-align-options`,`selected-variable-width-max`,`selected-variable-height-max`,`default-multiline-rows`,`resolve-signing-placement-type-icon`,`signing-placement-type-labels`])],2),((0,d.openBlock)(),(0,d.createBlock)(d.Teleport,{to:`body`},[P.value?((0,d.openBlock)(),(0,d.createBlock)(te.default,{key:0,ref_key:`tableContextMenuElement`,ref:En,capabilities:P.value.capabilities,"active-alignment":P.value.activeAlignment,style:(0,d.normalizeStyle)({left:`${P.value.x}px`,top:`${P.value.y}px`}),onExecute:So,onKeydown:Co},null,8,[`capabilities`,`active-alignment`,`style`])):(0,d.createCommentVNode)(``,!0),F.value?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{key:1,ref_key:`imageContextMenuElement`,ref:Dn,class:`gd-contract-template-designer__context-menu gd-contract-template-designer__image-context-menu`,style:(0,d.normalizeStyle)({left:`${F.value.x}px`,top:`${F.value.y}px`}),role:`dialog`,"aria-label":`图片尺寸`,onKeydown:To},[n[88]||=(0,d.createElementVNode)(`div`,{class:`gd-contract-template-designer__image-context-title`},[(0,d.createElementVNode)(`strong`,null,`图片尺寸`),(0,d.createElementVNode)(`span`,null,`单位:px;留空可恢复自然尺寸`)],-1),(0,d.createElementVNode)(`div`,Ve,[(0,d.createElementVNode)(`label`,null,[n[84]||=(0,d.createElementVNode)(`span`,null,`宽度`,-1),(0,d.createVNode)((0,d.unref)(f.InputNumber),{value:On.value,"onUpdate:value":n[41]||=e=>On.value=e,min:(0,d.unref)(16),max:(0,d.unref)(o.MAX_CONTRACT_IMAGE_DIMENSION),disabled:z.value,placeholder:`自然`,"aria-label":`图片宽度`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,d.createElementVNode)(`label`,null,[n[85]||=(0,d.createElementVNode)(`span`,null,`高度`,-1),(0,d.createVNode)((0,d.unref)(f.InputNumber),{value:kn.value,"onUpdate:value":n[42]||=e=>kn.value=e,min:(0,d.unref)(16),max:(0,d.unref)(o.MAX_CONTRACT_IMAGE_DIMENSION),disabled:z.value,placeholder:`自然`,"aria-label":`图片高度`},null,8,[`value`,`min`,`max`,`disabled`])])]),(0,d.createElementVNode)(`div`,He,[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,onClick:mo},{default:(0,d.withCtx)(()=>[...n[86]||=[(0,d.createTextVNode)(`恢复自然尺寸`,-1)]]),_:1}),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,type:`primary`,onClick:po},{default:(0,d.withCtx)(()=>[...n[87]||=[(0,d.createTextVNode)(`应用`,-1)]]),_:1})])],36)):(0,d.createCommentVNode)(``,!0),N.value?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{key:2,ref_key:`textContextMenuElement`,ref:Cn,class:`gd-contract-template-designer__context-menu gd-contract-template-designer__text-context-menu`,style:(0,d.normalizeStyle)({left:`${N.value.x}px`,top:`${N.value.y}px`}),role:`toolbar`,"aria-label":`正文快捷操作`,onKeydown:wo},[(0,d.createElementVNode)(`div`,Ue,[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`撤销`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,disabled:!U.value.canUndo,"aria-label":`撤销`,onClick:n[43]||=e=>J({type:`undo`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.UndoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`重做`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,disabled:!U.value.canRedo,"aria-label":`重做`,onClick:n[44]||=e=>J({type:`redo`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.RedoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),n[89]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__text-menu-divider`,"aria-hidden":`true`},null,-1),N.value.hasSelection?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.Tooltip),{key:0,title:`复制`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,"aria-label":`复制`,onClick:n[45]||=e=>Lr(`copy`)},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.CopyOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})):(0,d.createCommentVNode)(``,!0),N.value.hasSelection?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.Tooltip),{key:1,title:`剪切`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,"aria-label":`剪切`,onClick:n[46]||=e=>Lr(`cut`)},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ScissorOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})):(0,d.createCommentVNode)(``,!0),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`粘贴`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-icon-button`,"aria-label":`粘贴`,onClick:n[47]||=e=>Lr(`paste`)},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.CopyOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})]),N.value.hasSelection?(0,d.createCommentVNode)(``,!0):((0,d.openBlock)(),(0,d.createElementBlock)(`div`,We,[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,onClick:xi},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.PictureOutlined),{"aria-hidden":`true`}),n[90]||=(0,d.createElementVNode)(`span`,null,`图片`,-1)]),_:1}),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,onClick:n[48]||=e=>J({type:`insert-table`,options:An.value})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.TableOutlined),{"aria-hidden":`true`}),n[91]||=(0,d.createElementVNode)(`span`,null,`表格`,-1)]),_:1}),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,onClick:n[49]||=e=>J({type:`insert-horizontal-rule`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.MinusOutlined),{"aria-hidden":`true`}),n[92]||=(0,d.createElementVNode)(`span`,null,`分隔线`,-1)]),_:1}),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,disabled:lr.value,onClick:Ti},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.FileAddOutlined),{"aria-hidden":`true`}),n[93]||=(0,d.createElementVNode)(`span`,null,`新页面`,-1)]),_:1},8,[`disabled`]),(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,onClick:n[50]||=e=>J({type:`select-all`})},{default:(0,d.withCtx)(()=>[...n[94]||=[(0,d.createElementVNode)(`span`,null,`全选正文`,-1)]]),_:1})])),(0,d.createElementVNode)(`div`,Ge,[(0,d.createVNode)((0,d.unref)(f.Select),{class:`gd-contract-template-designer__context-menu-field gd-contract-template-designer__text-menu-font-size`,value:hr.value,options:vr.value,"show-search":``,"filter-option":!1,"search-value":hn.value,onBlur:ro,onChange:Qa,onDropdownVisibleChange:ao,onInputKeyDown:io,onSearch:no},null,8,[`value`,`options`,`search-value`]),(0,d.createVNode)((0,d.unref)(f.Select),{class:`gd-contract-template-designer__context-menu-field gd-contract-template-designer__text-menu-alignment`,value:U.value.textAlign,options:(0,d.unref)(Qn),onChange:Xa},null,8,[`value`,`options`]),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`文字颜色`},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`input`,{class:`gd-contract-template-designer__context-menu-color`,type:`color`,"aria-label":`文字颜色`,value:gr.value,onInput:n[51]||=e=>to(e.target.value)},null,40,Ke)]),_:1})]),(0,d.createElementVNode)(`div`,{class:`gd-contract-template-designer__text-menu-control-group`,role:`group`,"aria-label":N.value.hasSelection?`转换为正文控件`:`插入正文控件`},[(0,d.createElementVNode)(`div`,Je,[(0,d.createElementVNode)(`strong`,null,(0,d.toDisplayString)(N.value.hasSelection?`转换为正文控件`:`插入正文控件`),1),(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(N.value.hasSelection?`替换选中内容`:`在光标处插入`),1)]),(0,d.createElementVNode)(`div`,Ye,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(sr.value,e=>((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.Tooltip),{key:e.type,title:N.value.hasSelection?`转换为${e.label}控件`:`插入${e.label}控件`},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__text-menu-control-option`,"aria-label":N.value.hasSelection?`转换为${e.label}控件`:`插入${e.label}控件`,onClick:t=>Ui(e.type)},[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e.icon),{"aria-hidden":`true`})),(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(e.label),1)],8,Xe)]),_:2},1032,[`title`]))),128))]),wn.value?((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:1},[(0,d.createVNode)((0,d.unref)(f.Input),{value:Tn.value,"onUpdate:value":n[52]||=e=>Tn.value=e,class:`gd-contract-template-designer__text-menu-bind-search`,size:`small`,"allow-clear":``,placeholder:`搜索已有控件`,"aria-label":`搜索已有控件`},null,8,[`value`]),(0,d.createElementVNode)(`div`,Qe,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(ur.value,e=>((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:e.id,type:`button`,class:`gd-contract-template-designer__text-menu-bind-item`,role:`option`,onClick:t=>Gi(e)},[(0,d.createElementVNode)(`span`,et,(0,d.toDisplayString)(e.label),1),(0,d.createElementVNode)(`span`,tt,(0,d.toDisplayString)(Ki(e))+` · `+(0,d.toDisplayString)(e.key),1)],8,$e))),128)),ur.value.length?(0,d.createCommentVNode)(``,!0):((0,d.openBlock)(),(0,d.createElementBlock)(`p`,nt,` 暂无已有控件 `))])],64)):((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:0,type:`button`,class:`gd-contract-template-designer__text-menu-bind-toggle`,disabled:!C.value.variables.length,"aria-expanded":!1,"aria-label":`绑定已有控件`,onClick:qi},[n[95]||=(0,d.createElementVNode)(`span`,null,`绑定已有`,-1),(0,d.createVNode)((0,d.unref)(p.DownOutlined),{"aria-hidden":`true`})],8,Ze))],8,qe),(0,d.createElementVNode)(`div`,rt,[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`加粗`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":U.value.isBold}]),"aria-pressed":U.value.isBold,"aria-label":`加粗`,onClick:n[53]||=e=>J({type:`toggle-bold`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.BoldOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`斜体`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":U.value.isItalic}]),"aria-pressed":U.value.isItalic,"aria-label":`斜体`,onClick:n[54]||=e=>J({type:`toggle-italic`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ItalicOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`下划线`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":U.value.isUnderline}]),"aria-pressed":U.value.isUnderline,"aria-label":`下划线`,onClick:n[55]||=e=>J({type:`toggle-underline`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.UnderlineOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),n[96]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__text-menu-divider`,"aria-hidden":`true`},null,-1),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`有序列表`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":U.value.isOrderedList}]),"aria-pressed":U.value.isOrderedList,"aria-label":`有序列表`,onClick:n[56]||=e=>J({type:`toggle-ordered-list`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.OrderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`无序列表`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:(0,d.normalizeClass)([`gd-contract-template-designer__text-menu-icon-button`,{"is-selected":U.value.isBulletList}]),"aria-pressed":U.value.isBulletList,"aria-label":`无序列表`,onClick:n[57]||=e=>J({type:`toggle-bullet-list`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.UnorderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1})]),(0,d.createElementVNode)(`div`,it,[(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`清除文字格式`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-clear-action`,"aria-label":`清除文字格式`,onClick:n[58]||=e=>J({type:`clear-text-format`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.ClearOutlined),{"aria-hidden":`true`}),n[97]||=(0,d.createElementVNode)(`span`,null,`清文字`,-1)]),_:1})]),_:1}),(0,d.createVNode)((0,d.unref)(f.Tooltip),{title:`清除段落格式`},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.Button),{size:`small`,class:`gd-contract-template-designer__text-menu-clear-action`,"aria-label":`清除段落格式`,onClick:n[59]||=e=>J({type:`clear-block-format`})},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(p.FormatPainterOutlined),{"aria-hidden":`true`}),n[98]||=(0,d.createElementVNode)(`span`,null,`清段落`,-1)]),_:1})]),_:1})])],36)):(0,d.createCommentVNode)(``,!0)])),(0,d.createElementVNode)(`input`,{ref_key:`imageFileInputElement`,ref:Bt,class:`gd-contract-template-designer__hidden-file-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif,image/bmp`,tabindex:`-1`,"aria-hidden":`true`,onChange:Si},null,544),(0,d.createElementVNode)(`span`,at,(0,d.toDisplayString)(I.value),1),(0,d.createVNode)((0,d.unref)(f.Modal),{open:nn.value,"onUpdate:open":n[60]||=e=>nn.value=e,title:`模板预览`,width:`min(1440px, calc(100vw - 32px))`,centered:``,footer:null,"wrap-class-name":`gd-contract-template-designer__preview-modal`,onCancel:_a},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,{class:(0,d.normalizeClass)([`gd-contract-template-designer__preview`,{"is-multi-file":Ln.value.length>0}])},[Ln.value.length?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,ot,[(0,d.createElementVNode)(`nav`,st,[n[99]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__preview-file-nav-title`},`合同文件`,-1),((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(Ln.value,e=>((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:e.file.id,type:`button`,class:(0,d.normalizeClass)([`gd-contract-template-designer__preview-file-tab`,{"is-active":e.file.id===Rn.value?.file.id}]),"aria-current":e.file.id===Rn.value?.file.id?`page`:void 0,onClick:t=>on.value=e.file.id},[(0,d.createVNode)((0,d.unref)(p.FileAddOutlined),{"aria-hidden":`true`}),(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(e.file.name),1),(0,d.createElementVNode)(`small`,null,(0,d.toDisplayString)(e.pages.length)+` 页`,1)],10,ct))),128))]),Rn.value?((0,d.openBlock)(),(0,d.createElementBlock)(`section`,lt,[(0,d.createElementVNode)(`h3`,ut,(0,d.toDisplayString)(Rn.value.file.name),1),((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(Rn.value.pages,e=>((0,d.openBlock)(),(0,d.createBlock)(ee.default,{key:`${Rn.value.file.id}:${e.page.id}`,page:e.page,"fallback-page-size":Rn.value.file.template.pageSize,"content-html":e.contentHtml,"signing-placements":e.signingPlacements},null,8,[`page`,`fallback-page-size`,`content-html`,`signing-placements`]))),128))])):(0,d.createCommentVNode)(``,!0)])):((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,{key:1},(0,d.renderList)(In.value,e=>((0,d.openBlock)(),(0,d.createBlock)(ee.default,{key:e.page.id,page:e.page,"fallback-page-size":rn.value?.pageSize??(0,d.unref)(r.DEFAULT_PAGE_SIZE),"content-html":e.contentHtml,"signing-placements":e.signingPlacements},null,8,[`page`,`fallback-page-size`,`content-html`,`signing-placements`]))),128))],2)]),_:1},8,[`open`]),(0,d.createVNode)((0,d.unref)(f.Modal),{open:sn.value,"onUpdate:open":n[61]||=e=>sn.value=e,title:`提交数据查看`,width:`min(960px, calc(100vw - 48px))`,centered:``,footer:null,"wrap-class-name":`gd-contract-template-designer__submit-data-modal`,onCancel:ba},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`pre`,dt,(0,d.toDisplayString)(cn.value),1)]),_:1},8,[`open`])],6))}});exports.default=h;
|
package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./types.cjs`),t=require(`./utils/template-renderer.cjs`),n=require(`./ContractTemplateRendererField.cjs`),r=require(`./ContractTemplateRendererHeader.cjs`),i=require(`./ContractTemplateRendererPage.cjs`);let a=require(`vue`),o=require(`ant-design-vue`),ee=require(`@vueuse/core`),s=require(`@ant-design/icons-vue`);var te={class:`gd-contract-template-renderer__validation-bar`},ne=[`aria-expanded`],re={key:0,class:`gd-contract-template-renderer__validation-list`},ie=[`onClick`],ae={key:2,class:`gd-contract-template-renderer__empty`},oe=[`data-highlighted-variable-key`],se={class:`gd-contract-template-renderer__pages`},ce=[`aria-label`,`aria-expanded`],le={class:`gd-contract-template-renderer__panel-clip`},ue={class:`gd-contract-template-renderer__panel`},de={class:`gd-contract-template-renderer__panel-head`},fe={class:`gd-contract-template-renderer__panel-head-row`},pe={class:`gd-contract-template-renderer__panel-head-actions`},me=[`data-field-key`],c=.5,l=1.5,u=.1,he=3e3,d=(0,a.defineComponent)({name:`ProContractTemplateRenderer`,__name:`ProContractTemplateRenderer`,props:{template:{default:void 0},values:{default:void 0},interactionMode:{default:`panel`},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{default:`合同填写`},showSubmitButton:{type:Boolean,default:!0},validateOnSubmit:{type:Boolean,default:!0},showValidateButton:{type:Boolean,default:!0},showResetButton:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},showPageMeta:{type:Boolean,default:!0},collapsiblePanel:{type:Boolean,default:!0},zoom:{default:1}},emits:[`update:values`,`change`,`validate`,`submit`,`update:zoom`],setup(d,{expose:ge,emit:_e}){let f=d,p=_e,ve=(0,a.ref)(),m=(0,a.ref)(),h=(0,a.ref)(),g=(0,a.ref)(t.normalizeRenderValues(f.template,f.values)),_=(0,a.ref)({...g.value}),v=(0,a.ref)(!1),y=(0,a.ref)([]),b=(0,a.ref)(!1),x=(0,a.ref)(!1),S=(0,a.ref)(``),C=(0,a.ref)(``),w=(0,a.ref)(``),T=(0,a.ref)(X(f.zoom)),E=(0,a.ref)(!1),D=(0,a.ref)(!1),{width:ye}=(0,ee.useElementSize)(m),be=(0,a.computed)(()=>f.readonly||f.disabled),O=(0,a.computed)(()=>t.validateTemplateRenderStructure(f.template)),k=(0,a.computed)(()=>v.value?y.value:O.value),A=(0,a.computed)(()=>(Array.isArray(f.template?.variables)?f.template.variables:[]).filter(t=>!!t?.key&&e.isContractTemplateFieldType(t.type??`text`))),j=(0,a.computed)(()=>E.value?A.value.filter(e=>t.isEmptyRenderValue(g.value[e.key])):A.value),xe=(0,a.computed)(()=>A.value.filter(e=>t.isEmptyRenderValue(g.value[e.key])).length),Se=(0,a.computed)(()=>{let e=new Map;return k.value.forEach(t=>{t.variableKey&&e.set(t.variableKey,[...e.get(t.variableKey)??[],t])}),e}),M=(0,a.computed)(()=>{let e=f.interactionMode===`panel`;return t.buildTemplateRenderPages(f.template,e?g.value:_.value,{readonly:f.readonly,disabled:f.disabled,mode:e?`display`:`control`,activeKey:e?C.value:``})}),N=(0,a.computed)(()=>M.value.length>0),P=(0,a.computed)(()=>A.value.filter(e=>!t.isEmptyRenderValue(g.value[e.key])).length),F=(0,a.computed)(()=>A.value.filter(e=>e.required&&t.isEmptyRenderValue(g.value[e.key])).length),Ce=(0,a.computed)(()=>A.value.length?Math.round(P.value/A.value.length*100):0),I=(0,a.computed)(()=>v.value&&y.value.length===0),we=(0,a.computed)(()=>v.value?I.value?`校验通过,模板与填写值均符合规则`:`发现 ${y.value.length} 个模板或填写问题`:O.value.length?`模板存在 ${O.value.length} 个问题,已安全降级展示`:``),Te=(0,a.computed)(()=>v.value?k.value.length>0||x.value:O.value.length>0);(0,a.watch)(()=>f.template,e=>{L(t.normalizeRenderValues(e,f.values),!1),U();let n=Array.isArray(e?.pages)?e.pages.map(e=>e?.id):[];n.includes(w.value)||(w.value=n.find(Boolean)??``),C.value&&!A.value.some(e=>e.key===C.value)&&Ne()},{deep:!0}),(0,a.watch)(()=>f.values,e=>{let n=t.normalizeRenderValues(f.template,e);Ue(n,g.value)||(L(n,!1),U())},{deep:!0}),(0,a.watch)(()=>f.interactionMode,e=>{e===`inline`&&(_.value={...g.value})}),(0,a.watch)(()=>f.collapsiblePanel,e=>{e||(D.value=!1)}),(0,a.watch)(()=>f.zoom,e=>T.value=X(e)),(0,a.watch)(M,e=>{!w.value&&e.length&&(w.value=e[0].id)},{immediate:!0});function L(e,t=!0,n={}){g.value={...e},n.refreshInlineHtml!==!1&&(_.value={...e}),t&&(p(`update:values`,{...g.value}),p(`change`,{...g.value}))}function R(e,t){!e||be.value||(L({...g.value,[e]:t},!0,{refreshInlineHtml:f.interactionMode!==`inline`}),v.value&&V())}function z(e){if(f.interactionMode!==`inline`)return;let t=e.target;if(!(t instanceof HTMLInputElement)&&!(t instanceof HTMLTextAreaElement))return;let n=t.dataset.key||``;n&&(t instanceof HTMLInputElement&&t.type===`checkbox`?R(n,t.checked):t instanceof HTMLInputElement&&t.type===`number`?R(n,t.value===``?void 0:t.valueAsNumber):R(n,t.value))}function Ee(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-render-page-id]`);n?.dataset.renderPageId&&(w.value=n.dataset.renderPageId);let r=t.closest(`[data-contract-render-wrapper], [data-contract-render-control]`)?.dataset.key||``;r&&q(r)}function De(e){if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;!(t instanceof HTMLElement)||!t.dataset.key||(e.preventDefault(),q(t.dataset.key))}function B(){return{...g.value}}function Oe(e){L(t.normalizeRenderValues(f.template,e))}function V(){let e=t.validateTemplateRenderValues(f.template,g.value);return Ae(e),p(`validate`,e),e}function H(){let e=t.resolveTemplateRenderSubmitErrors(f.template,g.value,f.validateOnSubmit);if((f.validateOnSubmit||e.length)&&(Ae(e),p(`validate`,e)),e.length)return Fe(e[0]),!1;let n=B();return p(`submit`,n),n}function ke(){return L(t.buildInitialRenderValues(f.template)),U(),B()}function U(){v.value=!1,y.value=[],b.value=!1,x.value=!1,G()}function Ae(e){if(y.value=e,v.value=!0,b.value=!1,e.length){x.value=!1,G();return}je()}let W;function G(){W&&=(clearTimeout(W),void 0)}function je(){G(),x.value=!0,W=setTimeout(()=>{x.value=!1,W=void 0},he)}function K(e){q(e,!0)}function Me(e){f.interactionMode===`panel`&&(D.value&&=!1,E.value&&A.value.some(t=>t.key===e)&&!j.value.some(t=>t.key===e)&&(E.value=!1))}function q(e,t=!1){e&&(Me(e),C.value=e,S.value=e,(0,a.nextTick)(()=>{Pe(e);let n=m.value?.querySelector(`[data-key="${Z(e)}"]`),r=n?.closest(`[data-render-page-id]`);r?.dataset.renderPageId&&(w.value=r.dataset.renderPageId),t&&n?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),f.interactionMode===`panel`&&h.value?.querySelector(`[data-field-key="${Z(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})}))}function Ne(){C.value=``,S.value=``,Pe(``)}function Pe(e){m.value?.querySelectorAll(`[data-contract-render-wrapper], [data-contract-render-control]`).forEach(t=>t.classList.toggle(`is-active`,!!e&&t.dataset.key===e))}function Fe(e){e.variableKey?K(e.variableKey):e.pageId&&Y(e.pageId)}function Ie(e){return Se.value.get(e)??[]}function Le(e){return{variable:e,value:g.value[e.key],errors:Ie(e.key),active:C.value===e.key,readonly:f.readonly,disabled:f.disabled,updateValue:t=>R(e.key,t),focusVariable:()=>K(e.key)}}function Re(){let e=A.value;if(!e.length)return;let n=e.findIndex(e=>e.key===C.value),r=n<0?0:n+1;for(let n=0;n<e.length;n+=1){let i=e[(r+n)%e.length];if(t.isEmptyRenderValue(g.value[i.key])){K(i.key);return}}}function ze(){!f.collapsiblePanel||f.interactionMode!==`panel`||(D.value=!D.value)}function J(e){let t=X(e);return T.value=t,p(`update:zoom`,t),t}function Be(){return J(1)}function Ve(){return T.value}function He(){let e=Math.max(...M.value.map(e=>e.width),1);return J(Math.max(0,ye.value-48)/e)}function Y(e){e&&(w.value=e,(0,a.nextTick)(()=>{m.value?.querySelector(`[data-render-page-id="${Z(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}))}function X(e){let t=Number(e);return Number.isFinite(t)?Math.min(l,Math.max(c,Math.round(t*100)/100)):1}function Z(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}function Ue(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);return Array.from(n).every(n=>e[n]===t[n])}function We(e){!(e.ctrlKey||e.metaKey)||!N.value||(e.preventDefault(),J(e.deltaY>0?T.value-u:T.value+u))}let Q;function $(){Q?.removeEventListener(`wheel`,We),Q=void 0}function Ge(e){$(),e&&(e.addEventListener(`wheel`,We,{passive:!1}),Q=e)}return(0,a.watch)(m,e=>{Ge(e)},{immediate:!0}),(0,a.onBeforeUnmount)(()=>{$(),G()}),ge({getValues:B,setValues:Oe,validate:V,submit:H,resetValues:ke,scrollToVariable:K,setZoom:J,resetZoom:Be,getZoom:Ve,fitWidth:He,scrollToPage:Y}),(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,{ref_key:`rendererElement`,ref:ve,class:(0,a.normalizeClass)([`gd-contract-template-renderer`,{"is-disabled":d.disabled,"is-readonly":d.readonly,"is-panel":d.interactionMode===`panel`,"is-inline":d.interactionMode===`inline`}]),onClick:Ee,onKeydown:De,onInput:z,onChange:z},[N.value?((0,a.openBlock)(),(0,a.createBlock)(r.default,{key:0,title:d.title,"filled-count":P.value,"total-count":A.value.length,"required-missing-count":F.value,zoom:T.value,pages:M.value,"active-page-id":w.value,"min-zoom":c,"max-zoom":l,"show-toolbar":d.showToolbar,"show-validate-button":d.showValidateButton,"show-reset-button":d.showResetButton,"show-submit-button":d.showSubmitButton,"show-panel-toggle":d.interactionMode===`panel`&&d.collapsiblePanel,"panel-collapsed":D.value,readonly:d.readonly,disabled:d.disabled,onZoomIn:t[0]||=e=>J(T.value+u),onZoomOut:t[1]||=e=>J(T.value-u),onResetZoom:Be,onFitWidth:He,onSelectPage:Y,onValidate:V,onReset:ke,onSubmit:H,onTogglePanel:ze},{extra:(0,a.withCtx)(()=>[(0,a.renderSlot)(e.$slots,`headerExtra`)]),_:3},8,[`title`,`filled-count`,`total-count`,`required-missing-count`,`zoom`,`pages`,`active-page-id`,`show-toolbar`,`show-validate-button`,`show-reset-button`,`show-submit-button`,`show-panel-toggle`,`panel-collapsed`,`readonly`,`disabled`])):(0,a.createCommentVNode)(``,!0),Te.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,class:(0,a.normalizeClass)([`gd-contract-template-renderer__validation`,I.value?`is-success`:`is-error`]),role:`status`},[(0,a.createElementVNode)(`div`,te,[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(we.value),1),k.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,type:`button`,class:`gd-contract-template-renderer__validation-toggle`,"aria-expanded":b.value,onClick:t[2]||=e=>b.value=!b.value},(0,a.toDisplayString)(b.value?`收起`:`展开 ${k.value.length} 个问题`),9,ne)):(0,a.createCommentVNode)(``,!0)]),b.value&&k.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,re,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(k.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:`${e.code}-${e.id}-${e.message}`,type:`button`,class:`gd-contract-template-renderer__validation-item`,onClick:t=>Fe(e)},(0,a.toDisplayString)(e.message),9,ie))),128))])):(0,a.createCommentVNode)(``,!0)],2)):(0,a.createCommentVNode)(``,!0),N.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:3,class:(0,a.normalizeClass)([`gd-contract-template-renderer__workspace`,{"is-inline":d.interactionMode===`inline`}])},[(0,a.createElementVNode)(`div`,{ref_key:`pagesViewportElement`,ref:m,class:`gd-contract-template-renderer__pages-viewport`,"data-highlighted-variable-key":S.value},[(0,a.createElementVNode)(`div`,se,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(M.value,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)(i.default,{key:e.id,page:e,index:t,total:M.value.length,zoom:T.value,"show-meta":d.showPageMeta},null,8,[`page`,`index`,`total`,`zoom`,`show-meta`]))),128))])],8,oe),d.interactionMode===`panel`?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:(0,a.normalizeClass)([`gd-contract-template-renderer__panel-wrap`,{"is-collapsed":D.value&&d.collapsiblePanel}])},[d.collapsiblePanel?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Tooltip),{key:0,title:D.value?`展开填写面板`:`收起填写面板`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-renderer__panel-handle`,"aria-label":D.value?`展开填写面板`:`收起填写面板`,"aria-expanded":!D.value,onClick:t[3]||=e=>D.value=!D.value},[D.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(s.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(s.RightOutlined),{key:1,"aria-hidden":`true`}))],8,ce)]),_:1},8,[`title`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,le,[(0,a.createElementVNode)(`aside`,ue,[(0,a.createElementVNode)(`div`,de,[(0,a.createElementVNode)(`div`,fe,[(0,a.createElementVNode)(`div`,null,[t[5]||=(0,a.createElementVNode)(`strong`,null,`填写项`,-1),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(P.value)+` / `+(0,a.toDisplayString)(A.value.length)+` 已填写`,1)]),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(F.value?`${F.value} 项必填未完成`:`必填项已完成`),1)]),(0,a.createElementVNode)(`div`,pe,[(0,a.createVNode)((0,a.unref)(o.Button),{size:`small`,type:E.value?`primary`:`default`,onClick:t[4]||=e=>E.value=!E.value},{default:(0,a.withCtx)(()=>[...t[6]||=[(0,a.createTextVNode)(` 仅看未填 `,-1)]]),_:1},8,[`type`]),(0,a.createVNode)((0,a.unref)(o.Button),{size:`small`,disabled:!xe.value,onClick:Re},{default:(0,a.withCtx)(()=>[...t[7]||=[(0,a.createTextVNode)(` 下一个未填项 `,-1)]]),_:1},8,[`disabled`])]),(0,a.createVNode)((0,a.unref)(o.Progress),{percent:Ce.value,size:`small`,"show-info":!1},null,8,[`percent`])]),j.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,ref_key:`fieldListElement`,ref:h,class:`gd-contract-template-renderer__field-list`},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(j.value,t=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:t.id||t.key,"data-field-key":t.key},[(0,a.renderSlot)(e.$slots,`field`,(0,a.mergeProps)({ref_for:!0},Le(t)),()=>[(0,a.createVNode)(n.default,{variable:t,value:g.value[t.key],errors:Ie(t.key),active:C.value===t.key,readonly:d.readonly,disabled:d.disabled,onUpdateValue:e=>R(t.key,e),onFocusVariable:e=>K(t.key)},null,8,[`variable`,`value`,`errors`,`active`,`readonly`,`disabled`,`onUpdateValue`,`onFocusVariable`])])],8,me))),128))],512)):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Empty),{key:0,description:A.value.length?`暂无未填项`:`暂无填写项`,image:(0,a.unref)(o.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`description`,`image`]))])])],2)):(0,a.createCommentVNode)(``,!0)],2)):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,ae,[(0,a.createVNode)((0,a.unref)(o.Empty),{description:`暂无可渲染的合同页面`,image:(0,a.unref)(o.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])]))],34))}});exports.default=d;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./types.cjs`),t=require(`./utils/template-renderer.cjs`),n=require(`./ContractTemplateRendererField.cjs`),r=require(`./ContractTemplateRendererHeader.cjs`),i=require(`./ContractTemplateRendererPage.cjs`),ee=require(`./ContractTemplateRendererValidation.cjs`);let a=require(`vue`),o=require(`ant-design-vue`),te=require(`@vueuse/core`),ne=require(`@ant-design/icons-vue`);var re={key:2,class:`gd-contract-template-renderer__empty`},ie=[`data-highlighted-variable-key`],ae={class:`gd-contract-template-renderer__pages`},oe=[`aria-label`,`aria-expanded`],se={class:`gd-contract-template-renderer__panel-clip`},ce={class:`gd-contract-template-renderer__panel`},le={class:`gd-contract-template-renderer__panel-head`},ue={class:`gd-contract-template-renderer__panel-head-row`},de={class:`gd-contract-template-renderer__panel-head-actions`},fe=[`data-field-key`],s=.5,c=1.5,l=.1,pe=3e3,u=(0,a.defineComponent)({name:`ProContractTemplateRenderer`,__name:`ProContractTemplateRenderer`,props:{template:{default:void 0},values:{default:void 0},interactionMode:{default:`panel`},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{default:`合同填写`},showSubmitButton:{type:Boolean,default:!0},validateOnSubmit:{type:Boolean,default:!0},showValidateButton:{type:Boolean,default:!0},showResetButton:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},showPageMeta:{type:Boolean,default:!0},collapsiblePanel:{type:Boolean,default:!0},zoom:{default:1}},emits:[`update:values`,`change`,`validate`,`submit`,`update:zoom`],setup(u,{expose:me,emit:he}){let d=u,f=he,ge=(0,a.ref)(),p=(0,a.ref)(),m=(0,a.ref)(),h=(0,a.ref)(t.normalizeRenderValues(d.template,d.values)),g=(0,a.ref)({...h.value}),_=(0,a.ref)(!1),v=(0,a.ref)([]),y=(0,a.ref)(!1),b=(0,a.ref)(!1),x=(0,a.ref)(``),S=(0,a.ref)(``),C=(0,a.ref)(``),w=(0,a.ref)(X(d.zoom)),T=(0,a.ref)(!1),E=(0,a.ref)(!1),{width:_e}=(0,te.useElementSize)(p),ve=(0,a.computed)(()=>d.readonly||d.disabled),D=(0,a.computed)(()=>t.validateTemplateRenderStructure(d.template)),O=(0,a.computed)(()=>_.value?v.value:D.value),k=(0,a.computed)(()=>(Array.isArray(d.template?.variables)?d.template.variables:[]).filter(t=>!!t?.key&&e.isContractTemplateFieldType(t.type??`text`))),A=(0,a.computed)(()=>T.value?k.value.filter(e=>t.isEmptyRenderValue(h.value[e.key])):k.value),ye=(0,a.computed)(()=>k.value.filter(e=>t.isEmptyRenderValue(h.value[e.key])).length),be=(0,a.computed)(()=>{let e=new Map;return O.value.forEach(t=>{t.variableKey&&e.set(t.variableKey,[...e.get(t.variableKey)??[],t])}),e}),j=(0,a.computed)(()=>{let e=d.interactionMode===`panel`;return t.buildTemplateRenderPages(d.template,e?h.value:g.value,{readonly:d.readonly,disabled:d.disabled,mode:e?`display`:`control`,activeKey:e?S.value:``})}),M=(0,a.computed)(()=>j.value.length>0),N=(0,a.computed)(()=>k.value.filter(e=>!t.isEmptyRenderValue(h.value[e.key])).length),P=(0,a.computed)(()=>k.value.filter(e=>e.required&&t.isEmptyRenderValue(h.value[e.key])).length),xe=(0,a.computed)(()=>k.value.length?Math.round(N.value/k.value.length*100):0),F=(0,a.computed)(()=>_.value&&v.value.length===0),Se=(0,a.computed)(()=>_.value?F.value?`校验通过,模板与填写值均符合规则`:`发现 ${v.value.length} 个模板或填写问题`:D.value.length?`模板存在 ${D.value.length} 个问题,已安全降级展示`:``),Ce=(0,a.computed)(()=>_.value?O.value.length>0||b.value:D.value.length>0);(0,a.watch)(()=>d.template,e=>{I(t.normalizeRenderValues(e,d.values),!1),U();let n=Array.isArray(e?.pages)?e.pages.map(e=>e?.id):[];n.includes(C.value)||(C.value=n.find(Boolean)??``),S.value&&!k.value.some(e=>e.key===S.value)&&Ae()},{deep:!0}),(0,a.watch)(()=>d.values,e=>{let n=t.normalizeRenderValues(d.template,e);Be(n,h.value)||(I(n,!1),U())},{deep:!0}),(0,a.watch)(()=>d.interactionMode,e=>{e===`inline`&&(g.value={...h.value})}),(0,a.watch)(()=>d.collapsiblePanel,e=>{e||(E.value=!1)}),(0,a.watch)(()=>d.zoom,e=>w.value=X(e)),(0,a.watch)(j,e=>{!C.value&&e.length&&(C.value=e[0].id)},{immediate:!0});function I(e,t=!0,n={}){h.value={...e},n.refreshInlineHtml!==!1&&(g.value={...e}),t&&(f(`update:values`,{...h.value}),f(`change`,{...h.value}))}function L(e,t){!e||ve.value||(I({...h.value,[e]:t},!0,{refreshInlineHtml:d.interactionMode!==`inline`}),_.value&&B())}function R(e){if(d.interactionMode!==`inline`)return;let t=e.target;if(!(t instanceof HTMLInputElement)&&!(t instanceof HTMLTextAreaElement))return;let n=t.dataset.key||``;n&&(t instanceof HTMLInputElement&&t.type===`checkbox`?L(n,t.checked):t instanceof HTMLInputElement&&t.type===`number`?L(n,t.value===``?void 0:t.valueAsNumber):L(n,t.value))}function we(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-render-page-id]`);n?.dataset.renderPageId&&(C.value=n.dataset.renderPageId);let r=t.closest(`[data-contract-render-wrapper], [data-contract-render-control]`)?.dataset.key||``;r&&q(r)}function Te(e){if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;!(t instanceof HTMLElement)||!t.dataset.key||(e.preventDefault(),q(t.dataset.key))}function z(){return{...h.value}}function Ee(e){I(t.normalizeRenderValues(d.template,e))}function B(){let e=t.validateTemplateRenderValues(d.template,h.value);return De(e),f(`validate`,e),e}function V(){let e=t.resolveTemplateRenderSubmitErrors(d.template,h.value,d.validateOnSubmit);if((d.validateOnSubmit||e.length)&&(De(e),f(`validate`,e)),e.length)return Me(e[0]),!1;let n=z();return f(`submit`,n),n}function H(){return I(t.buildInitialRenderValues(d.template)),U(),z()}function U(){_.value=!1,v.value=[],y.value=!1,b.value=!1,G()}function De(e){if(v.value=e,_.value=!0,y.value=!1,e.length){b.value=!1,G();return}Oe()}let W;function G(){W&&=(clearTimeout(W),void 0)}function Oe(){G(),b.value=!0,W=setTimeout(()=>{b.value=!1,W=void 0},pe)}function K(e){q(e,!0)}function ke(e){d.interactionMode===`panel`&&(E.value&&=!1,T.value&&k.value.some(t=>t.key===e)&&!A.value.some(t=>t.key===e)&&(T.value=!1))}function q(e,t=!1){e&&(ke(e),S.value=e,x.value=e,(0,a.nextTick)(()=>{je(e);let n=p.value?.querySelector(`[data-key="${Z(e)}"]`),r=n?.closest(`[data-render-page-id]`);r?.dataset.renderPageId&&(C.value=r.dataset.renderPageId),t&&n?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),d.interactionMode===`panel`&&m.value?.querySelector(`[data-field-key="${Z(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})}))}function Ae(){S.value=``,x.value=``,je(``)}function je(e){p.value?.querySelectorAll(`[data-contract-render-wrapper], [data-contract-render-control]`).forEach(t=>t.classList.toggle(`is-active`,!!e&&t.dataset.key===e))}function Me(e){e.variableKey?K(e.variableKey):e.pageId&&Y(e.pageId)}function Ne(e){return be.value.get(e)??[]}function Pe(e){return{variable:e,value:h.value[e.key],errors:Ne(e.key),active:S.value===e.key,readonly:d.readonly,disabled:d.disabled,updateValue:t=>L(e.key,t),focusVariable:()=>K(e.key)}}function Fe(){let e=k.value;if(!e.length)return;let n=e.findIndex(e=>e.key===S.value),r=n<0?0:n+1;for(let n=0;n<e.length;n+=1){let i=e[(r+n)%e.length];if(t.isEmptyRenderValue(h.value[i.key])){K(i.key);return}}}function Ie(){!d.collapsiblePanel||d.interactionMode!==`panel`||(E.value=!E.value)}function J(e){let t=X(e);return w.value=t,f(`update:zoom`,t),t}function Le(){return J(1)}function Re(){return w.value}function ze(){let e=Math.max(...j.value.map(e=>e.width),1);return J(Math.max(0,_e.value-48)/e)}function Y(e){e&&(C.value=e,(0,a.nextTick)(()=>{p.value?.querySelector(`[data-render-page-id="${Z(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}))}function X(e){let t=Number(e);return Number.isFinite(t)?Math.min(c,Math.max(s,Math.round(t*100)/100)):1}function Z(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}function Be(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);return Array.from(n).every(n=>e[n]===t[n])}function Ve(e){!(e.ctrlKey||e.metaKey)||!M.value||(e.preventDefault(),J(e.deltaY>0?w.value-l:w.value+l))}let Q;function $(){Q?.removeEventListener(`wheel`,Ve),Q=void 0}function He(e){$(),e&&(e.addEventListener(`wheel`,Ve,{passive:!1}),Q=e)}return(0,a.watch)(p,e=>{He(e)},{immediate:!0}),(0,a.onBeforeUnmount)(()=>{$(),G()}),me({getValues:z,setValues:Ee,validate:B,submit:V,resetValues:H,scrollToVariable:K,setZoom:J,resetZoom:Le,getZoom:Re,fitWidth:ze,scrollToPage:Y}),(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,{ref_key:`rendererElement`,ref:ge,class:(0,a.normalizeClass)([`gd-contract-template-renderer`,{"is-disabled":u.disabled,"is-readonly":u.readonly,"is-panel":u.interactionMode===`panel`,"is-inline":u.interactionMode===`inline`}]),onClick:we,onKeydown:Te,onInput:R,onChange:R},[M.value?((0,a.openBlock)(),(0,a.createBlock)(r.default,{key:0,title:u.title,"filled-count":N.value,"total-count":k.value.length,"required-missing-count":P.value,zoom:w.value,pages:j.value,"active-page-id":C.value,"min-zoom":s,"max-zoom":c,"show-toolbar":u.showToolbar,"show-validate-button":u.showValidateButton,"show-reset-button":u.showResetButton,"show-submit-button":u.showSubmitButton,"show-panel-toggle":u.interactionMode===`panel`&&u.collapsiblePanel,"panel-collapsed":E.value,readonly:u.readonly,disabled:u.disabled,onZoomIn:t[0]||=e=>J(w.value+l),onZoomOut:t[1]||=e=>J(w.value-l),onResetZoom:Le,onFitWidth:ze,onSelectPage:Y,onValidate:B,onReset:H,onSubmit:V,onTogglePanel:Ie},{extra:(0,a.withCtx)(()=>[(0,a.renderSlot)(e.$slots,`headerExtra`)]),_:3},8,[`title`,`filled-count`,`total-count`,`required-missing-count`,`zoom`,`pages`,`active-page-id`,`show-toolbar`,`show-validate-button`,`show-reset-button`,`show-submit-button`,`show-panel-toggle`,`panel-collapsed`,`readonly`,`disabled`])):(0,a.createCommentVNode)(``,!0),Ce.value?((0,a.openBlock)(),(0,a.createBlock)(ee.default,{key:1,passed:F.value,summary:Se.value,errors:O.value,expanded:y.value,onToggle:t[2]||=e=>y.value=!y.value,onFocusError:Me},null,8,[`passed`,`summary`,`errors`,`expanded`])):(0,a.createCommentVNode)(``,!0),M.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:3,class:(0,a.normalizeClass)([`gd-contract-template-renderer__workspace`,{"is-inline":u.interactionMode===`inline`}])},[(0,a.createElementVNode)(`div`,{ref_key:`pagesViewportElement`,ref:p,class:`gd-contract-template-renderer__pages-viewport`,"data-highlighted-variable-key":x.value},[(0,a.createElementVNode)(`div`,ae,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(j.value,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)(i.default,{key:e.id,page:e,index:t,total:j.value.length,zoom:w.value,"show-meta":u.showPageMeta},null,8,[`page`,`index`,`total`,`zoom`,`show-meta`]))),128))])],8,ie),u.interactionMode===`panel`?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:(0,a.normalizeClass)([`gd-contract-template-renderer__panel-wrap`,{"is-collapsed":E.value&&u.collapsiblePanel}])},[u.collapsiblePanel?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Tooltip),{key:0,title:E.value?`展开填写面板`:`收起填写面板`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-renderer__panel-handle`,"aria-label":E.value?`展开填写面板`:`收起填写面板`,"aria-expanded":!E.value,onClick:t[3]||=e=>E.value=!E.value},[E.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(ne.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(ne.RightOutlined),{key:1,"aria-hidden":`true`}))],8,oe)]),_:1},8,[`title`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,se,[(0,a.createElementVNode)(`aside`,ce,[(0,a.createElementVNode)(`div`,le,[(0,a.createElementVNode)(`div`,ue,[(0,a.createElementVNode)(`div`,null,[t[5]||=(0,a.createElementVNode)(`strong`,null,`填写项`,-1),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(N.value)+` / `+(0,a.toDisplayString)(k.value.length)+` 已填写`,1)]),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(P.value?`${P.value} 项必填未完成`:`必填项已完成`),1)]),(0,a.createElementVNode)(`div`,de,[(0,a.createVNode)((0,a.unref)(o.Button),{size:`small`,type:T.value?`primary`:`default`,onClick:t[4]||=e=>T.value=!T.value},{default:(0,a.withCtx)(()=>[...t[6]||=[(0,a.createTextVNode)(` 仅看未填 `,-1)]]),_:1},8,[`type`]),(0,a.createVNode)((0,a.unref)(o.Button),{size:`small`,disabled:!ye.value,onClick:Fe},{default:(0,a.withCtx)(()=>[...t[7]||=[(0,a.createTextVNode)(` 下一个未填项 `,-1)]]),_:1},8,[`disabled`])]),(0,a.createVNode)((0,a.unref)(o.Progress),{percent:xe.value,size:`small`,"show-info":!1},null,8,[`percent`])]),A.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,ref_key:`fieldListElement`,ref:m,class:`gd-contract-template-renderer__field-list`},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(A.value,t=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:t.id||t.key,"data-field-key":t.key},[(0,a.renderSlot)(e.$slots,`field`,(0,a.mergeProps)({ref_for:!0},Pe(t)),()=>[(0,a.createVNode)(n.default,{variable:t,value:h.value[t.key],errors:Ne(t.key),active:S.value===t.key,readonly:u.readonly,disabled:u.disabled,onUpdateValue:e=>L(t.key,e),onFocusVariable:e=>K(t.key)},null,8,[`variable`,`value`,`errors`,`active`,`readonly`,`disabled`,`onUpdateValue`,`onFocusVariable`])])],8,fe))),128))],512)):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Empty),{key:0,description:k.value.length?`暂无未填项`:`暂无填写项`,image:(0,a.unref)(o.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`description`,`image`]))])])],2)):(0,a.createCommentVNode)(``,!0)],2)):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,re,[(0,a.createVNode)((0,a.unref)(o.Empty),{description:`暂无可渲染的合同页面`,image:(0,a.unref)(o.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])]))],34))}});exports.default=u;
|
package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/signing-placement.cjs`),t=require(`../../contract-signing-location/src/signing-visuals.cjs`);let n=require(`vue`);var r={class:`gd-contract-template-designer__signing-coordinate-guide is-horizontal`},i={class:`gd-contract-template-designer__signing-coordinate-guide is-vertical`},a=[`data-signing-placement-id`,`aria-label`,`aria-pressed`,`aria-grabbed`,`tabindex`,`onPointerdown`,`onClick`,`onKeydown`],o=[`src`,`alt`],s={class:`gd-contract-template-designer__signing-placement-label`},c={key:0,class:`gd-contract-template-designer__signing-placement-required`},l=(0,n.defineComponent)({name:`SigningPlacementLayer`,__name:`SigningPlacementLayer`,props:{pageSize:{},placements:{},selectedId:{},zoom:{},readonly:{type:Boolean},disabled:{type:Boolean}},emits:[`select`,`move`,`remove`],setup(l,{emit:u}){let d=l,f=u,p=()=>!e.canMutateSigningPlacements(d.readonly,d.disabled),m=(0,n.computed)(()=>d.placements.some(e=>e.id===d.selectedId)?d.selectedId:d.placements[0]?.id),h=(0,n.computed)(()=>d.placements.map(n=>{let r=t.getContractSigningPlacementVisual({signType:n.type,sealType:n.sealTypes});return{placement:n,label:e.SIGNING_PLACEMENT_TYPE_LABELS[n.type],visual:r}})),g=(0,n.shallowRef)(),_=(0,n.computed)(()=>{let e=g.value?.placementId??d.selectedId;return d.placements.find(t=>t.id===e)});function v(e,t){e.stopPropagation();let n=e.currentTarget;if(n instanceof HTMLElement&&n.focus({preventScroll:!0}),f(`select`,t),!(p()||e.button!==0)&&(g.value={pointerId:e.pointerId,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:{...t,sealTypes:t.sealTypes?[...t.sealTypes]:void 0}},n instanceof HTMLElement))try{n.setPointerCapture(e.pointerId)}catch{}}function y(t){let n=g.value;!n||n.pointerId!==t.pointerId||!d.placements.find(e=>e.id===n.placementId)||(t.preventDefault(),f(`move`,e.moveSigningPlacementByDisplayDelta(n.origin,t.clientX-n.startX,t.clientY-n.startY,d.zoom,d.pageSize)))}function b(e){g.value?.pointerId===e.pointerId&&(g.value=void 0)}function x(t,n){if(f(`select`,n),p())return;if(t.key===`Delete`||t.key===`Backspace`){t.preventDefault(),t.stopPropagation(),f(`remove`,n);return}let r=t.shiftKey?10:1,i=0,a=0;if(t.key===`ArrowLeft`)i=-r;else if(t.key===`ArrowRight`)i=r;else if(t.key===`ArrowUp`)a=-r;else if(t.key===`ArrowDown`)a=r;else return;t.preventDefault(),t.stopPropagation(),f(`move`,e.moveSigningPlacementByDisplayDelta(n,i,a,1,d.pageSize))}function S(e){return{left:`${e.x}px`,top:`${e.y}px`,width:`${e.width}px`,height:`${e.height}px`}}function C(e){return[`gd-contract-template-designer__signing-placement`,`is-${e.type}`,{"is-selected":e.id===d.selectedId,"is-must-sign":e.mustSign}]}function w(e){return{"--gd-contract-signing-x":`${e.x}px`,"--gd-contract-signing-y":`${e.y}px`}}return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:`gd-contract-template-designer__signing-layer`,style:(0,n.normalizeStyle)({width:`${l.pageSize.width}px`,height:`${l.pageSize.height}px`}),"aria-label":`签署位置覆盖层`,onPointermove:y,onPointerup:b,onPointercancel:b},[_.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`gd-contract-template-designer__signing-coordinate-guides`,style:(0,n.normalizeStyle)(w(_.value)),"aria-hidden":`true`},[(0,n.createElementVNode)(`span`,r,[(0,n.createElementVNode)(`small`,null,`x: `+(0,n.toDisplayString)(_.value.x),1)]),(0,n.createElementVNode)(`span`,i,[(0,n.createElementVNode)(`small`,null,`y: `+(0,n.toDisplayString)(_.value.y),1)])],4)):(0,n.createCommentVNode)(``,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:e.placement.id,type:`button`,class:(0,n.normalizeClass)(C(e.placement)),style:(0,n.normalizeStyle)(S(e.placement)),"data-signing-placement-id":e.placement.id,"aria-label":e.label,"aria-pressed":e.placement.id===l.selectedId,"aria-grabbed":!p()&&e.placement.id===l.selectedId,tabindex:e.placement.id===m.value?0:-1,onPointerdown:t=>v(t,e.placement),onLostpointercapture:b,onClick:(0,n.withModifiers)(t=>f(`select`,e.placement),[`stop`]),onKeydown:t=>x(t,e.placement)},[(0,n.createElementVNode)(`img`,{class:`gd-contract-template-designer__signing-placement-visual`,src:e.visual.dataUrl,alt:e.visual.alt,draggable:`false`},null,8,o),(0,n.createElementVNode)(`span`,s,(0,n.toDisplayString)(e.label),1),e.placement.mustSign?((0,n.openBlock)(),(0,n.createElementBlock)(`small`,c,`必签`)):(0,n.createCommentVNode)(``,!0)],46,a))),128))],36))}});exports.default=l;
|