1. 通用优化: - 统一系统标题为"库房客户端"/"MES产线控制",移除北自所前缀 - 调整内置账号密码为统一123456,优化密码校验逻辑 - 新增数据库自动创建逻辑,简化部署流程 - 修复日志时间格式配置,优化日志输出 - 新增纯数字密码安全提示 2. MES系统优化: - 新增日排产管理功能,支持增删改查与自动算料生成备料单 - 重构BOM模块,改为按产品编码维护而非工单维度 - 新增工艺参数模板配置与手动报工页面 - 新增产品类型自动编码功能 - 优化菜单结构,调整工单管理、扫码报工等页面名称与路由 - 新增删除日排产接口与权限保护 - 修复物料清单查询逻辑,适配新BOM结构 - 新增refreshToken支持,优化登录会话管理 3. WMS系统优化: - 新增基础数据维护页面,支持区域与物料档案管理 - 新增工单列表下拉接口,对接MES获取未完成工单优先展示 - 优化入库管理提示文案,替换英文提示为中文 - 修复精密件入库校验逻辑,优化错误提示 - 优化Excel导入功能,新增备注字段支持 - 优化登录页面与菜单文案,统一备料台账名称 - 新增自动打开浏览器功能,优化客户端启动体验 - 修复备料出库页面查询提示文案 - 新增WMS与MES对接配置,完善内部API调用逻辑 4. 其他优化: - 删除冗余的旧版静态资源文件,更新资源引用路径 - 新增帮助文档,完善基础数据模块说明 - 修复多处文案不统一、英文残留问题
2 lines
8.6 KiB
JavaScript
2 lines
8.6 KiB
JavaScript
import{j as H,c as V,d as J,a as e,w as o,k as X,F as k,h as y,r as p,l as v,i as E,o as w,g as Z,m as D,f as i,t as z,n as h,E as _}from"./index-DtJUIYo6.js";import{h as ee,P as le}from"./help-ByrA6SoP.js";const de={__name:"WorkOrder",setup(te){const q=[{v:"CREATED",l:"已创建"},{v:"RELEASED",l:"已发布"},{v:"IN_PROGRESS",l:"生产中"},{v:"DONE",l:"已完成"},{v:"PENDING",l:"待排产"},{v:"CONFIRMED",l:"已确认"}],x=d=>(q.find(l=>l.v===d)||{}).l||d,b=v({orderNo:"",status:""}),U=E([]),T=E([]),a=v({show:!1,id:0,workOrderNo:"",productTypeId:0,productCode:"",productName:"",quantity:1,processSeq:"",status:"CREATED"}),n=v({show:!1,orderNo:"",date:"",qty:1}),I=E([]),u=v({show:!1,id:0,orderNo:"",productCode:"",productName:"",processSeq:""});async function c(){const d=await y.get("/work-orders",{params:b});U.value=d||[]}async function M(){T.value=await y.get("/product-types")||[]}function j(){Object.assign(a,{show:!0,id:0,workOrderNo:`WO${Date.now()}`,productTypeId:0,productCode:"",productName:"",quantity:1,processSeq:"123456789101112",status:"CREATED"})}function A(d){Object.assign(a,{show:!0,id:d.id,workOrderNo:d.workOrderNo,productTypeId:d.productTypeId,productCode:d.productCode,productName:d.productName,quantity:d.quantity,processSeq:d.processSeq,status:d.status})}async function B(){const d={id:a.id,workOrderNo:a.workOrderNo,productTypeId:a.productTypeId,productCode:a.productCode,productName:a.productName,quantity:a.quantity,processSeq:a.processSeq,status:a.status};a.id?await y.put("/work-orders",d):await y.post("/work-orders",d),_.success("保存成功"),a.show=!1,c()}function L(d){n.orderNo=d.workOrderNo,n.date=new Date().toISOString().slice(0,10),n.qty=d.quantity,n.show=!0,C()}function Y(d){Object.assign(u,{show:!0,id:d.id,orderNo:d.workOrderNo,productCode:d.productCode,productName:d.productName,processSeq:d.processSeq||""})}async function F(){if(!u.processSeq)return _.warning("工序组合不能为空");await y.put("/work-orders",{id:u.id,workOrderNo:u.orderNo,productCode:u.productCode,productName:u.productName,processSeq:u.processSeq}),_.success("工序组合已保存"),u.show=!1,c()}async function C(){I.value=await y.get("/daily-plans",{params:{orderNo:n.orderNo}})||[]}async function Q(){await y.post("/daily-plans",{orderNo:n.orderNo,planDate:n.date,planQty:n.qty}),_.success("排产保存成功"),C()}return H(()=>{c(),M()}),(d,l)=>{const f=p("el-input"),r=p("el-form-item"),S=p("el-option"),O=p("el-select"),m=p("el-button"),N=p("el-form"),s=p("el-table-column"),P=p("el-table"),W=p("el-card"),R=p("el-input-number"),g=p("el-dialog"),G=p("el-date-picker"),K=p("el-alert");return w(),V(k,null,[J("div",null,[e(W,null,{default:o(()=>[e(N,{inline:""},{default:o(()=>[e(r,{label:"工单号"},{default:o(()=>[e(f,{modelValue:b.orderNo,"onUpdate:modelValue":l[0]||(l[0]=t=>b.orderNo=t),placeholder:"模糊查询",clearable:"",style:{width:"180px"},onKeyup:Z(c,["enter"])},null,8,["modelValue"])]),_:1}),e(r,{label:"状态"},{default:o(()=>[e(O,{modelValue:b.status,"onUpdate:modelValue":l[1]||(l[1]=t=>b.status=t),clearable:"",placeholder:"请选择状态",style:{width:"150px"}},{default:o(()=>[(w(),V(k,null,D(q,t=>e(S,{key:t.v,label:t.l,value:t.v},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),e(r,null,{default:o(()=>[e(m,{type:"primary",onClick:c},{default:o(()=>[...l[17]||(l[17]=[i("查询",-1)])]),_:1}),e(m,{onClick:j},{default:o(()=>[...l[18]||(l[18]=[i("新建工单",-1)])]),_:1})]),_:1})]),_:1}),e(P,{data:U.value,border:"",stripe:"",size:"small"},{default:o(()=>[e(s,{prop:"id",label:"ID",width:"55"}),e(s,{prop:"workOrderNo",label:"工单号","min-width":"140"}),e(s,{prop:"productCode",label:"产品编码","min-width":"120"}),e(s,{prop:"productName",label:"产品名称","min-width":"120"}),e(s,{prop:"quantity",label:"数量",width:"70"}),e(s,{prop:"finishedNum",label:"已完工",width:"70"}),e(s,{prop:"processSeq",label:"工序组合",width:"120"}),e(s,{prop:"status",label:"状态",width:"100"},{default:o(({row:t})=>[i(z(x(t.status)),1)]),_:1}),e(s,{label:"操作",width:"230",fixed:"right"},{default:o(({row:t})=>[e(m,{size:"small",onClick:$=>L(t)},{default:o(()=>[...l[19]||(l[19]=[i("日排产",-1)])]),_:1},8,["onClick"]),e(m,{size:"small",type:"primary",plain:"",onClick:$=>Y(t)},{default:o(()=>[...l[20]||(l[20]=[i("工序组合",-1)])]),_:1},8,["onClick"]),e(m,{size:"small",type:"warning",onClick:$=>A(t)},{default:o(()=>[...l[21]||(l[21]=[i("编辑",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),e(g,{modelValue:a.show,"onUpdate:modelValue":l[10]||(l[10]=t=>a.show=t),title:a.id?"编辑工单":"新建工单",width:"520px"},{footer:o(()=>[e(m,{onClick:l[9]||(l[9]=t=>a.show=!1)},{default:o(()=>[...l[22]||(l[22]=[i("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:B},{default:o(()=>[...l[23]||(l[23]=[i("保存",-1)])]),_:1})]),default:o(()=>[e(N,{model:a,"label-width":"90px"},{default:o(()=>[e(r,{label:"工单号"},{default:o(()=>[e(f,{modelValue:a.workOrderNo,"onUpdate:modelValue":l[2]||(l[2]=t=>a.workOrderNo=t)},null,8,["modelValue"])]),_:1}),e(r,{label:"产品类型"},{default:o(()=>[e(O,{modelValue:a.productTypeId,"onUpdate:modelValue":l[3]||(l[3]=t=>a.productTypeId=t),placeholder:"选择产品类型",style:{width:"100%"}},{default:o(()=>[(w(!0),V(k,null,D(T.value,t=>(w(),h(S,{key:t.id,label:t.name+(t.code?" / "+t.code:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(r,{label:"产品编码"},{default:o(()=>[e(f,{modelValue:a.productCode,"onUpdate:modelValue":l[4]||(l[4]=t=>a.productCode=t)},null,8,["modelValue"])]),_:1}),e(r,{label:"产品名称"},{default:o(()=>[e(f,{modelValue:a.productName,"onUpdate:modelValue":l[5]||(l[5]=t=>a.productName=t)},null,8,["modelValue"])]),_:1}),e(r,{label:"数量"},{default:o(()=>[e(R,{modelValue:a.quantity,"onUpdate:modelValue":l[6]||(l[6]=t=>a.quantity=t),min:1},null,8,["modelValue"])]),_:1}),e(r,{label:"工序组合"},{default:o(()=>[e(f,{modelValue:a.processSeq,"onUpdate:modelValue":l[7]||(l[7]=t=>a.processSeq=t),placeholder:"如 135"},null,8,["modelValue"])]),_:1}),e(r,{label:"状态"},{default:o(()=>[e(O,{modelValue:a.status,"onUpdate:modelValue":l[8]||(l[8]=t=>a.status=t),placeholder:"请选择状态",style:{width:"100%"}},{default:o(()=>[(w(),V(k,null,D(q,t=>e(S,{key:t.v,label:t.l,value:t.v},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),e(g,{modelValue:n.show,"onUpdate:modelValue":l[13]||(l[13]=t=>n.show=t),title:"日排产",width:"720px"},{default:o(()=>[e(N,{inline:"",style:{"margin-bottom":"10px"}},{default:o(()=>[e(r,{label:"日期"},{default:o(()=>[e(G,{modelValue:n.date,"onUpdate:modelValue":l[11]||(l[11]=t=>n.date=t),type:"date","value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1}),e(r,{label:"计划数量"},{default:o(()=>[e(R,{modelValue:n.qty,"onUpdate:modelValue":l[12]||(l[12]=t=>n.qty=t),min:1},null,8,["modelValue"])]),_:1}),e(r,null,{default:o(()=>[e(m,{type:"primary",onClick:Q},{default:o(()=>[...l[24]||(l[24]=[i("保存排产",-1)])]),_:1}),e(m,{onClick:C},{default:o(()=>[...l[25]||(l[25]=[i("刷新",-1)])]),_:1})]),_:1})]),_:1}),e(P,{data:I.value,border:"",size:"small"},{default:o(()=>[e(s,{prop:"planDate",label:"日期",width:"120"}),e(s,{prop:"planQty",label:"计划数量",width:"100"}),e(s,{prop:"completedQty",label:"已完成"}),e(s,{label:"状态"},{default:o(({row:t})=>[i(z(x(t.status)),1)]),_:1}),e(s,{prop:"operator",label:"操作人"})]),_:1},8,["data"])]),_:1},8,["modelValue"]),e(g,{modelValue:u.show,"onUpdate:modelValue":l[16]||(l[16]=t=>u.show=t),title:`维护工序组合 - ${u.orderNo}`,width:"520px"},{footer:o(()=>[e(m,{onClick:l[15]||(l[15]=t=>u.show=!1)},{default:o(()=>[...l[26]||(l[26]=[i("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:F},{default:o(()=>[...l[27]||(l[27]=[i("保存",-1)])]),_:1})]),default:o(()=>[e(K,{type:"info",closable:!1,title:"人工自由维护本工单执行的工序组合(如只做第1/3/5序可填135;半成品再上线补做第2序填2)。PLC 会按此组合下发。",style:{"margin-bottom":"14px"}}),e(N,{"label-width":"90px"},{default:o(()=>[e(r,{label:"工单号"},{default:o(()=>[e(f,{"model-value":u.orderNo,disabled:""},null,8,["model-value"])]),_:1}),e(r,{label:"产品编码"},{default:o(()=>[e(f,{"model-value":u.productCode,disabled:""},null,8,["model-value"])]),_:1}),e(r,{label:"产品名称"},{default:o(()=>[e(f,{"model-value":u.productName,disabled:""},null,8,["model-value"])]),_:1}),e(r,{label:"工序组合"},{default:o(()=>[e(f,{modelValue:u.processSeq,"onUpdate:modelValue":l[14]||(l[14]=t=>u.processSeq=t),placeholder:"如 135;全序=123456789101112"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])]),e(le,{data:X(ee)},null,8,["data"])],64)}}};export{de as default};
|