1. 通用优化: - 统一系统标题为"库房客户端"/"MES产线控制",移除北自所前缀 - 调整内置账号密码为统一123456,优化密码校验逻辑 - 新增数据库自动创建逻辑,简化部署流程 - 修复日志时间格式配置,优化日志输出 - 新增纯数字密码安全提示 2. MES系统优化: - 新增日排产管理功能,支持增删改查与自动算料生成备料单 - 重构BOM模块,改为按产品编码维护而非工单维度 - 新增工艺参数模板配置与手动报工页面 - 新增产品类型自动编码功能 - 优化菜单结构,调整工单管理、扫码报工等页面名称与路由 - 新增删除日排产接口与权限保护 - 修复物料清单查询逻辑,适配新BOM结构 - 新增refreshToken支持,优化登录会话管理 3. WMS系统优化: - 新增基础数据维护页面,支持区域与物料档案管理 - 新增工单列表下拉接口,对接MES获取未完成工单优先展示 - 优化入库管理提示文案,替换英文提示为中文 - 修复精密件入库校验逻辑,优化错误提示 - 优化Excel导入功能,新增备注字段支持 - 优化登录页面与菜单文案,统一备料台账名称 - 新增自动打开浏览器功能,优化客户端启动体验 - 修复备料出库页面查询提示文案 - 新增WMS与MES对接配置,完善内部API调用逻辑 4. 其他优化: - 删除冗余的旧版静态资源文件,更新资源引用路径 - 新增帮助文档,完善基础数据模块说明 - 修复多处文案不统一、英文残留问题
2 lines
5.3 KiB
JavaScript
2 lines
5.3 KiB
JavaScript
import{_ as W,I as X,i as Y,c as q,d as _,a as t,w as o,p as S,F as D,h as d,g as E,r as n,J as Z,o as y,K as k,k as j,G as F,e as I,f as u,t as f,L as ee,E as C}from"./index-gIYCKXT9.js";import{r as V}from"./request-Dn-Ij3HI.js";import{b as te}from"./format-C9Ok6skr.js";import{f as le,P as ae}from"./help-2sGNjKzn.js";const oe={style:{"margin-bottom":"8px"}},ne={class:"pager"},re={__name:"Package",setup(ie){const z=d([]),K=X();Y(async()=>{try{const a=await V.get("/material/list");z.value=Array.isArray(a)?a:(a==null?void 0:a.list)||[]}catch{}await v()});const r=E({boxNo:"",materialCode:""}),m=d(""),i=d([]),w=d(!1);function M(){for(let a of String(m.value).split(/\s+/)){const e=a.trim();e&&!i.value.includes(e)&&i.value.push(e)}m.value=""}function J(a){i.value.splice(a,1)}async function T(){if(!r.boxNo.trim()){C.warning("请输入箱号");return}if(!i.value.length){C.warning("请扫码录入 SN(回车追加)");return}w.value=!0;try{await V.post("/package/bind",{boxNo:r.boxNo.trim(),materialCode:r.materialCode||void 0,snList:[...i.value],operator:K}),C.success(`绑定成功:箱号 ${r.boxNo.trim()} 共 ${i.value.length} 个 SN`),i.value=[],m.value="",r.boxNo="",p.current=1,await v()}finally{w.value=!1}}const x=d(""),L=d([]),A=d(0),b=d(!1),p=E({current:1,size:10});function G(a){try{const e=JSON.parse(a||"[]");return Array.isArray(e)?e.join(", "):String(a)}catch{return String(a||"-")}}async function v(){b.value=!0;try{const a=await V.get("/package/query",{params:{boxNo:x.value.trim(),page:p.current,pageSize:p.size}});L.value=(a==null?void 0:a.list)||[],A.value=(a==null?void 0:a.total)||0}finally{b.value=!1}}function N(){p.current=1,v()}return(a,e)=>{const g=n("el-input"),c=n("el-form-item"),H=n("el-option"),O=n("el-select"),B=n("el-form"),s=n("el-table-column"),h=n("el-button"),P=n("el-table"),$=n("el-card"),R=n("el-pagination"),Q=Z("loading");return y(),q(D,null,[_("div",null,[t($,{shadow:"never",class:"mb12",header:"箱号绑定(连续扫码 SN)"},{default:o(()=>[t(B,{inline:"","label-width":"90px",onSubmit:e[2]||(e[2]=k(()=>{},["prevent"]))},{default:o(()=>[t(c,{label:"箱号"},{default:o(()=>[t(g,{modelValue:r.boxNo,"onUpdate:modelValue":e[0]||(e[0]=l=>r.boxNo=l),placeholder:"扫描或输入箱号",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),t(c,{label:"物料"},{default:o(()=>[t(O,{modelValue:r.materialCode,"onUpdate:modelValue":e[1]||(e[1]=l=>r.materialCode=l),filterable:"",clearable:"",placeholder:"请选择物料",style:{width:"240px"}},{default:o(()=>[(y(!0),q(D,null,j(z.value,l=>(y(),F(H,{key:l.id,value:l.code,label:`${l.code} ${l.name||""}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"操作人"},{default:o(()=>[t(g,{"model-value":S(K),disabled:"",style:{width:"140px"}},null,8,["model-value"])]),_:1})]),_:1}),t(g,{modelValue:m.value,"onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),type:"textarea",rows:3,autofocus:"",placeholder:"连续扫描 SN,每次回车追加(可一次多条,空白分隔)",style:{"max-width":"560px","margin-bottom":"8px"},onKeydown:I(k(M,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),_("div",oe,[e[6]||(e[6]=u("待绑定 SN:",-1)),_("b",null,f(i.value.length),1),e[7]||(e[7]=u(" 条",-1))]),t(P,{data:i.value.map((l,U)=>({i:U,v:l})),size:"small",border:"","max-height":"240","empty-text":"暂无 SN",style:{"max-width":"760px"}},{default:o(()=>[t(s,{type:"index",label:"#",width:"56",align:"center"}),t(s,{prop:"v",label:"SN 序列号","min-width":"200"}),t(s,{label:"操作",width:"80",align:"center"},{default:o(({row:l})=>[t(h,{link:"",type:"danger",size:"small",onClick:U=>J(l.i)},{default:o(()=>[...e[8]||(e[8]=[u("移除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),t(h,{type:"primary",class:"mt12",loading:w.value,onClick:T},{default:o(()=>[...e[9]||(e[9]=[u("确认绑定",-1)])]),_:1},8,["loading"])]),_:1}),t($,{shadow:"never",header:"包装查询"},{default:o(()=>[t(B,{inline:"",onSubmit:k(N,["prevent"])},{default:o(()=>[t(c,{label:"箱号"},{default:o(()=>[t(g,{modelValue:x.value,"onUpdate:modelValue":e[4]||(e[4]=l=>x.value=l),placeholder:"按箱号模糊查询",clearable:"",style:{width:"220px"},onKeyup:I(N,["enter"])},null,8,["modelValue"])]),_:1}),t(c,null,{default:o(()=>[t(h,{type:"primary",loading:b.value,onClick:N},{default:o(()=>[...e[10]||(e[10]=[u("查询",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),ee((y(),F(P,{data:L.value,border:"",size:"small","empty-text":"暂无包装记录"},{default:o(()=>[t(s,{prop:"boxNo",label:"箱号","min-width":"150"}),t(s,{label:"SN 列表","min-width":"300"},{default:o(({row:l})=>[u(f(G(l.snList)),1)]),_:1}),t(s,{prop:"quantity",label:"SN 数量",width:"90",align:"center"}),t(s,{prop:"materialCode",label:"物料编码","min-width":"130"},{default:o(({row:l})=>[u(f(l.materialCode||"-"),1)]),_:1}),t(s,{prop:"operator",label:"操作人",width:"100",align:"center"},{default:o(({row:l})=>[u(f(l.operator||"-"),1)]),_:1}),t(s,{label:"创建时间",width:"160",align:"center"},{default:o(({row:l})=>[u(f(S(te)(l.createdAt)),1)]),_:1})]),_:1},8,["data"])),[[Q,b.value]]),_("div",ne,[t(R,{background:"",layout:"total, prev, pager, next",total:A.value,"current-page":p.current,"page-size":p.size,onCurrentChange:e[5]||(e[5]=l=>{p.current=l,v()})},null,8,["total","current-page","page-size"])])]),_:1})]),t(ae,{data:S(le)},null,8,["data"])],64)}}},me=W(re,[["__scopeId","data-v-cd5c496f"]]);export{me as default};
|