|
|
import{C as e,D as t,E as n,G as r,T as i,X as a,Y as o,at as s,b as c,ht as l,m as u,ot as d,q as f,tn as p,x as m}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{c as h,l as g}from"./index-DXyzmFFT.js";import{n as _,t as v}from"./usePageLoad-COyWIJSl.js";import{i as y,n as b,r as x,t as S}from"./menus-YTQr-lwZ.js";var C={class:`list-page`},w={class:`page-header`},T={class:`page-header-actions`},E={class:`table-row-actions`},D=t({__name:`index`,setup(t){let D=l(!1),O=l([]),k=l(!1),A=l({id:null,parent_id:null,path:``,name:``,title:``,component:``,icon:``,sort:0,visible:1,keep_alive:0,permission_code:``,status:1}),j=l([]);function M(e){let t=[{label:`根节点`,value:null}],n=(e,r)=>{for(let i of e)t.push({label:`${r}${i.title} (#${i.id})`,value:i.id}),i.children?.length&&n(i.children,r+` `)};return n(e,``),t}async function N(){D.value=!0;try{O.value=await x(),j.value=M(O.value)}finally{D.value=!1}}function P(e=null){A.value={id:null,parent_id:e,path:``,name:``,title:``,component:``,icon:``,sort:0,visible:1,keep_alive:0,permission_code:``,status:1},k.value=!0}function F(e){A.value={id:e.id,parent_id:e.parent_id??null,path:e.path,name:e.name,title:e.title,component:e.component||``,icon:e.icon||``,sort:e.sort,visible:e.visible,keep_alive:e.keep_alive,permission_code:e.permission_code||``,status:e.status??1},k.value=!0}async function I(){let e={parent_id:A.value.parent_id,path:A.value.path,name:A.value.name,title:A.value.title,component:A.value.component||null,icon:A.value.icon||null,sort:A.value.sort,visible:A.value.visible,keep_alive:A.value.keep_alive,permission_code:A.value.permission_code||null,status:A.value.status};A.value.id?await y(A.value.id,e):await S(e),g.success(`已保存`),k.value=!1,await N()}async function L(e){await h.confirm(`确定删除菜单「${e.title}」?`,`提示`,{type:`warning`}),await b(e.id),g.success(`已删除`),await N()}return v(N),(t,l)=>{let h=o(`el-button`),g=o(`el-table-column`),v=o(`el-table`),y=o(`el-card`),b=o(`el-option`),x=o(`el-select`),S=o(`el-form-item`),M=o(`el-input`),R=o(`el-input-number`),z=o(`el-switch`),B=o(`el-form`),V=o(`el-dialog`),H=a(`loading`);return r(),e(u,null,[c(`div`,C,[c(`div`,w,[n(_),c(`div`,T,[n(h,{onClick:N},{default:s(()=>[...l[14]||=[i(`刷新`,-1)]]),_:1}),n(h,{type:`primary`,size:`small`,class:`btn-create`,onClick:l[0]||=e=>P(null)},{default:s(()=>[...l[15]||=[i(`新增根菜单`,-1)]]),_:1})])]),d((r(),m(y,{shadow:`never`,class:`admin-list-card`},{default:s(()=>[n(v,{data:O.value,"row-key":`id`,"default-expand-all":``,"tree-props":{children:`children`}},{default:s(()=>[n(g,{prop:`title`,label:`标题`,"min-width":`160`}),n(g,{prop:`path`,label:`Path`,width:`180`}),n(g,{prop:`name`,label:`路由 name`,width:`140`}),n(g,{prop:`component`,label:`组件`,"min-width":`180`,"show-overflow-tooltip":``}),n(g,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),n(g,{label:`显示`,width:`80`,align:`center`},{default:s(({row:e})=>[i(p(e.visible?`是`:`否`),1)]),_:1}),n(g,{label:`操作`,width:`240`,fixed:`right`},{default:s(({row:e})=>[c(`div`,E,[n(h,{class:`btn-action-primary`,onClick:t=>P(e.id)},{default:s(()=>[...l[16]||=[i(`子菜单`,-1)]]),_:1},8,[`onClick`]),n(h,{class:`btn-action-primary`,onClick:t=>F(e)},{default:s(()=>[...l[17]||=[i(`编辑`,-1)]]),_:1},8,[`onClick`]),n(h,{class:`btn-action-brand`,onClick:t=>L(e)},{default:s(()=>[...l[18]||=[i(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])]),_:1})),[[H,D.value]])]),n(V,{modelValue:k.value,"onUpdate:modelValue":l[13]||=e=>k.value=e,title:A.value.id?`编辑菜单`:`新增菜单`,width:`560px`},{footer:s(()=>[n(h,{onClick:l[12]||=e=>k.value=!1},{default:s(()=>[...l[19]||=[i(`取消`,-1)]]),_:1}),n(h,{type:`primary`,onClick:I},{default:s(()=>[...l[20]||=[i(`保存`,-1)]]),_:1})]),default:s(()=>[n(B,{"label-width":`110px`},{default:s(()=>[n(S,{label:`父级`},{default:s(()=>[n(x,{modelValue:A.value.parent_id,"onUpdate:modelValue":l[1]||=e=>A.value.parent_id=e,clearable:``,filterable:``,placeholder:`根`,style:{width:`100%`}},{default:s(()=>[(r(!0),e(u,null,f(j.value,e=>(r(),m(b,{key:String(e.value)+e.label,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),n(S,{label:`Path`},{default:s(()=>[n(M,{modelValue:A.value.path,"onUpdate:modelValue":l[2]||=e=>A.value.path=e,placeholder:`如 /system/users`},null,8,[`modelValue`])]),_:1}),n(S,{label:`路由 name`},{default:s(()=>[n(M,{modelValue:A.value.name,"onUpdate:modelValue":l[3]||=e=>A.value.name=e},null,8,[`modelValue`])]),_:1}),n(S,{label:`标题`},{default:s(()=>[n(M,{modelValue:A.value.title,"onUpdate:modelValue":l[4]||=e=>A.value.title=e},null,8,[`modelValue`])]),_:1}),n(S,{label:`组件`},{default:s(()=>[n(M,{modelValue:A.value.component,"onUpdate:modelValue":l[5]||=e=>A.value.component=e,placeholder:`如 system/users/index`},null,8,[`modelValue`])]),_:1}),n(S,{label:`图标`},{default:s(()=>[n(M,{modelValue:A.value.icon,"onUpdate:modelValue":l[6]||=e=>A.value.icon=e,placeholder:`Element Plus 图标名`},null,8,[`modelValue`])]),_:1}),n(S,{label:`权限码`},{default:s(()=>[n(M,{modelValue:A.value.permission_code,"onUpdate:modelValue":l[7]||=e=>A.value.permission_code=e,placeholder:`可选,预留与后期接口权限对齐;当前不校验`},null,8,[`modelValue`])]),_:1}),n(S,{label:`排序`},{default:s(()=>[n(R,{modelValue:A.value.sort,"onUpdate:modelValue":l[8]||=e=>A.value.sort=e},null,8,[`modelValue`])]),_:1}),n(S,{label:`侧栏显示`},{default:s(()=>[n(z,{modelValue:A.value.visible,"onUpdate:modelValue":l[9]||=e=>A.value.visible=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),n(S,{label:`KeepAlive`},{default:s(()=>[n(z,{modelValue:A.value.keep_alive,"onUpdate:modelValue":l[10]||=e=>A.value.keep_alive=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),n(S,{label:`状态`},{default:s(()=>[n(z,{modelValue:A.value.status,"onUpdate:modelValue":l[11]||=e=>A.value.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`,`title`])],64)}}});export{D as default}; |