import{d as le,g as oe,r as _,b as L,t as ne,e as ae,c as se,f as e,w as l,T as ie,h as i,i as a,j as re,o as y,k as v,l as de,m as w,n as q,p as u,q as ue,E as pe,s as b}from"./index-DRNenl-T.js";import{l as O,d as me,u as _e,a as ce}from"./menu-Ca_cGcaO.js";const fe={class:"p-2"},ye={class:"mb-[10px]"},ve={class:"dialog-footer"},be=le({name:"menuManagement"}),he=Object.assign(be,{setup(ge){const{proxy:we}=oe(),T=_([]),k=_(!0),V=_([]),S=_(!1),d=L({visible:!1,title:""}),I=_(),h=_(),z=_(),M={permission_name:"",permission_type:1,permission_code:"",resource_path:"",http_method:"",description:"",parent_uid:""},G=L({form:{...M},queryParams:{permission_types:"1,3"},rules:{permission_name:[{required:!0,message:"菜单名称不能为空",trigger:"blur"}],permission_code:[{required:!0,message:"权限标识不能为空",trigger:"blur"}],permission_type:[{required:!0,message:"菜单类型不能为空",trigger:"change"}]}}),{queryParams:x,form:s,rules:H}=ne(G),C=async()=>{k.value=!0;const o=await O(x.value);T.value=o.data,k.value=!1},U=async()=>{V.value=[];const o=await O(x.value),t={uid:"0",permission_name:"主类目",children:[]};t.children=o.data,V.value.push(t)},J=()=>{d.visible=!1},B=()=>{var o;s.value={...M},(o=h.value)==null||o.resetFields()},F=o=>{B(),U(),o&&o.uid?s.value.parent_uid=o.uid:s.value.parent_uid="",d.visible=!0,d.title="添加菜单"},K=async o=>{B(),await U(),o.parent_uid==""&&(o.parent_uid="0"),s.value=o,d.visible=!0,d.title="修改菜单"},Q=()=>{var o;try{(o=h.value)==null||o.validate(async t=>{t&&(s.value.uid?await _e(s.value):await ce(s.value),b.success("操作成功"),d.visible=!1,await C())})}catch{b.error("操作失败")}},W=async o=>{try{await pe.confirm(`确认要删除"${o.permission_name}"的数据项?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const t=o==null?void 0:o.uid,r=await me(t);if(r.meta.code!==200){b.error(r.data.message);return}await C(),b.success(`${o.permission_name}权限删除成功`)}catch(t){const r=(t==null?void 0:t.toString())||"";if(r.includes("cancel")||r.includes("取消")||r==="cancel"||t==="cancel"||r.includes("close")||t==="close")return;b.error(`${o.permission_name}权限删除失败`)}};return ae(()=>{C()}),(o,t)=>{const r=i("el-form-item"),R=i("el-form"),$=i("el-card"),c=i("el-button"),m=i("el-col"),D=i("el-row"),p=i("el-table-column"),E=i("el-tag"),f=i("el-tooltip"),X=i("el-table"),Y=i("el-tree-select"),g=i("el-input"),N=i("el-radio"),Z=i("el-radio-group"),P=i("question-filled"),j=i("el-icon"),ee=i("el-dialog"),te=re("loading");return y(),se("div",fe,[e(ie,null,{default:l(()=>[v("div",ye,[e($,{shadow:"hover"},{default:l(()=>[e(R,{ref_key:"queryFormRef",ref:I,model:a(x),inline:!0,"label-width":"68px"},{default:l(()=>[e(r)]),_:1},8,["model"])]),_:1})])]),_:1}),e($,{shadow:"hover"},{header:l(()=>[e(D,{gutter:10},{default:l(()=>[e(m,{span:1.5},{default:l(()=>[e(c,{type:"primary",plain:"",icon:"Plus",onClick:t[0]||(t[0]=n=>F())},{default:l(()=>[...t[8]||(t[8]=[u("新增 ",-1)])]),_:1})]),_:1})]),_:1})]),default:l(()=>[de((y(),w(X,{data:a(T),"row-key":"uid","tree-props":{children:"children",hasChildren:"hasChildren"},ref_key:"menuTableRef",ref:z,"default-expand-all":a(S)},{default:l(()=>[e(p,{prop:"permission_name",label:"菜单名称","show-overflow-tooltip":!0,width:"160"}),e(p,{prop:"permission_code",label:"权限标识","show-overflow-tooltip":!0}),e(p,{prop:"resource_path",label:"组件路径","show-overflow-tooltip":!0}),e(p,{label:"类型",align:"center",prop:"permission_type"},{default:l(n=>[n.row.permission_type===1?(y(),w(E,{key:0,type:"primary"},{default:l(()=>[...t[9]||(t[9]=[u("菜单",-1)])]),_:1})):q("",!0),n.row.permission_type===3?(y(),w(E,{key:1,type:"info"},{default:l(()=>[...t[10]||(t[10]=[u("按钮",-1)])]),_:1})):q("",!0)]),_:1}),e(p,{prop:"description",label:"权限描述","show-overflow-tooltip":!0}),e(p,{prop:"http_method",label:"请求方式","show-overflow-tooltip":!0,width:"80"}),e(p,{label:"创建时间",align:"center",prop:"createTime"},{default:l(n=>[v("span",null,ue(o.parseTime(n.row.created_at)),1)]),_:1}),e(p,{fixed:"right",label:"操作",width:"180"},{default:l(n=>[e(f,{content:"修改",placement:"top"},{default:l(()=>[e(c,{link:"",type:"primary",icon:"Edit",onClick:A=>K(n.row)},null,8,["onClick"])]),_:2},1024),e(f,{content:"新增",placement:"top"},{default:l(()=>[e(c,{link:"",type:"primary",icon:"Plus",onClick:A=>F(n.row)},null,8,["onClick"])]),_:2},1024),e(f,{content:"删除",placement:"top"},{default:l(()=>[e(c,{link:"",type:"primary",icon:"Delete",onClick:A=>W(n.row)},null,8,["onClick"])]),_:2},1024)]),_:1})]),_:1},8,["data","default-expand-all"])),[[te,a(k)]])]),_:1}),e(ee,{title:a(d).title,modelValue:a(d).visible,"onUpdate:modelValue":t[7]||(t[7]=n=>a(d).visible=n),"destroy-on-close":"","append-to-body":"",width:"750px"},{footer:l(()=>[v("div",ve,[e(c,{type:"primary",onClick:Q},{default:l(()=>[...t[15]||(t[15]=[u("确 定",-1)])]),_:1}),e(c,{onClick:J},{default:l(()=>[...t[16]||(t[16]=[u("取 消",-1)])]),_:1})])]),default:l(()=>[e(R,{ref_key:"menuFormRef",ref:h,model:a(s),rules:a(H),"label-width":"100px"},{default:l(()=>[e(D,null,{default:l(()=>[e(m,{span:24},{default:l(()=>[e(r,{label:"上级菜单"},{default:l(()=>[e(Y,{modelValue:a(s).parent_uid,"onUpdate:modelValue":t[1]||(t[1]=n=>a(s).parent_uid=n),data:a(V),props:{value:"uid",label:"permission_name",children:"children"},"value-key":"uid",placeholder:"选择上级菜单","check-strictly":"",style:{width:"100%"}},null,8,["modelValue","data"])]),_:1})]),_:1}),e(m,{span:24},{default:l(()=>[e(r,{label:"菜单名称",prop:"permission_name"},{default:l(()=>[e(g,{modelValue:a(s).permission_name,"onUpdate:modelValue":t[2]||(t[2]=n=>a(s).permission_name=n),placeholder:"请输入菜单名称"},null,8,["modelValue"])]),_:1})]),_:1}),e(m,{span:24},{default:l(()=>[e(r,{label:"菜单类型",prop:"permission_type"},{default:l(()=>[e(Z,{modelValue:a(s).permission_type,"onUpdate:modelValue":t[3]||(t[3]=n=>a(s).permission_type=n)},{default:l(()=>[e(N,{label:1},{default:l(()=>[...t[11]||(t[11]=[u("菜单",-1)])]),_:1}),e(N,{label:3},{default:l(()=>[...t[12]||(t[12]=[u("按钮",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(m,{span:24},{default:l(()=>[e(r,{prop:"permission_code"},{label:l(()=>[v("span",null,[e(f,{content:"控制器中定义的权限字符,如:user:list')",placement:"top"},{default:l(()=>[e(j,null,{default:l(()=>[e(P)]),_:1})]),_:1}),t[13]||(t[13]=u(" 权限字符 ",-1))])]),default:l(()=>[e(g,{modelValue:a(s).permission_code,"onUpdate:modelValue":t[4]||(t[4]=n=>a(s).permission_code=n),placeholder:"请输入权限标识",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(s).permission_type===1?(y(),w(m,{key:0,span:24},{default:l(()=>[e(r,{prop:"resource_path"},{label:l(()=>[v("span",null,[e(f,{content:"访问的路径,如:`/user/index`",placement:"top"},{default:l(()=>[e(j,null,{default:l(()=>[e(P)]),_:1})]),_:1}),t[14]||(t[14]=u(" 路径 ",-1))])]),default:l(()=>[e(g,{modelValue:a(s).resource_path,"onUpdate:modelValue":t[5]||(t[5]=n=>a(s).resource_path=n),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1})]),_:1})):q("",!0),e(m,{span:24},{default:l(()=>[e(r,{label:"权限描述",prop:"description"},{default:l(()=>[e(g,{modelValue:a(s).description,"onUpdate:modelValue":t[6]||(t[6]=n=>a(s).description=n),type:"textarea",placeholder:"请输入权限描述"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title","modelValue"])])}}});export{he as default};