import{g as G}from"./index.es.DmevZXPX.js";import{a8 as H,a2 as J,R as C}from"./index.Ct5zz34E.js";import{_ as T}from"./index.vue_vue_type_script_setup_true_name_svgIcon_lang.DGCZFsu1.js";import{m as K,a as W,l as X}from"./api.O2SezJrF.js";import{d as Y,a as _,m as Z,b as i,y as ee,c as w,e as r,f as t,l as M,u as g,$ as te,k as b,w as n,t as y,A as v,g as k,F as ae,E as ne,x as oe}from"./vue.CZk_9PbR.js";import{_ as le}from"./_plugin-vue_export-helper.DlAUqK2U.js";const se={class:"menu-tree-com"},ie={class:"mtc-head"},ce={key:0,class:"text-center font-black font-normal"},re={key:1,class:"text-center font-black text-red-700 font-normal"},de={class:"mtc-tags"},ue=Y({__name:"index",props:{treeData:{default:()=>[]}},emits:["treeClick","deleteDept","updateDept"],setup(E,{expose:V,emit:B}){const $=G(ne),R={children:"children",label:"name",icon:"icon",isLeaf:(a,e)=>!e.data.is_catalog},x=_(),D=B;let u=_(""),f=_(!1),l=_({}),z=_(null);Z(u,a=>{x.value.filter(a)});const U=(a,e)=>a?oe(e).name.indexOf(a)!==-1:!0,F=(a,e)=>{a.level!==0&&X({parent:a.data.id}).then(c=>{e(c.data)})},S=(a,e)=>{l.value=a,z.value=e,D("treeClick",a)},L=a=>{if(a==="update"){if(!l.value.id){C("请选择菜单!");return}D("updateDept",a,l.value)}else D("updateDept",a)},I=()=>{if(!l.value.id){C("请选择菜单!");return}D("deleteDept",l.value.id,()=>{l.value={}})},N=async a=>{var s;if(!l.value.id){C("请选择菜单!");return}if(f.value)return;const e=((s=z.value)==null?void 0:s.parent.childNodes)||[],c=e.findIndex(m=>m.data.id===l.value.id),h=e.find(m=>m.data.id===l.value.id);if(a==="up"){if(c===0)return;e.splice(c-1,0,h),e.splice(c+1,1),f.value=!0,await K({menu_id:l.value.id}),f.value=!1}a==="down"&&(e.splice(c+2,0,h),e.splice(c,1),f.value=!0,await W({menu_id:l.value.id}),f.value=!1)};return V({treeRef:x}),(a,e)=>{const c=i("el-input"),h=i("Menu"),s=i("el-icon"),m=i("QuestionFilled"),d=i("el-tooltip"),P=i("Plus"),Q=i("Edit"),A=i("Top"),O=i("Bottom"),j=i("Delete"),p=ee("auth");return r(),w(ae,null,[t(c,{modelValue:g(u),"onUpdate:modelValue":e[0]||(e[0]=o=>te(u)?u.value=o:u=o),"prefix-icon":g(H),placeholder:"请输入菜单名称"},null,8,["modelValue","prefix-icon"]),M("div",se,[M("div",ie,[t(s,{size:"16",color:"#606266",class:"mtc-head-icon"},{default:n(()=>[t(h)]),_:1}),e[6]||(e[6]=b(" 菜单列表 ",-1)),t(d,{effect:"dark",placement:"right",content:"1.红色菜单代表状态禁用; 2.添加菜单,如果是目录,组件地址为空即可; 3.添加根节点菜单,父级ID为空即可; 4.支持拖拽菜单;"},{default:n(()=>[t(s,{size:"16",color:"var(--el-color-primary)",class:"mtc-tooltip"},{default:n(()=>[t(m)]),_:1})]),_:1})]),t(g(J),{ref_key:"treeRef",ref:x,data:E.treeData,props:R,"filter-node-method":U,load:F,lazy:"",indent:45,onNodeClick:S,"highlight-current":""},{default:n(({node:o,data:q})=>[t(g($),{node:o,showLabelLine:!1,indent:32},{default:n(()=>[q.status?(r(),w("span",ce,[t(T,{name:o.data.icon,color:"var(--el-color-primary)"},null,8,["name"]),b("  "+y(o.label),1)])):(r(),w("span",re,[t(T,{name:o.data.icon},null,8,["name"]),b(" "+y(o.label),1)]))]),_:2},1032,["node"])]),_:1},8,["data"]),M("div",de,[t(d,{effect:"dark",content:"新增"},{default:n(()=>[v((r(),k(s,{size:"16",onClick:e[1]||(e[1]=o=>L("create")),class:"mtc-tags-icon"},{default:n(()=>[t(P)]),_:1})),[[p,"menu:Create"]])]),_:1}),t(d,{effect:"dark",content:"编辑"},{default:n(()=>[v((r(),k(s,{size:"16",onClick:e[2]||(e[2]=o=>L("update")),class:"mtc-tags-icon"},{default:n(()=>[t(Q)]),_:1})),[[p,"menu:Update"]])]),_:1}),t(d,{effect:"dark",content:"上移"},{default:n(()=>[v((r(),k(s,{size:"16",onClick:e[3]||(e[3]=o=>N("up")),class:"mtc-tags-icon"},{default:n(()=>[t(A)]),_:1})),[[p,"menu:MoveUp"]])]),_:1}),t(d,{effect:"dark",content:"下移"},{default:n(()=>[v((r(),k(s,{size:"16",onClick:e[4]||(e[4]=o=>N("down")),class:"mtc-tags-icon"},{default:n(()=>[t(O)]),_:1})),[[p,"menu:MoveDown"]])]),_:1}),t(d,{effect:"dark",content:"删除"},{default:n(()=>[v((r(),k(s,{size:"16",onClick:e[5]||(e[5]=o=>I()),class:"mtc-tags-icon"},{default:n(()=>[t(j)]),_:1})),[[p,"menu:Delete"]])]),_:1})])])],64)}}}),De=le(ue,[["__scopeId","data-v-027d3c6f"]]);export{De as default};