Files
bj_power/bj_power_wms_client/web/static/assets/Inbound-BFec0bxP.js
T

2 lines
8.7 KiB
JavaScript
Raw Normal View History

2026-08-27 19:50:57 +08:00
import{_ as ue,i as ie,D as b,w as a,h as d,r as u,o as s,a as t,c as N,F as k,k as q,f as c,l as H,e as se,H as re,d as x,t as $,g as P,E as g,I as j}from"./index-VJa6cW1h.js";import{r as z}from"./request-43HjEGU6.js";const de={style:{"margin-bottom":"8px"}},pe={style:{"margin-top":"12px"}},me={style:{"margin-top":"12px"}},ce={__name:"Inbound",setup(fe){const S=d([]),D=d([]);ie(async()=>{const[o,e]=await Promise.all([z.get("/material/list"),z.get("/zone/list")]);S.value=Array.isArray(o)?o:(o==null?void 0:o.list)||[],D.value=Array.isArray(e)?e:(e==null?void 0:e.list)||[]});const M=d(),U=d(!1),E=d(""),n=P({materialCode:"",batchNo:"",quantity:1,zoneCode:"",productionDate:"",supplier:""}),G={materialCode:[{required:!0,message:"请选择物料",trigger:"change"}],quantity:[{required:!0,message:"请输入数量",trigger:"blur"}]};async function J(){if(await M.value.validate(),!n.quantity||n.quantity<=0){g.warning("数量必须大于 0");return}U.value=!0;try{const o=await z.post("/inbound/create",{inboundType:"purchase",materialCode:n.materialCode,batchNo:n.batchNo.trim(),quantity:n.quantity,zoneCode:n.zoneCode,productionDate:n.productionDate,supplier:n.supplier.trim(),operator:j()});E.value=(o==null?void 0:o.inboundNo)||"",g.success(`入库成功:入库单号 ${(o==null?void 0:o.inboundNo)||""},数量 ${(o==null?void 0:o.quantity)??n.quantity}`),n.batchNo="",n.quantity=1}finally{U.value=!1}}const C=d(""),F=d(!1),r=d([]),v=P({materialCode:"",zoneCode:""});function O(){const o=String(C.value).split(/\s+/);for(let e of o){const p=e.trim();p&&(r.value.includes(p)||r.value.push(p))}C.value=""}function Q(o){r.value.splice(o,1)}async function W(){if(!v.materialCode){g.warning("请选择物料");return}if(!r.value.length){g.warning("请先扫码录入 SN(输入后回车追加)");return}F.value=!0;try{const o=await z.post("/inbound/create",{inboundType:"purchase",materialCode:v.materialCode,zoneCode:v.zoneCode,snList:[...r.value],operator:j()});g.success(`入库成功:入库单号 ${(o==null?void 0:o.inboundNo)||""}SN 共 ${r.value.length} 条`),r.value=[],C.value=""}finally{F.value=!1}}const V=d(),I=d([]),R=d(!1),y=d(null);function X(o,e){I.value=e.slice(-1)}function Z(o){V.value.clearFiles();const e=o[0];e&&V.value.handleStart(e)}async function ee(){var _,i,w;const o=I.value[0]||((i=(_=V.value)==null?void 0:_.uploadFiles)==null?void 0:i[0]),e=o==null?void 0:o.raw;if(!e){g.warning("请先选择 .xlsx 文件");return}const p=new FormData;p.append("file",e),R.value=!0;try{const m=await z.post("/inbound/batch-excel",p);y.value=m||{},g.success(`导入完成:共 ${(m==null?void 0:m.total)??0} 行,成功 ${(m==null?void 0:m.success)??0} 行`),(w=V.value)==null||w.clearFiles(),I.value=[]}finally{R.value=!1}}return(o,e)=>{const p=u("el-option"),_=u("el-select"),i=u("el-form-item"),w=u("el-input"),m=u("el-input-number"),le=u("el-date-picker"),h=u("el-button"),A=u("el-form"),L=u("el-alert"),B=u("el-tab-pane"),f=u("el-table-column"),Y=u("el-table"),te=u("el-upload"),ae=u("el-divider"),K=u("el-tag"),oe=u("el-tabs"),ne=u("el-card");return s(),b(ne,{shadow:"never"},{default:a(()=>[t(oe,null,{default:a(()=>[t(B,{label:"结构件入库"},{default:a(()=>[t(A,{ref_key:"batchRef",ref:M,model:n,rules:G,"label-width":"110px",style:{"max-width":"560px"}},{default:a(()=>[t(i,{label:"物料",prop:"materialCode"},{default:a(()=>[t(_,{modelValue:n.materialCode,"onUpdate:modelValue":e[0]||(e[0]=l=>n.materialCode=l),filterable:"",placeholder:"选择物料编码",style:{width:"100%"}},{default:a(()=>[(s(!0),N(k,null,q(S.value,l=>(s(),b(p,{key:l.id,value:l.code,label:`${l.code} ${l.name||""}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(i,{label:"批次号"},{default:a(()=>[t(w,{modelValue:n.batchNo,"onUpdate:modelValue":e[1]||(e[1]=l=>n.batchNo=l),placeholder:"留空则自动生成",clearable:""},null,8,["modelValue"])]),_:1}),t(i,{label:"数量",prop:"quantity"},{default:a(()=>[t(m,{modelValue:n.quantity,"onUpdate:modelValue":e[2]||(e[2]=l=>n.quantity=l),min:1,step:1,"step-strictly":"",style:{width:"100%"}},null,8,[