1. 通用优化: - 统一系统标题为"库房客户端"/"MES产线控制",移除北自所前缀 - 调整内置账号密码为统一123456,优化密码校验逻辑 - 新增数据库自动创建逻辑,简化部署流程 - 修复日志时间格式配置,优化日志输出 - 新增纯数字密码安全提示 2. MES系统优化: - 新增日排产管理功能,支持增删改查与自动算料生成备料单 - 重构BOM模块,改为按产品编码维护而非工单维度 - 新增工艺参数模板配置与手动报工页面 - 新增产品类型自动编码功能 - 优化菜单结构,调整工单管理、扫码报工等页面名称与路由 - 新增删除日排产接口与权限保护 - 修复物料清单查询逻辑,适配新BOM结构 - 新增refreshToken支持,优化登录会话管理 3. WMS系统优化: - 新增基础数据维护页面,支持区域与物料档案管理 - 新增工单列表下拉接口,对接MES获取未完成工单优先展示 - 优化入库管理提示文案,替换英文提示为中文 - 修复精密件入库校验逻辑,优化错误提示 - 优化Excel导入功能,新增备注字段支持 - 优化登录页面与菜单文案,统一备料台账名称 - 新增自动打开浏览器功能,优化客户端启动体验 - 修复备料出库页面查询提示文案 - 新增WMS与MES对接配置,完善内部API调用逻辑 4. 其他优化: - 删除冗余的旧版静态资源文件,更新资源引用路径 - 新增帮助文档,完善基础数据模块说明 - 修复多处文案不统一、英文残留问题
2 lines
5.4 KiB
JavaScript
2 lines
5.4 KiB
JavaScript
import{j as F,c as f,a as t,w as l,k as P,F as k,h as x,r as s,i as C,l as E,o as i,m as T,f as d,n as p,d as z,t as w,E as y}from"./index-DtJUIYo6.js";import{g as R,P as D}from"./help-ByrA6SoP.js";const H={slot:"header",style:{display:"flex","justify-content":"space-between","align-items":"center"}},I={key:1},Q={key:1,style:{color:"#909399"}},X={__name:"Scan",setup(J){const o=E({stationNo:1,sn:"",processCode:1}),m=C([]),A=C(!1),c=E({sn:"",orderNo:""}),$=C([]);function L(n){switch(n.logic){case"GE":return` ≥${n.target}${n.unit}`;case"LE":return` ≤${n.target}${n.unit}`;case"GT":return` >${n.target}${n.unit}`;case"LT":return` <${n.target}${n.unit}`;case"RANGE":return` [${n.min},${n.max}]${n.unit}`;case"EQUAL":return` =${n.target}${n.unit}`;default:return n.name||""}}async function N(){if(!o.sn)return y.warning("请先输入工件SN");if(!o.processCode)return y.warning("请选择工序号");try{const n=await x.get("/process-steps",{params:{processCode:o.processCode}})||[];m.value=n.map(e=>({...e,value:"",text:""}))}catch{m.value=[]}}async function q(){if(!o.sn)return y.warning("请输入SN");if(!o.processCode)return y.warning("请选择工序号");const n=m.value.filter(e=>e.collectType!=="NONE"&&(e.text!==""||e.value!=="")).map(e=>({stepId:e.id,name:e.name,value:Number(e.value)||0,text:e.text||String(e.value||"")}));await x.post("/workpiece/process/report",{sn:o.sn,processCode:o.processCode,stationNo:o.stationNo,steps:n}),y.success("报工成功"),m.value=[],Object.assign(o,{sn:""}),v()}async function v(){$.value=await x.get("/scan/records",{params:c})||[]}return F(v),(n,e)=>{const B=s("el-option"),O=s("el-select"),u=s("el-form-item"),b=s("el-input"),j=s("el-input-number"),V=s("el-button"),h=s("el-form"),r=s("el-table-column"),g=s("el-tag"),S=s("el-table"),U=s("el-card"),G=s("el-alert"),M=s("el-divider");return i(),f(k,null,[t(U,null,{default:l(()=>[t(h,{inline:""},{default:l(()=>[t(u,{label:"工位"},{default:l(()=>[t(O,{modelValue:o.stationNo,"onUpdate:modelValue":e[0]||(e[0]=a=>o.stationNo=a),placeholder:"请选择工位",style:{width:"110px"}},{default:l(()=>[(i(),f(k,null,T(12,a=>t(B,{key:a,value:a,label:`工位${a}`},null,8,["value","label"])),64))]),_:1},8,["modelValue"])]),_:1}),t(u,{label:"工件SN"},{default:l(()=>[t(b,{modelValue:o.sn,"onUpdate:modelValue":e[1]||(e[1]=a=>o.sn=a),style:{width:"170px"},onChange:N},null,8,["modelValue"])]),_:1}),t(u,{label:"工序号"},{default:l(()=>[t(j,{modelValue:o.processCode,"onUpdate:modelValue":e[2]||(e[2]=a=>o.processCode=a),min:1,max:12,onChange:N},null,8,["modelValue"])]),_:1}),t(u,null,{default:l(()=>[t(V,{type:"primary",onClick:N},{default:l(()=>[...e[5]||(e[5]=[d("载入参数模板",-1)])]),_:1})]),_:1})]),_:1}),m.value.length?(i(),p(U,{key:0,shadow:"never",style:{"margin-bottom":"12px"}},{default:l(()=>[z("div",H,[z("b",null,"工位 "+w(o.stationNo)+" / 工序 "+w(o.processCode)+" 参数采集",1),t(V,{type:"primary",size:"small",loading:A.value,onClick:q},{default:l(()=>[...e[6]||(e[6]=[d("提交报工",-1)])]),_:1},8,["loading"])]),t(S,{data:m.value,border:"",size:"small"},{default:l(()=>[t(r,{prop:"seq",label:"步骤",width:"60",align:"center"}),t(r,{prop:"name",label:"步骤名称","min-width":"130"}),t(r,{label:"采集方式",width:"130",align:"center"},{default:l(({row:a})=>[a.collectType==="AUTO"?(i(),p(g,{key:0,type:"warning",size:"small"},{default:l(()=>[...e[7]||(e[7]=[d("拧紧枪自动",-1)])]),_:1})):a.collectType==="MANUAL"?(i(),p(g,{key:1,type:"primary",size:"small"},{default:l(()=>[...e[8]||(e[8]=[d("手填",-1)])]),_:1})):(i(),p(g,{key:2,type:"info",size:"small"},{default:l(()=>[...e[9]||(e[9]=[d("仅记录",-1)])]),_:1}))]),_:1}),t(r,{label:"采集值","min-width":"180"},{default:l(({row:a})=>[a.collectType!=="NONE"?(i(),p(b,{key:0,modelValue:a.value,"onUpdate:modelValue":_=>a.value=_,placeholder:"采集值(可空)",style:{width:"130px"}},null,8,["modelValue","onUpdate:modelValue"])):(i(),f("span",I,"-"))]),_:1}),t(r,{label:"判定标准","min-width":"200"},{default:l(({row:a})=>[a.criteria.length?(i(!0),f(k,{key:0},T(a.criteria,_=>(i(),p(g,{key:_.id,size:"small",style:{"margin-right":"4px"}},{default:l(()=>[d(w(_.name)+w(L(_)),1)]),_:2},1024))),128)):(i(),f("span",Q,"未设标准"))]),_:1})]),_:1},8,["data"])]),_:1})):(i(),p(G,{key:1,type:"info",closable:!1,title:"请选择工位、SN 与工序号后点【载入参数模板】"})),t(M,{"content-position":"left"},{default:l(()=>[...e[10]||(e[10]=[d("报工记录",-1)])]),_:1}),t(h,{inline:""},{default:l(()=>[t(u,{label:"SN"},{default:l(()=>[t(b,{modelValue:c.sn,"onUpdate:modelValue":e[3]||(e[3]=a=>c.sn=a),clearable:"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),t(u,{label:"工单号"},{default:l(()=>[t(b,{modelValue:c.orderNo,"onUpdate:modelValue":e[4]||(e[4]=a=>c.orderNo=a),clearable:"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),t(u,null,{default:l(()=>[t(V,{onClick:v},{default:l(()=>[...e[11]||(e[11]=[d("刷新",-1)])]),_:1})]),_:1})]),_:1}),t(S,{data:$.value,border:"",size:"small"},{default:l(()=>[t(r,{prop:"sn",label:"SN","min-width":"130"}),t(r,{prop:"orderNo",label:"工单号","min-width":"130"}),t(r,{prop:"station",label:"工位",width:"80"}),t(r,{prop:"type",label:"类型",width:"110"}),t(r,{prop:"processCode",label:"工序号",width:"80"}),t(r,{prop:"operator",label:"操作人",width:"90"}),t(r,{prop:"time",label:"时间","min-width":"170"})]),_:1},8,["data"])]),_:1}),t(D,{data:P(R)},null,8,["data"])],64)}}};export{X as default};
|