Files
qhmes/web-dist/js/MesRawMaterialInspectStdPrintPreviewModal-C9WrZR0J.js
2026-06-16 18:19:57 +08:00

2 lines
3.7 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 S=(f,w,s)=>new Promise((_,i)=>{var d=o=>{try{c(s.next(o))}catch(n){i(n)}},y=o=>{try{c(s.throw(o))}catch(n){i(n)}},c=o=>o.done?_(o.value):Promise.resolve(o.value).then(d,y);c((s=s.apply(f,w)).next())});import{M as I,s as B,aH as J,bL as T,aE as D,x as H,au as V}from"./index-X7Y8jykP.js";import{p as O}from"./MesRawMaterialInspectStd.api-CTjxGsjY.js";import{n as R,r as z}from"./nativeSchemaNormalize-WzV7gGZh.js";import{e as A,h as L,y as M,z as m,A as u,c as k,K as $,f as v,Q as G,r as h,C as g,G as K,H as Q,E as x,u as U}from"./vue-vendor-DNhG1Cve.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./browser-D2DxMZOB.js";import"./tableMerge-CpKVscEF.js";import"./tableBuilder-lOY0L2dW.js";import"./freeTableGrid-BXWKfNhh.js";import"./freeTableBorders-i5ck0FPH.js";import"./freeTableTracks--U1Y5u-V.js";import"./barcodeRenderer-cjxjmb-t.js";const W={key:0,class:"preview-error"},j={key:1,class:"preview-body"},q=["srcdoc"],F={class:"preview-footer"},X=A({__name:"MesRawMaterialInspectStdPrintPreviewModal",props:{open:{type:Boolean},stdId:{},standardNo:{}},emits:["update:open"],setup(f,{emit:w}){const s=f,_=w,{createMessage:i}=B(),d=k({get:()=>s.open,set:t=>_("update:open",t)}),y=k(()=>{const t=String(s.standardNo||"").trim();return t?`原材料检验标准打印预览(标准编号:${t}`:"原材料检验标准打印预览"}),c=h(!1),o=h(""),n=h("");function P(t){return S(this,null,function*(){c.value=!0,o.value="",n.value="";try{const e=yield O(t),a=e.templateJson,l=e.printData;if(!a)throw new Error("模板 JSON 为空请检查业务打印绑定是否已配置");let p;try{p=typeof a=="string"?JSON.parse(a):a}catch(C){throw new Error("模板 JSON 格式错误")}const r=R(p);n.value=yield z(r,l)}catch(e){o.value=e instanceof Error?e.message:String(e)}finally{c.value=!1}})}function E(){const t=n.value;if(!(t!=null&&t.trim())){i.warning("预览未就绪请稍后再试");return}const e=document.createElement("iframe");e.setAttribute("style","position:fixed;left:0;top:0;width:0;height:0;border:0;opacity:0;pointer-events:none;"),document.body.appendChild(e);const a=e.contentDocument;if(!a){document.body.removeChild(e),i.error("无法创建打印文档");return}try{a.open(),a.write(t),a.close()}catch(r){document.body.removeChild(e),i.error("写入打印内容失败");return}const l=()=>{try{e.parentNode&&document.body.removeChild(e)}catch(r){}},p=()=>{try{const r=e.contentWindow;if(!r){i.error("无法唤起打印窗口"),l();return}r.focus(),r.print(),r.addEventListener("afterprint",l,{once:!0}),window.setTimeout(l,12e4)}catch(r){i.error("无法唤起打印请检查浏览器弹窗/打印权限"),l()}};window.setTimeout(p,100)}function b(){o.value="",n.value=""}return L(()=>[s.open,s.stdId],([t,e])=>{t&&e&&P(e),t||b()}),(t,e)=>{const a=T,l=J,p=$("a-button"),r=D,C=I;return m(),M(C,{open:d.value,"onUpdate:open":e[1]||(e[1]=N=>d.value=N),title:y.value,width:"960px",footer:null,"destroy-on-close":"","wrap-class-name":"mes-raw-material-inspect-std-print-preview-modal",onCancel:b},{default:u(()=>[v(l,{spinning:c.value},{default:u(()=>[o.value?(m(),g("div",W,K(o.value),1)):(m(),g("div",j,[n.value?(m(),g("iframe",{key:0,class:"preview-iframe",title:"原材料检验标准打印预览",srcdoc:n.value},null,8,q)):c.value?Q("",!0):(m(),M(a,{key:1,description:"暂无预览内容"}))]))]),_:1},8,["spinning"]),G("div",F,[v(r,null,{default:u(()=>[v(p,{onClick:e[0]||(e[0]=N=>d.value=!1)},{default:u(()=>[...e[2]||(e[2]=[x("关闭",-1)])]),_:1}),v(p,{type:"primary",disabled:!n.value||!!o.value,onClick:E},{default:u(()=>[v(U(H),{icon:"ant-design:printer-outlined"}),e[3]||(e[3]=x(" 浏览器打印 ",-1))]),_:1},8,["disabled"])]),_:1})])]),_:1},8,["open","title"])}}}),de=V(X,[["__scopeId","data-v-c2d5daee"]]);export{de as default};