Files
qhmes/web-dist/js/nativeSchemaNormalize-WzV7gGZh.js

69 lines
32 KiB
Java
Raw Normal View History

2026-06-16 18:19:57 +08:00
var Bt=Object.defineProperty,kt=Object.defineProperties;var Rt=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var mt=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable;var ht=Math.pow,xt=(t,r,e)=>r in t?Bt(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,M=(t,r)=>{for(var e in r||(r={}))mt.call(r,e)&&xt(t,e,r[e]);if(nt)for(var e of nt(r))wt.call(r,e)&&xt(t,e,r[e]);return t},v=(t,r)=>kt(t,Rt(r));var ot=(t,r)=>{var e={};for(var a in t)mt.call(t,a)&&r.indexOf(a)<0&&(e[a]=t[a]);if(t!=null&&nt)for(var a of nt(t))r.indexOf(a)<0&&wt.call(t,a)&&(e[a]=t[a]);return e};var z=(t,r,e)=>new Promise((a,n)=>{var i=l=>{try{s(e.next(l))}catch(b){n(b)}},g=l=>{try{s(e.throw(l))}catch(b){n(b)}},s=l=>l.done?a(l.value):Promise.resolve(l.value).then(i,g);s((e=e.apply(t,r)).next())});import{aK as Mt}from"./index-X7Y8jykP.js";import{Q as Wt}from"./browser-D2DxMZOB.js";import{b as It}from"./tableMerge-CpKVscEF.js";import{n as bt,r as st,g as Y}from"./tableBuilder-lOY0L2dW.js";import{n as _t}from"./freeTableGrid-BXWKfNhh.js";import{r as jt,b as Lt}from"./freeTableBorders-i5ck0FPH.js";import{r as Et,a as qt,b as Dt}from"./freeTableTracks--U1Y5u-V.js";import{b as vt}from"./barcodeRenderer-cjxjmb-t.js";import{c as Ot,b as Vt}from"./vue-vendor-DNhG1Cve.js";function it(t,r){const e=t.bindField;if(e)return String(e).split(".").reduce((a,n)=>a==null?void 0:a[n],r||{})}function Yt(t,r,e=1,a=1){var i,g,s,l;const n=it(t,r);if(n!=null&&t.type!=="pageNo")return t.type==="date"?Mt(n).format(t.format||"YYYY-MM-DD"):String(n);if(t.type==="date")return Mt().format(t.format||"YYYY-MM-DD");if(t.type==="pageNo")return t.text.replace("{{pageNo}}",String(e)).replace("{{totalPages}}",String(a));if((i=t.text)!=null&&i.startsWith("{{")&&((g=t.text)!=null&&g.endsWith("}}"))){const b=t.text.replaceAll("{","").replaceAll("}","").trim();return String((s=Y(r||{},b))!=null?s:"")}return String((l=t.text)!=null?l:"")}function Kt(t,r){return z(this,null,function*(){const e=Math.max(1,Number((t==null?void 0:t.rowCount)||1)),a=Math.max(1,Number((t==null?void 0:t.colCount)||1)),n=Math.max(.01,Number(t==null?void 0:t.w)||.01),i=Math.max(.01,Number(t==null?void 0:t.h)||.01),g=String((t==null?void 0:t.borderColor)||"#d9d9d9"),s=Math.max(1,Number((t==null?void 0:t.borderWidth)||1)),l=$t(Et(t),n,a,s),b=$t(qt(t),i,e,s),p=`<colgroup>${l.map(o=>`<col style="width:${o}mm;box-sizing:border-box" />`).join("")}</colgroup>`,d=_t(e,a,(t==null?void 0:t.cells)||[]),u=(yield Promise.all(Array.from({length:e},(o,x)=>z(null,null,function*(){var m;const f=(m=b[x])!=null?m:i/e,c=(yield Promise.all(d.filter(h=>h.row===x).sort((h,y)=>h.col-y.col).map(h=>z(null,null,function*(){var T,A,W;const y=Math.max(1,Number(h.rowspan||1)),w=Math.max(1,Number(h.colspan||1)),$=String((h==null?void 0:h.bindField)||"").trim(),S=$?(T=Y(r||{},$))!=null?T:"":(A=h==null?void 0:h.text)!=null?A:"",N=String(S!=null?S:""),C=String((h==null?void 0:h.contentType)||"text"),H=C==="number"||C==="amount"?dt(S,h):N,K=yield Ct(C,C==="image"||C==="qrcode"||C==="barcode"?N:H,h),lt=String((h==null?void 0:h.align)||"left"),B=String((h==null?void 0:h.verticalAlign)||"middle"),U=Math.max(1,Number((h==null?void 0:h.fontSize)||((W=t.style)==null?void 0:W.fontSize)||12)),ft=String((h==null?void 0:h.color)||"#111111"),yt=String((h==null?void 0:h.backgroundColor)||"#ffffff"),G=y>1?` rowspan="${y}"`:"",J=w>1?` colspan="${w}"`:"",Q=l.slice(h.col,h.col+w).reduce((j,E)=>j+E,0),q=b.slice(h.row,h.row+y).reduce((j,E)=>j+E,0),L=Math.max(.15,Math.min(.8,q*.08)),X=Math.max(.3,Math.min(1.2,L*1.6)),D=Math.max(.1,q-L*2),Z=D*(96/25.4),tt=Math.max(1,Math.min(U,Math.floor(Z*.82))),et=`width:${Q}mm;`,rt=jt(t,d,h,h.row,h.col,y,w,e,a),at=Dt(t,h.row,h.col,y,w,e,a),k=Lt(rt,s,g,at),F=h.autoWrap===!1,_=F?"nowrap":"normal",I=F?"normal":"break-all",R=F?"normal":"anywhere";return`<td${G}${J} style="box-sizing:border-box;${k}${et}padding:${L.toFixed(3)}mm ${X.toFixed(3)}mm;text-align:${lt};vertical-align:${B};font-size:${tt}px;color:${ft};background:${yt};white-space:${_};word-break:${I};overflow-wrap:${R};overflow:
<html>
<head>
<meta charset="utf-8" />
<style>
@page { size: ${t.page.width}mm ${t.page.height}mm; margin: ${u}; }
html, body { margin: 0; padding: 0; overflow: visible; }
* {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
@media screen {
html { background: #525659; }
body {
margin: 0;
padding: 28px 20px 48px;
background: #525659;
min-height: 100vh;
box-sizing: border-box;
}
.qhmes-native-print-root {
margin: 0 auto;
position: relative;
box-shadow:
0 1px 2px rgba(0, 0, 0, 0.14),
0 4px 12px rgba(0, 0, 0, 0.1),
0 12px 28px rgba(0, 0, 0, 0.08);
background: #fff;
border-radius: 1px;
}
/* 分页缝隙:仿多页纸张之间的装订区 */
.qhmes-native-screen-page-sep {
height: 14px;
margin-top: -7px;
margin-left: -10px;
width: calc(100% + 20px);
background: #525659;
border: none;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.qhmes-native-table-chunk table {
border-collapse: collapse;
}
.qhmes-native-table-chunk thead {
display: table-header-group;
}
.qhmes-native-table-chunk tbody tr {
break-inside: avoid;
}
}
@media print {
html, body {
background: transparent !important;
padding: 0 !important;
}
.qhmes-native-print-root { box-shadow: none !important; }
.qhmes-native-screen-page-sep { display: none !important; }
}
</style>
</head>
<body>
<div class="qhmes-native-print-root" style="--qhmes-page-h:${t.page.height}mm;position:relative;width:${t.page.width}mm;min-height:${a}mm;height:auto;overflow:visible;box-sizing:border-box;">
${b}
${p}
${d}
</div>
</body>
</html>`})}function Zt(t){if(!Array.isArray(t)||t.length<4)return"0mm";const r=Math.max(0,Number(t[0]||0)),e=Math.max(0,Number(t[1]||0)),a=Math.max(0,Number(t[2]||0)),n=Math.max(0,Number(t[3]||0));return`${r}mm ${e}mm ${a}mm ${n}mm`}function te(t){var e;const r=(e=t.page)==null?void 0:e.margin;return!Array.isArray(r)||r.length<4?0:Math.max(0,Number(r[0]||0))}function ee(t){var i,g;const r=Math.max(1,Number(((i=t.page)==null?void 0:i.height)||297)),e=(g=t.page)==null?void 0:g.margin;if(!Array.isArray(e)||e.length<4)return r;const a=Math.max(0,Number(e[0]||0)),n=Math.max(0,Number(e[2]||0));return Math.max(10,r-a-n)}function Ht(t,r){const a=Number(r.y||0)+Math.max(.01,Number(r.h||1));return t.elements.some(n=>!((n==null?void 0:n.type)!=="freeTable"||(n==null?void 0:n.visible)===!1||n.printRepeated!==!0||Number(n.y||0)>=a-.02))}function St(t,r,e,a,n,i,g){var d;const s=Math.max(1,Number(((d=t.page)==null?void 0:d.height)||297)),l=r*s;if(r===0||g>1&&Ht(t,{y:e,h:a}))return l+Math.max(0,e);const p=te(t)+(n&&i>0?Math.max(0,i):0);return l+p}const re=96/25.4,ct=re,ae=1.4,ne=1.03;function oe(t){return t>=11904&&t<=40959||t>=12352&&t<=12543||t>=44032&&t<=55215||t>=63744&&t<=64255||t>=65280&&t<=65519}function ie(t,r,e){if(!t.length)return 1;let a=0;for(const i of t){const g=i.codePointAt(0);oe(g)?a+=1:/\s/.test(i)?a+=.22:a+=.62}a=Math.max(.01,a);const n=Math.max(1.8,r/Math.max(1,e)*.97);return Math.max(1,Math.ceil(a/n))}function se(t,r,e){const a=Math.max(.01,Number(t.rowHeight||8));let n=a;const i=4,g=1.25;for(const s of e){const l=s.bindField||s.field,b=Y(r||{},l),p=String(s.contentType||"text"),d=Math.max(1,Number(s.width||30)),u=s.autoWrap===!1,o=s!=null&&s.useCustomFontSize?Number((s==null?void 0:s.fontSize)||12):Number(t.bodyFontSize||12),x=pt(s)?dt(b,s):String(b!=null?b:""),f=ut(s,x,d,t.rowHeight||8,o);if(p==="qrcode"||p==="barcode"){const S=(s==null?void 0:s.fillCell)!==!1,N=Math.max(10,Math.min(100,Number((s==null?void 0:s.contentScale)||100))),C=S?d*.93:d*(N/100)*.93;n=Math.max(n,C+i+g);continue}if(p==="image"){const S=(s==null?void 0:s.fillCell)!==!1,N=Math.max(10,Math.min(100,Number((s==null?void 0:s.contentScale)||100))),C=S?d*.65:d*(N/100)*.65;n=Math.max(n,C+i+g*.6);continue}if(u){n=Math.max(n,a);continue}const c=x;if(!c.length){n=Math.max(n,a);continue}const m=d*ct,h=Math.max(8,m-2*ct*2),y=ie(c,h,f),w=f*1.3,$=y*w/ct;n=Math.max(n,$+i,a)}return Math.max(a,n)}function O(t){return Math.max(.01,t*ne)}function de(t,r,e){let a=0;const n=Math.min(r+e,t.length);for(let i=r;i<n;i+=1)a+=O(t[i]);return a}function Ft(t,r,e,a){const n=st(t,e);if(!n.length)return[[]];const i=bt(t),g=n.map($=>se(t,$,i)),s=ee(r),l=Math.max(0,Number(t.y||0)),b=Math.max(.01,Number(t.rowHeight||8)),p=t.showHeader?Math.max(0,Number(t.headerHeight||10)):0,d=String(t.footerTotalMode||"overall"),u=t.footerShowTotal===!1,o=!u&&d==="page",x=!u&&d==="overall",f=Math.max(b,6),c=a.repeatHeaderEnabled&&a.repeatHeaderBandMm>0?Math.max(0,a.repeatHeaderBandMm):0,m=Ht(r,t),h=[];let y=0,w=0;for(;y<n.length;){const $=n.length-y,S=w===0?s-l-p:m?Math.max(b,s-l-p):Math.max(b,s-p-c),N=Math.max(b,S-ae);let C=N;o&&(C=Math.max(b,N-f));let H=0,P=0;for(;H<$&&P+O(g[y+H])<=C+.02;)P+=O(g[y+H]),H+=1;if(x&&!o&&$<=H){if(de(g,y,$)+f<=N+.02){h.push(n.slice(y,y+$));break}for(C=Math.max(b,N-f),H=0,P=0;H<$&&P+O(g[y+H])<=C+.02;)P+=O(g[y+H]),H+=1}if(H===0&&(H=1),h.push(n.slice(y,y+H)),y+=H,w+=1,w>5e3)break}return h.length?h:[[]]}function le(t,r){const e=zt(t),a=e.enabled?At(t):0,n=t.elements.filter(i=>i.type==="table"||i.type==="detailTable").map(i=>{const g=st(i,r);if(String((i==null?void 0:i.tableHeightMode)||"autoPage")!=="fixedRows"){const b=Ft(i,t,r,{repeatHeaderBandMm:a,repeatHeaderEnabled:e.enabled});return Math.max(1,b.length)}const l=Math.max(1,Number((i==null?void 0:i.fixedRows)||5));return Math.max(1,Math.ceil(g.length/l))});return Math.max(1,...n)}function zt(t){const r=t.elements.find(e=>e.type==="reportHeader");return r?r.visible===!1?{visible:!1,enabled:!1,headerId:String(r.id||"")}:{visible:!0,enabled:r.printRepeated===!0,headerId:String(r.id||"")}:{visible:!0,enabled:!1,heade