1 line
5.2 KiB
JavaScript
1 line
5.2 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{o as m,s as h}from"./index-Mgun2LFs.js";import"./request-DG5cMCYw.js";import{n as g}from"./kb-D9l2iTcP.js";var _={class:`p-6 space-y-4`},v={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},b={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},x={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={__name:`index`,setup(C){let w=l([]),T=l(0),E=l(!1),D=l(!1),O=l(!1),k=d({status:``}),A=d({page:1,per_page:50}),j=l(null),M=d({id:null,name:``,parent_id:0,sort:0,status:1}),N=l(!1),P={name:[{required:!0,message:`请输入分类名称`,trigger:`blur`}]};async function F(){E.value=!0;try{let e=await g.getList({...k,...A});w.value=e.data?.list||e.data?.data||[],T.value=e.data?.total||0}finally{E.value=!1}}function I(){A.page=1,F()}function L(){Object.assign(k,{status:``}),I()}function R(){N.value=!1,Object.assign(M,{id:null,name:``,parent_id:0,sort:0,status:1}),D.value=!0}async function z(e){N.value=!0,Object.assign(M,{id:e.id,name:e.name,parent_id:e.parent_id||0,sort:e.sort||0,status:e.status}),D.value=!0}async function B(){j.value&&await j.value.validate(async e=>{if(e){O.value=!0;try{N.value?(await g.update(M.id,M),h.success(`更新成功`)):(await g.create(M),h.success(`创建成功`)),D.value=!1,F()}finally{O.value=!1}}})}async function V(e){await m.confirm(`确定删除分类「${e.name}」吗?`,`删除确认`,{type:`warning`}),await g.delete(e.id),h.success(`删除成功`),F()}function H(e){A.page=e,F()}function U(e){A.per_page=e,A.page=1,F()}return r(()=>F()),(r,l)=>{let d=i(`el-option`),m=i(`el-select`),h=i(`el-button`),g=i(`el-table-column`),C=i(`el-tag`),F=i(`el-table`),W=i(`el-pagination`),G=i(`el-input`),K=i(`el-form-item`),q=i(`el-input-number`),J=i(`el-switch`),Y=i(`el-form`),X=i(`el-dialog`),Z=t(`loading`);return n(),u(`div`,_,[f(`div`,v,[p(m,{modelValue:k.status,"onUpdate:modelValue":l[0]||=e=>k.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(d,{label:`启用`,value:1}),p(d,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(h,{type:`primary`,onClick:I},{default:e(()=>[...l[9]||=[o(`查询`,-1)]]),_:1}),p(h,{onClick:L},{default:e(()=>[...l[10]||=[o(`重置`,-1)]]),_:1})]),f(`div`,y,[f(`div`,b,[l[12]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`知识库分类列表`)],-1),p(h,{type:`primary`,onClick:R},{default:e(()=>[...l[11]||=[o(`新增分类`,-1)]]),_:1})]),f(`div`,x,[c((n(),s(F,{data:w.value,"row-key":`id`,style:{width:`100%`}},{default:e(()=>[p(g,{prop:`name`,label:`分类名称`,"min-width":`180`}),p(g,{label:`上级分类`,width:`120`,align:`center`},{default:e(({row:e})=>[o(a(e.parent_id===0?`顶级`:e.parent_id),1)]),_:1}),p(g,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),p(g,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(C,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(g,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(h,{size:`small`,type:`primary`,text:``,onClick:e=>z(t)},{default:e(()=>[...l[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(h,{size:`small`,type:`danger`,text:``,onClick:e=>V(t)},{default:e(()=>[...l[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Z,E.value]])]),f(`div`,S,[p(W,{"current-page":A.page,"onUpdate:currentPage":l[1]||=e=>A.page=e,"page-size":A.per_page,"onUpdate:pageSize":l[2]||=e=>A.per_page=e,total:T.value,"page-sizes":[20,50,100],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:H,onSizeChange:U},null,8,[`current-page`,`page-size`,`total`])])]),p(X,{modelValue:D.value,"onUpdate:modelValue":l[8]||=e=>D.value=e,title:N.value?`编辑分类`:`新增分类`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[p(h,{onClick:l[7]||=e=>D.value=!1},{default:e(()=>[...l[16]||=[o(`取消`,-1)]]),_:1}),p(h,{type:`primary`,loading:O.value,onClick:B},{default:e(()=>[...l[17]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(Y,{ref_key:`formRef`,ref:j,model:M,rules:P,"label-width":`90px`},{default:e(()=>[p(K,{label:`分类名称`,prop:`name`},{default:e(()=>[p(G,{modelValue:M.name,"onUpdate:modelValue":l[3]||=e=>M.name=e,placeholder:`请输入分类名称`},null,8,[`modelValue`])]),_:1}),p(K,{label:`上级分类`},{default:e(()=>[p(q,{modelValue:M.parent_id,"onUpdate:modelValue":l[4]||=e=>M.parent_id=e,min:0,style:{width:`100%`}},null,8,[`modelValue`]),l[15]||=f(`div`,{style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},`0 表示顶级分类`,-1)]),_:1}),p(K,{label:`排序`},{default:e(()=>[p(q,{modelValue:M.sort,"onUpdate:modelValue":l[5]||=e=>M.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(K,{label:`状态`},{default:e(()=>[p(J,{modelValue:M.status,"onUpdate:modelValue":l[6]||=e=>M.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{C as default}; |