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

2 lines
9.6 KiB
JavaScript
Raw Normal View History

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