Files
qhmes/deploy-qhmes/frontend/js/NativePrintDesigner-Bwf5hAIE.js
2026-05-15 11:34:12 +08:00

2 lines
39 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var Ea=Object.defineProperty;var bt=Object.getOwnPropertySymbols;var Ha=Object.prototype.hasOwnProperty,Ba=Object.prototype.propertyIsEnumerable;var wt=(L,g,M)=>g in L?Ea(L,g,{enumerable:!0,configurable:!0,writable:!0,value:M}):L[g]=M,U=(L,g)=>{for(var M in g||(g={}))Ha.call(g,M)&&wt(L,M,g[M]);if(bt)for(var M of bt(g))Ba.call(g,M)&&wt(L,M,g[M]);return L};var q=(L,g,M)=>new Promise((h,m)=>{var _=D=>{try{E(M.next(D))}catch(H){m(H)}},V=D=>{try{E(M.throw(D))}catch(H){m(H)}},E=D=>D.done?h(D.value):Promise.resolve(D.value).then(_,V);E((M=M.apply(L,g)).next())});import{d as Oa,aq as Ra,aN as Wa,f as d,w as Fe,n as Ge,e as O,o as Ua,b as Ja,ah as I,ar as ne,as as J,au as f,k as l,ag as Z,av as Ee,aF as v,G as S,u as P,r as ja,aB as Ae,at as Mt,A as se,aC as xt}from"./vue-vendor-C7Zq48Yl.js";import{bM as $a,J as Ya,M as St,u as Ka,d as qa}from"./index-BI6CMai0.js";import{q as Za,e as Va,a as Xa,c as Ga,h as Qa}from"./printTemplate.api-CHChWHTu.js";import en from"./DesignerCanvas-B2qM6MS1.js";import tn from"./FreeTableCellEditModal-Bd130j8L.js";import an from"./PageConfigModal-D7R5h28C.js";import nn from"./PropertiesPanel-DvNrM_9A.js";import on from"./ToolbarPalette-DyoMzyEY.js";import{P as Qe,u as rn,f as sn,r as _t,g as ln,e as un,a as et,p as mn,h as dn,i as vn,n as fn}from"./printNativeViaPrintDot-CW0hqAEQ.js";import{n as pn}from"./freeTableGrid-BXWKfNhh.js";import{s as cn}from"./freeTableTracks-CfeiVurn.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./vxe-table-vendor-B88kchpX.js";import"./ElementWrapper-BnbC7qip.js";import"./TextElement-CW0S5u5i.js";import"./ImageElement-BzrzPgZR.js";import"./TableElement-2CbVDip4.js";import"./browser-INOPQ3v-.js";import"./tableMerge-CpKVscEF.js";import"./tableBuilder-lOY0L2dW.js";import"./FreeTableElement-CimG0tmG.js";import"./freeTableBorders-DHo40MDb.js";import"./QrcodeElement-DTWovd06.js";import"./BarcodeElement-CwAUBpc4.js";import"./TableHeaderConfigEditor-BhGCsOeV.js";import"./BindingDetailFieldsEditor-BawG8cM1.js";import"./BindingParamsEditor-DRk19pZS.js";let tt=!1;function gn(L){if(tt)return;tt=!0;const g=document.createElement("iframe");g.style.position="fixed",g.style.right="0",g.style.bottom="0",g.style.width="0",g.style.height="0",g.style.border="0",g.style.opacity="0",g.setAttribute("aria-hidden","true"),g.setAttribute("sandbox","allow-modals allow-same-origin");let M=!1,h=!1,m=0;const _=()=>{h||(h=!0,m&&window.clearTimeout(m),g.removeEventListener("load",V),setTimeout(()=>{g.remove(),tt=!1},0))},V=()=>{if(M)return;M=!0;const E=g.contentWindow;if(!E){_();return}const D=()=>{E.removeEventListener("afterprint",D),_()};E.addEventListener("afterprint",D),setTimeout(()=>{E.focus(),E.print()},50)};g.addEventListener("load",V),g.srcdoc=L,document.body.appendChild(g),m=window.setTimeout(()=>{_()},60*1e3)}const hn={class:"native-designer-page"},yn={class:"designer-toolbar"},bn={class:"toolbar-left"},wn={key:0,class:"tip"},Mn={class:"designer-meta"},xn={class:"designer-meta__grid"},Sn={class:"designer-meta__actions"},_n={class:"designer-main"},An={class:"left-panel"},zn={class:"json-template-pane"},Nn={class:"json-mock-toolbar"},Cn={class:"center-panel"},Tn={class:"right-panel"},In={class:"native-instant-preview-host"},Pn=["srcdoc"],kn={class:"image-analyze-body"},Ln=["disabled"],Dn={key:0,class:"image-analyze-progress"},Fn={class:"image-analyze-progress-tip"},En={key:1,class:"image-analyze-hint"},Hn={key:3,class:"image-analyze-preview-wrap"},Bn={key:0,class:"image-analyze-thumb"},On=["src"],Rn={class:"image-analyze-preview-frame-wrap"},Wn={class:"image-analyze-preview-toolbar"},Un={class:"image-analyze-zoom-pct"},Jn={key:0,class:"image-analyze-preview-scroll"},jn={class:"image-analyze-zoom-slot"},$n=["srcdoc"],Yn=680,Kn=1680,at=400,At=960,zt=96/25.4,Nt=1.12,qn=.25,Zn=4,nt="qhmes-native-print-left-panel-w",ze=260,ot=640,rt=360,Ct=96,Vn="拖动调整左侧工具栏宽度拖至极窄可隐藏双击收起或恢复",Xn=96/25.4,Gn=Oa({name:"NativePrintDesigner",__name:"NativePrintDesigner",setup(L){const g=Ra(),M=Wa(),{createMessage:h}=Ka(),{state:m,selectedElement:_,setSchema:V,patchDataBinding:E,addElement:D,updateElement:H,setSelected:oe,removeSelected:Tt,duplicateSelected:It,bringForward:Pt,sendBackward:kt,setScale:Lt,serialize:Dt}=rn(),le=d(""),He=d(!1),Be=d(!1),Ne=d(!1),Oe=d([]),Ce=d(localStorage.getItem(Qe)||"__system_default__"),Ft=O(()=>{const t=[{label:"系统默认打印机",value:"__system_default__"}],e=new Set(["__system_default__"]);return Oe.value.forEach(n=>{const r=String(n.name||"").trim();!r||e.has(r)||(e.add(r),t.push({label:n.isDefault?`${r}PrintDot 默认)`:r,value:r}))}),t});Fe(Ce,t=>{if(!t){localStorage.removeItem(Qe);return}localStorage.setItem(Qe,t)});function it(t=!0){return q(this,null,function*(){Ne.value=!0;try{const e=yield sn();Oe.value=e,t&&h.success(`PrintDot 已连接,共 ${e.length} 台打印机`)}catch(e){Oe.value=[],t&&h.warning((e==null?void 0:e.message)||"无法连接 PrintDot请确认本机客户端已启动")}finally{Ne.value=!1}})}const Re=d(!1),We=d(""),N=d(null),b=d(null),z=d(null),ue=d(!1),ve=d(null),Ue=d(!1),me=d(!1),A=d(!1),T=d(0),X=d("正在准备上传");let Te=null,G=0;const Ie=d(""),Q=d(""),R=d(""),fe=d(null),pe=d(""),de=d(!1),st=d(null),Pe=d(1e3),ce=d(760),lt=d(null),Je=d(null),ge=d({w:0,h:0}),j=d(1),he=d(1),Et=O(()=>({padding:"12px 16px 22px",maxHeight:`${ce.value}px`,overflow:"auto",position:"relative"})),Ht=O(()=>Math.max(200,ce.value-280));function Bt(){try{return JSON.parse(pe.value||"{}")}catch(t){return{}}}function Ot(t){const e=t.body;let n=1/0,r=0,a=1/0,u=0;const s=x=>{if(x instanceof HTMLElement){const y=x.getBoundingClientRect();y.height>.5&&y.width>.5&&(n=Math.min(n,y.top),r=Math.max(r,y.bottom),a=Math.min(a,y.left),u=Math.max(u,y.right))}for(let y=0;y<x.children.length;y++)s(x.children[y])};s(e);const o=Number.isFinite(n)&&r>0?{w:Math.ceil(u-a+6),h:Math.ceil(r-n+12)}:{w:0,h:0},p=Math.max(t.documentElement.scrollHeight,e.scrollHeight,o.h),i=Math.max(t.documentElement.scrollWidth,e.scrollWidth,o.w);return{w:Math.ceil(i),h:Math.ceil(p)}}const Rt=O(()=>{var o,p;const t=fe.value;if(!t)return null;const e=Bt(),n=Math.max(1,_t(t,e)),r=Number(((o=t.page)==null?void 0:o.width)||210),a=Number(((p=t.page)==null?void 0:p.height)||297),u=r*zt,s=a*n*zt;return{wPx:u,hPx:s,pageCount:n}}),$=O(()=>{const t=Rt.value;if(!t)return null;const e=ge.value;return{wPx:Math.max(t.wPx,e.w||0),hPx:Math.max(t.hPx,e.h||0)}}),je=O(()=>{const t=he.value*j.value;return!Number.isFinite(t)||t<=0?1:Math.min(4,Math.max(.08,t))}),Wt=O(()=>`${Math.round(j.value*100)}%`);function Ut(){const t=Je.value,e=$.value;if(!t||!e){he.value=1;return}const n=16,r=Math.max(0,t.clientWidth-n),a=Math.max(0,t.clientHeight-n);if(r<=0||a<=0||e.wPx<=0||e.hPx<=0){he.value=1;return}const u=Math.min(r/e.wPx,a/e.hPx,1)*.96;he.value=Number.isFinite(u)&&u>0?u:1}const re=Ya(()=>{Ut()},120);function Jt(){Ge(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{var e;const t=(e=lt.value)==null?void 0:e.contentDocument;if(!(t!=null&&t.body)){ge.value={w:0,h:0},re();return}ge.value=Ot(t),re()})})})}function jt(){j.value=Math.min(Zn,j.value*Nt)}function $t(){j.value=Math.max(qn,j.value/Nt)}function Yt(){j.value=1,re()}function Kt(){const t=typeof window!="undefined"?window.innerHeight:900;Pe.value=1e3,ce.value=Math.min(At,Math.max(at,t-140)),j.value=1,he.value=1,ge.value={w:0,h:0}}function ut(t,e,n){return Math.min(n,Math.max(e,t))}function qt(t){if(t.button!==0)return;const e=t.clientX,n=t.clientY,r=Pe.value,a=ce.value,u=typeof window!="undefined"?window.innerHeight:900,s=Math.min(At,Math.max(at,u-100));function o(i){const x=i.clientX-e,y=i.clientY-n;Pe.value=Math.round(ut(r+x,Yn,Kn)),ce.value=Math.round(ut(a+y,at,s)),re()}function p(){document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",p)}document.addEventListener("mousemove",o),document.addEventListener("mouseup",p)}let ye=null;function $e(){ye==null||ye(),ye=null}function Zt(){const t=document.querySelectorAll(".ant-modal-wrap.native-print-image-analyze-modal");for(let e=t.length-1;e>=0;e--){const n=t[e];if(getComputedStyle(n).display!=="none")return n}return null}function Vt(){$e();const t=Zt();if(!t)return;const e=t.querySelector(".ant-modal-header"),n=t.querySelector(".ant-modal");if(!e||!n)return;e.style.cursor="move";const r=(u,s)=>getComputedStyle(u)[s],a=u=>{if(u.button!==0)return;const s=u.clientX,o=u.clientY,p=document.body.clientWidth,i=document.documentElement.clientHeight,x=n.offsetWidth,y=n.offsetHeight,F=n.offsetLeft,Y=p-n.offsetLeft-x,ee=n.offsetTop;let te=i-n.offsetTop-y;te<0&&(te=i-n.offsetTop);const W=r(n,"left"),K=r(n,"top");let C=+W,ae=+K;W.includes("%")?(C=+document.body.clientWidth*(+W.replace(/%/g,"")/100),ae=+document.body.clientHeight*(+K.replace(/%/g,"")/100)):(C=+String(W).replace(/px/g,""),ae=+String(K).replace(/px/g,"")),Number.isFinite(C)||(C=n.offsetLeft||0),Number.isFinite(ae)||(ae=n.offsetTop||0);function xe(yt){let Se=yt.clientX-s,_e=yt.clientY-o;-Se>F?Se=-F:Se>Y&&(Se=Y),-_e>ee?_e=-ee:_e>te&&(_e=te),n.style.left=`${Se+C}px`,n.style.top=`${_e+ae}px`}function c(){document.removeEventListener("mousemove",xe),document.removeEventListener("mouseup",c)}document.addEventListener("mousemove",xe),document.addEventListener("mouseup",c)};e.addEventListener("mousedown",a),ye=()=>{e.removeEventListener("mousedown",a),e.style.cursor=""}}$a(Je,()=>{Q.value&&re()}),Fe(()=>me.value,t=>{t?Ge(()=>{setTimeout(()=>Vt(),40),setTimeout(()=>re(),100)}):$e()}),Fe(()=>{var t;return[Q.value,(t=$.value)==null?void 0:t.wPx]},()=>{Q.value&&$.value&&Ge(()=>re())});const k=d(rt),ke=d(rt);let Le=!1,mt=0,dt=0;const Xt=O(()=>({width:k.value<=0?"0px":`${k.value}px`}));function Gt(t){t.button===0&&(t.preventDefault(),Le=!0,mt=t.clientX,dt=k.value,window.addEventListener("mousemove",vt),window.addEventListener("mouseup",Ye),document.body.style.cursor="col-resize",document.body.style.userSelect="none")}function vt(t){if(!Le)return;const e=t.clientX-mt;let n=dt+e;n=Math.max(0,Math.min(ot,n)),k.value=n}function Ye(){if(!Le)return;Le=!1,window.removeEventListener("mousemove",vt),window.removeEventListener("mouseup",Ye),document.body.style.cursor="",document.body.style.userSelect="";let t=k.value;t>0&&t<Ct?t=0:t>=Ct&&t<ze&&(t=ze),t>0&&(ke.value=t),k.value=t;try{localStorage.setItem(nt,String(t))}catch(e){}}function Qt(){if(k.value<=0){const t=Math.min(ot,Math.max(ze,ke.value||rt));k.value=t}else ke.value=Math.max(k.value,ze),k.value=0;try{localStorage.setItem(nt,String(k.value))}catch(t){}}Fe(ue,t=>{t||(ve.value=null)});const Ke=d("body"),ft=d("template"),De=d("manual"),ie=d("{}"),be=d("{}"),we=d("{}"),w=ja({templateCode:`NATIVE_${Date.now()}`,templateName:"原生打印模板",category:"form",remark:"原生设计器模板"}),ea=O(()=>De.value==="mock"?be.value:ie.value),Me=O(()=>{try{return JSON.parse(ea.value||"{}")}catch(t){return{}}}),ta=O(()=>{var u;const t=m==null?void 0:m.schema,e=Number((u=t==null?void 0:t.page)==null?void 0:u.heightMm);if(!(t!=null&&t.page)||!Number.isFinite(e)||e<=0)return 900;const n=Math.max(1,_t(t,Me.value));return Math.round(n*e*Xn+(n-1)*12+48)});function pt(t={}){const{syncManual:e=!1,showMessage:n=!0}=t,r=ln(m.schema.elements,we.value),a=JSON.stringify(r,null,2);be.value=a,(e||!String(ie.value||"").trim()||ie.value==="{}")&&(ie.value=a),n&&h.success("已根据画布组件生成模拟数据 JSON")}function aa(t){var u,s;const e=String((t==null?void 0:t.component)||"text"),n=(t==null?void 0:t.rect)||{},r={id:String((t==null?void 0:t.id)||`${e}_${Math.random().toString(36).slice(2,8)}`),type:e,bindField:String((t==null?void 0:t.bindField)||""),region:(t==null?void 0:t.region)||"",bandId:String((t==null?void 0:t.bandId)||""),x:Number((n==null?void 0:n.x)||0),y:Number((n==null?void 0:n.y)||0),w:Number((n==null?void 0:n.w)||40),h:Number((n==null?void 0:n.h)||12),zIndex:Number((n==null?void 0:n.zIndex)||1),style:(t==null?void 0:t.style)||{}},a=(t==null?void 0:t.payload)||{};if(e==="image")return r.src=a.src||"",r.fit=a.fit||"contain",r;if(e==="table"||e==="detailTable")return r.source=a.source||(e==="detailTable"?"detailList":"mainTable"),r.mergeColumnKeys=Array.isArray(a==null?void 0:a.mergeColumnKeys)?a.mergeColumnKeys.map(o=>String(o||"")):[],r.strictGrouping=(a==null?void 0:a.strictGrouping)!==!1,r.enableMultiHeader=a.enableMultiHeader===!0,r.tableHeightMode=a.tableHeightMode||"autoPage",r.fixedRows=Number(a.fixedRows||5),r.showHeader=a.showHeader!==!1,r.rowHeight=Number(a.rowHeight||8),r.headerHeight=Number(a.headerHeight||10),r.headerFontSize=Number(a.headerFontSize||12),r.bodyFontSize=Number(a.bodyFontSize||12),r.headerBgColor=a.headerBgColor||"#f5f5f5",r.headerTextColor=a.headerTextColor||"#111111",r.footerLabelColumnKey=a.footerLabelColumnKey||"",r.footerLabelText=a.footerLabelText||"合计",r.footerLabelCenter=a.footerLabelCenter!==!1,r.footerShowTotal=a.footerShowTotal!==!1,r.footerTotalMode=a.footerTotalMode==="page"?"page":"overall",r.headerConfig=a!=null&&a.headerConfig&&Array.isArray((u=a.headerConfig)==null?void 0:u.cells)?{rowCount:Math.max(1,Number(a.headerConfig.rowCount||1)),colCount:Math.max(1,Number(a.headerConfig.colCount||1)),cells:a.headerConfig.cells.map((o,p)=>({id:String((o==null?void 0:o.id)||`h_${p}`),row:Math.max(0,Number((o==null?void 0:o.row)||0)),col:Math.max(0,Number((o==null?void 0:o.col)||0)),rowspan:Math.max(1,Number((o==null?void 0:o.rowspan)||1)),colspan:Math.max(1,Number((o==null?void 0:o.colspan)||1)),title:String((o==null?void 0:o.title)||""),align:String((o==null?void 0:o.align)||"center")}))}:void 0,r.columns=Array.isArray(a.columns)?a.columns.map((o,p)=>{var i;return{key:(o==null?void 0:o.key)||`col_${p+1}`,title:(o==null?void 0:o.title)||`列${p+1}`,field:(o==null?void 0:o.field)||`field${p+1}`,bindField:(o==null?void 0:o.bindField)||(o==null?void 0:o.field)||`field${p+1}`,width:Number((o==null?void 0:o.width)||30),align:(o==null?void 0:o.align)||"left",contentType:(o==null?void 0:o.contentType)||"text",fontFamily:(o==null?void 0:o.fontFamily)||"",fontSize:Number((o==null?void 0:o.fontSize)||12),useCustomFontSize:!!(o!=null&&o.useCustomFontSize),fontColor:(o==null?void 0:o.fontColor)||"#111111",autoFitFont:!!(o!=null&&o.autoFitFont),autoWrap:(o==null?void 0:o.autoWrap)!==!1,fillCell:(o==null?void 0:o.fillCell)!==!1,contentScale:Number((o==null?void 0:o.contentScale)||100),imageFit:(o==null?void 0:o.imageFit)||"contain",qrLevel:(o==null?void 0:o.qrLevel)||"M",qrRenderType:(o==null?void 0:o.qrRenderType)||"image/png",barcodeFormat:(o==null?void 0:o.barcodeFormat)||"CODE128",decimalPlaces:Number((i=o==null?void 0:o.decimalPlaces)!=null?i:2),roundHalfUp:(o==null?void 0:o.roundHalfUp)!==!1,amountType:(o==null?void 0:o.amountType)||"CNY",enableFooterTotal:!!(o!=null&&o.enableFooterTotal),mergeByValue:!!(o!=null&&o.mergeByValue)}}):[],(s=r.mergeColumnKeys)!=null&&s.length||(r.mergeColumnKeys=(r.columns||[]).filter(o=>o==null?void 0:o.mergeByValue).map(o=>String((o==null?void 0:o.key)||""))),r;if(e==="freeTable"){const o=Math.max(1,Number((a==null?void 0:a.rowCount)||3)),p=Math.max(1,Number((a==null?void 0:a.colCount)||3));return r.rowCount=o,r.colCount=p,r.borderColor=String((a==null?void 0:a.borderColor)||"#d9d9d9"),r.borderWidth=Math.max(1,Number((a==null?void 0:a.borderWidth)||1)),r.outerBorderLineStyle=(a==null?void 0:a.outerBorderLineStyle)||"solid",r.innerBorderHorizontalLineStyle=(a==null?void 0:a.innerBorderHorizontalLineStyle)||"solid",r.innerBorderVerticalLineStyle=(a==null?void 0:a.innerBorderVerticalLineStyle)||"solid",Array.isArray(a==null?void 0:a.colWidths)&&(r.colWidths=a.colWidths.map(i=>Number(i))),Array.isArray(a==null?void 0:a.rowHeights)&&(r.rowHeights=a.rowHeights.map(i=>Number(i))),a!=null&&a.outerBorder&&typeof a.outerBorder=="object"&&(r.outerBorder=U({},a.outerBorder)),a!=null&&a.innerBorder&&typeof a.innerBorder=="object"&&(r.innerBorder=U({},a.innerBorder)),r.printRepeated=a.printRepeated===!0,r.cells=Array.isArray(a==null?void 0:a.cells)?a.cells.map(i=>({row:Math.max(0,Number((i==null?void 0:i.row)||0)),col:Math.max(0,Number((i==null?void 0:i.col)||0)),rowspan:Math.max(1,Number((i==null?void 0:i.rowspan)||1)),colspan:Math.max(1,Number((i==null?void 0:i.colspan)||1)),text:String((i==null?void 0:i.text)||""),bindField:String((i==null?void 0:i.bindField)||""),contentType:(i==null?void 0:i.contentType)||"text",fillCell:i==null?void 0:i.fillCell,contentScale:(i==null?void 0:i.contentScale)!=null?Number(i.contentScale):void 0,imageFit:i==null?void 0:i.imageFit,qrLevel:i==null?void 0:i.qrLevel,qrRenderType:i==null?void 0:i.qrRenderType,barcodeFormat:i==null?void 0:i.barcodeFormat,decimalPlaces:(i==null?void 0:i.decimalPlaces)!=null?Number(i.decimalPlaces):void 0,roundHalfUp:i==null?void 0:i.roundHalfUp,amountType:i==null?void 0:i.amountType,autoWrap:i==null?void 0:i.autoWrap,autoFitFont:i==null?void 0:i.autoFitFont,align:String((i==null?void 0:i.align)||"left"),verticalAlign:String((i==null?void 0:i.verticalAlign)||"middle"),fontSize:Math.max(8,Number((i==null?void 0:i.fontSize)||12)),color:String((i==null?void 0:i.color)||"#111111"),backgroundColor:String((i==null?void 0:i.backgroundColor)||"#ffffff"),hideBorderTop:(i==null?void 0:i.hideBorderTop)===!0,hideBorderRight:(i==null?void 0:i.hideBorderRight)===!0,hideBorderBottom:(i==null?void 0:i.hideBorderBottom)===!0,hideBorderLeft:(i==null?void 0:i.hideBorderLeft)===!0})).filter(i=>i.row<o&&i.col<p&&i.row+i.rowspan<=o&&i.col+i.colspan<=p):[],r}return e==="qrcode"||e==="barcode"?(r.value=a.value||"",r):e==="reportHeader"||e==="reportFooter"?(r.region=(t==null?void 0:t.region)||(e==="reportHeader"?"header":"footer"),r.text=a.text||"",r.bookmarkText=a.bookmarkText||"",r.keepTogether=a.keepTogether!==!1,r.centerWithDetail=a.centerWithDetail!==!1,r.refreshPage=a.refreshPage||"none",r.visible=a.visible!==!1,r.stretch=a.stretch===!0,r.shrink=a.shrink===!0,r.printRepeated=a.printRepeated===!0,r.printAtPageBottom=a.printAtPageBottom===!0,r.removeBlankWhenNoData=a.removeBlankWhenNoData===!0,r):(r.text=a.text||"",a.format&&(r.format=a.format),r)}function na(){return{fieldMap:{},tableSources:["mainTable","detailList"],params:[],detailTables:[]}}function B(){const t=un(m.schema);we.value=JSON.stringify(t,null,2)}function oa(t){E(t),B()}function ra(){var t,e,n,r;try{const a=JSON.parse(we.value||"{}");if(!Array.isArray(a==null?void 0:a.elements)||!(a!=null&&a.page)){h.warning("实际 JSON 格式无效缺少 page elements");return}const u=a.dataBinding||{},s=m.schema.dataBinding||na(),o={engine:"native",version:"1.0.0",page:{width:Number(((t=a.page)==null?void 0:t.width)||210),height:Number(((e=a.page)==null?void 0:e.height)||297),unit:"mm",margin:Array.isArray((n=a.page)==null?void 0:n.margin)?a.page.margin:[10,10,10,10],gridSize:Number(((r=a.page)==null?void 0:r.gridSize)||2)},elements:a.elements.map(p=>aa(p)),dataBinding:{fieldMap:U(U({},s.fieldMap||{}),u.fieldMap||{}),tableSources:Array.isArray(u.tableSources)&&u.tableSources.length?[...u.tableSources]:s.tableSources||["mainTable","detailList"],params:Array.isArray(u.params)?[...u.params]:s.params||[],detailTables:Array.isArray(u.detailTables)?u.detailTables.map(p=>({tableKey:String(p.tableKey||""),label:p.label?String(p.label):void 0,fields:Array.isArray(p.fields)?p.fields.map(i=>({key:String(i.key||""),label:i.label?String(i.label):void 0})):[]})):s.detailTables||[]}};V(o),B(),h.success("已按实际 JSON 还原画布模板样式")}catch(a){h.error(`应用失败:${(a==null?void 0:a.message)||"JSON格式错误"}`)}}function ia(){return q(this,null,function*(){const t=String(M.query.id||"");if(!t)return;const e=yield Za(t);if(le.value=String(e.id||t),w.templateCode=String(e.templateCode||w.templateCode),w.templateName=String(e.templateName||w.templateName),w.category=String(e.category||"form"),w.remark=String(e.remark||""),e.templateJson){const n=JSON.parse(e.templateJson);if((n==null?void 0:n.engine)==="native"){const r=Number(e.paperWidthMm),a=Number(e.paperHeightMm);r>0&&a>0&&((!n.page||typeof n.page!="object")&&(n.page={unit:"mm",margin:[10,10,10,10],gridSize:2}),n.page.width=r,n.page.height=a),V(n)}}B()})}function qe(t){var o,p,i;const e=m.schema.elements.find(x=>x.id===t.id),n=Number(e==null?void 0:e.w),r=Number(e==null?void 0:e.h),a=(e==null?void 0:e.type)==="freeTable",u=t.patch||{};H(t.id,u);const s=m.schema.elements.find(x=>x.id===t.id);if(a&&(s==null?void 0:s.type)==="freeTable"){const x=Math.max(1,Number(s.rowCount||1)),y=Math.max(1,Number(s.colCount||1)),F=Array.isArray(s.colWidths)?s.colWidths.map(C=>Number(C)):[],Y=Array.isArray(s.rowHeights)?s.rowHeights.map(C=>Number(C)):[],ee=Object.prototype.hasOwnProperty.call(u,"colWidths")||Object.prototype.hasOwnProperty.call(u,"rowHeights"),te=(Object.prototype.hasOwnProperty.call(u,"w")||Object.prototype.hasOwnProperty.call(u,"h"))&&!ee,W=Number(s.w),K=Number(s.h);if(te&&F.length===y&&Y.length===x&&n>0&&r>0&&(Math.abs(W-n)>.001||Math.abs(K-r)>.001)){const C=cn(F,Y,n,r,W,K);H(t.id,{colWidths:C.colWidths,rowHeights:C.rowHeights})}}if((s==null?void 0:s.type)==="reportHeader"?H(t.id,{x:0,y:0,w:m.schema.page.width,region:"header",bandId:t.id}):(s==null?void 0:s.type)==="reportFooter"&&H(t.id,{x:0,y:Math.max(0,m.schema.page.height-s.h),w:m.schema.page.width,region:"footer",bandId:t.id}),((o=N.value)==null?void 0:o.elementId)===t.id&&((Array.isArray(s==null?void 0:s.columns)?s.columns:[]).some(y=>{var F;return(y==null?void 0:y.key)===((F=N.value)==null?void 0:F.columnKey)})||(N.value=null)),((p=b.value)==null?void 0:p.elementId)===t.id){const x=Math.max(1,Number((s==null?void 0:s.rowCount)||1)),y=Math.max(1,Number((s==null?void 0:s.colCount)||1)),F=Number(b.value.row||0),Y=Number(b.value.col||0);(F>=x||Y>=y)&&(b.value=null)}t.patch&&"cells"in t.patch&&((i=z.value)==null?void 0:i.elementId)===t.id&&(z.value=null),B()}function sa(t){m.schema.page=U(U({},m.schema.page),t),m.schema.elements.forEach(e=>{e.type==="reportHeader"?(e.x=0,e.y=0,e.w=m.schema.page.width,e.region="header",e.bandId=e.id):e.type==="reportFooter"&&(e.x=0,e.y=Math.max(0,m.schema.page.height-e.h),e.w=m.schema.page.width,e.region="footer",e.bandId=e.id)}),B()}function la(t){if(t==="reportHeader"){const n=m.schema.elements.find(r=>r.type==="reportHeader");if(n){oe(n.id),h.warning("报表头已存在可直接调整其高度");return}}if(t==="reportFooter"){const n=m.schema.elements.find(r=>r.type==="reportFooter");if(n){oe(n.id),h.warning("报表尾已存在可直接调整其高度");return}}D(t);const e=_.value;if(e){const n=ua();if(t==="reportHeader")H(e.id,{x:0,y:0,w:m.schema.page.width,region:"header",bandId:e.id});else if(t==="reportFooter")H(e.id,{x:0,y:Math.max(0,m.schema.page.height-e.h),w:m.schema.page.width,region:"footer",bandId:e.id});else{let r=Ke.value;r==="header"&&n.headerHeight<=0&&(r="body",h.warning("尚未设置报表头区域已自动放入报表主体"));const a=r==="header"?0:n.headerHeight,u=r==="header"?Math.max(0,n.headerHeight-e.h):Math.max(n.headerHeight,n.bodyBottom-e.h),s=Math.min(u,Math.max(a,e.y)),o=m.schema.elements.find(p=>p.type==="reportHeader");H(e.id,{y:s,region:r,bandId:r==="header"?String((o==null?void 0:o.id)||""):""})}}N.value=null,b.value=null,z.value=null,B()}function ua(){const t=m.schema.page.height,e=m.schema.elements.find(s=>s.type==="reportHeader"),n=m.schema.elements.find(s=>s.type==="reportFooter"),r=Number((e==null?void 0:e.h)||0),a=Number((n==null?void 0:n.h)||0),u=Math.max(r,t-a);return{headerHeight:r,footerHeight:a,bodyBottom:u}}function ma(){const t=m.schema.page.width>m.schema.page.height?"landscape":"portrait";return{id:le.value||void 0,templateCode:w.templateCode,templateName:w.templateName,category:w.category||"form",paperWidthMm:m.schema.page.width,paperHeightMm:m.schema.page.height,paperOrientation:t,remark:w.remark,templateJson:Dt()}}function da(){return q(this,null,function*(){if(!w.templateCode||!w.templateName){h.warning("请先填写模板编码和模板名称");return}He.value=!0;try{const t=ma();if(le.value)yield Va(t);else{yield Xa(t);const e=yield Ga(w.templateCode);e!=null&&e.id&&(le.value=String(e.id))}h.success("原生模板保存成功")}catch(t){h.error((t==null?void 0:t.message)||"保存失败")}finally{He.value=!1}})}function va(){return q(this,null,function*(){We.value=yield et(m.schema,Me.value),Re.value=!0})}function fa(){return q(this,null,function*(){const t=yield et(m.schema,Me.value);We.value=t,gn(t)})}function pa(){return q(this,null,function*(){Be.value=!0;try{yield mn({schema:m.schema,data:Me.value,jobName:String(w.templateCode||"").trim()||"native-print",printerSelection:Ce.value||"__system_default__"}),h.success("已通过 PrintDot 提交打印")}catch(t){h.error((t==null?void 0:t.message)||"PrintDot 打印失败")}finally{Be.value=!1}})}function ca(){Tt(),N.value=null,b.value=null,z.value=null,B()}function ga(){It(),N.value=null,b.value=null,z.value=null,B()}function ha(t){var e,n,r;oe(t),(!t||((e=N.value)==null?void 0:e.elementId)!==t)&&(N.value=null),(!t||((n=b.value)==null?void 0:n.elementId)!==t)&&(b.value=null),(!t||((r=z.value)==null?void 0:r.elementId)!==t)&&(z.value=null)}function ya(t){oe(t.elementId),N.value=t,b.value=null,z.value=null}function ba(t){var e;if(oe(t.elementId),N.value=null,t.shiftKey===!0&&((e=b.value)==null?void 0:e.elementId)===t.elementId){z.value={elementId:t.elementId,row:t.row,col:t.col};return}b.value={elementId:t.elementId,row:t.row,col:t.col},z.value=null}function wa(t){oe(t.elementId),N.value=null,z.value=null,b.value={elementId:t.elementId,row:t.row,col:t.col},ve.value={elementId:t.elementId,row:t.row,col:t.col},ue.value=!0}function Ma(t){const e=m.schema.elements.find(s=>s.id===t.elementId);if(!e||e.type!=="freeTable"){ue.value=!1;return}const n=Math.max(1,Number(e.rowCount||1)),r=Math.max(1,Number(e.colCount||1)),u=pn(n,r,e.cells||[]).map(s=>s.row===t.row&&s.col===t.col?U(U({},s),t.patch):U({},s));qe({id:t.elementId,patch:{cells:u}}),ue.value=!1}function xa(){var t;return!_.value||_.value.type!=="table"&&_.value.type!=="detailTable"?"":((t=N.value)==null?void 0:t.elementId)===_.value.id?N.value.columnKey:""}function Sa(){var t;return!_.value||_.value.type!=="freeTable"?null:((t=b.value)==null?void 0:t.elementId)===_.value.id?{row:Number(b.value.row||0),col:Number(b.value.col||0)}:null}function _a(){if(!b.value||!z.value||b.value.elementId!==z.value.elementId||!_.value||_.value.type!=="freeTable"||b.value.elementId!==_.value.id)return null;const t=b.value,e=z.value;return{r0:Math.min(t.row,e.row),r1:Math.max(t.row,e.row),c0:Math.min(t.col,e.col),c1:Math.max(t.col,e.col)}}function ct(){G+=1}function Ze(){Te!=null&&(clearInterval(Te),Te=null)}function Ve(){Ze(),T.value=0,X.value="正在准备上传"}function Aa(){Ve(),T.value=8,X.value="正在上传图片",Te=setInterval(()=>{T.value=Math.min(86,T.value+(Math.random()*4+.6)),T.value>=28&&T.value<48?X.value="正在调用大模型识别版式与字段":T.value>=48&&(X.value="正在生成模板 JSON请稍候")},420)}function za(){Ze(),T.value=100,X.value="分析完成"}function gt(){R.value&&URL.revokeObjectURL(R.value),R.value="",Q.value="",Ie.value="",fe.value=null,pe.value="",de.value=!1,A.value=!1,ge.value={w:0,h:0},j.value=1,Ve()}function Xe(){ct(),gt(),me.value=!1}function Na(){gt(),Kt(),me.value=!0}function Ca(t){t.preventDefault(),!A.value&&(de.value=!0)}function Ta(t){t.preventDefault(),!A.value&&(de.value=!0)}function Ia(t){t.preventDefault(),!A.value&&(de.value=!1)}function Pa(){var t;A.value||(t=st.value)==null||t.click()}function ka(t){var r;const e=t.target,n=(r=e.files)==null?void 0:r[0];e.value="",n&&ht(n)}function La(t){var n,r;if(t.preventDefault(),de.value=!1,A.value)return;const e=(r=(n=t.dataTransfer)==null?void 0:n.files)==null?void 0:r[0];if(e){if(!e.type.startsWith("image/")){h.warning("请拖拽图片文件");return}ht(e)}}function ht(t){return q(this,null,function*(){if(A.value){h.warning("正在分析中请稍候");return}const e=++G;A.value=!0,Aa();try{const n=yield Qa(t);if(e!==G)return;T.value=Math.max(T.value,44),X.value="正在解析返回结果";const r=dn(vn(fn(JSON.parse(n.templateJson))));fe.value=r,pe.value=n.mockDataJson||"{}";const a=n.aiUsed?"已调用视觉大模型":"未调用大模型或已回退占位";Ie.value=`${n.hint||""}${a}`.trim(),R.value&&URL.revokeObjectURL(R.value),R.value=URL.createObjectURL(t);let u={};try{u=JSON.parse(pe.value||"{}")}catch(s){u={}}if(e!==G||(T.value=Math.max(T.value,72),X.value="正在生成本地预览",Q.value=yield et(r,u),e!==G)||(za(),yield new Promise(s=>setTimeout(s,360)),e!==G))return;h.success("已生成预览请确认后应用到画布")}catch(n){e===G&&h.error((n==null?void 0:n.message)||"图片分析失败")}finally{e===G&&(A.value=!1,Ve())}})}function Da(){const t=fe.value;if(!t){h.warning("请先生成预览");return}V(t);const e=pe.value||"{}";be.value=e,ie.value=e,De.value="mock",N.value=null,b.value=null,z.value=null,oe(""),B(),Xe(),h.success("已应用到画布")}function Fa(){g.push("/print/template")}return Ua(()=>q(null,null,function*(){try{const t=localStorage.getItem(nt);if(t!=null&&t!==""){const e=Number.parseInt(t,10);!Number.isNaN(e)&&e>=0&&e<=ot&&(k.value=e,e>=ze&&(ke.value=e))}}catch(t){}yield ia(),B(),pt({syncManual:!0,showMessage:!1}),it(!1)})),Ja(()=>{Ye(),$e(),ct(),Ze(),A.value=!1,R.value&&URL.revokeObjectURL(R.value)}),(t,e)=>{var W,K,C,ae,xe;const n=I("a-button"),r=I("a-select"),a=I("a-space"),u=I("a-input"),s=I("a-input-number"),o=I("a-divider"),p=I("a-textarea"),i=I("a-tab-pane"),x=I("a-tabs"),y=I("a-drawer"),F=I("a-alert"),Y=I("a-progress"),ee=I("a-tooltip"),te=I("a-modal");return J(),ne("div",hn,[f("div",yn,[f("div",bn,[e[19]||(e[19]=f("span",{class:"title"},"原生打印模板设计器",-1)),le.value?(J(),ne("span",wn,"ID: "+Ee(le.value),1)):Z("",!0)]),l(a,null,{default:v(()=>[l(n,{onClick:Fa},{default:v(()=>[...e[20]||(e[20]=[S("返回列表",-1)])]),_:1}),l(n,{onClick:ca},{default:v(()=>[...e[21]||(e[21]=[S("删除选中",-1)])]),_:1}),l(n,{onClick:ga},{default:v(()=>[...e[22]||(e[22]=[S("复制元素",-1)])]),_:1}),l(n,{onClick:P(Pt)},{default:v(()=>[...e[23]||(e[23]=[S("上移图层",-1)])]),_:1},8,["onClick"]),l(n,{onClick:P(kt)},{default:v(()=>[...e[24]||(e[24]=[S("下移图层",-1)])]),_:1},8,["onClick"]),l(n,{onClick:va},{default:v(()=>[...e[25]||(e[25]=[S("即时预览",-1)])]),_:1}),l(n,{onClick:fa},{default:v(()=>[...e[26]||(e[26]=[S("打印",-1)])]),_:1}),l(r,{value:Ce.value,"onUpdate:value":e[0]||(e[0]=c=>Ce.value=c),options:Ft.value,loading:Ne.value,placeholder:"PrintDot 打印机","show-search":"","option-filter-prop":"label",class:"toolbar-printdot-printer","dropdown-match-select-width":!1},null,8,["value","options","loading"]),l(n,{size:"small",loading:Ne.value,onClick:e[1]||(e[1]=c=>it(!0))},{default:v(()=>[...e[27]||(e[27]=[S(" 刷新打印机 ",-1)])]),_:1},8,["loading"]),l(n,{loading:Be.value,onClick:pa},{default:v(()=>[...e[28]||(e[28]=[S("PrintDot 打印",-1)])]),_:1},8,["loading"]),l(n,{type:"primary",loading:He.value,onClick:da},{default:v(()=>[...e[29]||(e[29]=[S("保存模板",-1)])]),_:1},8,["loading"])]),_:1})]),f("div",Mn,[f("div",xn,[l(u,{value:w.templateCode,"onUpdate:value":e[2]||(e[2]=c=>w.templateCode=c),placeholder:"模板编码","allow-clear":""},null,8,["value"]),l(u,{value:w.templateName,"onUpdate:value":e[3]||(e[3]=c=>w.templateName=c),placeholder:"模板名称","allow-clear":""},null,8,["value"]),l(u,{value:w.category,"onUpdate:value":e[4]||(e[4]=c=>w.category=c),placeholder:"分类默认form","allow-clear":""},null,8,["value"]),l(u,{value:w.remark,"onUpdate:value":e[5]||(e[5]=c=>w.remark=c),placeholder:"备注","allow-clear":""},null,8,["value"])]),f("div",Sn,[l(s,{value:P(m).scale,min:.2,max:2,step:.1,"addon-before":"按比例缩放",class:"meta-scale-input",onChange:e[6]||(e[6]=c=>P(Lt)(Number(c||1)))},null,8,["value"]),l(n,{class:"meta-scale-btn",onClick:e[7]||(e[7]=c=>Ue.value=!0)},{default:v(()=>[...e[30]||(e[30]=[S("页面配置",-1)])]),_:1}),l(n,{class:"meta-scale-btn",onClick:Na},{default:v(()=>[...e[31]||(e[31]=[S("上传图片分析模板",-1)])]),_:1})])]),f("div",_n,[f("div",{class:Mt(["left-panel-wrap",{"is-collapsed":k.value<=0}]),style:Ae(Xt.value)},[f("div",An,[l(on,{"insert-region":Ke.value,"onUpdate:insertRegion":e[8]||(e[8]=c=>Ke.value=c),"data-binding":P(m).schema.dataBinding,onAdd:la,onUpdateDataBinding:oa},null,8,["insert-region","data-binding"]),l(o),l(a,{direction:"vertical",style:{width:"100%"}},{default:v(()=>[l(x,{activeKey:ft.value,"onUpdate:activeKey":e[13]||(e[13]=c=>ft.value=c),size:"small",class:"json-tabs"},{default:v(()=>[l(i,{key:"template",tab:"模板JSON"},{default:v(()=>[f("div",zn,[e[34]||(e[34]=f("div",{class:"json-box-title"},"画布实际 JSON模板样式",-1)),l(a,{class:"json-action-row json-action-row--capsule",size:"small",wrap:!0},{default:v(()=>[l(n,{size:"small",class:"json-capsule-btn",onClick:B},{default:v(()=>[...e[32]||(e[32]=[S("从画布生成",-1)])]),_:1}),l(n,{size:"small",type:"primary",ghost:"",class:"json-capsule-btn",onClick:ra},{default:v(()=>[...e[33]||(e[33]=[S("应用到画布",-1)])]),_:1})]),_:1}),l(p,{value:we.value,"onUpdate:value":e[9]||(e[9]=c=>we.value=c),rows:18,class:"json-textarea",placeholder:"记录画布实际JSON可反向应用到画布并还原模板样式"},null,8,["value"])])]),_:1}),l(i,{key:"params",tab:"参数JSON"},{default:v(()=>[l(x,{activeKey:De.value,"onUpdate:activeKey":e[12]||(e[12]=c=>De.value=c),size:"small",class:"json-sub-tabs json-sub-tabs--segmented"},{default:v(()=>[l(i,{key:"manual",tab:"手动JSON"},{default:v(()=>[l(p,{value:ie.value,"onUpdate:value":e[10]||(e[10]=c=>ie.value=c),rows:16,class:"json-textarea",placeholder:"手动输入预览/打印数据 JSON"},null,8,["value"])]),_:1}),l(i,{key:"mock",tab:"模拟JSON"},{default:v(()=>[f("div",Nn,[l(n,{size:"small",type:"primary",ghost:"",class:"json-capsule-btn",onClick:pt},{default:v(()=>[...e[35]||(e[35]=[S("根据画布生成",-1)])]),_:1})]),l(p,{value:be.value,"onUpdate:value":e[11]||(e[11]=c=>be.value=c),rows:14,class:"json-textarea",placeholder:"点击根据画布生成自动填充模拟数据"},null,8,["value"])]),_:1})]),_:1},8,["activeKey"])]),_:1})]),_:1},8,["activeKey"])]),_:1})])],6),f("div",{class:"left-panel-resizer",role:"separator","aria-orientation":"vertical",title:Vn,onMousedown:Gt,onDblclick:se(Qt,["prevent"])},null,32),f("div",Cn,[l(en,{schema:P(m).schema,"selected-id":P(m).selectedId,scale:P(m).scale,"preview-data":Me.value,"selected-table-column":N.value,"selected-free-table-cell":b.value,"selected-free-table-merge-corner":z.value,onSelect:ha,onUpdate:qe,onSelectTableColumn:ya,onSelectFreeTableCell:ba,onEditFreeTableCell:wa},null,8,["schema","selected-id","scale","preview-data","selected-table-column","selected-free-table-cell","selected-free-table-merge-corner"])]),f("div",Tn,[l(nn,{schema:P(m).schema,"selected-element":P(_),"selected-table-column-key":xa(),"selected-free-table-cell":Sa(),"selected-free-table-merge-rect":_a(),onUpdateElement:qe},null,8,["schema","selected-element","selected-table-column-key","selected-free-table-cell","selected-free-table-merge-rect"])])]),l(an,{open:Ue.value,"onUpdate:open":e[14]||(e[14]=c=>Ue.value=c),schema:P(m).schema,onUpdatePage:sa},null,8,["open","schema"]),l(y,{open:Re.value,"onUpdate:open":e[15]||(e[15]=c=>Re.value=c),title:"即时预览",width:"70%",placement:"right","body-style":{padding:"12px 16px 20px",overflow:"hidden"}},{default:v(()=>[f("div",In,[f("iframe",{class:"preview-frame",title:"原生模板即时预览",srcdoc:We.value,style:Ae({height:`${ta.value}px`})},null,12,Pn)])]),_:1},8,["open"]),l(tn,{open:ue.value,"onUpdate:open":e[16]||(e[16]=c=>ue.value=c),"element-id":((W=ve.value)==null?void 0:W.elementId)||"",row:(C=(K=ve.value)==null?void 0:K.row)!=null?C:0,col:(xe=(ae=ve.value)==null?void 0:ae.col)!=null?xe:0,schema:P(m).schema,onSave:Ma},null,8,["open","element-id","row","col","schema"]),l(te,{open:me.value,"onUpdate:open":e[18]||(e[18]=c=>me.value=c),"destroy-on-close":"",width:Pe.value,centered:!1,"wrap-class-name":"native-print-image-analyze-modal","body-style":Et.value,closable:!A.value,"mask-closable":!A.value,onCancel:Xe},{title:v(()=>[...e[36]||(e[36]=[f("div",{class:"image-analyze-modal-title"},[f("span",{class:"image-analyze-modal-title-text"},"上传图片分析模板"),f("span",{class:"image-analyze-modal-title-tip"},"按住标题栏可拖动 · 右下角可拉大窗口")],-1)])]),footer:v(()=>[l(n,{onClick:Xe},{default:v(()=>[...e[45]||(e[45]=[S("取消",-1)])]),_:1}),l(n,{type:"primary",disabled:!fe.value||A.value,onClick:Da},{default:v(()=>[...e[46]||(e[46]=[S(" 应用到画布 ",-1)])]),_:1},8,["disabled"])]),default:v(()=>[f("div",kn,[l(F,{type:"info","show-icon":"",style:{"margin-bottom":"12px"}},{message:v(()=>[...e[37]||(e[37]=[f("span",null,"选择或拖拽图片到下方区域系统将生成画布 JSON 与模拟数据先预览渲染效果确认后再应用到画布",-1)])]),_:1}),f("div",{class:Mt(["image-analyze-drop",{"is-dragover":de.value,"is-busy":A.value}]),onDragenter:se(Ca,["prevent"]),onDragover:se(Ta,["prevent"]),onDragleave:se(Ia,["prevent"]),onDrop:se(La,["prevent"])},[f("input",{ref_key:"imageAnalyzeFileInputRef",ref:st,type:"file",accept:"image/*",class:"image-analyze-file-input",disabled:A.value,onChange:ka},null,40,Ln),e[39]||(e[39]=f("p",{class:"image-analyze-drop-title"},"拖拽图片到此处",-1)),l(n,{type:"link",disabled:A.value,onClick:Pa},{default:v(()=>[...e[38]||(e[38]=[S("点击选择文件",-1)])]),_:1},8,["disabled"])],34),A.value?(J(),ne("div",Dn,[l(Y,{percent:Math.min(100,Math.round(T.value)),status:T.value>=100?"success":"active","stroke-width":10},null,8,["percent","status"]),f("p",Fn,Ee(X.value),1),e[40]||(e[40]=f("p",{class:"image-analyze-progress-sub"},"大模型分析可能需要数十秒至两分钟请耐心等待勿关闭窗口",-1))])):Z("",!0),Ie.value?(J(),ne("div",En,Ee(Ie.value),1)):Z("",!0),Q.value?(J(),xt(o,{key:2,plain:"",orientation:"left"},{default:v(()=>[...e[41]||(e[41]=[S("效果预览应用前",-1)])]),_:1})):Z("",!0),Q.value?(J(),ne("div",Hn,[R.value?(J(),ne("div",Bn,[e[42]||(e[42]=f("div",{class:"thumb-label"},"原图",-1)),f("img",{src:R.value,alt:"上传原图"},null,8,On)])):Z("",!0),f("div",Rn,[f("div",Wn,[e[44]||(e[44]=f("div",{class:"thumb-label"},"按生成模板渲染",-1)),$.value?(J(),xt(a,{key:0,size:"small",wrap:"",onClick:e[17]||(e[17]=se(()=>{},["stop"]))},{default:v(()=>[l(ee,{title:"缩小"},{default:v(()=>[l(n,{type:"default",size:"small",class:"image-analyze-zoom-btn",onClick:$t},{default:v(()=>[l(P(St),{icon:"ant-design:zoom-out-outlined"})]),_:1})]),_:1}),f("span",Un,Ee(Wt.value),1),l(ee,{title:"放大"},{default:v(()=>[l(n,{type:"default",size:"small",class:"image-analyze-zoom-btn",onClick:jt},{default:v(()=>[l(P(St),{icon:"ant-design:zoom-in-outlined"})]),_:1})]),_:1}),l(ee,{title:"按预览区大小自动适应"},{default:v(()=>[l(n,{type:"default",size:"small",onClick:Yt},{default:v(()=>[...e[43]||(e[43]=[S("适应",-1)])]),_:1})]),_:1})]),_:1})):Z("",!0)]),f("div",{ref_key:"imageAnalyzePreviewHostRef",ref:Je,class:"image-analyze-preview-host",style:Ae({maxHeight:`${Ht.value}px`})},[$.value?(J(),ne("div",Jn,[f("div",jn,[f("div",{class:"image-analyze-scale-shim",style:Ae({width:`${$.value.wPx*je.value}px`,height:`${$.value.hPx*je.value}px`})},[f("div",{class:"image-analyze-scale-inner",style:Ae({width:`${$.value.wPx}px`,height:`${$.value.hPx}px`,transform:`scale(${je.value})`})},[f("iframe",{ref_key:"imageAnalyzeIframeRef",ref:lt,class:"image-analyze-preview-frame",srcdoc:Q.value,onLoad:Jt},null,40,$n)],4)],4)])])):Z("",!0)],4)])])):Z("",!0),me.value?(J(),ne("div",{key:4,class:"image-analyze-resize-handle","aria-hidden":"true",onMousedown:se(qt,["prevent"])},null,32)):Z("",!0)])]),_:1},8,["open","width","body-style","closable","mask-closable"])])}}}),Co=qa(Gn,[["__scopeId","data-v-7409ccce"]]);export{Co as default};