Files
yuezi-saas/frontend/dist/assets/suppliers-B-ax3fUn.js
T

1 line
6.3 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,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{o as _}from"./inventory-BVEZNzEQ.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=d({name:``,status:``}),j=d({page:1,per_page:15}),M=l(null),N=d({id:null,name:``,contact_person:``,contact_phone:``,address:``,bank_name:``,bank_account:``,status:1,remark:``,sort:0}),P=l(!1),F={name:[{required:!0,message:`请输入供应商名称`,trigger:`blur`}]};async function I(){D.value=!0;try{let e=await _.getList({...A,...j});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function L(){j.page=1,I()}function R(){Object.assign(A,{name:``,status:``}),L()}function z(){P.value=!1,Object.assign(N,{id:null,name:``,contact_person:``,contact_phone:``,address:``,bank_name:``,bank_account:``,status:1,remark:``,sort:0}),O.value=!0}async function B(e){P.value=!0,Object.assign(N,{...e}),O.value=!0}async function V(){M.value&&await M.value.validate(async e=>{if(e){k.value=!0;try{P.value?(await _.update(N.id,N),g.success(`更新成功`)):(await _.create(N),g.success(`创建成功`)),O.value=!1,I()}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除供应商「${e.name}」吗?`,`删除确认`,{type:`warning`}),await _.delete(e.id),g.success(`删除成功`),I()}function U(e){j.page=e,I()}function W(e){j.per_page=e,j.page=1,I()}return r(()=>I()),(r,l)=>{let d=i(`el-input`),h=i(`el-option`),g=i(`el-select`),_=i(`el-button`),w=i(`el-table-column`),I=i(`el-tag`),G=i(`el-table`),K=i(`el-pagination`),q=i(`el-form-item`),J=i(`el-switch`),Y=i(`el-input-number`),X=i(`el-form`),Z=i(`el-dialog`),Q=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:A.name,"onUpdate:modelValue":l[0]||=e=>A.name=e,placeholder:`供应商名称`,style:{width:`180px`},clearable:``,onKeydown:m(L,[`enter`])},null,8,[`modelValue`]),p(g,{modelValue:A.status,"onUpdate:modelValue":l[1]||=e=>A.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(h,{label:`启用`,value:1}),p(h,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(_,{type:`primary`,onClick:L},{default:e(()=>[...l[15]||=[o(`查询`,-1)]]),_:1}),p(_,{onClick:R},{default:e(()=>[...l[16]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[18]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`供应商列表`)],-1),p(_,{type:`primary`,onClick:z},{default:e(()=>[...l[17]||=[o(`新增供应商`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(G,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`name`,label:`供应商名称`,"min-width":`150`}),p(w,{prop:`contact_person`,label:`联系人`,width:`100`}),p(w,{prop:`contact_phone`,label:`联系电话`,width:`130`}),p(w,{prop:`address`,label:`地址`,"min-width":`200`,"show-overflow-tooltip":``}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(I,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(_,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(_,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Q,D.value]])]),f(`div`,C,[p(K,{"current-page":j.page,"onUpdate:currentPage":l[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":l[3]||=e=>j.per_page=e,total:E.value,"page-sizes":[10,15,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:U,onSizeChange:W},null,8,[`current-page`,`page-size`,`total`])])]),p(Z,{modelValue:O.value,"onUpdate:modelValue":l[14]||=e=>O.value=e,title:P.value?`编辑供应商`:`新增供应商`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(_,{onClick:l[13]||=e=>O.value=!1},{default:e(()=>[...l[21]||=[o(`取消`,-1)]]),_:1}),p(_,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[...l[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(X,{ref_key:`formRef`,ref:M,model:N,rules:F,"label-width":`100px`},{default:e(()=>[p(q,{label:`供应商名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:N.name,"onUpdate:modelValue":l[4]||=e=>N.name=e,placeholder:`请输入供应商名称`},null,8,[`modelValue`])]),_:1}),p(q,{label:`联系人`},{default:e(()=>[p(d,{modelValue:N.contact_person,"onUpdate:modelValue":l[5]||=e=>N.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),p(q,{label:`联系电话`},{default:e(()=>[p(d,{modelValue:N.contact_phone,"onUpdate:modelValue":l[6]||=e=>N.contact_phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1}),p(q,{label:`地址`},{default:e(()=>[p(d,{modelValue:N.address,"onUpdate:modelValue":l[7]||=e=>N.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1}),p(q,{label:`开户银行`},{default:e(()=>[p(d,{modelValue:N.bank_name,"onUpdate:modelValue":l[8]||=e=>N.bank_name=e,placeholder:`请输入开户银行`},null,8,[`modelValue`])]),_:1}),p(q,{label:`银行账号`},{default:e(()=>[p(d,{modelValue:N.bank_account,"onUpdate:modelValue":l[9]||=e=>N.bank_account=e,placeholder:`请输入银行账号`},null,8,[`modelValue`])]),_:1}),p(q,{label:`状态`},{default:e(()=>[p(J,{modelValue:N.status,"onUpdate:modelValue":l[10]||=e=>N.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),p(q,{label:`备注`},{default:e(()=>[p(d,{modelValue:N.remark,"onUpdate:modelValue":l[11]||=e=>N.remark=e,type:`textarea`,rows:3,placeholder:`请输入备注信息`},null,8,[`modelValue`])]),_:1}),p(q,{label:`排序`},{default:e(()=>[p(Y,{modelValue:N.sort,"onUpdate:modelValue":l[12]||=e=>N.sort=e,min:0,max:999},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default};