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

2 lines
8.8 KiB
JavaScript
Raw Normal View History

import{_ as ue,i as ie,c as x,a as t,w as a,p as se,F as C,h as d,r as u,o as s,k as q,D as _,f as c,l as T,e as re,H as de,d as V,t as $,g as H,E as g,I as j}from"./index-9NS-icag.js";import{r as z}from"./request-DS_8eNi1.js";import{h as pe,P as me}from"./help-BMgMow4j.js";const ce={style:{"margin-bottom":"8px"}},fe={style:{"margin-top":"12px"}},be={style:{"margin-top":"12px"}},ve={__name:"Inbound",setup(ye){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=H({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 h=d(""),F=d(!1),r=d([]),b=H({materialCode:"",zoneCode:""});function O(){const o=String(h.value).split(/\s+/);for(let e of o){const p=e.trim();p&&(r.value.includes(p)||r.value.push(p))}h.value=""}function Q(o){r.value.splice(o,1)}async function W(){if(!b.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:b.materialCode,zoneCode:b.zoneCode,snList:[...r.value],operator:j()});g.success(`入库成功:入库单号 ${(o==null?void 0:o.inboundNo)||""}SN 共 ${r.value.length} 条`),r.value=[],h.value=""}finally{F.value=!1}}const N=d(),I=d([]),R=d(!1),v=d(null);function X(o,e){I.value=e.slice(-1)}function Z(o){N.value.clearFiles();const e=o[0];e&&N.value.handleStart(e)}async function ee(){var y,i,w;const o=I.value[0]||((i=(y=N.value)==null?void 0:y.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);v.value=m||{},g.success(`导入完成:共 ${(m==null?void 0:m.total)??0} 行,成功 ${(m==null?void 0:m.success)??0} 行`),(w=N.value)==null||w.clearFiles(),I.value=[]}finally{R.value=!1}}return(o,e)=>{const p=u("el-option"),y=u("el-select"),i=u("el-form-item"),w=u("el-input"),m=u("el-input-number"),le=u("el-date-picker"),k=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(),x(C,null,[t(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(y,{modelValue:n.materialCode,"onUpdate:modelValue":e[0]||(e[0]=l=>n.materialCode=l),filterable:"",placeholder:"选择物料编码",style:{width:"100%"}},{default:a(()=>[(s(!0),x(C,null,q(S.value,l=>(s(),_(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