2 lines
33 KiB
JavaScript
2 lines
33 KiB
JavaScript
import{ax as e,y as a,a5 as l,a6 as t,F as s,l as o,h as i,e as n,x as r,aq as d,ar as u,g as _,t as p,w as c,U as m,V as f,m as v,n as y,o as g,al as h,am as b,q as V,u as E,ao as w,T as k,a3 as T,a4 as O,aH as A,P as j,Q as L,av as D,L as I,D as R}from"./element-plus.DhcJM-BD.js";import{_ as P,u as C,f as U,D as x}from"./index.Ch_NPM5t.js";import{o as q,ev as M,r as N,eC as B,B as G,aC as z,t as S,H as F,L as $,I as K,u as W,J as X,K as H,a as Q,R as J,am as Y,M as Z,v as ee,W as ae,q as le,a9 as te,X as se,ez as oe,c as ie,ac as ne,aD as re,V as de,Y as ue,Z as _e,al as pe}from"./.pnpm.DGfAnZKL.js";import{_ as ce}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{D as me}from"./index.B-NAZOEd.js";import{M as fe}from"./menu.5Hbz5-XZ.js";import{M as ve}from"./menu.enum.DOZVpmzQ.js";import{f as ye}from"./common.BWIReEgr.js";import{f as ge}from"./dateUtil.BP-B7AtB.js";import"./codemirror.CR5zRbyM.js";const he={class:"icon-grid"},be=["onClick"],Ve={class:"icon-grid"},Ee=["onClick"],we=ce(q({__name:"index",props:oe({modelValue:{type:String,default:""},width:{type:String,default:"500px"}},{modelValue:{type:String,required:!0,default:""},modelModifiers:{}}),emits:oe(["update:modelValue"],["update:modelValue"]),setup(r,{emit:d}){const u=r,_=d,p=N(),c=N(),m=N(!1),f=N("svg"),v=N([]),y=N(Object.keys(n)),g=M(r,"modelValue"),h=N(""),b=N([]),V=N(y.value),E=ie(()=>g.value&&g.value.startsWith("el-icon"));function w(e){f.value=e.props.name,k()}function k(){"svg"===f.value?b.value=h.value?v.value.filter(e=>e.toLowerCase().includes(h.value.toLowerCase())):v.value:V.value=h.value?y.value.filter(e=>e.toLowerCase().includes(h.value.toLowerCase())):y.value}function T(e){const a="element"===f.value?"el-icon-"+e:e;_("update:modelValue",a),m.value=!1}function O(){m.value=!m.value}function A(){g.value=""}return B(p,()=>m.value=!1,{ignore:[c]}),G(()=>{!function(){const e=Object.assign({"../../assets/icons/ai.svg":()=>P(()=>import("./ai.D5FeArgu.js"),[]),"../../assets/icons/api.svg":()=>P(()=>import("./api.B2FJMEEY.js"),[]),"../../assets/icons/backtop.svg":()=>P(()=>import("./backtop.C5bGCvZX.js"),[]),"../../assets/icons/bell.svg":()=>P(()=>import("./bell.DVAWxzzU.js"),[]),"../../assets/icons/bilibili.svg":()=>P(()=>import("./bilibili.BDqZjNm-.js"),[]),"../../assets/icons/browser.svg":()=>P(()=>import("./browser.CQLP75Mx.js"),[]),"../../assets/icons/captcha.svg":()=>P(()=>import("./captcha.KixZeTLs.js"),[]),"../../assets/icons/cascader.svg":()=>P(()=>import("./cascader.Bxy7lIuJ.js"),[]),"../../assets/icons/client.svg":()=>P(()=>import("./client.fwafuIJ_.js"),[]),"../../assets/icons/close.svg":()=>P(()=>import("./close.3A3CTE27.js"),[]),"../../assets/icons/close_all.svg":()=>P(()=>import("./close_all.CpAPdWg9.js"),[]),"../../assets/icons/close_left.svg":()=>P(()=>import("./close_left.FPCWsnfT.js"),[]),"../../assets/icons/close_other.svg":()=>P(()=>import("./close_other.CtMgS35C.js"),[]),"../../assets/icons/close_right.svg":()=>P(()=>import("./close_right.WYLOaSAD.js"),[]),"../../assets/icons/cnblogs.svg":()=>P(()=>import("./cnblogs.B2Y7s_5c.js"),[]),"../../assets/icons/code.svg":()=>P(()=>import("./code.DbEIL5pZ.js"),[]),"../../assets/icons/collapse.svg":()=>P(()=>import("./collapse.ROHmwAah.js"),[]),"../../assets/icons/csdn.svg":()=>P(()=>import("./csdn.DUJUJ9Ed.js"),[]),"../../assets/icons/dict.svg":()=>P(()=>import("./dict.BlxtrVRf.js"),[]),"../../assets/icons/document.svg":()=>P(()=>import("./document.DqID0E9P.js"),[]),"../../assets/icons/down.svg":()=>P(()=>import("./down.By8c2p9v.js"),[]),"../../assets/icons/download.svg":()=>P(()=>import("./download.BcBrriOr.js"),[]),"../../assets/icons/enter.svg":()=>P(()=>import("./enter.BqL7pZcd.js"),[]),"../../assets/icons/esc.svg":()=>P(()=>import("./esc.eVgXU48X.js"),[]),"../../assets/icons/file.svg":()=>P(()=>import("./file.LSCgjjDT.js"),[]),"../../assets/icons/fullscreen-exit.svg":()=>P(()=>import("./fullscreen-exit.DXwCcaMo.js"),[]),"../../assets/icons/fullscreen.svg":()=>P(()=>import("./fullscreen.dczNRBeD.js"),[]),"../../assets/icons/gitcode.svg":()=>P(()=>import("./gitcode.8kuXv4pf.js"),[]),"../../assets/icons/gitee.svg":()=>P(()=>import("./gitee.C7LaIEZ_.js"),[]),"../../assets/icons/github.svg":()=>P(()=>import("./github.DLO2QQQy.js"),[]),"../../assets/icons/homepage.svg":()=>P(()=>import("./homepage.BcyYp1IG.js"),[]),"../../assets/icons/java.svg":()=>P(()=>import("./java.CUWOGSYw.js"),[]),"../../assets/icons/juejin.svg":()=>P(()=>import("./juejin.BBqoLiLP.js"),[]),"../../assets/icons/language.svg":()=>P(()=>import("./language.k0ZPy50U.js"),[]),"../../assets/icons/menu.svg":()=>P(()=>import("./menu.CSAxtYMZ.js"),[]),"../../assets/icons/message.svg":()=>P(()=>import("./message.CTraJOIE.js"),[]),"../../assets/icons/monitor.svg":()=>P(()=>import("./monitor.Cm5WDh5_.js"),[]),"../../assets/icons/project.svg":()=>P(()=>import("./project.CAkqf0A3.js"),[]),"../../assets/icons/python.svg":()=>P(()=>import("./python.Csxc02DG.js"),[]),"../../assets/icons/qq.svg":()=>P(()=>import("./qq.X0Hffnhw.js"),[]),"../../assets/icons/refresh.svg":()=>P(()=>import("./refresh.B5ExwFoE.js"),[]),"../../assets/icons/role.svg":()=>P(()=>import("./role.DDpGZwDf.js"),[]),"../../assets/icons/search.svg":()=>P(()=>import("./search.BuhcqAYw.js"),[]),"../../assets/icons/setting.svg":()=>P(()=>import("./setting.CfydkD5J.js"),[]),"../../assets/icons/size.svg":()=>P(()=>import("./size.C48ZYpz_.js"),[]),"../../assets/icons/sql.svg":()=>P(()=>import("./sql.CMPVzSmd.js"),[]),"../../assets/icons/system.svg":()=>P(()=>import("./system.BjyKXCM4.js"),[]),"../../assets/icons/table.svg":()=>P(()=>import("./table.C6Xt0YCE.js"),[]),"../../assets/icons/todo.svg":()=>P(()=>import("./todo.C6Ti5UL0.js"),[]),"../../assets/icons/tree.svg":()=>P(()=>import("./tree.ByH7Oq4A.js"),[]),"../../assets/icons/typescript.svg":()=>P(()=>import("./typescript.C8n9I--t.js"),[]),"../../assets/icons/up.svg":()=>P(()=>import("./up.RRIFBrWs.js"),[]),"../../assets/icons/user.svg":()=>P(()=>import("./user.rrOxQVjB.js"),[]),"../../assets/icons/visitor.svg":()=>P(()=>import("./visitor.C-ADb4dr.js"),[]),"../../assets/icons/vue.svg":()=>P(()=>import("./vue.BjDXW0c2.js"),[]),"../../assets/icons/wechat.svg":()=>P(()=>import("./wechat.ca-m1rk6.js"),[]),"../../assets/icons/xml.svg":()=>P(()=>import("./xml.DDPJ6DAu.js"),[])});for(const a in e){const e=a.replace(/.*\/(.*)\.svg$/,"$1");v.value.push(e)}b.value=v.value}(),g.value&&(y.value.includes(g.value.replace("el-icon-",""))?f.value="element":f.value="svg")}),(n,r)=>{const d=i,_=z("CircleClose"),v=z("ArrowDown"),y=a,j=o,L=s,D=t,I=l,R=e;return S(),F("div",{ref_key:"iconSelectRef",ref:p,style:$({width:u.width})},[K(R,{visible:W(m),width:u.width,placement:"bottom-end"},{reference:X(()=>[H("div",{onClick:r[1]||(r[1]=e=>m.value=!W(m))},[le(n.$slots,"default",{},()=>[K(y,{modelValue:g.value,"onUpdate:modelValue":r[0]||(r[0]=e=>g.value=e),readonly:"",placeholder:"点击选择图标",class:"reference"},{prepend:X(()=>[W(E)?(S(),ee(d,{key:0},{default:X(()=>[(S(),ee(ae(g.value.replace("el-icon-",""))))]),_:1})):(S(),F("div",{key:1,class:Z(`i-svg:${g.value}`)},null,2))]),suffix:X(()=>[g.value?(S(),ee(d,{key:0,style:{"margin-right":"8px"},onClick:te(A,["stop"])},{default:X(()=>[K(_)]),_:1})):se("",!0),K(d,{style:$({transform:W(m)?"rotate(180deg)":"rotate(0)",transition:"transform .5s"})},{default:X(()=>[K(v,{onClick:te(O,["stop"])})]),_:1},8,["style"])]),_:1},8,["modelValue"])],!0)])]),default:X(()=>[H("div",{ref_key:"popoverContentRef",ref:c},[K(y,{modelValue:W(h),"onUpdate:modelValue":r[2]||(r[2]=e=>Q(h)?h.value=e:null),placeholder:"搜索图标",clearable:"",onInput:k},null,8,["modelValue"]),K(I,{modelValue:W(f),"onUpdate:modelValue":r[3]||(r[3]=e=>Q(f)?f.value=e:null),onTabClick:w},{default:X(()=>[K(D,{label:"SVG 图标",name:"svg"},{default:X(()=>[K(L,{height:"300px"},{default:X(()=>[H("ul",he,[(S(!0),F(J,null,Y(W(b),e=>(S(),F("li",{key:"svg-"+e,class:"icon-grid-item",onClick:a=>T(e)},[K(j,{content:e,placement:"bottom",effect:"light"},{default:X(()=>[H("div",{class:Z(`i-svg:${e}`)},null,2)]),_:2},1032,["content"])],8,be))),128))])]),_:1})]),_:1}),K(D,{label:"Element 图标",name:"element"},{default:X(()=>[K(L,{height:"300px"},{default:X(()=>[H("ul",Ve,[(S(!0),F(J,null,Y(W(V),e=>(S(),F("li",{key:e,class:"icon-grid-item",onClick:a=>T(e)},[K(d,null,{default:X(()=>[(S(),ee(ae(e)))]),_:2},1024)],8,Ee))),128))])]),_:1})]),_:1})]),_:1},8,["modelValue"])],512)]),_:3},8,["visible","width"])],4)}}}),[["__scopeId","data-v-325dcc31"]]),ke={class:"app-container"},Te={class:"search-container"},Oe={class:"card-header"},Ae={class:"data-table__toolbar"},je={class:"data-table__toolbar--left"},Le={class:"data-table__toolbar--right"},De={class:"flex-y-center"},Ie={class:"flex-y-center"},Re={class:"flex-y-center"},Pe={class:"flex-y-center"},Ce={key:0},Ue={key:1},xe={class:"flex-y-center"},qe={class:"flex-y-center"},Me={class:"dialog-footer"},Ne=q({name:"SysMenu",inheritAttrs:!1,__name:"index",setup(e){const l=C(),t=U(),s=N(),n=N(),P=N([]),q=N(!1),M=N(!1),B=N(!0),$=N([]),le=N({}),oe=ne({name:void 0,status:void 0,created_time:void 0}),ce=ne({id:void 0,name:void 0,type:ve.CATALOG,icon:void 0,order:999,permission:"",route_name:"",route_path:"",component_path:void 0,redirect:void 0,parent_id:void 0,keep_alive:!1,hidden:!1,always_show:!1,title:"",params:void 0,affix:!1,status:"0",description:void 0}),he=ne({title:"",visible:!1,type:"create"}),be=ie(()=>l.device===x.DESKTOP?"600px":"90%"),Ve=N([]),Ee=ne({name:[{required:!0,message:"请输入菜单名称",trigger:"blur"},{min:2,max:50,message:"长度 2 到 50 个字符",trigger:"blur"}],parent_id:[{required:!0,message:"请选择父级菜单",trigger:"blur"}],type:[{required:!0,message:"请选择菜单类型",trigger:"blur"}],order:[{required:!0,message:"请输入排序",trigger:"blur"}],permission:[{required:!0,message:"请输入权限标识",trigger:"blur"}],route_name:[{required:!0,message:"请输入路由名称",trigger:"blur"}],route_path:[{required:!0,message:"请输入路由路径",trigger:"blur"},{validator:(e,a,l)=>{a&&!a.startsWith("/")?l(new Error("目录和菜单路由必须以/开头")):l()},trigger:"blur"}],component_path:[{required:!0,message:"请输入组件路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"},{min:2,max:50,message:"长度 2 到 50 个字符",trigger:"blur"}],keep_alive:[{required:!0,message:"请选择是否缓存",trigger:"change"}],hidden:[{required:!0,message:"请选择是否隐藏",trigger:"change"}],always_show:[{required:!0,message:"请选择始终显示",trigger:"change"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]}),Ne=N(),Be=N([]);function Ge(e){Be.value=e,e&&2===e.length?oe.created_time=[ge(e[0]),ge(e[1])]:oe.created_time=void 0}async function ze(){q.value=!0;try{const e=await fe.listMenu(oe);$.value=e.data.data}catch(e){}finally{q.value=!1}}const Se=e=>e.filter(e=>e.type===ve.CATALOG||e.type===ve.MENU).map(e=>({...e,children:e.children?Se(e.children):[]}));async function Fe(){!async function(){q.value=!0;try{const e=await fe.listMenu(oe);$.value=e.data.data,Ve.value=ye(Se(e.data.data))}catch(e){}finally{q.value=!1}}()}async function $e(){s.value.resetFields(),Be.value=[],oe.created_time=void 0,Fe()}const Ke={id:void 0,name:void 0,type:ve.MENU,icon:void 0,order:1,permission:"",route_name:"",route_path:"",component_path:"",redirect:"",parent_id:void 0,keep_alive:!1,hidden:!1,always_show:!1,title:"",params:[],affix:!1,status:"0",description:void 0};async function We(){n.value&&(n.value.resetFields(),n.value.clearValidate()),Object.assign(ce,Ke)}async function Xe(e){P.value=e.map(e=>e.id)}async function He(e){Ne.value=e.id}async function Qe(){he.visible=!1,We()}async function Je(e,a,l){if(he.type=e,a){const l=await fe.detailMenu(a);"detail"===e?(he.title="菜单详情",Object.assign(le.value,l.data.data)):"update"===e&&(he.title="修改菜单",Object.assign(ce,l.data.data))}else he.title="新增菜单",Object.assign(ce,Ke),l&&(ce.parent_id=l);he.visible=!0}function Ye(){ce.type!=ce.type&&ce.type===ve.MENU&&(ce.component_path="")}async function Ze(){n.value.validate(async e=>{if(e){q.value=!0;const e=ce.id;try{e?await fe.updateMenu(e,ce):await fe.createMenu(ce),await t.getUserInfo(),he.visible=!1,We(),$e()}catch(a){}finally{q.value=!1}}})}async function ea(e){R.confirm("确认删除该项数据?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{q.value=!0,await fe.deleteMenu(e),await t.getUserInfo(),$e()}catch(a){}finally{q.value=!1}}).catch(()=>{R.close()})}async function aa(e){R.confirm(`确认${"0"===e?"启用":"停用"}该项数据?`,"警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{q.value=!0,await fe.batchMenu({ids:P.value,status:e}),$e()}catch(a){}finally{q.value=!1}}).catch(()=>{R.close()})}return G(()=>{Fe()}),(e,l)=>{const t=a,R=r,C=u,U=d,x=me,N=_,G=z("ArrowUp"),ie=z("ArrowDown"),ne=i,fe=p,ye=c,ge=z("QuestionFilled"),Ne=o,Se=f,Ke=g,We=y,la=v,ta=m,sa=E,oa=b,ia=V,na=h,ra=k,da=O,ua=T,_a=A,pa=L,ca=j,ma=z("CirclePlusFilled"),fa=z("DeleteFilled"),va=D,ya=we,ga=I,ha=re("hasPerm"),ba=w;return S(),F("div",ke,[H("div",Te,[K(ye,{ref_key:"queryFormRef",ref:s,model:W(oe),inline:!0,"label-suffix":":",onSubmit:te(Fe,["prevent"])},{default:X(()=>[K(R,{prop:"name",label:"菜单名称"},{default:X(()=>[K(t,{modelValue:W(oe).name,"onUpdate:modelValue":l[0]||(l[0]=e=>W(oe).name=e),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])]),_:1}),K(R,{prop:"status",label:"状态"},{default:X(()=>[K(U,{modelValue:W(oe).status,"onUpdate:modelValue":l[1]||(l[1]=e=>W(oe).status=e),placeholder:"请选择状态",style:{width:"167.5px"},clearable:""},{default:X(()=>[K(C,{value:"0",label:"启用"}),K(C,{value:"1",label:"停用"})]),_:1},8,["modelValue"])]),_:1}),W(M)?(S(),ee(R,{key:0,prop:"start_time",label:"创建时间"},{default:X(()=>[K(x,{modelValue:W(Be),"onUpdate:modelValue":[l[2]||(l[2]=e=>Q(Be)?Be.value=e:null),Ge]},null,8,["modelValue"])]),_:1})):se("",!0),K(R,{class:"search-buttons"},{default:X(()=>[de((S(),ee(N,{type:"primary",icon:"search","native-type":"submit"},{default:X(()=>[...l[29]||(l[29]=[ue(" 查询 ",-1)])]),_:1})),[[ha,["module_system:menu:query"]]]),de((S(),ee(N,{icon:"refresh",onClick:$e},{default:X(()=>[...l[30]||(l[30]=[ue(" 重置 ",-1)])]),_:1})),[[ha,["module_system:menu:query"]]]),W(B)?(S(),ee(fe,{key:0,class:"ml-3",type:"primary",underline:"never",onClick:l[3]||(l[3]=e=>M.value=!W(M))},{default:X(()=>[ue(_e(W(M)?"收起":"展开")+" ",1),K(ne,null,{default:X(()=>[W(M)?(S(),ee(G,{key:0})):(S(),ee(ie,{key:1}))]),_:1})]),_:1})):se("",!0)]),_:1})]),_:1},8,["model"])]),K(ra,{class:"data-table"},{header:X(()=>[H("div",Oe,[H("span",null,[K(Ne,{content:"菜单管理系统的菜单和权限。"},{default:X(()=>[K(ge,{class:"w-4 h-4 mx-1"})]),_:1}),l[31]||(l[31]=ue(" 菜单列表 ",-1))])])]),default:X(()=>[H("div",Ae,[H("div",je,[K(ta,{gutter:10},{default:X(()=>[K(Se,{span:1.5},{default:X(()=>[de((S(),ee(N,{type:"success",icon:"plus",onClick:l[4]||(l[4]=e=>Je("create"))},{default:X(()=>[...l[32]||(l[32]=[ue(" 新增 ",-1)])]),_:1})),[[ha,["module_system:menu:create"]]])]),_:1}),K(Se,{span:1.5},{default:X(()=>[de((S(),ee(N,{type:"danger",icon:"delete",disabled:0===W(P).length,onClick:l[5]||(l[5]=e=>ea(W(P)))},{default:X(()=>[...l[33]||(l[33]=[ue(" 批量删除 ",-1)])]),_:1},8,["disabled"])),[[ha,["module_system:menu:delete"]]])]),_:1}),K(Se,{span:1.5},{default:X(()=>[de((S(),ee(la,{trigger:"click"},{dropdown:X(()=>[K(We,null,{default:X(()=>[K(Ke,{icon:"Check",onClick:l[6]||(l[6]=e=>aa("0"))},{default:X(()=>[...l[35]||(l[35]=[ue(" 批量启用 ",-1)])]),_:1}),K(Ke,{icon:"CircleClose",onClick:l[7]||(l[7]=e=>aa("1"))},{default:X(()=>[...l[36]||(l[36]=[ue(" 批量停用 ",-1)])]),_:1})]),_:1})]),default:X(()=>[K(N,{type:"default",disabled:0===W(P).length,icon:"ArrowDown"},{default:X(()=>[...l[34]||(l[34]=[ue(" 更多 ",-1)])]),_:1},8,["disabled"])]),_:1})),[[ha,["module_system:menu:patch"]]])]),_:1})]),_:1})]),H("div",Le,[K(ta,{gutter:10},{default:X(()=>[K(Se,{span:1.5},{default:X(()=>[K(Ne,{content:"刷新"},{default:X(()=>[de(K(N,{type:"primary",icon:"refresh",circle:"",onClick:ze},null,512),[[ha,["module_system:menu:query"]]])]),_:1})]),_:1})]),_:1})])]),de((S(),ee(na,{ref:"dataTableRef","row-key":"id",data:W($),"tree-props":{children:"children",hasChildren:"hasChildren"},class:"data-table__content",height:"600","max-height":"600",border:"",stripe:"",onSelectionChange:Xe,onRowClick:He},{empty:X(()=>[K(sa,{"image-size":80,description:"暂无数据"})]),default:X(()=>[K(oa,{type:"selection","min-width":"55",align:"center"}),K(oa,{type:"index",fixed:"",label:"序号","min-width":"60"}),K(oa,{label:"菜单名称",prop:"name","min-width":"240"}),K(oa,{label:"图标",prop:"icon","min-width":"80",align:"center"},{default:X(e=>[e.row.icon&&e.row.icon.startsWith("el-icon")?(S(),ee(ne,{key:0,style:{"vertical-align":"-0.15em"}},{default:X(()=>[(S(),ee(ae(e.row.icon.replace("el-icon-",""))))]),_:2},1024)):e.row.icon?(S(),F("div",{key:1,class:Z(`i-svg:${e.row.icon}`)},null,2)):se("",!0)]),_:1}),K(oa,{label:"状态",prop:"status","min-width":"80",align:"center"},{default:X(e=>[K(ia,{type:"0"===e.row.status?"success":"danger"},{default:X(()=>[ue(_e(e.row.status?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),K(oa,{label:"类型",prop:"type","min-width":"80",align:"center"},{default:X(e=>[e.row.type===W(ve).CATALOG?(S(),ee(ia,{key:0,type:"warning"},{default:X(()=>[...l[37]||(l[37]=[ue("目录",-1)])]),_:1})):se("",!0),e.row.type===W(ve).MENU?(S(),ee(ia,{key:1,type:"success"},{default:X(()=>[...l[38]||(l[38]=[ue("菜单",-1)])]),_:1})):se("",!0),e.row.type===W(ve).BUTTON?(S(),ee(ia,{key:2,type:"danger"},{default:X(()=>[...l[39]||(l[39]=[ue("按钮",-1)])]),_:1})):se("",!0),e.row.type===W(ve).EXTLINK?(S(),ee(ia,{key:3,type:"info"},{default:X(()=>[...l[40]||(l[40]=[ue("外链",-1)])]),_:1})):se("",!0)]),_:1}),K(oa,{label:"排序",prop:"order","min-width":"80"}),K(oa,{label:"重定向",prop:"redirect","min-width":"200"}),K(oa,{label:"是否缓存",prop:"keep_alive","min-width":"100"},{default:X(e=>[K(ia,{type:e.row.keep_alive?"success":"danger"},{default:X(()=>[ue(_e(e.row.keep_alive?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),K(oa,{label:"是否隐藏",prop:"hidden","min-width":"100"},{default:X(e=>[K(ia,{type:e.row.hidden?"success":"danger"},{default:X(()=>[ue(_e(e.row.hidden?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),K(oa,{label:"显示根路由",prop:"always_show","min-width":"120"},{default:X(e=>[K(ia,{type:e.row.always_show?"success":"danger"},{default:X(()=>[ue(_e(e.row.always_show?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),K(oa,{label:"固定路由",prop:"affix","min-width":"100"},{default:X(e=>[K(ia,{type:e.row.affix?"success":"danger"},{default:X(()=>[ue(_e(e.row.affix?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),K(oa,{label:"菜单标题",prop:"title","min-width":"200"}),K(oa,{label:"权限标识",prop:"permission","show-overflow-tooltip":"","min-width":"220"}),K(oa,{label:"路由名称",prop:"route_name","min-width":"200"}),K(oa,{label:"路由路径",prop:"route_path","min-width":"200"}),K(oa,{label:"组件路径",prop:"component_path","show-overflow-tooltip":"","min-width":"200"}),K(oa,{label:"路由参数",prop:"params","min-width":"100"}),K(oa,{label:"描述",prop:"description","show-overflow-tooltip":"","min-width":"200"}),K(oa,{label:"创建时间",prop:"created_time","min-width":"200",sortable:""}),K(oa,{label:"更新时间",prop:"updated_time","min-width":"200",sortable:""}),K(oa,{fixed:"right",label:"操作",align:"center","min-width":"260"},{default:X(e=>[e.row.type==W(ve).CATALOG||e.row.type==W(ve).MENU?de((S(),ee(N,{key:0,type:"success",link:"",size:"small",icon:"plus",onClick:te(a=>Je("create",void 0,e.row.id),["stop"])},{default:X(()=>[...l[41]||(l[41]=[ue(" 新增 ",-1)])]),_:1},8,["onClick"])),[[ha,["module_system:menu:create"]]]):se("",!0),de((S(),ee(N,{type:"info",size:"small",link:"",icon:"document",onClick:a=>Je("detail",e.row.id)},{default:X(()=>[...l[42]||(l[42]=[ue(" 详情 ",-1)])]),_:1},8,["onClick"])),[[ha,["module_system:menu:detail"]]]),de((S(),ee(N,{type:"primary",size:"small",link:"",icon:"edit",onClick:a=>Je("update",e.row.id)},{default:X(()=>[...l[43]||(l[43]=[ue(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[ha,["module_system:menu:update"]]]),de((S(),ee(N,{type:"danger",size:"small",link:"",icon:"delete",onClick:a=>ea([e.row.id])},{default:X(()=>[...l[44]||(l[44]=[ue(" 删除 ",-1)])]),_:1},8,["onClick"])),[[ha,["module_system:menu:delete"]]])]),_:1})]),_:1},8,["data"])),[[ba,W(q)]])]),_:1}),K(ga,{modelValue:W(he).visible,"onUpdate:modelValue":l[28]||(l[28]=e=>W(he).visible=e),title:W(he).title,size:W(be),onClose:Qe},{footer:X(()=>[H("div",Me,["detail"!==W(he).type?(S(),ee(N,{key:0,type:"primary",onClick:Ze},{default:X(()=>[...l[79]||(l[79]=[ue(" 确定 ",-1)])]),_:1})):(S(),ee(N,{key:1,type:"primary",onClick:Qe},{default:X(()=>[...l[80]||(l[80]=[ue("确定",-1)])]),_:1})),K(N,{onClick:Qe},{default:X(()=>[...l[81]||(l[81]=[ue("取消",-1)])]),_:1})])]),default:X(()=>["detail"===W(he).type?(S(),ee(ua,{key:0,column:4,border:""},{default:X(()=>[K(da,{label:"编号",span:2},{default:X(()=>[ue(_e(W(le).id),1)]),_:1}),K(da,{label:"菜单名称",span:2},{default:X(()=>[ue(_e(W(le).name),1)]),_:1}),K(da,{label:"菜单类型",span:2},{default:X(()=>[W(le).type===W(ve).CATALOG?(S(),ee(ia,{key:0,type:"warning"},{default:X(()=>[...l[45]||(l[45]=[ue("目录",-1)])]),_:1})):se("",!0),W(le).type===W(ve).MENU?(S(),ee(ia,{key:1,type:"success"},{default:X(()=>[...l[46]||(l[46]=[ue("菜单",-1)])]),_:1})):se("",!0),W(le).type===W(ve).BUTTON?(S(),ee(ia,{key:2,type:"danger"},{default:X(()=>[...l[47]||(l[47]=[ue("按钮",-1)])]),_:1})):se("",!0),W(le).type===W(ve).EXTLINK?(S(),ee(ia,{key:3,type:"info"},{default:X(()=>[...l[48]||(l[48]=[ue("外链",-1)])]),_:1})):se("",!0)]),_:1}),K(da,{label:"图标",span:2},{default:X(()=>[W(le).icon&&W(le).icon.startsWith("el-icon")?(S(),ee(ne,{key:0,style:{"vertical-align":"-0.15em"}},{default:X(()=>[(S(),ee(ae(W(le).icon.replace("el-icon-",""))))]),_:1})):W(le).icon?(S(),F("div",{key:1,class:Z(`i-svg:${W(le).icon}`)},null,2)):se("",!0)]),_:1}),K(da,{label:"排序",span:2},{default:X(()=>[ue(_e(W(le).order),1)]),_:1}),K(da,{label:"权限标识",span:2},{default:X(()=>[ue(_e(W(le).permission),1)]),_:1}),K(da,{label:"路由名称",span:2},{default:X(()=>[ue(_e(W(le).route_name),1)]),_:1}),K(da,{label:"路由路径",span:2},{default:X(()=>[ue(_e(W(le).route_path),1)]),_:1}),K(da,{label:"组件路径",span:2},{default:X(()=>[ue(_e(W(le).component_path),1)]),_:1}),K(da,{label:"重定向",span:2},{default:X(()=>[ue(_e(W(le).redirect),1)]),_:1}),K(da,{label:"父级编号",span:2},{default:X(()=>[ue(_e(W(le).parent_id),1)]),_:1}),K(da,{label:"父级菜单",span:2},{default:X(()=>[ue(_e(W(le).parent_name),1)]),_:1}),K(da,{label:"是否缓存",span:2},{default:X(()=>[K(ia,{type:W(le).keep_alive?"success":"danger"},{default:X(()=>[ue(_e(W(le).keep_alive?"是":"否"),1)]),_:1},8,["type"])]),_:1}),K(da,{label:"是否显示",span:2},{default:X(()=>[K(ia,{type:W(le).hidden?"success":"danger"},{default:X(()=>[ue(_e(W(le).hidden?"是":"否"),1)]),_:1},8,["type"])]),_:1}),K(da,{label:"是否显示根路由",span:2},{default:X(()=>[K(ia,{type:W(le).always_show?"success":"danger"},{default:X(()=>[ue(_e(W(le).always_show?"是":"否"),1)]),_:1},8,["type"])]),_:1}),K(da,{label:"菜单标题",span:2},{default:X(()=>[ue(_e(W(le).title),1)]),_:1}),K(da,{label:"路由参数",span:2},{default:X(()=>[ue(_e(W(le).params),1)]),_:1}),K(da,{label:"是否固定路由",span:2},{default:X(()=>[K(ia,{type:W(le).affix?"success":"danger"},{default:X(()=>[ue(_e(W(le).affix?"是":"否"),1)]),_:1},8,["type"])]),_:1}),K(da,{label:"状态",span:2},{default:X(()=>[K(ia,{type:W(le).status?"success":"danger"},{default:X(()=>[ue(_e(W(le).status?"启用":"停用"),1)]),_:1},8,["type"])]),_:1}),K(da,{label:"排序",span:2},{default:X(()=>[ue(_e(W(le).order),1)]),_:1}),K(da,{label:"创建时间",span:2},{default:X(()=>[ue(_e(W(le).created_time),1)]),_:1}),K(da,{label:"更新时间",span:2},{default:X(()=>[ue(_e(W(le).updated_time),1)]),_:1}),K(da,{label:"描述",span:4},{default:X(()=>[ue(_e(W(le).description),1)]),_:1})]),_:1})):(S(),ee(ye,{key:1,ref_key:"dataFormRef",ref:n,model:W(ce),rules:W(Ee),"label-suffix":":","label-width":"auto","label-position":"right"},{default:X(()=>[W(ce).type!==W(ve).CATALOG?(S(),ee(R,{key:0,label:"父级菜单",prop:"parent_id"},{default:X(()=>[K(_a,{modelValue:W(ce).parent_id,"onUpdate:modelValue":l[8]||(l[8]=e=>W(ce).parent_id=e),placeholder:"选择上级菜单",data:W(Ve),filterable:"","check-strictly":"","render-after-expand":!1},null,8,["modelValue","data"])]),_:1})):se("",!0),K(R,{label:"菜单名称",prop:"name"},{default:X(()=>[K(t,{modelValue:W(ce).name,"onUpdate:modelValue":l[9]||(l[9]=e=>W(ce).name=e),placeholder:"请输入菜单名称"},null,8,["modelValue"])]),_:1}),K(R,{label:"菜单标题",prop:"title"},{default:X(()=>[K(t,{modelValue:W(ce).title,"onUpdate:modelValue":l[10]||(l[10]=e=>W(ce).title=e),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),K(R,{label:"菜单类型",prop:"type"},{default:X(()=>[K(ca,{modelValue:W(ce).type,"onUpdate:modelValue":l[11]||(l[11]=e=>W(ce).type=e),onChange:Ye},{default:X(()=>[K(pa,{value:W(ve).CATALOG},{default:X(()=>[...l[49]||(l[49]=[ue("目录",-1)])]),_:1},8,["value"]),K(pa,{value:W(ve).MENU},{default:X(()=>[...l[50]||(l[50]=[ue("菜单",-1)])]),_:1},8,["value"]),K(pa,{value:W(ve).BUTTON},{default:X(()=>[...l[51]||(l[51]=[ue("按钮",-1)])]),_:1},8,["value"]),K(pa,{value:W(ve).EXTLINK},{default:X(()=>[...l[52]||(l[52]=[ue("外链",-1)])]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),W(ce).type==W(ve).EXTLINK?(S(),ee(R,{key:1,label:"外链地址",prop:"path"},{default:X(()=>[K(t,{modelValue:W(ce).route_path,"onUpdate:modelValue":l[12]||(l[12]=e=>W(ce).route_path=e),placeholder:"请输入外链完整路径"},null,8,["modelValue"])]),_:1})):se("",!0),W(ce).type!==W(ve).BUTTON?(S(),ee(R,{key:2,prop:"route_name"},{label:X(()=>[H("div",De,[l[54]||(l[54]=ue(" 路由名称 ",-1)),K(Ne,{placement:"bottom",effect:"light"},{content:X(()=>[...l[53]||(l[53]=[ue(" 如果需要开启缓存,需保证页面 defineOptions 中的 name 与此处一致,建议使用驼峰。 ",-1)])]),default:X(()=>[K(ne,{class:"ml-1 cursor-pointer"},{default:X(()=>[K(ge)]),_:1})]),_:1})])]),default:X(()=>[K(t,{modelValue:W(ce).route_name,"onUpdate:modelValue":l[13]||(l[13]=e=>W(ce).route_name=e),placeholder:"请输入路由名称"},null,8,["modelValue"])]),_:1})):se("",!0),W(ce).type==W(ve).CATALOG||W(ce).type==W(ve).MENU?(S(),ee(R,{key:3,prop:"route_path"},{label:X(()=>[H("div",Ie,[l[56]||(l[56]=ue(" 路由路径 ",-1)),K(Ne,{placement:"bottom",effect:"light"},{content:X(()=>[...l[55]||(l[55]=[ue(" 定义应用中不同页面对应的 URL 路径,目录需以 / 开头,菜单项不用。例如:系统管理目录 /system,系统管理下的用户管理菜单 user。 ",-1)])]),default:X(()=>[K(ne,{class:"ml-1 cursor-pointer"},{default:X(()=>[K(ge)]),_:1})]),_:1})])]),default:X(()=>[K(t,{modelValue:W(ce).route_path,"onUpdate:modelValue":l[14]||(l[14]=e=>W(ce).route_path=e),placeholder:"请输入路由路径,如:/system"},null,8,["modelValue"])]),_:1})):se("",!0),W(ce).type==W(ve).MENU?(S(),ee(R,{key:4,prop:"component"},{label:X(()=>[H("div",Re,[l[58]||(l[58]=ue(" 组件路径 ",-1)),K(Ne,{placement:"bottom",effect:"light"},{content:X(()=>[...l[57]||(l[57]=[ue(" 组件页面完整路径,相对于 src/views/,如 system/user/index,缺省后缀 .vue ",-1)])]),default:X(()=>[K(ne,{class:"ml-1 cursor-pointer"},{default:X(()=>[K(ge)]),_:1})]),_:1})])]),default:X(()=>[K(t,{modelValue:W(ce).component_path,"onUpdate:modelValue":l[15]||(l[15]=e=>W(ce).component_path=e),placeholder:"请输入组件路径,如system/user/index",style:{width:"95%"}},pe({_:2},[W(ce).type==W(ve).MENU?{name:"prepend",fn:X(()=>[l[59]||(l[59]=ue("src/views/",-1))]),key:"0"}:void 0,W(ce).type==W(ve).MENU?{name:"append",fn:X(()=>[l[60]||(l[60]=ue(".vue",-1))]),key:"1"}:void 0]),1032,["modelValue"])]),_:1})):se("",!0),W(ce).type==W(ve).MENU?(S(),ee(R,{key:5},{label:X(()=>[H("div",Pe,[l[62]||(l[62]=ue(" 路由参数 ",-1)),K(Ne,{placement:"bottom",effect:"light"},{content:X(()=>[...l[61]||(l[61]=[ue(" 组件页面使用 `useRoute().query.参数名` 获取路由参数值。 ",-1)])]),default:X(()=>[K(ne,{class:"ml-1 cursor-pointer"},{default:X(()=>[K(ge)]),_:1})]),_:1})])]),default:X(()=>[!W(ce).params||Array.isArray(W(ce).params)&&0===W(ce).params.length?(S(),F("div",Ce,[K(N,{type:"success",plain:"",onClick:l[16]||(l[16]=e=>W(ce).params=[{key:"",value:""}])},{default:X(()=>[...l[63]||(l[63]=[ue(" 添加路由参数 ",-1)])]),_:1})])):(S(),F("div",Ue,[(S(!0),F(J,null,Y(W(ce).params,(e,a)=>(S(),F("div",{key:a},[K(t,{modelValue:e.key,"onUpdate:modelValue":a=>e.key=a,placeholder:"参数名",style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),l[64]||(l[64]=H("span",{class:"mx-1"},"=",-1)),K(t,{modelValue:e.value,"onUpdate:modelValue":a=>e.value=a,placeholder:"参数值",style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),W(ce).params.indexOf(e)===W(ce).params.length-1?(S(),ee(ne,{key:0,class:"ml-2 cursor-pointer color-[var(--el-color-success)]",style:{"vertical-align":"-0.15em"},onClick:l[17]||(l[17]=e=>W(ce).params.push({key:"",value:""}))},{default:X(()=>[K(ma)]),_:1})):se("",!0),K(ne,{class:"ml-2 cursor-pointer color-[var(--el-color-danger)]",style:{"vertical-align":"-0.15em"},onClick:a=>W(ce).params.splice(W(ce).params.indexOf(e),1)},{default:X(()=>[K(fa)]),_:1},8,["onClick"])]))),128))]))]),_:1})):se("",!0),W(ce).type!==W(ve).BUTTON?(S(),ee(R,{key:6},{label:X(()=>[H("div",xe,[l[66]||(l[66]=ue(" 是否隐藏 ",-1)),K(Ne,{placement:"bottom",effect:"light"},{content:X(()=>[...l[65]||(l[65]=[ue(' 选择"是", 菜单中隐藏 ',-1),H("br",null,null,-1),ue(' 选择"否",菜单中显示。 ',-1),H("br",null,null,-1)])]),default:X(()=>[K(ne,{class:"ml-1 cursor-pointer"},{default:X(()=>[K(ge)]),_:1})]),_:1})])]),default:X(()=>[K(ca,{modelValue:W(ce).hidden,"onUpdate:modelValue":l[18]||(l[18]=e=>W(ce).hidden=e)},{default:X(()=>[K(pa,{value:!0},{default:X(()=>[...l[67]||(l[67]=[ue("是",-1)])]),_:1}),K(pa,{value:!1},{default:X(()=>[...l[68]||(l[68]=[ue("否",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):se("",!0),W(ce).type===W(ve).CATALOG||W(ce).type===W(ve).MENU?(S(),ee(R,{key:7},{label:X(()=>[H("div",qe,[l[70]||(l[70]=ue(" 始终显示 ",-1)),K(Ne,{placement:"bottom",effect:"light"},{content:X(()=>[...l[69]||(l[69]=[ue(' 选择"是",即使目录或菜单下只有一个子节点,也会显示父节点。 ',-1),H("br",null,null,-1),ue(' 选择"否",如果目录或菜单下只有一个子节点,则只显示该子节点,隐藏父节点。 ',-1),H("br",null,null,-1),ue(' 如果是叶子节点,请选择"否"。 ',-1)])]),default:X(()=>[K(ne,{class:"ml-1 cursor-pointer"},{default:X(()=>[K(ge)]),_:1})]),_:1})])]),default:X(()=>[K(ca,{modelValue:W(ce).always_show,"onUpdate:modelValue":l[19]||(l[19]=e=>W(ce).always_show=e)},{default:X(()=>[K(pa,{value:!0},{default:X(()=>[...l[71]||(l[71]=[ue("是",-1)])]),_:1}),K(pa,{value:!1},{default:X(()=>[...l[72]||(l[72]=[ue("否",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):se("",!0),W(ce).type===W(ve).MENU?(S(),ee(R,{key:8,label:"缓存页面"},{default:X(()=>[K(ca,{modelValue:W(ce).keep_alive,"onUpdate:modelValue":l[20]||(l[20]=e=>W(ce).keep_alive=e)},{default:X(()=>[K(pa,{value:!0},{default:X(()=>[...l[73]||(l[73]=[ue("开启",-1)])]),_:1}),K(pa,{value:!1},{default:X(()=>[...l[74]||(l[74]=[ue("关闭",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):se("",!0),K(R,{label:"排序",prop:"order"},{default:X(()=>[K(va,{modelValue:W(ce).order,"onUpdate:modelValue":l[21]||(l[21]=e=>W(ce).order=e),"controls-position":"right",min:1},null,8,["modelValue"])]),_:1}),W(ce).type==W(ve).BUTTON||W(ce).type===W(ve).MENU?(S(),ee(R,{key:9,label:"权限标识",prop:"perm"},{default:X(()=>[K(t,{modelValue:W(ce).permission,"onUpdate:modelValue":l[22]||(l[22]=e=>W(ce).permission=e),placeholder:"请输入权限标识,如sys:user:add"},null,8,["modelValue"])]),_:1})):se("",!0),W(ce).type!==W(ve).BUTTON?(S(),ee(R,{key:10,label:"图标",prop:"icon"},{default:X(()=>[K(ya,{modelValue:W(ce).icon,"onUpdate:modelValue":l[23]||(l[23]=e=>W(ce).icon=e)},null,8,["modelValue"])]),_:1})):se("",!0),W(ce).type==W(ve).CATALOG||W(ce).type===W(ve).MENU?(S(),ee(R,{key:11,label:"重定向",prop:"redirect"},{default:X(()=>[K(t,{modelValue:W(ce).redirect,"onUpdate:modelValue":l[24]||(l[24]=e=>W(ce).redirect=e),placeholder:"请输入重定向路由"},null,8,["modelValue"])]),_:1})):se("",!0),W(ce).type!=W(ve).BUTTON?(S(),ee(R,{key:12,label:"常驻标签栏",prop:"affix"},{default:X(()=>[K(ca,{modelValue:W(ce).affix,"onUpdate:modelValue":l[25]||(l[25]=e=>W(ce).affix=e)},{default:X(()=>[K(pa,{value:!0},{default:X(()=>[...l[75]||(l[75]=[ue("是",-1)])]),_:1}),K(pa,{value:!1},{default:X(()=>[...l[76]||(l[76]=[ue("否",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):se("",!0),K(R,{label:"状态",prop:"status"},{default:X(()=>[K(ca,{modelValue:W(ce).status,"onUpdate:modelValue":l[26]||(l[26]=e=>W(ce).status=e)},{default:X(()=>[K(pa,{value:"0"},{default:X(()=>[...l[77]||(l[77]=[ue("启用",-1)])]),_:1}),K(pa,{value:"1"},{default:X(()=>[...l[78]||(l[78]=[ue("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),K(R,{label:"描述",prop:"description"},{default:X(()=>[K(t,{modelValue:W(ce).description,"onUpdate:modelValue":l[27]||(l[27]=e=>W(ce).description=e),rows:4,maxlength:100,"show-word-limit":"",type:"textarea",placeholder:"请输入描述"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"]))]),_:1},8,["modelValue","title","size"])])}}});export{Ne as default};
|