Files
bj_power/bj_power_mes/public_bak_20260918215750/assets/QualityInspection-ChQnPrIW.js
T
SunYF 37f10d3a13 refactor: 重构产线工位与备料流程,移除冗余字段
1. 移除工单、工件、日排产中的冗余工位组合/接驳台字段
2. 新增工位接驳台编码字段与唯一约束,关联WMS接驳台主数据
3. 重构日排产为工位产量分配模式,替代原接驳台列表
4. 新增备料单工位级字段与分批出库支持
5. 移除定时同步可生产数量,改为WMS实时拉取接口
6. 过滤操作日志,排除登录/退出相关日志
7. 调整仪表盘工序展示逻辑为今日派工路线
8. 新增接驳台维护菜单与基础数据
2026-09-19 07:50:21 +08:00

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"),ye=d("el-radio-group"),I=d("el-dialog"),be=d("el-empty"),M=Ve("loading");return f(),N(L,null,[ge("div",null,[l(fe,null,{default:t(()=>[l(k,{modelValue:R.value,"onUpdate:modelValue":e[0]||(e[0]=a=>R.value=a),onTabChange:Z},{default:t(()=>[l(s,{label:"过程检",name:"QC_PROCESS"}),l(s,{label:"完工检",name:"FINAL"})]),_:1},8,["modelValue"]),l(j,{inline:""},{default:t(()=>[l(r,{label:"图号"},{default:t(()=>[l(m,{modelValue:c.materialCode,"onUpdate:modelValue":e[1]||(e[1]=a=>c.materialCode=a),placeholder:"模糊查询",clearable:"",style:{width:"150px"},onKeyup:P(v,["enter"])},null,8,["modelValue"])]),_:1}),l(r,{label:"物料名称"},{default:t(()=>[l(m,{modelValue:c.materialName,"onUpdate:modelValue":e[2]||(e[2]=a=>c.materialName=a),placeholder:"模糊查询",clearable:"",style:{width:"150px"},onKeyup:P(v,["enter"])},null,8,["modelValue"])]),_:1}),l(r,{label:"报检单号"},{default:t(()=>[l(m,{modelValue:c.reportNo,"onUpdate:modelValue":e[3]||(e[3]=a=>c.reportNo=a),placeholder:"模糊查询",clearable:"",style:{width:"150px"},onKeyup:P(v,["enter"])},null,8,["modelValue"])]),_:1}),l(r,{label:"记录日期"},{default:t(()=>[l(pe,{modelValue:c.range,"onUpdate:modelValue":e[4]||(e[4]=a=>c.range=a),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"250px"},onChange:v},null,8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(b,{type:"primary",onClick:v},{default:t(()=>[...e[23]||(e[23]=[i("查询",-1)])]),_:1}),z(J)("produce.quality:edit")?(f(),_(b,{key:0,onClick:ee},{default:t(()=>[...e[24]||(e[24]=[i("新建检验",-1)])]),_:1})):C("",!0)]),_:1})]),_:1}),Y((f(),_(G,{data:B.value,border:"",stripe:"",size:"small"},{default:t(()=>[l(p,{prop:"reportNo",label:"报检单号","min-width":"140","show-overflow-tooltip":""}),l(p,{prop:"materialCode",label:"图号","min-width":"120","show-overflow-tooltip":""}),l(p,{prop:"materialName",label:"物料名称","min-width":"120","show-overflow-tooltip":""}),l(p,{prop:"manufacturer",label:"生产厂家","min-width":"120","show-overflow-tooltip":""}),l(p,{prop:"inspectionNo",label:"检验单号","min-width":"120","show-overflow-tooltip":""}),l(p,{label:"结论",width:"90",align:"center"},{default:t(({row:a})=>[l(Q,{type:a.result==="NG"?"danger":"success",effect:"plain"},{default:t(()=>[i(h(a.result==="NG"?"不合格":"合格"),1)]),_:2},1032,["type"])]),_:1}),l(p,{prop:"disposalType",label:"处置方式",width:"100"},{default:t(({row:a})=>[i(h(a.disposalType||"-"),1)]),_:1}),l(p,{prop:"disposalRemark",label:"处置说明","min-width":"130","show-overflow-tooltip":""},{default:t(({row:a})=>[i(h(a.disposalRemark||"-"),1)]),_:1}),l(p,{prop:"operator",label:"记录人",width:"100"}),l(p,{label:"记录日期",width:"160"},{default:t(({row:a})=>[i(h(z(W)(a.createdAt)),1)]),_:1}),l(p,{label:"操作",width:"260",fixed:"right"},{default:t(({row:a})=>[l(b,{size:"small",onClick:S=>se(a)},{default:t(()=>[...e[25]||(e[25]=[i("附件",-1)])]),_:1},8,["onClick"]),a.result==="NG"?(f(),N(L,{key:0},[l(b,{size:"small",type:"warning",onClick:S=>ie(a)},{default:t(()=>[...e[26]||(e[26]=[i("不合格单",-1)])]),_:1},8,["onClick"]),z(J)("produce.quality:edit")?(f(),_(b,{key:0,size:"small",type:"primary",onClick:S=>re(a)},{default:t(()=>[...e[27]||(e[27]=[i("处置",-1)])]),_:1},8,["onClick"])):C("",!0)],64)):C("",!0)]),_:1})]),_:1},8,["data"])),[[M,D.value]]),l(me,{style:{"margin-top":"12px","justify-content":"flex-end"},background:"",layout:"total, sizes, prev, pager, next",total:K.value,"page-sizes":[20,50,100],"page-size":$.value,"onUpdate:pageSize":e[5]||(e[5]=a=>$.value=a),"current-page":O.value,"onUpdate:currentPage":e[6]||(e[6]=a=>O.value=a),onCurrentChange:x,onSizeChange:v},null,8,["total","page-size","current-page"])]),_:1}),l(I,{modelValue:o.show,"onUpdate:modelValue":e[17]||(e[17]=a=>o.show=a),title:X.value+"录入",width:"620px"},{footer:t(()=>[l(b,{onClick:e[16]||(e[16]=a=>o.show=!1)},{default:t(()=>[...e[31]||(e[31]=[i("取消",-1)])]),_:1}),l(b,{type:"primary",onClick:ne},{default:t(()=>[...e[32]||(e[32]=[i("保存",-1)])]),_:1})]),default:t(()=>[l(j,{model:o,"label-width":"100px"},{default:t(()=>[l(r,{label:"图号"},{default:t(()=>[l(A,{modelValue:o.materialCode,"onUpdate:modelValue":e[7]||(e[7]=a=>o.materialCode=a),filterable:"",remote:"","reserve-keyword":"",placeholder:"输入图号或名称检索物料清单","remote-method":le,loading:E.value,style:{width:"100%"},onChange:ae},{default:t(()=>[(f(!0),N(L,null,H(T.value,a=>(f(),_(V,{key:a.id,label:`${a.materialCode} / ${a.materialName}`,value:a.materialCode},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),l(r,{label:"物料名称"},{default:t(()=>[l(m,{modelValue:o.materialName,"onUpdate:modelValue":e[8]||(e[8]=a=>o.materialName=a),placeholder:"选图号后自动带出,可手改"},null,8,["modelValue"])]),_:1}),l(r,{label:"报检单号"},{default:t(()=>[l(m,{modelValue:o.reportNo,"onUpdate:modelValue":e[9]||(e[9]=a=>o.reportNo=a),placeholder:"系统自动生成,可修改"},null,8,["modelValue"])]),_:1}),l(r,{label:"生产厂家"},{default:t(()=>[l(m,{modelValue:o.manufacturer,"onUpdate:modelValue":e[10]||(e[10]=a=>o.manufacturer=a),placeholder:"请输入生产厂家"},null,8,["modelValue"])]),_:1}),l(r,{label:"检验单号"},{default:t(()=>[l(m,{modelValue:o.inspectionNo,"onUpdate:modelValue":e[11]||(e[11]=a=>o.inspectionNo=a),placeholder:"请输入检验单号"},null,8,["modelValue"])]),_:1}),l(r,{label:"附件"},{default:t(()=>[l(ce,{action:"#","show-file-list":!1,"http-request":te,multiple:""},{default:t(()=>[l(b,null,{default:t(()=>[...e[28]||(e[28]=[i("选择文件上传",-1)])]),_:1})]),_:1}),o.attachments.length?(f(),N("div",Ce,[(f(!0),N(L,null,H(o.attachments,a=>(f(),_(Q,{key:a.id,closable:"",size:"small",style:{"margin-right":"6px"},onClose:S=>oe(a)},{default:t(()=>[i(h(a.fileName),1)]),_:2},1032,["onClose"]))),128))])):C("",!0)]),_:1}),l(r,{label:"检验结论"},{default:t(()=>[l(ye,{modelValue:o.result,"onUpdate:modelValue":e[12]||(e[12]=a=>o.result=a)},{default:t(()=>[l(F,{value:"OK"},{default:t(()=>[...e[29]||(e[29]=[i("合格",-1)])]),_:1}),l(F,{value:"NG"},{default:t(()=>[...e[30]||(e[30]=[i("不合格",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.result==="NG"?(f(),N(L,{key:0},[l(r,{label:"处置方式"},{default:t(()=>[l(A,{modelValue:o.disposalType,"onUpdate:modelValue":e[13]||(e[13]=a=>o.disposalType=a),placeholder:"请选择处置方式",style:{width:"100%"}},{default:t(()=>[l(V,{label:"退货",value:"退货"}),l(V,{label:"返修",value:"返修"}),l(V,{label:"退换",value:"退换"})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"处置说明"},{default:t(()=>[l(m,{modelValue:o.disposalRemark,"onUpdate:modelValue":e[14]||(e[14]=a=>o.disposalRemark=a),type:"textarea",rows:2,placeholder:"处置说明(可空)"},null,8,["modelValue"])]),_:1})],64)):C("",!0),l(r,{label:"备注"},{default:t(()=>[l(m,{modelValue:o.remark,"onUpdate:modelValue":e[15]||(e[15]=a=>o.remark=a),type:"textarea",rows:2,placeholder:"检验描述 / 签字(可空)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(I,{modelValue:u.show,"onUpdate:modelValue":e[21]||(e[21]=a=>u.show=a),title:"不合格处置",width:"480px"},{footer:t(()=>[l(b,{onClick:e[20]||(e[20]=a=>u.show=!1)},{default:t(()=>[...e[33]||(e[33]=[i("取消",-1)])]),_:1}),l(b,{type:"primary",onClick:de},{default:t(()=>[...e[34]||(e[34]=[i("保存",-1)])]),_:1})]),default:t(()=>[l(j,{model:u,"label-width":"90px"},{default:t(()=>[l(r,{label:"报检单号"},{default:t(()=>[l(m,{"model-value":u.reportNo,disabled:""},null,8,["model-value"])]),_:1}),l(r,{label:"处置方式"},{default:t(()=>[l(A,{modelValue:u.disposalType,"onUpdate:modelValue":e[18]||(e[18]=a=>u.disposalType=a),placeholder:"请选择处置方式",style:{width:"100%"}},{default:t(()=>[l(V,{label:"退货",value:"退货"}),l(V,{label:"返修",value:"返修"}),l(V,{label:"退换",value:"退换"})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"处置说明"},{default:t(()=>[l(m,{modelValue:u.disposalRemark,"onUpdate:modelValue":e[19]||(e[19]=a=>u.disposalRemark=a),type:"textarea",rows:3,placeholder:"处置说明(可空)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(I,{modelValue:y.show,"onUpdate:modelValue":e[22]||(e[22]=a=>y.show=a),title:"检验附件",width:"560px"},{default:t(()=>[Y((f(),_(G,{data:y.list,border:"",size:"small"},{default:t(()=>[l(p,{prop:"fileName",label:"文件名","min-width":"180","show-overflow-tooltip":""}),l(p,{prop:"uploader",label:"上传人",width:"100"}),l(p,{label:"上传时间",width:"170"},{default:t(({row:a})=>[i(h(z(W)(a.createdAt)),1)]),_:1}),l(p,{label:"操作",width:"90"},{default:t(({row:a})=>[l(b,{size:"small",type:"primary",onClick:S=>ue(a)},{default:t(()=>[...e[35]||(e[35]=[i("下载",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[M,y.loading]]),!y.loading&&!y.list.length?(f(),_(be,{key:0,description:"暂无附件"})):C("",!0)]),_:1},8,["modelValue"])]),l(Ne,{data:z(ke),page:"QualityInspection"},null,8,["data"])],64)}}};export{ze as default};