2 lines
13 KiB
JavaScript
2 lines
13 KiB
JavaScript
import{j as we,c as N,d as ge,a as l,w as t,k as z,F as L,h as w,r as d,x as ve,l as q,i as g,z as Ve,o as f,g as P,f as i,n as _,p as C,A as Y,t as h,m as H,E as U,C as _e}from"./index-CeNpw27z.js";import{c as J}from"./perm-DCTK2KrM.js";import{f as W}from"./format-Cv489sdL.js";import{k as ke,P as Ne}from"./help-92MqPoF4.js";const Ce={key:0,style:{"margin-top":"6px"}},ze={__name:"QualityInspection",setup(he){const R=g("QC_PROCESS"),X=ve(()=>R.value==="FINAL"?"完工检":"过程检"),c=q({materialCode:"",materialName:"",reportNo:"",range:null}),B=g([]),K=g(0),O=g(1),$=g(20),D=g(!1);async function x(){D.value=!0;try{const[n,e]=c.range||[],s={category:R.value,materialCode:c.materialCode||"",materialName:c.materialName||"",reportNo:c.reportNo||"",from:n||"",to:e||"",page:O.value,pageSize:$.value},k=await w.get("/inspections",{params:s})||{};B.value=k.list||[],K.value=k.total||0}finally{D.value=!1}}function v(){O.value=1,x()}function Z(){v()}const o=q({show:!1,category:"QC_PROCESS",reportNo:"",materialCode:"",materialName:"",manufacturer:"",inspectionNo:"",result:"OK",disposalType:"",disposalRemark:"",remark:"",attachments:[]}),T=g([]),E=g(!1);function ee(){Object.assign(o,{show:!0,category:R.value,reportNo:`RQ${Date.now()}`,materialCode:"",materialName:"",manufacturer:"",inspectionNo:"",result:"OK",disposalType:"",disposalRemark:"",remark:"",attachments:[]}),T.value=[]}async function le(n){if(!n){T.value=[];return}E.value=!0;try{T.value=await w.get("/quality/bom-material",{params:{keyword:n}})||[]}finally{E.value=!1}}function ae(n){const e=T.value.find(s=>s.materialCode===n);e&&(o.materialName=e.materialName||o.materialName)}async function te(n){const e=new FormData;e.append("file",n.file),e.append("bizType","quality"),e.append("bizId",o.reportNo);try{const s=await w.post("/attachment/upload",e);o.attachments.push(s),n.onSuccess&&n.onSuccess(),U.success("附件已上传")}catch(s){n.onError&&n.onError(s)}}async function oe(n){await w.post("/attachment/delete",{id:n.id}),o.attachments=o.attachments.filter(e=>e.id!==n.id)}async function ne(){if(!o.materialCode)return U.warning("请选择图号");const n={category:o.category,reportNo:o.reportNo,materialCode:o.materialCode,materialName:o.materialName,manufacturer:o.manufacturer,inspectionNo:o.inspectionNo,result:o.result,remark:o.remark,attachmentIds:o.attachments.map(e=>e.id).join(",")};o.result==="NG"&&(n.disposalType=o.disposalType,n.disposalRemark=o.disposalRemark),await w.post("/inspections",n),U.success("检验记录已保存"),o.show=!1,x()}const u=q({show:!1,id:0,reportNo:"",disposalType:"",disposalRemark:""});function re(n){Object.assign(u,{show:!0,id:n.id,reportNo:n.reportNo,disposalType:n.disposalType||"",disposalRemark:n.disposalRemark||""})}async function de(){if(!u.disposalType)return U.warning("请选择处置方式");await w.post("/quality/disposal",{id:u.id,disposalType:u.disposalType,disposalRemark:u.disposalRemark}),U.success("处置已记录"),u.show=!1,x()}async function ie(n){const e=await w.get("/quality/unqualified-report",{params:{id:n.id},responseType:"blob"}),s=document.createElement("a");s.href=URL.createObjectURL(e),s.download=`不合格单_${n.reportNo||n.id}.xlsx`,s.click(),URL.revokeObjectURL(s.href)}const y=q({show:!1,loading:!1,list:[]});async function se(n){y.show=!0,y.loading=!0,y.list=[];try{y.list=await w.get("/attachments",{params:{bizType:"quality",bizId:n.reportNo}})||[]}finally{y.loading=!1}}async function ue(n){const e=_e(),s=await fetch("/api/v1/attachment/download?name="+encodeURIComponent(n.filePath),{headers:{Authorization:"Bearer "+e}});if(!s.ok){U.error("下载失败");return}const k=await s.blob(),m=URL.createObjectURL(k),r=document.createElement("a");r.href=m,r.download=n.fileName||"file",r.click(),URL.revokeObjectURL(m)}return we(x),(n,e)=>{const s=d("el-tab-pane"),k=d("el-tabs"),m=d("el-input"),r=d("el-form-item"),pe=d("el-date-picker"),b=d("el-button"),j=d("el-form"),p=d("el-table-column"),Q=d("el-tag"),G=d("el-table"),me=d("el-pagination"),fe=d("el-card"),V=d("el-option"),A=d("el-select"),ce=d("el-upload"),F=d("el-radio"),y
|