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,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-DK5nh4op.js";import"./request-BcX6wdRT.js";import{n as y}from"./inventory-B_vJhWAi.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({name:``,category:``,status:``}),N=f({page:1,per_page:15}),P=u(null),F=f({id:null,name:``,code:``,category:``,unit:``,spec:``,safety_stock:0,status:1,sort:0}),I=u(!1),L={name:[{required:!0,message:`请输入物料名称`,trigger:`blur`}]},R={1:`食材`,2:`日用品`,3:`母婴用品`,4:`医疗用品`,5:`其他`};async function z(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function B(){N.page=1,z()}function V(){Object.assign(M,{name:``,category:``,status:``}),B()}function H(){I.value=!1,Object.assign(F,{id:null,name:``,code:``,category:``,unit:``,spec:``,safety_stock:0,status:1,sort:0}),A.value=!0}async function U(e){I.value=!0;let t=(await y.getDetail(e.id)).data;Object.assign(F,{id:t.id,name:t.name,code:t.code||``,category:t.category||``,unit:t.unit||``,spec:t.spec||``,safety_stock:t.safety_stock||0,status:t.status,sort:t.sort||0}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?(await y.update(F.id,F),v.success(`更新成功`)):(await y.create(F),v.success(`创建成功`)),A.value=!1,z()}finally{j.value=!1}}})}async function G(e){await _.confirm(`确定删除物料「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),z()}function K(e){N.page=e,z()}function q(e){N.per_page=e,N.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input-number`),Q=i(`el-switch`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.name,"onUpdate:modelValue":u[0]||=e=>M.name=e,placeholder:`物料名称`,style:{width:`180px`},clearable:``,onKeydown:g(B,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.category,"onUpdate:modelValue":u[1]||=e=>M.category=e,placeholder:`分类`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{modelValue:M.status,"onUpdate:modelValue":u[2]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(_,{label:`启用`,value:1}),m(_,{label:`禁用`,value:0})]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:B},{default:e(()=>[...u[15]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:V},{default:e(()=>[...u[16]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[18]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`物料列表`)],-1),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[17]||=[o(`新增物料`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(J,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`name`,label:`物料名称`,"min-width":`120`}),m(E,{prop:`code`,label:`物料编码`,width:`120`}),m(E,{label:`分类`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(R[e.category]),1)]),_:1}),m(E,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),m(E,{prop:`spec`,label:`规格`,"min-width":`120`,"show-overflow-tooltip":``}),m(E,{prop:`safety_stock`,label:`安全库存`,width:`100`,align:`right`}),m(E,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(E,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,k.value]])]),p(`div`,T,[m(Y,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[4]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,15,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:A.value,"onUpdate:modelValue":u[14]||=e=>A.value=e,title:I.value?`编辑物料`:`新增物料`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[13]||=e=>A.value=!1},{default:e(()=>[...u[21]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m(X,{label:`物料名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[5]||=e=>F.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`物料编码`},{default:e(()=>[m(f,{modelValue:F.code,"onUpdate:modelValue":u[6]||=e=>F.code=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`分类`},{default:e(()=>[m(v,{modelValue:F.category,"onUpdate:modelValue":u[7]||=e=>F.category=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`单位`},{default:e(()=>[m(f,{modelValue:F.unit,"onUpdate:modelValue":u[8]||=e=>F.unit=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`规格`},{default:e(()=>[m(f,{modelValue:F.spec,"onUpdate:modelValue":u[9]||=e=>F.spec=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`安全库存`},{default:e(()=>[m(Z,{modelValue:F.safety_stock,"onUpdate:modelValue":u[10]||=e=>F.safety_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Q,{modelValue:F.status,"onUpdate:modelValue":u[11]||=e=>F.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),m(X,{label:`排序`},{default:e(()=>[m(Z,{modelValue:F.sort,"onUpdate:modelValue":u[12]||=e=>F.sort=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default};