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

3 lines
11 KiB
Java

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/JsBarcode-txZyu78K.js","js/antd-vue-vendor-BPnV8VqP.js","js/vue-vendor-C7Zq48Yl.js","js/JsBarcode-Cs4ZrpMU.js"])))=>i.map(i=>d[i]);
var we=Object.defineProperty,fe=Object.defineProperties;var ve=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,he=Object.prototype.propertyIsEnumerable;var B=Math.pow,H=(p,w,d)=>w in p?we(p,w,{enumerable:!0,configurable:!0,writable:!0,value:d}):p[w]=d,A=(p,w)=>{for(var d in w||(w={}))le.call(w,d)&&H(p,d,w[d]);if(V)for(var d of V(w))he.call(w,d)&&H(p,d,w[d]);return p},z=(p,w)=>fe(p,ve(w));var W=(p,w,d)=>new Promise((E,i)=>{var k=b=>{try{$(d.next(b))}catch(N){i(N)}},L=b=>{try{$(d.throw(b))}catch(N){i(N)}},$=b=>b.done?E(b.value):Promise.resolve(b.value).then(k,L);$((d=d.apply(p,w)).next())});import{_ as be,d as ge}from"./index-BI6CMai0.js";import{d as ye,ar as u,as as m,ag as I,au as C,A as S,F as P,aD as R,aB as M,e as _,at as Ce,av as K,f as X}from"./vue-vendor-C7Zq48Yl.js";import{Q as xe}from"./browser-INOPQ3v-.js";import{g as Me}from"./tableBuilder-lOY0L2dW.js";import{n as _e}from"./freeTableGrid-BXWKfNhh.js";import{r as ke}from"./freeTableBorders-DHo40MDb.js";import{r as G,a as Y,b as $e,l as D,k as Se,m as Ee}from"./freeTableTracks-CfeiVurn.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./vxe-table-vendor-B88kchpX.js";const Le=["data-free-table-id"],Ne=["rowspan","colspan","data-ft-row","data-ft-col","onPointerdown","onDblclick"],Fe=["onPointerdown"],Pe={key:0,class:"cell-body cell-body--text"},Re={key:1,class:"cell-body cell-body--numeric"},De=["src"],Te=["src"],Be=["src"],Ae={key:0,class:"free-table-track-layer","aria-hidden":"true"},ze=["onPointerdown"],Ie=["onPointerdown"],O=3.7795275591,Ue=ye({__name:"FreeTableElement",props:{element:{},previewData:{},selectedCell:{},mergeRangeCorner:{},isElementSelected:{type:Boolean},scale:{default:1}},emits:["select-cell","swap-cells","edit-cell","update-tracks"],setup(p,{emit:w}){const d=X({}),E=X({}),i=p,k=w,L=_(()=>{var e;return Math.max(1,Number(((e=i.element)==null?void 0:e.rowCount)||1))}),$=_(()=>{var e;return Math.max(1,Number(((e=i.element)==null?void 0:e.colCount)||1))}),b=_(()=>G(i.element)),N=_(()=>Y(i.element)),Q=_(()=>{var n;const e=Math.max(.01,Number((n=i.element)==null?void 0:n.w)||.01);let t=0;const o=b.value,r=[];for(let s=0;s<o.length-1;s+=1)t+=o[s],r.push(t/e*100);return r}),J=_(()=>{var n;const e=Math.max(.01,Number((n=i.element)==null?void 0:n.h)||.01);let t=0;const o=N.value,r=[];for(let s=0;s<o.length-1;s+=1)t+=o[s],r.push(t/e*100);return r}),U=_(()=>{var e;return _e(L.value,$.value,((e=i.element)==null?void 0:e.cells)||[])}),j=_(()=>{if(!i.selectedCell||!i.mergeRangeCorner)return null;const e=i.selectedCell,t=i.mergeRangeCorner;return{r0:Math.min(e.row,t.row),r1:Math.max(e.row,t.row),c0:Math.min(e.col,t.col),c1:Math.max(e.col,t.col)}});function Z(e){return U.value.filter(t=>t.row===e).sort((t,o)=>t.col-o.col)}function x(e){return String((e==null?void 0:e.contentType)||"text")}function F(e){const t=String((e==null?void 0:e.bindField)||"").trim();if(t){const o=Me(i.previewData||{},t);if(o!=null&&String(o).trim())return String(o)}return String((e==null?void 0:e.text)||"").trim()}function ee(e){const t=x(e);return t==="number"||t==="amount"?q(e):F(e)||" "}function q(e){var c;const t=F(e),o=Number(t);if(!Number.isFinite(o))return t||" ";const r=Math.max(0,Math.min(6,Number((c=e==null?void 0:e.decimalPlaces)!=null?c:2))),s=((e==null?void 0:e.roundHalfUp)===!1?Math.trunc(o*B(10,r))/B(10,r):Number(o.toFixed(r))).toLocaleString(void 0,{minimumFractionDigits:r,maximumFractionDigits:r});return x(e)==="amount"?`${(e==null?void 0:e.amountType)==="USD"?"$":(e==null?void 0:e.amountType)==="EUR"?"EUR ":"¥"}${s}`:s}function te(e){const t=F(e);return t||`https://via.placeholder.com/180x80.png?text=${encodeURIComponent("Image")}`}function T(e,t){const o=(e==null?void 0:e.fillCell)!==!1,r=Math.max(10,Math.min(100,Number((e==null?void 0:e.contentScale)||100))),n=`${r}%`,s={display:"block",margin:"0 auto",maxWidth:"100%",maxHeight:"100%",objectFit:t==="image"&&(e==null?void 0:e.imageFit)||"contain"};return o?(s.width="100%",s.height="100%"):(s.width=n,s.height=t==="barcode"?`${Math.max(20,r*.6)}%`:n),s}function ne(e){const t=String(F(e)||"qrcode_empty"),o=`${(e==null?void 0:e.qrLevel)||"M"}|${(e==null?void 0:e.qrRenderType)||"image/png"}|${t}`;return d.value[o]?d.value[o]:(xe.toDataURL(t,{errorCorrectionLevel:(e==null?void 0:e.qrLevel)||"M",margin:0,type:(e==null?void 0:e.qrRenderType)||"image/png",width:200}).then(r=>{d.value=z(A({},d.value),{[o]:r})}).catch(()=>{}),"")}function oe(e,t){return W(this,null,function*(){const o=yield be(()=>import("./JsBarcode-txZyu78K.js").then(s=>s.J),__vite__mapDeps([0,1,2,3])),r=o.default||o,n=document.createElement("canvas");return r(n,e||"00000000",{format:t||"CODE128",displayValue:!1,margin:0,width:2,height:70}),n.toDataURL("image/png")})}function re(e){const t=String(F(e)||"00000000"),o=String((e==null?void 0:e.barcodeFormat)||"CODE128"),r=`${o}|${t}`;return E.value[r]?E.value[r]:(oe(t,o).then(n=>{E.value=z(A({},E.value),{[r]:n})}).catch(()=>{}),"")}function ae(e){var h,f;const t=Math.max(1,Number((e==null?void 0:e.rowspan)||1)),o=Math.max(1,Number((e==null?void 0:e.colspan)||1)),r=Math.max(1,Number(((h=i.element)==null?void 0:h.borderWidth)||1)),n=((f=i.element)==null?void 0:f.borderColor)||"#d9d9d9",s=ke(i.element,U.value,e,e.row,e.col,t,o,L.value,$.value),c=$e(i.element,e.row,e.col,t,o,L.value,$.value),a=e.autoWrap===!1;return{boxSizing:"border-box",textAlign:(e==null?void 0:e.align)||"left",verticalAlign:(e==null?void 0:e.verticalAlign)||"middle",fontSize:`${Number((e==null?void 0:e.fontSize)||12)}px`,color:(e==null?void 0:e.color)||"#111111",backgroundColor:(e==null?void 0:e.backgroundColor)||"#ffffff",whiteSpace:a?"nowrap":"pre-wrap",wordBreak:a?"normal":"break-all",borderTop:s.top?`${r}px ${D(c.top)} ${n}`:"none",borderRight:s.right?`${r}px ${D(c.right)} ${n}`:"none",borderBottom:s.bottom?`${r}px ${D(c.bottom)} ${n}`:"none",borderLeft:s.left?`${r}px ${D(c.left)} ${n}`:"none"}}function se(e,t){k("select-cell",{row:e.row,col:e.col,shiftKey:t.shiftKey===!0})}function ie(e){k("edit-cell",{row:e.row,col:e.col})}function de(e){return!i.isElementSelected||!i.selectedCell?!1:i.selectedCell.row===e.row&&i.selectedCell.col===e.col}function ue(e){const t=j.value;if(!t)return!1;const o=Math.max(1,Number(e.rowspan||1)),r=Math.max(1,Number(e.colspan||1)),n=e.row,s=e.row+o-1,c=e.col,a=e.col+r-1;return!(s<t.r0||n>t.r1||a<t.c0||c>t.c1)}function me(e,t){var y;if(t.button!==0)return;const o=i.element,r=[...G(o)],n=Math.max(.01,Number(o.w)||.01),s=t.clientX,c=Math.max(.2,Number(i.scale)||1),a=t.currentTarget;try{(y=a==null?void 0:a.setPointerCapture)==null||y.call(a,t.pointerId)}catch(v){}const h=v=>{const l=(v.clientX-s)/c/O,g=Se(r,e,l,n);g&&k("update-tracks",{colWidths:g})},f=v=>{var l;try{(l=a==null?void 0:a.releasePointerCapture)==null||l.call(a,v.pointerId)}catch(g){}window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",f)};window.addEventListener("pointermove",h),window.addEventListener("pointerup",f),window.addEventListener("pointercancel",f)}function ce(e,t){var y;if(t.button!==0)return;const o=i.element,r=[...Y(o)],n=Math.max(.01,Number(o.h)||.01),s=t.clientY,c=Math.max(.2,Number(i.scale)||1),a=t.currentTarget;try{(y=a==null?void 0:a.setPointerCapture)==null||y.call(a,t.pointerId)}catch(v){}const h=v=>{const l=(v.clientY-s)/c/O,g=Ee(r,e,l,n);g&&k("update-tracks",{rowHeights:g})},f=v=>{var l;try{(l=a==null?void 0:a.releasePointerCapture)==null||l.call(a,v.pointerId)}catch(g){}window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",f)};window.addEventListener("pointermove",h),window.addEventListener("pointerup",f),window.addEventListener("pointercancel",f)}function pe(e,t,o){if(e.button!==0)return;const r=i.element.id,n=c=>{},s=c=>{var l,g;window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",s);const a=document.elementFromPoint(c.clientX,c.clientY),h=(l=a==null?void 0:a.closest)==null?void 0:l.call(a,"[data-free-table-id]");if(!h||h.getAttribute("data-free-table-id")!==r)return;const f=(g=a==null?void 0:a.closest)==null?void 0:g.call(a,"td[data-ft-row]");if(!f)return;const y=Number(f.getAttribute("data-ft-row")),v=Number(f.getAttribute("data-ft-col"));!Number.isFinite(y)||!Number.isFinite(v)||t===y&&o===v||k("swap-cells",{fromRow:t,fromCol:o,toRow:y,toCol:v})};window.addEventListener("pointermove",n),window.addEventListener("pointerup",s)}return(e,t)=>(m(),u("div",{class:"free-table-element","data-free-table-id":p.element.id},[p.isElementSelected?(m(),u("button",{key:0,type:"button",class:"free-table-move-handle",title:"拖动移动整个表格","aria-label":"拖动移动整个表格",onClick:t[0]||(t[0]=S(()=>{},["stop"]))},[...t[2]||(t[2]=[C("svg",{class:"free-table-move-icon",viewBox:"0 0 16 16",width:"11",height:"11",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[C("path",{d:"M8 1.5v3M8 11.5v3M1.5 8h3M11.5 8h3",stroke:"currentColor","stroke-width":"1.35","stroke-linecap":"round"}),C("path",{fill:"currentColor",d:"M8 2.35 6.15 4.55h3.7L8 2.35zm0 11.3 1.85-2.2H6.15L8 13.65zM2.35 8l2.2 1.85V6.15L2.35 8zm11.3 0-2.2-1.85v3.7L13.65 8z"})],-1)])])):I("",!0),C("div",{class:"free-table-surface",onPointerdown:t[1]||(t[1]=S(()=>{},["stop"]))},[C("table",null,[C("colgroup",null,[(m(!0),u(P,null,R(b.value,(o,r)=>(m(),u("col",{key:`col_${r}`,style:M({width:`${o}mm`})},null,4))),128))]),C("tbody",null,[(m(!0),u(P,null,R(L.value,o=>{var r;return m(),u("tr",{key:`tr_${o-1}`,style:M({height:`${(r=N.value[o-1])!=null?r:6}mm`})},[(m(!0),u(P,null,R(Z(o-1),n=>(m(),u("td",{key:`td_${n.row}_${n.col}`,class:Ce(["free-table-cell",{"is-selected":de(n),"is-merge-range":ue(n)}]),rowspan:Math.max(1,Number(n.rowspan||1)),colspan:Math.max(1,Number(n.colspan||1)),"data-ft-row":n.row,"data-ft-col":n.col,style:M(ae(n)),onPointerdown:S(s=>se(n,s),["stop"]),onDblclick:S(s=>ie(n),["stop"])},[C("span",{class:"cell-move-handle",title:"拖动交换单元格内容",onPointerdown:S(s=>pe(s,n.row,n.col),["stop","prevent"])},[...t[3]||(t[3]=[C("span",{class:"cell-move-handle-icon","aria-hidden":"true"},"≡",-1)])],40,Fe),x(n)==="text"?(m(),u("span",Pe,K(ee(n)),1)):x(n)==="number"||x(n)==="amount"?(m(),u("span",Re,K(q(n)),1)):x(n)==="image"?(m(),u("img",{key:2,class:"table-media-free",alt:"",src:te(n),style:M(T(n,"image"))},null,12,De)):x(n)==="qrcode"?(m(),u("img",{key:3,class:"table-media-free",alt:"",src:ne(n),style:M(T(n,"qrcode"))},null,12,Te)):x(n)==="barcode"?(m(),u("img",{key:4,class:"table-media-free",alt:"",src:re(n),style:M(T(n,"barcode"))},null,12,Be)):I("",!0)],46,Ne))),128))],4)}),128))])]),p.isElementSelected?(m(),u("div",Ae,[(m(!0),u(P,null,R(Q.value,(o,r)=>(m(),u("div",{key:`cg_${r}`,class:"track-grip track-grip--col",style:M({left:`${o}%`}),title:"拖动调整列宽",onPointerdown:S(n=>me(r,n),["stop","prevent"])},null,44,ze))),128)),(m(!0),u(P,null,R(J.value,(o,r)=>(m(),u("div",{key:`rg_${r}`,class:"track-grip track-grip--row",style:M({top:`${o}%`}),title:"拖动调整行高",onPointerdown:S(n=>ce(r,n),["stop","prevent"])},null,44,Ie))),128))])):I("",!0)],32)],8,Le))}}),Je=ge(Ue,[["__scopeId","data-v-a0f94404"]]);export{Je as default};