2 lines
9.4 KiB
JavaScript
2 lines
9.4 KiB
JavaScript
import{j as le,c as v,a as e,w as n,k as I,F as $,i as c,l as Q,E as _,h as V,r as d,o,m as A,n as u,f as y,p as b,d as w,t as g,B as te,g as ae}from"./index-CeNpw27z.js";import{c as ne}from"./perm-DCTK2KrM.js";import{m as oe,P as se}from"./help-92MqPoF4.js";import{l as ie}from"./stations-DTFB--m9.js";const re={slot:"header",style:{display:"flex","justify-content":"space-between","align-items":"center"}},ue={key:1},de={key:1,style:{color:"#909399"}},pe={slot:"header",style:{display:"flex","justify-content":"space-between","align-items":"center"}},me={key:0,style:{color:"#909399"}},ce={style:{display:"flex",gap:"4px"}},be={__name:"Scan",setup(fe){const L=c("entry"),U=c(1),O=c(20),G=c(0),s=Q({stationNo:1,sn:""}),f=c([]),T=c(""),J=c(!1),r=c(null),E=c(!1),x=Q({sn:"",orderNo:""}),q=c([]),K=c([]);function W(t){switch(t.logic){case"GE":return` ≥${t.target}${t.unit}`;case"LE":return` ≤${t.target}${t.unit}`;case"GT":return` >${t.target}${t.unit}`;case"LT":return` <${t.target}${t.unit}`;case"RANGE":return` [${t.min},${t.max}]${t.unit}`;case"EQUAL":return` =${t.target}${t.unit}`;default:return t.name||""}}async function B(){if(!s.sn)return _.warning("请先输入工件SN");r.value=null;try{const t=await V.get("/process-steps",{params:{stationNo:s.stationNo}})||[];f.value=t.map(a=>({...a,value:"",text:""})),T.value="",f.value.length||_.warning(`工位${s.stationNo} 未配置启用的工艺流程,请到「工艺流程」维护`),F()}catch{f.value=[]}}async function F(){if(s.sn)try{const t=await V.get("/bind-panel",{params:{sn:s.sn,processCode:s.stationNo}})||null;t!=null&&t.required&&t.required.forEach(a=>{a._input=""}),r.value=t}catch{r.value=null}}async function R(t){const a=(t._input||"").trim();if(!a)return _.warning("请先输入绑定值(电气件扫码SN / 结构件批次号)");E.value=!0;try{await V.post("/binds",{sn:s.sn,orderNo:"",processCode:s.stationNo,stationNo:s.stationNo,items:[{materialCode:t.materialCode,bindValue:a}]}),_.success("绑定成功"),F()}catch{}E.value=!1}async function X(){var a,S;if(!s.sn)return _.warning("请输入SN");if(!f.value.length)return _.warning("该工位未配置工艺步骤,无法报工");if((a=r.value)!=null&&a.enabled&&!((S=r.value)!=null&&S.complete))return _.warning("装配物料未绑齐,请先完成装机绑定:"+(r.value.missing||""));const t=f.value.filter(m=>m.collectType!=="NONE"&&(m.text!==""||m.value!=="")).map(m=>({stepId:m.id,name:m.name,value:Number(m.value)||0,text:m.text||String(m.value||"")}));await V.post("/workpiece/process/report",{sn:s.sn,processCode:s.stationNo,stationNo:s.stationNo,steps:t}),_.success("报工成功"),f.value=[],r.value=null,Object.assign(s,{sn:""}),C()}async function C(){const t=await V.get("/scan/records",{params:{...x,page:U.value,pageSize:O.value}});q.value=(t==null?void 0:t.list)||[],G.value=(t==null?void 0:t.total)||0}function Y(t){t==="records"&&!q.value.length&&C()}return le(async()=>{K.value=await ie(),s.stationNo&&B()}),(t,a)=>{const S=d("el-option"),m=d("el-select"),N=d("el-form-item"),k=d("el-input"),h=d("el-tag"),D=d("el-form"),M=d("el-button"),i=d("el-table-column"),P=d("el-table"),j=d("el-card"),z=d("el-alert"),H=d("el-tab-pane"),Z=d("el-pagination"),ee=d("el-tabs");return o(),v($,null,[e(j,null,{default:n(()=>[e(ee,{modelValue:L.value,"onUpdate:modelValue":a[5]||(a[5]=l=>L.value=l),onTabChange:Y},{default:n(()=>[e(H,{label:"报工录入",name:"entry"},{default:n(()=>[e(D,{inline:""},{default:n(()=>[e(N,{label:"工位"},{default:n(()=>[e(m,{modelValue:s.stationNo,"onUpdate:modelValue":a[0]||(a[0]=l=>s.stationNo=l),placeholder:"请选择工位",style:{width:"120px"},onChange:B},{default:n(()=>[(o(!0),v($,null,A(K.value,l=>(o(),u(S,{key:l,value:l,label:`工位${l}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(N,{label:"工件SN"},{default:n(()=>[e(k,{modelValue:s.sn,"onUpdate:modelValue":a[1]||(a[1]=l=>s.sn=l),placeholder:"扫码或手输",style:{width:"190px"},onChange:B},null,8,["modelValue"])]),_:1}),e(N,null,{default:n(()=>[f.value.length?(o(),u(h,{key:0,type:"success",size:"small"},{default:n
|