You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
10 KiB
1 lines
10 KiB
import{d as ce,r as y,ao as x,ax as w,w as fe,G as ye,cx as be,a as r,f as K,q as B,e as o,b as e,h as l,as as ge,H as s,Y as T,c as d,a1 as ve,t as Ve,$ as m,j as F,F as P,g as Q,e0 as he,e1 as ke,e2 as we,e3 as Te,e4 as Ce,a7 as C,e5 as Ee,ae as Ue,e6 as Ae,d0 as Ne,d1 as Ie,aj as Me,an as Le,aw as Oe,ab as xe,av as Ke,b3 as Be,cz as Fe,b4 as qe,aA as De,bI as Ge,cA as Re,cB as Se,aq as Xe,ap as $e,bD as ze,ac as je,at as Pe}from"./index-e450010e.js";import{_ as Qe}from"./plus-f2947ec6.js";import{_ as He}from"./refresh-f1723430.js";import{_ as Ye}from"./search-71444aff.js";import{I as Je}from"./index-cbb5b1c9.js";var c=(v=>(v.CATALOG="CATALOG",v.MENU="MENU",v.BUTTON="BUTTON",v.EXTLINK="EXTLINK",v))(c||{});const We={class:"app-container"},Ze={class:"search"},el={class:"glm-btn-box"},ll={class:"dialog-footer"},rl=ce({name:"cmenu",inheritAttrs:!1,__name:"index",setup(v){const q=y(x),E=y(x),M=y(!1),b=w({visible:!1}),k=y([]),D=y([]),U=w({}),G=y([]),R=y([]),t=w({parentId:0,visible:1,sort:1,type:c.MENU,outside:1}),H=w({parentId:[{required:!0,message:"请选择顶级菜单",trigger:"blur"}],name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],type:[{required:!0,message:"请选择菜单类型",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],component:[{required:!0,message:"请输入组件完整路径",trigger:"blur"}]}),Y=y(),A=w({type:"",path:""});function g(){M.value=!0,ke(U).then(({data:u})=>{G.value=u}).then(()=>{M.value=!1})}function J(){q.value.resetFields(),g()}function W(u){Y.value=u.id}function L(u,n){we().then(({data:i})=>{R.value=[{value:0,label:"顶级菜单",children:i}]}).then(()=>{b.visible=!0,n?(b.title="编辑菜单",Te({id:n.toString()}).then(({data:i})=>{Object.assign(t,i),A.type=i.type,A.path=i.path??""})):(b.title="新增菜单",t.parentId=u)}).finally(()=>{ae()})}function Z(){t.type!==A.type?t.path="":t.path=A.path}function ee(){E.value.validate(u=>{u&&(t.id?Ce(t).then(()=>{C.success("修改成功"),N(),g()}):Ee(t).then(()=>{C.success("新增成功"),N(),g()}))})}function le(u){if(!u)return C.warning("请勾选删除项"),!1;Ue.confirm("确认删除已选中的数据项?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{Ae({id:u.toString()}).then(()=>{C.success("删除成功"),g()})}).catch(()=>C.info("已取消删除"))}function N(){b.visible=!1,te()}function te(){E.value.resetFields(),E.value.clearValidate(),t.id=void 0,t.parentId=0,t.visible=1,t.sort=1}const ae=()=>{Ne().then(({data:u})=>{console.log(" 获取app列表应用",u),k.value=u}).finally(()=>{Ie().then(({data:u})=>{console.log(" 获取app列表应用=====>",u),u.appid!=0&&(t.appKey=u.appid.toString()),t.sdatableKey=u.tableKey})})};return fe(()=>t.appKey,u=>{k&&k.value.length>0&&k.value.forEach(n=>{n.app_id==u&&(D.value=n.list)})},{deep:!0}),ye(()=>{g()}),(u,n)=>{const i=Me,p=Le,S=x,X=Oe,oe=Ye,f=xe,ne=He,se=Ke,re=Qe,V=Be,h=Fe,de=qe,ue=De,pe=Ge,_=Re,O=Se,$=Xe,z=$e,ie=ze,me=je,I=be("hasPerm"),_e=Pe;return r(),K("div",We,[B("div",Ze,[o(se,null,{default:e(()=>[o(X,{span:16},{default:e(()=>[o(S,{ref_key:"queryFormRef",ref:q,model:l(U),inline:!0},{default:e(()=>[o(p,{label:"关键字",prop:"keywords"},{default:e(()=>[o(i,{modelValue:l(U).keywords,"onUpdate:modelValue":n[0]||(n[0]=a=>l(U).keywords=a),placeholder:"菜单名称",clearable:"",onKeyup:ge(g,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),o(X,{span:8,style:{"text-align":"right"}},{default:e(()=>[o(f,{type:"primary",onClick:g},{icon:e(()=>[o(oe)]),default:e(()=>[s("搜索")]),_:1}),o(f,{onClick:J},{icon:e(()=>[o(ne)]),default:e(()=>[s(" 重置")]),_:1})]),_:1})]),_:1})]),B("div",el,[T((r(),d(f,{type:"primary",onClick:n[1]||(n[1]=a=>L(0))},{icon:e(()=>[o(re)]),default:e(()=>[s(" 新增")]),_:1})),[[I,["121646328009732096"]]])]),o(ue,{shadow:"never"},{default:e(()=>[T((r(),d(de,{data:l(G),"highlight-current-row":"","tree-props":{children:"children",hasChildren:"hasChildren"},"row-key":"id",fit:"",onRowClick:W},{default:e(()=>[o(V,{label:"菜单名称"},{default:e(a=>[o(ve,{"icon-class":a.row.type===l(c).BUTTON?"button":a.row.icon},null,8,["icon-class"]),s(" "+Ve(a.row.name),1)]),_:1}),o(V,{label:"菜单类型",align:"center"},{default:e(a=>[a.row.class===l(c).CATALOG?(r(),d(h,{key:0,type:"warning"},{default:e(()=>[s("目录")]),_:1})):m("",!0),a.row.class===l(c).MENU?(r(),d(h,{key:1,type:"success"},{default:e(()=>[s("菜单")]),_:1})):m("",!0),a.row.class===l(c).BUTTON?(r(),d(h,{key:2,type:"danger"},{default:e(()=>[s("按钮")]),_:1})):m("",!0),a.row.class===l(c).EXTLINK?(r(),d(h,{key:3,type:"info"},{default:e(()=>[s("外链")]),_:1})):m("",!0)]),_:1}),o(V,{label:"权限标识",align:"center",prop:"permcode"}),o(V,{label:"状态",align:"center",width:"100"},{default:e(a=>[a.row.visible===1?(r(),d(h,{key:0,type:"success"},{default:e(()=>[s("显示")]),_:1})):(r(),d(h,{key:1,type:"info"},{default:e(()=>[s("隐藏")]),_:1}))]),_:1}),o(V,{label:"排序",align:"center",prop:"sort"}),o(V,{fixed:"right",align:"center",label:"操作",width:"220"},{default:e(a=>[a.row.class=="CATALOG"||a.row.class=="MENU"?T((r(),d(f,{key:0,type:"primary",link:"",size:"small",onClick:F(j=>L(a.row.id),["stop"])},{default:e(()=>[s(" 新增 ")]),_:2},1032,["onClick"])),[[I,["121646328009732096"]]]):m("",!0),T((r(),d(f,{type:"primary",link:"",size:"small",onClick:F(j=>L(void 0,a.row.id),["stop"])},{default:e(()=>[s(" 编辑 ")]),_:2},1032,["onClick"])),[[I,["122274485305880576"]]]),T((r(),d(f,{type:"primary",link:"",size:"small",onClick:F(j=>le(a.row.id),["stop"])},{default:e(()=>[s(" 删除 ")]),_:2},1032,["onClick"])),[[I,["122274565337395200"]]])]),_:1})]),_:1},8,["data"])),[[_e,l(M)]])]),_:1}),o(me,{modelValue:l(b).visible,"onUpdate:modelValue":n[16]||(n[16]=a=>l(b).visible=a),title:l(b).title,"destroy-on-close":"","append-to-body":"",width:"750px",onClose:N},{footer:e(()=>[B("div",ll,[o(f,{type:"primary",onClick:ee},{default:e(()=>[s("确 定")]),_:1}),o(f,{onClick:N},{default:e(()=>[s("取 消")]),_:1})])]),default:e(()=>[o(S,{ref_key:"menuFormRef",ref:E,model:l(t),rules:l(H),"label-width":"100px"},{default:e(()=>[o(p,{label:"父级菜单",prop:"parentId"},{default:e(()=>[o(pe,{modelValue:l(t).parentId,"onUpdate:modelValue":n[2]||(n[2]=a=>l(t).parentId=a),placeholder:"选择上级菜单",data:l(R),filterable:"","check-strictly":"","render-after-expand":!1},null,8,["modelValue","data"])]),_:1}),o(p,{label:"菜单名称",prop:"name"},{default:e(()=>[o(i,{modelValue:l(t).name,"onUpdate:modelValue":n[3]||(n[3]=a=>l(t).name=a),placeholder:"请输入菜单名称"},null,8,["modelValue"])]),_:1}),o(p,{label:"菜单类型",prop:"type"},{default:e(()=>[o(O,{modelValue:l(t).type,"onUpdate:modelValue":n[4]||(n[4]=a=>l(t).type=a),onChange:Z},{default:e(()=>[o(_,{label:"CATALOG"},{default:e(()=>[s("目录")]),_:1}),o(_,{label:"MENU"},{default:e(()=>[s("菜单")]),_:1}),o(_,{label:"BUTTON"},{default:e(()=>[s("按钮")]),_:1}),o(_,{label:"EXTLINK"},{default:e(()=>[s("外链")]),_:1}),o(_,{label:"MyApp"},{default:e(()=>[s("绑定自建应用")]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(t).type=="MyApp"?(r(),d(p,{key:0,label:"自建应用",prop:"appKey"},{default:e(()=>[o(z,{modelValue:l(t).appKey,"onUpdate:modelValue":n[5]||(n[5]=a=>l(t).appKey=a),placeholder:"请选择关联App"},{default:e(()=>[(r(!0),K(P,null,Q(l(k),a=>(r(),d($,{label:a.app_name,value:a.app_id},null,8,["label","value"]))),256))]),_:1},8,["modelValue"])]),_:1})):m("",!0),l(t).type=="MyApp"?(r(),d(p,{key:1,label:"应用表单",prop:"appTableKey"},{default:e(()=>[o(z,{modelValue:l(t).sdatableKey,"onUpdate:modelValue":n[6]||(n[6]=a=>l(t).sdatableKey=a),placeholder:"请选择关联App"},{default:e(()=>[(r(!0),K(P,null,Q(l(D),a=>(r(),d($,{label:a.table_name,value:a.table_key},null,8,["label","value"]))),256))]),_:1},8,["modelValue"])]),_:1})):m("",!0),l(t).type=="EXTLINK"?(r(),d(p,{key:2,label:"外链地址",prop:"path"},{default:e(()=>[o(i,{modelValue:l(t).path,"onUpdate:modelValue":n[7]||(n[7]=a=>l(t).path=a),placeholder:"请输入外链完整路径"},null,8,["modelValue"])]),_:1})):m("",!0),l(t).type=="CATALOG"||l(t).type=="MENU"?(r(),d(p,{key:3,label:"路由路径",prop:"path"},{default:e(()=>[l(t).type=="CATALOG"?(r(),d(i,{key:0,modelValue:l(t).path,"onUpdate:modelValue":n[8]||(n[8]=a=>l(t).path=a),placeholder:"/system (目录以/开头)"},null,8,["modelValue"])):(r(),d(i,{key:1,modelValue:l(t).path,"onUpdate:modelValue":n[9]||(n[9]=a=>l(t).path=a),placeholder:"user"},null,8,["modelValue"]))]),_:1})):m("",!0),l(t).type==l(c).MENU?(r(),d(p,{key:4,label:"页面路径",prop:"component"},{default:e(()=>[o(i,{modelValue:l(t).component,"onUpdate:modelValue":n[10]||(n[10]=a=>l(t).component=a),placeholder:"system/user/index",style:{width:"95%"}},he({_:2},[l(t).parentId!=0?{name:"prepend",fn:e(()=>[s("src/views/")]),key:"0"}:void 0,l(t).parentId!=0?{name:"append",fn:e(()=>[s(".vue")]),key:"1"}:void 0]),1032,["modelValue"])]),_:1})):m("",!0),l(t).type!=="BUTTON"?(r(),d(p,{key:5,label:"图标",prop:"icon"},{default:e(()=>[o(Je,{modelValue:l(t).icon,"onUpdate:modelValue":n[11]||(n[11]=a=>l(t).icon=a)},null,8,["modelValue"])]),_:1})):m("",!0),l(t).type==l(c).CATALOG?(r(),d(p,{key:6,label:"跳转路由"},{default:e(()=>[o(i,{modelValue:l(t).redirect,"onUpdate:modelValue":n[12]||(n[12]=a=>l(t).redirect=a),placeholder:"跳转路由"},null,8,["modelValue"])]),_:1})):m("",!0),l(t).type!=="BUTTON"?(r(),d(p,{key:7,label:"状态"},{default:e(()=>[o(O,{modelValue:l(t).visible,"onUpdate:modelValue":n[13]||(n[13]=a=>l(t).visible=a)},{default:e(()=>[o(_,{label:1},{default:e(()=>[s("显示")]),_:1}),o(_,{label:0},{default:e(()=>[s("隐藏")]),_:1})]),_:1},8,["modelValue"])]),_:1})):m("",!0),o(p,{label:"可见范围"},{default:e(()=>[o(O,{modelValue:l(t).outside,"onUpdate:modelValue":n[14]||(n[14]=a=>l(t).outside=a)},{default:e(()=>[o(_,{label:1},{default:e(()=>[s("内部使用")]),_:1}),o(_,{label:2},{default:e(()=>[s("外部使用")]),_:1}),o(_,{label:3},{default:e(()=>[s("内外使用")]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(p,{label:"排序",prop:"sort"},{default:e(()=>[o(ie,{modelValue:l(t).sort,"onUpdate:modelValue":n[15]||(n[15]=a=>l(t).sort=a),style:{width:"100px"},"controls-position":"right",min:0},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});export{rl as default};
|
|
|