70 lines
45 KiB
Java
70 lines
45 KiB
Java
|
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/jspdf.es.min-CY_STL60.js","js/index-BI6CMai0.js","js/vue-vendor-C7Zq48Yl.js","js/antd-vue-vendor-BPnV8VqP.js","js/vxe-table-vendor-B88kchpX.js","assets/index-CaK6YpON.css","js/browser-B0xVgIeL.js"])))=>i.map(i=>d[i]);
|
||
|
|
var Rt=Object.defineProperty,zt=Object.defineProperties;var Wt=Object.getOwnPropertyDescriptors;var rt=Object.getOwnPropertySymbols;var gt=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable;var G=Math.pow,ut=(t,e,r)=>e in t?Rt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,H=(t,e)=>{for(var r in e||(e={}))gt.call(e,r)&&ut(t,r,e[r]);if(rt)for(var r of rt(e))pt.call(e,r)&&ut(t,r,e[r]);return t},_=(t,e)=>zt(t,Wt(e));var at=(t,e)=>{var r={};for(var a in t)gt.call(t,a)&&e.indexOf(a)<0&&(r[a]=t[a]);if(t!=null&&rt)for(var a of rt(t))e.indexOf(a)<0&&pt.call(t,a)&&(r[a]=t[a]);return r};var O=(t,e,r)=>new Promise((a,o)=>{var s=c=>{try{d(r.next(c))}catch(b){o(b)}},u=c=>{try{d(r.throw(c))}catch(b){o(b)}},d=c=>c.done?a(c.value):Promise.resolve(c.value).then(s,u);d((r=r.apply(t,e)).next())});import{r as Dt,e as Et}from"./vue-vendor-C7Zq48Yl.js";import{d as bt}from"./antd-vue-vendor-BPnV8VqP.js";import{Q as It}from"./browser-INOPQ3v-.js";import{b as Lt}from"./tableMerge-CpKVscEF.js";import{g as tt,r as nt,n as ct}from"./tableBuilder-lOY0L2dW.js";import{n as qt}from"./freeTableGrid-BXWKfNhh.js";import{r as Ot,b as Ut}from"./freeTableBorders-DHo40MDb.js";import{r as jt,a as Kt,b as Vt}from"./freeTableTracks-CfeiVurn.js";import{_ as yt}from"./index-BI6CMai0.js";function ot(t,e){const r=t.bindField;if(r)return String(r).split(".").reduce((a,o)=>a==null?void 0:a[o],e||{})}function Yt(t,e,r=1,a=1){var s,u,d,c;const o=ot(t,e);if(o!=null&&t.type!=="pageNo")return t.type==="date"?bt(o).format(t.format||"YYYY-MM-DD"):String(o);if(t.type==="date")return bt().format(t.format||"YYYY-MM-DD");if(t.type==="pageNo")return t.text.replace("{{pageNo}}",String(r)).replace("{{totalPages}}",String(a));if((s=t.text)!=null&&s.startsWith("{{")&&((u=t.text)!=null&&u.endsWith("}}"))){const b=t.text.replaceAll("{","").replaceAll("}","").trim();return String((d=tt(e||{},b))!=null?d:"")}return String((c=t.text)!=null?c:"")}function Gt(t,e){return O(this,null,function*(){const r=Math.max(1,Number((t==null?void 0:t.rowCount)||1)),a=Math.max(1,Number((t==null?void 0:t.colCount)||1)),o=Math.max(.01,Number(t==null?void 0:t.w)||.01),s=Math.max(.01,Number(t==null?void 0:t.h)||.01),u=jt(t),d=Kt(t),c=String((t==null?void 0:t.borderColor)||"#d9d9d9"),b=Math.max(1,Number((t==null?void 0:t.borderWidth)||1)),m=`<colgroup>${u.map(n=>`<col style="width:${n}mm;box-sizing:border-box" />`).join("")}</colgroup>`,i=qt(r,a,(t==null?void 0:t.cells)||[]),h=(yield Promise.all(Array.from({length:r},(n,y)=>O(null,null,function*(){var S;const f=(S=d[y])!=null?S:s/r,p=(yield Promise.all(i.filter(g=>g.row===y).sort((g,T)=>g.col-T.col).map(g=>O(null,null,function*(){var Y,J,Q;const T=Math.max(1,Number(g.rowspan||1)),C=Math.max(1,Number(g.colspan||1)),l=String((g==null?void 0:g.bindField)||"").trim(),x=l?(Y=tt(e||{},l))!=null?Y:"":(J=g==null?void 0:g.text)!=null?J:"",$=String(x!=null?x:""),P=String((g==null?void 0:g.contentType)||"text"),M=P==="number"||P==="amount"?it(x,g):$,W=yield Tt(P,P==="image"||P==="qrcode"||P==="barcode"?$:M,g),v=String((g==null?void 0:g.align)||"left"),E=String((g==null?void 0:g.verticalAlign)||"middle"),R=Math.max(8,Number((g==null?void 0:g.fontSize)||((Q=t.style)==null?void 0:Q.fontSize)||12)),q=String((g==null?void 0:g.color)||"#111111"),U=String((g==null?void 0:g.backgroundColor)||"#ffffff"),k=T>1?` rowspan="${T}"`:"",B=C>1?` colspan="${C}"`:"",I=`width:${u.slice(g.col,g.col+C).reduce((j,et)=>j+et,0)}mm;`,A=Ot(t,i,g,g.row,g.col,T,C,r,a),D=Vt(t,g.row,g.col,T,C,r,a),N=Ut(A,b,c,D),z=g.autoWrap===!1;return`<td${k}${B} style="box-sizing:border-box;${N}${I}padding:2mm;text-align:${v};vertical-align:${E};font-size:${R}px;color:${q};background:${U};white-space:${z?"nowrap":"normal"};word-break:${z?"normal":"break-all"};overflow-wrap:${z?"normal":"anywhere"};line-height:${z?`${f}mm`:"1.3"};">${W}</td>`})))).join("");return`<tr style="height:${f}mm;box-sizing:border-box">${p}</tr>`})))).join("");return`<table style="width:${o}mm;border-collapse:collapse;border-spacing:0;table-layout:fixed;box-sizing:border-box;">${m}<tbody>${h}</tbody></
|
||
|
|
<html>
|
||
|
|
<head>
|
||
|
|
<meta charset="utf-8" />
|
||
|
|
<style>
|
||
|
|
@page { size: ${t.page.width}mm ${t.page.height}mm; margin: ${h}; }
|
||
|
|
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}
|
||
|
|
${m}
|
||
|
|
${i}
|
||
|
|
</div>
|
||
|
|
</body>
|
||
|
|
</html>`})}function re(t){if(!Array.isArray(t)||t.length<4)return"0mm";const e=Math.max(0,Number(t[0]||0)),r=Math.max(0,Number(t[1]||0)),a=Math.max(0,Number(t[2]||0)),o=Math.max(0,Number(t[3]||0));return`${e}mm ${r}mm ${a}mm ${o}mm`}function ae(t){var r;const e=(r=t.page)==null?void 0:r.margin;return!Array.isArray(e)||e.length<4?0:Math.max(0,Number(e[0]||0))}function oe(t){var s,u;const e=Math.max(1,Number(((s=t.page)==null?void 0:s.height)||297)),r=(u=t.page)==null?void 0:u.margin;if(!Array.isArray(r)||r.length<4)return e;const a=Math.max(0,Number(r[0]||0)),o=Math.max(0,Number(r[2]||0));return Math.max(10,e-a-o)}function vt(t,e){const a=Number(e.y||0)+Math.max(.01,Number(e.h||1));return t.elements.some(o=>!((o==null?void 0:o.type)!=="freeTable"||(o==null?void 0:o.visible)===!1||o.printRepeated!==!0||Number(o.y||0)>=a-.02))}function mt(t,e,r,a,o,s,u){var i;const d=Math.max(1,Number(((i=t.page)==null?void 0:i.height)||297)),c=e*d;if(e===0||u>1&&vt(t,{y:r,h:a}))return c+Math.max(0,r);const m=ae(t)+(o&&s>0?Math.max(0,s):0);return c+m}const ne=96/25.4,st=ne,ie=1.4,se=1.03;function de(t){return t>=11904&&t<=40959||t>=12352&&t<=12543||t>=44032&&t<=55215||t>=63744&&t<=64255||t>=65280&&t<=65519}function fe(t,e,r){if(!t.length)return 1;let a=0;for(const s of t){const u=s.codePointAt(0);de(u)?a+=1:/\s/.test(s)?a+=.22:a+=.62}a=Math.max(.01,a);const o=Math.max(1.8,e/Math.max(1,r)*.97);return Math.max(1,Math.ceil(a/o))}function ce(t,e,r){const a=Math.max(.01,Number(t.rowHeight||8));let o=a;const s=4,u=1.25;for(const d of r){const c=d.bindField||d.field,b=tt(e||{},c),m=String(d.contentType||"text"),i=Math.max(1,Number(d.width||30)),h=d.autoWrap===!1,n=d!=null&&d.useCustomFontSize?Number((d==null?void 0:d.fontSize)||12):Number(t.bodyFontSize||12),y=ht(d)?it(b,d):String(b!=null?b:""),f=lt(d,y,i,t.rowHeight||8,n);if(m==="qrcode"||m==="barcode"){const x=(d==null?void 0:d.fillCell)!==!1,$=Math.max(10,Math.min(100,Number((d==null?void 0:d.contentScale)||100))),P=x?i*.93:i*($/100)*.93;o=Math.max(o,P+s+u);continue}if(m==="image"){const x=(d==null?void 0:d.fillCell)!==!1,$=Math.max(10,Math.min(100,Number((d==null?void 0:d.contentScale)||100))),P=x?i*.65:i*($/100)*.65;o=Math.max(o,P+s+u*.6);continue}if(h){o=Math.max(o,a);continue}const p=y;if(!p.length){o=Math.max(o,a);continue}const S=i*st,g=Math.max(8,S-2*st*2),T=fe(p,g,f),C=f*1.3,l=T*C/st;o=Math.max(o,l+s,a)}return Math.max(a,o)}function X(t){return Math.max(.01,t*se)}function le(t,e,r){let a=0;const o=Math.min(e+r,t.length);for(let s=e;s<o;s+=1)a+=X(t[s]);return a}function Ct(t,e,r,a){const o=nt(t,r);if(!o.length)return[[]];const s=ct(t),u=o.map(l=>ce(t,l,s)),d=oe(e),c=Math.max(0,Number(t.y||0)),b=Math.max(.01,Number(t.rowHeight||8)),m=t.showHeader?Math.max(0,Number(t.headerHeight||10)):0,i=String(t.footerTotalMode||"overall"),h=t.footerShowTotal===!1,n=!h&&i==="page",y=!h&&i==="overall",f=Math.max(b,6),p=a.repeatHeaderEnabled&&a.repeatHeaderBandMm>0?Math.max(0,a.repeatHeaderBandMm):0,S=vt(e,t),g=[];let T=0,C=0;for(;T<o.length;){const l=o.length-T,x=C===0?d-c-m:S?Math.max(b,d-c-m):Math.max(b,d-m-p),$=Math.max(b,x-ie);let P=$;n&&(P=Math.max(b,$-f));let M=0,w=0;for(;M<l&&w+X(u[T+M])<=P+.02;)w+=X(u[T+M]),M+=1;if(y&&!n&&l<=M){if(le(u,T,l)+f<=$+.02){g.push(o.slice(T,T+l));break}for(P=Math.max(b,$-f),M=0,w=0;M<l&&w+X(u[T+M])<=P+.02;)w+=X(u[T+M]),M+=1}if(M===0&&(M=1),g.push(o.slice(T,T+M)),T+=M,C+=1,C>5e3)break}return g.length?g:[[]]}function he(t,e){const r=Nt(t),a=r.enabled?Pt(t):0,o=t.elements.filter(s=>s.type==="table"||s.type==="detailTable").map(s=>{const u=nt(s,e);if(String((s==null?void 0:s.tableHeightMode)||"autoPage")!=="fixedRows"){const b=Ct(s,t,e,{repeatHeaderBandMm:a,repeatHeaderEnabled:r.enabled});return Math.max(1,b.length)}const c=Math.max(1,Number((s==null?void 0:s.fixedRows)||5));return Math.max(1,Math.ceil(u.length/c))});return Math.max(1,...o)}function Nt(t){const e=t.elements.find(r=>r.type==="reportHeader");return e?e.visible===!1?{visible:!1,enabled:!1,headerId:String(e.id||"")}:{visible:!0,enabled:e.printRepeated===!0,headerId:String(e.id||"")}:{visible:!0,enabled:!1,head
|