1 line
8.9 KiB
JavaScript
1 line
8.9 KiB
JavaScript
import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-DK5nh4op.js";import"./request-BcX6wdRT.js";import{c as y,n as b,s as x}from"./inventory-B_vJhWAi.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={key:2,class:`text-gray-400 text-sm`},O={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=d([]),j=d(0),M=d(!1),N=d(!1),P=d(!1),F=d([]),I=d([]),L=p({from_warehouse_id:``,to_warehouse_id:``,status:``}),R=p({page:1,per_page:20}),z=()=>({material_id:``,material_name:``,quantity:1}),B=d(null),V=p({from_warehouse_id:``,to_warehouse_id:``,transfer_date:``,remark:``,items:[z()]}),H={from_warehouse_id:[{required:!0,message:`请选择源仓库`,trigger:`change`}],to_warehouse_id:[{required:!0,message:`请选择目标仓库`,trigger:`change`}],transfer_date:[{required:!0,message:`请选择调拨日期`,trigger:`change`}]},U={draft:`草稿`,confirmed:`已确认`,completed:`已完成`,cancelled:`已取消`},W={draft:`info`,confirmed:`primary`,completed:`success`,cancelled:`danger`};async function G(){M.value=!0;try{let e=await x.getList({...L,...R});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{v.error(`获取调拨单列表失败`)}finally{M.value=!1}}async function K(){try{let[e,t]=await Promise.all([y.getList({per_page:500}),b.getList({per_page:500})]);F.value=e.data?.list||e.data?.data||[],I.value=t.data?.list||t.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{from_warehouse_id:``,to_warehouse_id:``,status:``}),q()}function Y(){Object.assign(V,{from_warehouse_id:``,to_warehouse_id:``,transfer_date:``,remark:``,items:[z()]}),N.value=!0}function X(){V.items.push(z())}function Z(e){if(V.items.length<=1){v.warning(`至少保留一条物料`);return}V.items.splice(e,1)}function Q(e){let t=I.value.find(t=>t.id===e.material_id);t&&(e.material_name=t.name)}async function $(){B.value&&await B.value.validate(async e=>{if(e){if(V.items.some(e=>!e.material_id||e.quantity<=0)){v.warning(`请完整填写物料信息`);return}P.value=!0;try{await x.create({...V}),v.success(`创建成功`),N.value=!1,G()}catch{v.error(`创建失败`)}finally{P.value=!1}}})}async function ee(e){await _.confirm(`确认调拨单「${e.transfer_no}」吗?`,`确认操作`,{type:`warning`});try{await x.confirm(e.id),v.success(`确认成功`),G()}catch{v.error(`操作失败`)}}async function te(e){await _.confirm(`取消调拨单「${e.transfer_no}」吗?取消后不可恢复。`,`取消确认`,{type:`warning`});try{await x.cancel(e.id),v.success(`已取消`),G()}catch{v.error(`操作失败`)}}function ne(e){R.page=e,G()}function re(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),x=i(`el-table`),k=i(`el-pagination`),z=i(`el-form-item`),G=i(`el-col`),K=i(`el-date-picker`),ie=i(`el-input`),ae=i(`el-row`),oe=i(`el-divider`),se=i(`el-input-number`),ce=i(`el-form`),le=i(`el-dialog`),ue=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(_,{modelValue:L.from_warehouse_id,"onUpdate:modelValue":d[0]||=e=>L.from_warehouse_id=e,placeholder:`源仓库`,clearable:``,filterable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.to_warehouse_id,"onUpdate:modelValue":d[1]||=e=>L.to_warehouse_id=e,placeholder:`目标仓库`,clearable:``,filterable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.status,"onUpdate:modelValue":d[2]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(U,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[11]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[12]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[14]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-medium text-gray-700`},`调拨单列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[13]||=[o(`新建调拨单`,-1)]]),_:1})]),m(`div`,E,[c((n(),s(x,{data:A.value,style:{width:`100%`},stripe:``},{default:e(()=>[h(y,{prop:`transfer_no`,label:`调拨单号`,"min-width":`160`}),h(y,{prop:`from_warehouse_name`,label:`源仓库`,"min-width":`110`}),h(y,{prop:`to_warehouse_name`,label:`目标仓库`,"min-width":`110`}),h(y,{prop:`transfer_date`,label:`调拨日期`,width:`120`,align:`center`}),h(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(b,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),h(y,{prop:`created_by_name`,label:`创建人`,width:`90`,align:`center`}),h(y,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),h(y,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`draft`?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[15]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===`draft`?(n(),s(v,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...d[16]||=[o(`取消`,-1)]]),_:1},8,[`onClick`])):l(``,!0),[`draft`].includes(t.status)?l(``,!0):(n(),f(`span`,D,`-`))]),_:1})]),_:1},8,[`data`])),[[ue,M.value]])]),m(`div`,O,[h(k,{"current-page":R.page,"onUpdate:currentPage":d[3]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":d[4]||=e=>R.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),h(le,{modelValue:N.value,"onUpdate:modelValue":d[10]||=e=>N.value=e,title:`新建调拨单`,width:`680px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[9]||=e=>N.value=!1},{default:e(()=>[...d[20]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:P.value,onClick:$},{default:e(()=>[...d[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ce,{ref_key:`formRef`,ref:B,model:V,rules:H,"label-width":`90px`},{default:e(()=>[h(ae,{gutter:16},{default:e(()=>[h(G,{span:12},{default:e(()=>[h(z,{label:`源仓库`,prop:`from_warehouse_id`},{default:e(()=>[h(_,{modelValue:V.from_warehouse_id,"onUpdate:modelValue":d[5]||=e=>V.from_warehouse_id=e,placeholder:`选择源仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`目标仓库`,prop:`to_warehouse_id`},{default:e(()=>[h(_,{modelValue:V.to_warehouse_id,"onUpdate:modelValue":d[6]||=e=>V.to_warehouse_id=e,placeholder:`选择目标仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`调拨日期`,prop:`transfer_date`},{default:e(()=>[h(K,{modelValue:V.transfer_date,"onUpdate:modelValue":d[7]||=e=>V.transfer_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`备注`},{default:e(()=>[h(ie,{modelValue:V.remark,"onUpdate:modelValue":d[8]||=e=>V.remark=e,placeholder:`备注(可选)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),h(oe,{"content-position":`left`},{default:e(()=>[...d[17]||=[o(`调拨物料明细`,-1)]]),_:1}),(n(!0),f(u,null,g(V.items,(t,r)=>(n(),f(`div`,{key:r,class:`flex items-center gap-2 mb-3`},[h(_,{modelValue:t.material_id,"onUpdate:modelValue":e=>t.material_id=e,placeholder:`选择物料`,filterable:``,style:{flex:`2`},onChange:e=>Q(t)},{default:e(()=>[(n(!0),f(u,null,g(I.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.code||`-`})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),h(se,{modelValue:t.quantity,"onUpdate:modelValue":e=>t.quantity=e,min:1,placeholder:`数量`,style:{width:`130px`}},null,8,[`modelValue`,`onUpdate:modelValue`]),h(v,{type:`danger`,text:``,onClick:e=>Z(r)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]))),128)),h(v,{type:`primary`,text:``,onClick:X},{default:e(()=>[...d[19]||=[o(`+ 添加物料`,-1)]]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{k as default}; |