初始化2

This commit is contained in:
SunYF
2026-08-28 15:06:01 +08:00
parent b34325a16f
commit a9c3fbeb41
537 changed files with 176215 additions and 17 deletions
@@ -0,0 +1 @@
import{j as c,h as b,m as Q,w as t,i as k,r as n,o as v,a as e,c as S,F as j,l as z,f as r,t as F,E as U,n as $,k as A}from"./index-1i-O4UWQ.js";const G={__name:"Bom",setup(D){const i=k(""),N=k([]),w=k([]),a=A({show:!1,materialCode:"",materialName:"",spec:"",unit:"",manageMode:"2",unitQty:1,lossRate:0,requiredQty:1});async function f(){if(!i.value)return U.warning("请选择/输入工单号");w.value=await b.get("/bom",{params:{workOrderNo:i.value}})||[]}function O(){Object.assign(a,{show:!0,materialCode:"",materialName:"",spec:"",unit:"",manageMode:"2",unitQty:1,lossRate:0,requiredQty:1})}async function x(){await b.put("/bom",{workOrderNo:i.value,items:[a]}),U.success("保存成功"),a.show=!1,f()}async function q(C){await $.confirm("确认移除该物料?","提示",{type:"warning"});const l=w.value.filter(p=>p.id!==C.id).map(({materialCode:p,materialName:V,spec:d,unit:m,manageMode:_,unitQty:u,lossRate:y,requiredQty:s})=>({materialCode:p,materialName:V,spec:d,unit:m,manageMode:_,unitQty:u,lossRate:y,requiredQty:s}));await b.put("/bom",{workOrderNo:i.value,items:l}),await f()}return c(async()=>{N.value=await b.get("/work-orders")||[]}),(C,l)=>{const p=n("el-option"),V=n("el-select"),d=n("el-form-item"),m=n("el-button"),_=n("el-form"),u=n("el-table-column"),y=n("el-table"),s=n("el-input"),M=n("el-radio"),B=n("el-radio-group"),g=n("el-input-number"),R=n("el-dialog"),E=n("el-card");return v(),Q(E,null,{default:t(()=>[e(_,{inline:""},{default:t(()=>[e(d,{label:"工单号"},{default:t(()=>[e(V,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=o=>i.value=o),filterable:"","allow-create":"","default-first-option":"",style:{width:"220px"},onChange:f},{default:t(()=>[(v(!0),S(j,null,z(N.value,o=>(v(),Q(p,{key:o.workOrderNo,label:o.workOrderNo,value:o.workOrderNo},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(d,null,{default:t(()=>[e(m,{type:"primary",onClick:f},{default:t(()=>[...l[11]||(l[11]=[r("查询",-1)])]),_:1}),e(m,{onClick:O},{default:t(()=>[...l[12]||(l[12]=[r("添加物料",-1)])]),_:1})]),_:1})]),_:1}),e(y,{data:w.value,border:"",size:"small"},{default:t(()=>[e(u,{prop:"materialCode",label:"物料编码","min-width":"120"}),e(u,{prop:"materialName",label:"物料名称","min-width":"120"}),e(u,{prop:"spec",label:"规格"}),e(u,{prop:"unit",label:"单位",width:"70"}),e(u,{prop:"manageMode",label:"管理方式",width:"100"},{default:t(({row:o})=>[r(F(o.manageMode==="1"?"精密件(SN)":"结构件(批次)"),1)]),_:1}),e(u,{prop:"unitQty",label:"单台用量",width:"90"}),e(u,{prop:"lossRate",label:"损耗率%",width:"90"}),e(u,{prop:"requiredQty",label:"需求量",width:"90"}),e(u,{label:"操作",width:"90"},{default:t(({row:o})=>[e(m,{size:"small",type:"danger",onClick:L=>q(o)},{default:t(()=>[...l[13]||(l[13]=[r("移除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),e(R,{modelValue:a.show,"onUpdate:modelValue":l[10]||(l[10]=o=>a.show=o),title:"添加BOM物料",width:"520px"},{footer:t(()=>[e(m,{onClick:l[9]||(l[9]=o=>a.show=!1)},{default:t(()=>[...l[16]||(l[16]=[r("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:x},{default:t(()=>[...l[17]||(l[17]=[r("保存",-1)])]),_:1})]),default:t(()=>[e(_,{model:a,"label-width":"90px"},{default:t(()=>[e(d,{label:"物料编码"},{default:t(()=>[e(s,{modelValue:a.materialCode,"onUpdate:modelValue":l[1]||(l[1]=o=>a.materialCode=o)},null,8,["modelValue"])]),_:1}),e(d,{label:"物料名称"},{default:t(()=>[e(s,{modelValue:a.materialName,"onUpdate:modelValue":l[2]||(l[2]=o=>a.materialName=o)},null,8,["modelValue"])]),_:1}),e(d,{label:"规格"},{default:t(()=>[e(s,{modelValue:a.spec,"onUpdate:modelValue":l[3]||(l[3]=o=>a.spec=o)},null,8,["modelValue"])]),_:1}),e(d,{label:"单位"},{default:t(()=>[e(s,{modelValue:a.unit,"onUpdate:modelValue":l[4]||(l[4]=o=>a.unit=o)},null,8,["modelValue"])]),_:1}),e(d,{label:"管理方式"},{default:t(()=>[e(B,{modelValue:a.manageMode,"onUpdate:modelValue":l[5]||(l[5]=o=>a.manageMode=o)},{default:t(()=>[e(M,{label:"1"},{default:t(()=>[...l[14]||(l[14]=[r("精密件(SN)",-1)])]),_:1}),e(M,{label:"2"},{default:t(()=>[...l[15]||(l[15]=[r("结构件(批次)",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(d,{label:"单台用量"},{default:t(()=>[e(g,{modelValue:a.unitQty,"onUpdate:modelValue":l[6]||(l[6]=o=>a.unitQty=o),min:0},null,8,["modelValue"])]),_:1}),e(d,{label:"损耗率%"},{default:t(()=>[e(g,{modelValue:a.lossRate,"onUpdate:modelValue":l[7]||(l[7]=o=>a.lossRate=o),min:0},null,8,["modelValue"])]),_:1}),e(d,{label:"需求量"},{default:t(()=>[e(g,{modelValue:a.requiredQty,"onUpdate:modelValue":l[8]||(l[8]=o=>a.requiredQty=o),min:0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])]),_:1})}}};export{G as default};
@@ -0,0 +1 @@
import{j as x,m as h,w as o,h as k,r as a,i,k as N,o as T,a as e,g as _,f as z}from"./index-1i-O4UWQ.js";const U={__name:"EventLog",setup(C){const n=N({orderNo:"",operator:"",eventType:""}),c=i([]),b=i(0),s=i(1),y=i(20);async function u(){const r=await k.get("/event-logs",{params:{...n,page:s.value,pageSize:y.value}});c.value=(r==null?void 0:r.list)||[],b.value=(r==null?void 0:r.total)||0}return x(u),(r,t)=>{const m=a("el-input"),d=a("el-form-item"),g=a("el-button"),f=a("el-form"),l=a("el-table-column"),v=a("el-table"),w=a("el-pagination"),V=a("el-card");return T(),h(V,null,{default:o(()=>[e(f,{inline:""},{default:o(()=>[e(d,{label:"工单号"},{default:o(()=>[e(m,{modelValue:n.orderNo,"onUpdate:modelValue":t[0]||(t[0]=p=>n.orderNo=p),clearable:"",style:{width:"180px"},onKeyup:_(u,["enter"])},null,8,["modelValue"])]),_:1}),e(d,{label:"操作人"},{default:o(()=>[e(m,{modelValue:n.operator,"onUpdate:modelValue":t[1]||(t[1]=p=>n.operator=p),clearable:"",style:{width:"120px"},onKeyup:_(u,["enter"])},null,8,["modelValue"])]),_:1}),e(d,{label:"类型"},{default:o(()=>[e(m,{modelValue:n.eventType,"onUpdate:modelValue":t[2]||(t[2]=p=>n.eventType=p),clearable:"",style:{width:"180px"},onKeyup:_(u,["enter"])},null,8,["modelValue"])]),_:1}),e(d,null,{default:o(()=>[e(g,{type:"primary",onClick:u},{default:o(()=>[...t[4]||(t[4]=[z("查询",-1)])]),_:1})]),_:1})]),_:1}),e(v,{data:c.value,border:"",size:"small"},{default:o(()=>[e(l,{prop:"id",label:"ID",width:"60"}),e(l,{prop:"eventType",label:"事件类型","min-width":"150"}),e(l,{prop:"workOrderNo",label:"工单号","min-width":"130"}),e(l,{prop:"description",label:"描述","min-width":"160"}),e(l,{prop:"entityType",label:"实体",width:"130"}),e(l,{prop:"entityId",label:"实体ID",width:"120"}),e(l,{prop:"operator",label:"操作人",width:"90"}),e(l,{prop:"createdAt",label:"时间","min-width":"170"})]),_:1},8,["data"]),e(w,{"current-page":s.value,"onUpdate:currentPage":t[3]||(t[3]=p=>s.value=p),"page-size":y.value,total:b.value,layout:"total, prev, pager, next",background:"",style:{"margin-top":"10px"},onCurrentChange:u},null,8,["current-page","page-size","total"])]),_:1})}}};export{U as default};
@@ -0,0 +1 @@
import{_ as V,c as x,a as o,w as t,r as s,u as k,b as S,o as b,d as E,e as N,f as d,g as z,E as B,h as _,s as C,i as p}from"./index-1i-O4UWQ.js";const L={class:"login-wrap"},M={__name:"Login",setup(q){const f=k(),g=S(),a=p("admin"),l=p(""),n=p(!1);async function r(){if(!a.value||!l.value)return B.warning("请输入账号和密码");n.value=!0;try{const u=await _.post("/login",{username:a.value,password:l.value});C(u.accessToken,{username:a.value});const e=await _.get("/userinfo");localStorage.setItem("user",JSON.stringify(e)),f.replace(g.query.redirect||"/work-order")}catch{}finally{n.value=!1}}return(u,e)=>{const m=s("el-input"),c=s("el-form-item"),v=s("el-button"),w=s("el-form"),y=s("el-card");return b(),x("div",L,[o(y,{class:"login-card"},{default:t(()=>[e[5]||(e[5]=E("h2",{class:"title"},"MES 产线控制",-1)),o(w,{onSubmit:N(r,["prevent"])},{default:t(()=>[o(c,null,{default:t(()=>[o(m,{modelValue:a.value,"onUpdate:modelValue":e[0]||(e[0]=i=>a.value=i),placeholder:"用户名",size:"large"},{prefix:t(()=>[...e[2]||(e[2]=[d("👤",-1)])]),_:1},8,["modelValue"])]),_:1}),o(c,null,{default:t(()=>[o(m,{modelValue:l.value,"onUpdate:modelValue":e[1]||(e[1]=i=>l.value=i),type:"password",placeholder:"密码",size:"large","show-password":"",onKeyup:z(r,["enter"])},{prefix:t(()=>[...e[3]||(e[3]=[d("🔒",-1)])]),_:1},8,["modelValue"])]),_:1}),o(v,{type:"primary",size:"large",style:{width:"100%"},loading:n.value,onClick:r},{default:t(()=>[...e[4]||(e[4]=[d("登 录",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})])}}},K=V(M,[["__scopeId","data-v-ee01258d"]]);export{K as default};
@@ -0,0 +1 @@
.login-wrap[data-v-ee01258d]{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f3b73,#2d5aa0)}.login-card[data-v-ee01258d]{width:360px;padding:10px 20px}.title[data-v-ee01258d]{text-align:center;margin:6px 0 24px;color:#333}
@@ -0,0 +1 @@
import{j as N,m as h,w as o,k,h as c,r as n,i as q,o as M,a as e,g as f,f as d,t as x,E as b}from"./index-1i-O4UWQ.js";const S={__name:"MaterialRequest",setup(C){const t=k({planDate:"",orderNo:"",status:""}),i=q([]);async function s(){i.value=await c.get("/material-requests",{params:t})||[]}async function w(){if(!t.planDate)return b.warning("请先选择排产日期");const p=await c.post("/material-requests/generate",{planDate:t.planDate});b.success(`已生成 ${(p==null?void 0:p.count)||0} 条备料`),s()}return N(()=>{t.planDate=new Date().toISOString().slice(0,10),s()}),(p,l)=>{const y=n("el-date-picker"),u=n("el-form-item"),m=n("el-input"),_=n("el-button"),D=n("el-form"),a=n("el-table-column"),g=n("el-table"),V=n("el-card");return M(),h(V,null,{default:o(()=>[e(D,{inline:""},{default:o(()=>[e(u,{label:"日期"},{default:o(()=>[e(y,{modelValue:t.planDate,"onUpdate:modelValue":l[0]||(l[0]=r=>t.planDate=r),type:"date","value-format":"YYYY-MM-DD",onChange:s},null,8,["modelValue"])]),_:1}),e(u,{label:"工单号"},{default:o(()=>[e(m,{modelValue:t.orderNo,"onUpdate:modelValue":l[1]||(l[1]=r=>t.orderNo=r),clearable:"",style:{width:"160px"},onKeyup:f(s,["enter"])},null,8,["modelValue"])]),_:1}),e(u,{label:"状态"},{default:o(()=>[e(m,{modelValue:t.status,"onUpdate:modelValue":l[2]||(l[2]=r=>t.status=r),style:{width:"120px"},onKeyup:f(s,["enter"])},null,8,["modelValue"])]),_:1}),e(u,null,{default:o(()=>[e(_,{type:"primary",onClick:s},{default:o(()=>[...l[3]||(l[3]=[d("查询",-1)])]),_:1}),e(_,{type:"success",onClick:w},{default:o(()=>[...l[4]||(l[4]=[d("按日排产生成备料",-1)])]),_:1})]),_:1})]),_:1}),e(g,{data:i.value,border:"",size:"small"},{default:o(()=>[e(a,{prop:"requestNo",label:"备料单号","min-width":"180"}),e(a,{prop:"orderNo",label:"工单号","min-width":"130"}),e(a,{prop:"planDate",label:"排产日期",width:"110"}),e(a,{prop:"materialCode",label:"物料编码","min-width":"110"}),e(a,{prop:"materialName",label:"物料名称","min-width":"110"}),e(a,{prop:"unit",label:"单位",width:"70"}),e(a,{prop:"manageMode",label:"管理方式",width:"110"},{default:o(({row:r})=>[d(x(r.manageMode==="1"?"SN":"批次"),1)]),_:1}),e(a,{prop:"reqQty",label:"需求数量",width:"90"}),e(a,{prop:"status",label:"状态",width:"90"}),e(a,{prop:"operator",label:"操作人",width:"90"})]),_:1},8,["data"])]),_:1})}}};export{S as default};
@@ -0,0 +1 @@
import{j as k,m as v,w as o,h as f,r as d,i as U,k as c,o as S,a as e,f as u,t as h,E as w}from"./index-1i-O4UWQ.js";const B={__name:"PlcSend",setup(T){const n=c({orderNo:"",sn:"",stationNo:1,processCombination:""}),r=c({orderNo:"",status:""}),m=U([]);async function V(){if(!n.orderNo||!n.processCombination)return w.warning("请填写工单号和工序组合");try{await f.post("/plc/send-process",{...n}),w.success("工序码下发成功(未收到完成信号不会下发下一条)"),i()}catch{}}async function i(){m.value=await f.get("/plc/send-logs",{params:r})||[]}return k(i),(N,l)=>{const p=d("el-input"),s=d("el-form-item"),y=d("el-input-number"),_=d("el-button"),b=d("el-form"),x=d("el-divider"),a=d("el-table-column"),C=d("el-table"),g=d("el-card");return S(),v(g,null,{default:o(()=>[e(b,{inline:""},{default:o(()=>[e(s,{label:"工单号"},{default:o(()=>[e(p,{modelValue:n.orderNo,"onUpdate:modelValue":l[0]||(l[0]=t=>n.orderNo=t),style:{width:"170px"}},null,8,["modelValue"])]),_:1}),e(s,{label:"工件SN"},{default:o(()=>[e(p,{modelValue:n.sn,"onUpdate:modelValue":l[1]||(l[1]=t=>n.sn=t),style:{width:"170px"}},null,8,["modelValue"])]),_:1}),e(s,{label:"工位"},{default:o(()=>[e(y,{modelValue:n.stationNo,"onUpdate:modelValue":l[2]||(l[2]=t=>n.stationNo=t),min:1,max:12},null,8,["modelValue"])]),_:1}),e(s,{label:"工序组合"},{default:o(()=>[e(p,{modelValue:n.processCombination,"onUpdate:modelValue":l[3]||(l[3]=t=>n.processCombination=t),placeholder:"如 135",style:{width:"110px"}},null,8,["modelValue"])]),_:1}),e(s,null,{default:o(()=>[e(_,{type:"primary",onClick:V},{default:o(()=>[...l[6]||(l[6]=[u("下发工序码",-1)])]),_:1})]),_:1})]),_:1}),e(x,{"content-position":"left"},{default:o(()=>[...l[7]||(l[7]=[u("下发日志",-1)])]),_:1}),e(b,{inline:""},{default:o(()=>[e(s,{label:"工单号"},{default:o(()=>[e(p,{modelValue:r.orderNo,"onUpdate:modelValue":l[4]||(l[4]=t=>r.orderNo=t),clearable:"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),e(s,{label:"状态"},{default:o(()=>[e(p,{modelValue:r.status,"onUpdate:modelValue":l[5]||(l[5]=t=>r.status=t),style:{width:"120px"}},null,8,["modelValue"])]),_:1}),e(s,null,{default:o(()=>[e(_,{onClick:i},{default:o(()=>[...l[8]||(l[8]=[u("刷新",-1)])]),_:1})]),_:1})]),_:1}),e(C,{data:m.value,border:"",size:"small"},{default:o(()=>[e(a,{prop:"id",label:"ID",width:"60"}),e(a,{prop:"orderNo",label:"工单号","min-width":"130"}),e(a,{prop:"sn",label:"SN","min-width":"130"}),e(a,{prop:"stationNo",label:"工位",width:"70"}),e(a,{prop:"processCombination",label:"工序组合",width:"100"}),e(a,{prop:"processCodes",label:"工序码",width:"120"}),e(a,{prop:"status",label:"状态",width:"90"}),e(a,{prop:"ack",label:"完成",width:"70"},{default:o(({row:t})=>[u(h(t.ack?"是":"否"),1)]),_:1}),e(a,{prop:"sendTime",label:"下发时间",width:"170"}),e(a,{prop:"doneTime",label:"完成时间",width:"170"}),e(a,{prop:"operator",label:"操作人",width:"90"})]),_:1},8,["data"])]),_:1})}}};export{B as default};
@@ -0,0 +1 @@
import{j as U,m as E,w as o,h as r,r as n,i as $,o as j,a as e,f as i,t as z,n as B,k as M,E as D}from"./index-1i-O4UWQ.js";const T={__name:"ProductType",setup(N){const c=$([]),t=M({show:!1,id:0,name:"",code:"",category:"",remark:"",isActive:!0});async function f(){c.value=await r.get("/product-types")||[]}function w(){Object.assign(t,{show:!0,id:0,name:"",code:"",category:"",remark:"",isActive:!0})}function y(m){Object.assign(t,{show:!0,...m})}async function b(){t.id?await r.put("/product-types",{...t}):await r.post("/product-types",{...t}),D.success("保存成功"),t.show=!1,f()}async function V(m){await B.confirm("确认删除?","提示",{type:"warning"}),await r.delete(`/product-types/${m.id}`),f()}return U(f),(m,l)=>{const u=n("el-button"),s=n("el-form-item"),_=n("el-form"),d=n("el-table-column"),g=n("el-tag"),k=n("el-table"),p=n("el-input"),v=n("el-switch"),C=n("el-dialog"),x=n("el-card");return j(),E(x,null,{default:o(()=>[e(_,{inline:""},{default:o(()=>[e(s,null,{default:o(()=>[e(u,{type:"primary",onClick:w},{default:o(()=>[...l[7]||(l[7]=[i("新增产品类型",-1)])]),_:1})]),_:1})]),_:1}),e(k,{data:c.value,border:"",size:"small"},{default:o(()=>[e(d,{prop:"id",label:"ID",width:"60"}),e(d,{prop:"name",label:"名称","min-width":"120"}),e(d,{prop:"code",label:"编码","min-width":"120"}),e(d,{prop:"category",label:"类别",width:"110"}),e(d,{prop:"isActive",label:"启用",width:"80"},{default:o(({row:a})=>[e(g,{type:a.isActive?"success":"info"},{default:o(()=>[i(z(a.isActive?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),e(d,{prop:"remark",label:"备注","min-width":"160"}),e(d,{label:"操作",width:"140"},{default:o(({row:a})=>[e(u,{size:"small",onClick:A=>y(a)},{default:o(()=>[...l[8]||(l[8]=[i("编辑",-1)])]),_:1},8,["onClick"]),e(u,{size:"small",type:"danger",onClick:A=>V(a)},{default:o(()=>[...l[9]||(l[9]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),e(C,{modelValue:t.show,"onUpdate:modelValue":l[6]||(l[6]=a=>t.show=a),title:t.id?"编辑产品类型":"新增产品类型",width:"460px"},{footer:o(()=>[e(u,{onClick:l[5]||(l[5]=a=>t.show=!1)},{default:o(()=>[...l[10]||(l[10]=[i("取消",-1)])]),_:1}),e(u,{type:"primary",onClick:b},{default:o(()=>[...l[11]||(l[11]=[i("保存",-1)])]),_:1})]),default:o(()=>[e(_,{model:t,"label-width":"80px"},{default:o(()=>[e(s,{label:"名称"},{default:o(()=>[e(p,{modelValue:t.name,"onUpdate:modelValue":l[0]||(l[0]=a=>t.name=a)},null,8,["modelValue"])]),_:1}),e(s,{label:"编码"},{default:o(()=>[e(p,{modelValue:t.code,"onUpdate:modelValue":l[1]||(l[1]=a=>t.code=a)},null,8,["modelValue"])]),_:1}),e(s,{label:"类别"},{default:o(()=>[e(p,{modelValue:t.category,"onUpdate:modelValue":l[2]||(l[2]=a=>t.category=a)},null,8,["modelValue"])]),_:1}),e(s,{label:"启用"},{default:o(()=>[e(v,{modelValue:t.isActive,"onUpdate:modelValue":l[3]||(l[3]=a=>t.isActive=a)},null,8,["modelValue"])]),_:1}),e(s,{label:"备注"},{default:o(()=>[e(p,{modelValue:t.remark,"onUpdate:modelValue":l[4]||(l[4]=a=>t.remark=a),type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]),_:1})}}};export{T as default};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{j as x,m as O,w as o,h as c,r as a,i as U,k as V,o as k,a as e,f as m,E as N}from"./index-1i-O4UWQ.js";const g={__name:"Scan",setup(P){const t=V({sn:"",orderNo:"",station:"",type:"PROCESS",processCode:0}),u=V({sn:"",orderNo:""}),_=U([]);async function w(){if(!t.sn)return N.warning("请输入SN");await c.post("/scan/report",t),N.success("报工成功"),Object.assign(t,{sn:"",station:"",processCode:0}),i()}async function i(){_.value=await c.get("/scan/records",{params:u})||[]}return x(i),(R,l)=>{const r=a("el-input"),d=a("el-form-item"),p=a("el-option"),y=a("el-select"),E=a("el-input-number"),b=a("el-button"),f=a("el-form"),S=a("el-divider"),s=a("el-table-column"),C=a("el-table"),v=a("el-card");return k(),O(v,null,{default:o(()=>[e(f,{inline:""},{default:o(()=>[e(d,{label:"SN"},{default:o(()=>[e(r,{modelValue:t.sn,"onUpdate:modelValue":l[0]||(l[0]=n=>t.sn=n),style:{width:"170px"}},null,8,["modelValue"])]),_:1}),e(d,{label:"工单号"},{default:o(()=>[e(r,{modelValue:t.orderNo,"onUpdate:modelValue":l[1]||(l[1]=n=>t.orderNo=n),style:{width:"170px"}},null,8,["modelValue"])]),_:1}),e(d,{label:"工位"},{default:o(()=>[e(r,{modelValue:t.station,"onUpdate:modelValue":l[2]||(l[2]=n=>t.station=n),style:{width:"90px"}},null,8,["modelValue"])]),_:1}),e(d,{label:"类型"},{default:o(()=>[e(y,{modelValue:t.type,"onUpdate:modelValue":l[3]||(l[3]=n=>t.type=n),style:{width:"130px"}},{default:o(()=>[e(p,{label:"进线ONLINE",value:"ONLINE"}),e(p,{label:"工序PROCESS",value:"PROCESS"}),e(p,{label:"完工DONE",value:"DONE"}),e(p,{label:"暂存TEMP_STORE",value:"TEMP_STORE"})]),_:1},8,["modelValue"])]),_:1}),e(d,{label:"工序号"},{default:o(()=>[e(E,{modelValue:t.processCode,"onUpdate:modelValue":l[4]||(l[4]=n=>t.processCode=n),min:0},null,8,["modelValue"])]),_:1}),e(d,null,{default:o(()=>[e(b,{type:"primary",onClick:w},{default:o(()=>[...l[7]||(l[7]=[m("扫码报工",-1)])]),_:1})]),_:1})]),_:1}),e(S,{"content-position":"left"},{default:o(()=>[...l[8]||(l[8]=[m("报工记录",-1)])]),_:1}),e(f,{inline:""},{default:o(()=>[e(d,{label:"SN"},{default:o(()=>[e(r,{modelValue:u.sn,"onUpdate:modelValue":l[5]||(l[5]=n=>u.sn=n),clearable:"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),e(d,{label:"工单号"},{default:o(()=>[e(r,{modelValue:u.orderNo,"onUpdate:modelValue":l[6]||(l[6]=n=>u.orderNo=n),clearable:"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),e(d,null,{default:o(()=>[e(b,{onClick:i},{default:o(()=>[...l[9]||(l[9]=[m("刷新",-1)])]),_:1})]),_:1})]),_:1}),e(C,{data:_.value,border:"",size:"small"},{default:o(()=>[e(s,{prop:"sn",label:"SN","min-width":"130"}),e(s,{prop:"orderNo",label:"工单号","min-width":"130"}),e(s,{prop:"station",label:"工位",width:"80"}),e(s,{prop:"type",label:"类型",width:"110"}),e(s,{prop:"processCode",label:"工序号",width:"80"}),e(s,{prop:"operator",label:"操作人",width:"90"}),e(s,{prop:"time",label:"时间","min-width":"170"})]),_:1},8,["data"])]),_:1})}}};export{g as default};
@@ -0,0 +1 @@
import{j as U,m as q,w as t,h as w,r as n,i as S,k as V,o as v,a as e,f as m,t as C,E as N}from"./index-1i-O4UWQ.js";const M={__name:"Torque",setup(j){const s=V({sn:"",workOrderNo:""}),a=V({sn:"",workOrderNo:"",stationNo:"",strain:20,angle:90,operator:""}),i=S([]);async function p(){i.value=await w.get("/torque/records",{params:s})||[]}async function c(){if(!a.sn)return N.warning("请输入SN");await w.post("/torque/report",a),N.success("拧紧数据已上报"),Object.assign(a,{sn:"",workOrderNo:"",strain:20,angle:90}),p()}return U(p),(B,l)=>{const d=n("el-input"),r=n("el-form-item"),_=n("el-button"),f=n("el-form"),b=n("el-input-number"),y=n("el-collapse-item"),g=n("el-collapse"),u=n("el-table-column"),k=n("el-tag"),x=n("el-table"),O=n("el-card");return v(),q(O,null,{default:t(()=>[e(f,{inline:""},{default:t(()=>[e(r,{label:"SN"},{default:t(()=>[e(d,{modelValue:s.sn,"onUpdate:modelValue":l[0]||(l[0]=o=>s.sn=o),clearable:"",style:{width:"170px"}},null,8,["modelValue"])]),_:1}),e(r,{label:"工单号"},{default:t(()=>[e(d,{modelValue:s.workOrderNo,"onUpdate:modelValue":l[1]||(l[1]=o=>s.workOrderNo=o),clearable:"",style:{width:"170px"}},null,8,["modelValue"])]),_:1}),e(r,null,{default:t(()=>[e(_,{type:"primary",onClick:p},{default:t(()=>[...l[8]||(l[8]=[m("查询",-1)])]),_:1})]),_:1})]),_:1}),e(g,{style:{"margin-bottom":"12px"}},{default:t(()=>[e(y,{title:"扫码录入拧紧数据",name:"1"},{default:t(()=>[e(f,{inline:""},{default:t(()=>[e(r,{label:"SN"},{default:t(()=>[e(d,{modelValue:a.sn,"onUpdate:modelValue":l[2]||(l[2]=o=>a.sn=o),style:{width:"150px"}},null,8,["modelValue"])]),_:1}),e(r,{label:"工单号"},{default:t(()=>[e(d,{modelValue:a.workOrderNo,"onUpdate:modelValue":l[3]||(l[3]=o=>a.workOrderNo=o),style:{width:"150px"}},null,8,["modelValue"])]),_:1}),e(r,{label:"工位"},{default:t(()=>[e(d,{modelValue:a.stationNo,"onUpdate:modelValue":l[4]||(l[4]=o=>a.stationNo=o),style:{width:"80px"}},null,8,["modelValue"])]),_:1}),e(r,{label:"扭矩"},{default:t(()=>[e(b,{modelValue:a.strain,"onUpdate:modelValue":l[5]||(l[5]=o=>a.strain=o),min:0},null,8,["modelValue"])]),_:1}),e(r,{label:"角度"},{default:t(()=>[e(b,{modelValue:a.angle,"onUpdate:modelValue":l[6]||(l[6]=o=>a.angle=o),min:0},null,8,["modelValue"])]),_:1}),e(r,{label:"操作人"},{default:t(()=>[e(d,{modelValue:a.operator,"onUpdate:modelValue":l[7]||(l[7]=o=>a.operator=o),style:{width:"100px"}},null,8,["modelValue"])]),_:1}),e(r,null,{default:t(()=>[e(_,{type:"primary",onClick:c},{default:t(()=>[...l[9]||(l[9]=[m("上报",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(x,{data:i.value,border:"",size:"small"},{default:t(()=>[e(u,{prop:"sn",label:"SN","min-width":"130"}),e(u,{prop:"workOrderNo",label:"工单号","min-width":"130"}),e(u,{prop:"stationNo",label:"工位",width:"70"}),e(u,{prop:"torque",label:"扭矩(N·m)",width:"100"}),e(u,{prop:"angle",label:"角度(°)",width:"90"}),e(u,{prop:"result",label:"结果",width:"80"},{default:t(({row:o})=>[e(k,{type:o.result==="OK"?"success":"danger"},{default:t(()=>[m(C(o.result),1)]),_:2},1032,["type"])]),_:1}),e(u,{prop:"operator",label:"操作人",width:"90"}),e(u,{prop:"time",label:"时间","min-width":"170"})]),_:1},8,["data"])]),_:1})}}};export{M as default};
@@ -0,0 +1 @@
import{m as f,w as l,r as a,o as c,a as t,g as D,f as s,p as g,c as k,F as x,t as n,l as F,d as V,h as G,i as v}from"./index-1i-O4UWQ.js";const L={__name:"Trace",setup(I){const p=v(""),o=v(null),_=v("");async function w(){if(p.value){_.value="",o.value=null;try{o.value=await G.get("/trace",{params:{sn:p.value}})}catch(u){_.value=u.message||"查询失败"}}}function d(u){return u?String(u).replace("T"," ").slice(0,19):"-"}return(u,m)=>{const K=a("el-input"),y=a("el-form-item"),S=a("el-button"),T=a("el-form"),C=a("el-alert"),i=a("el-descriptions-item"),A=a("el-descriptions"),B=a("el-timeline-item"),O=a("el-timeline"),b=a("el-tab-pane"),r=a("el-table-column"),q=a("el-tag"),h=a("el-table"),j=a("el-tabs"),z=a("el-card");return c(),f(z,null,{default:l(()=>[t(T,{inline:""},{default:l(()=>[t(y,{label:"工件SN"},{default:l(()=>[t(K,{modelValue:p.value,"onUpdate:modelValue":m[0]||(m[0]=e=>p.value=e),style:{width:"220px"},placeholder:"输入SN查询追溯",onKeyup:D(w,["enter"])},null,8,["modelValue"])]),_:1}),t(y,null,{default:l(()=>[t(S,{type:"primary",onClick:w},{default:l(()=>[...m[1]||(m[1]=[s("追溯查询",-1)])]),_:1})]),_:1})]),_:1}),_.value?(c(),f(C,{key:0,title:_.value,type:"error","show-icon":"",closable:"",style:{"margin-bottom":"10px"}},null,8,["title"])):g("",!0),o.value?(c(),k(x,{key:1},[t(A,{column:4,border:"",style:{"margin-bottom":"12px"}},{default:l(()=>[t(i,{label:"SN"},{default:l(()=>{var e;return[s(n((e=o.value.workpiece)==null?void 0:e.sn),1)]}),_:1}),t(i,{label:"工单号"},{default:l(()=>{var e;return[s(n((e=o.value.workpiece)==null?void 0:e.orderNo),1)]}),_:1}),t(i,{label:"状态"},{default:l(()=>{var e;return[s(n((e=o.value.workpiece)==null?void 0:e.status),1)]}),_:1}),t(i,{label:"当前工序"},{default:l(()=>{var e;return[s(n((e=o.value.workpiece)==null?void 0:e.currentProcess),1)]}),_:1}),t(i,{label:"进线时间"},{default:l(()=>{var e;return[s(n(d((e=o.value.workpiece)==null?void 0:e.onlineAt)),1)]}),_:1}),t(i,{label:"完工时间"},{default:l(()=>{var e;return[s(n(d((e=o.value.workpiece)==null?void 0:e.doneAt)),1)]}),_:1})]),_:1}),t(j,null,{default:l(()=>[t(b,{label:"工序时间线"},{default:l(()=>[t(O,null,{default:l(()=>[(c(!0),k(x,null,F(o.value.processTimeline||[],e=>(c(),f(B,{key:e.id,timestamp:e.operator?e.operator+" · "+d(e.endedAt):d(e.endedAt),type:e.result==="NG"?"danger":"success"},{default:l(()=>[s(n(e.processName)+"(工序 "+n(e.processCode)+",工位 "+n(e.stationNo)+")— "+n(e.result),1)]),_:2},1032,["timestamp","type"]))),128))]),_:1})]),_:1}),t(b,{label:"步骤考核数据"},{default:l(()=>[t(h,{data:o.value.stepData||[],border:"",size:"small"},{default:l(()=>[t(r,{prop:"stepName",label:"步骤","min-width":"110"}),t(r,{prop:"criterionName",label:"考核项","min-width":"110"}),t(r,{prop:"value",label:"数值",width:"100"}),t(r,{prop:"isOK",label:"合格",width:"80"},{default:l(({row:e})=>[t(q,{type:e.isOK?"success":"danger"},{default:l(()=>[s(n(e.isOK?"OK":"NG"),1)]),_:2},1032,["type"])]),_:1}),t(r,{prop:"operator",label:"操作人",width:"90"})]),_:1},8,["data"])]),_:1}),t(b,{label:"拧紧数据"},{default:l(()=>[t(h,{data:o.value.torqueRecords||[],border:"",size:"small"},{default:l(()=>[t(r,{prop:"stationNo",label:"工位",width:"80"}),t(r,{prop:"torque",label:"扭矩",width:"100"}),t(r,{prop:"angle",label:"角度",width:"90"}),t(r,{prop:"result",label:"结果",width:"80"}),t(r,{prop:"operator",label:"操作人",width:"90"}),t(r,{prop:"time",label:"时间","min-width":"160"})]),_:1},8,["data"])]),_:1}),t(b,{label:"成品关联"},{default:l(()=>{var e,N;return[V("p",null,"批次号:"+n((((e=o.value.associationTrace)==null?void 0:e.batchItems)||[]).join(", ")||"无"),1),V("p",null,"精密件SN"+n((((N=o.value.associationTrace)==null?void 0:N.serialItems)||[]).join(", ")||"无"),1)]}),_:1})]),_:1})],64)):g("",!0)]),_:1})}}};export{L as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long