| 12 |
- var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,u=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,n=(e,l)=>{for(var a in l||(l={}))o.call(l,a)&&u(e,a,l[a]);if(t)for(var a of t(l))r.call(l,a)&&u(e,a,l[a]);return e},i=(e,l,a)=>new Promise(((t,o)=>{var r=e=>{try{n(a.next(e))}catch(l){o(l)}},u=e=>{try{n(a.throw(e))}catch(l){o(l)}},n=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,u);n((a=a.apply(e,l)).next())}));import{d as s,Q as d,h as m}from"./index-Dx5_zIAw.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as p}from"./index-dtfBA0pi.js";/* empty css *//* empty css */import"./el-form-item-l0sNRNKZ.js";/* empty css *//* empty css */import{_ as c}from"./index-BWS-auxC.js";import{_ as f}from"./index-BOpwjIE2.js";import{_ as h}from"./index-C5wfpnax.js";import{A as b}from"./index-Dsx3FA64.js";import{u as v}from"./useTableColumns-CiVZwigp.js";import{u as _}from"./useAuth-CFAuGAxb.js";import{k as g,s as y,r as V,M as k,c as j,d as w,Z as C,P as x,D as O,x as U,u as E,i as I,G as L,a7 as A,V as H,C as T,a8 as N,W as P,X as B,am as D,aa as M,a2 as S,aZ as R,aY as q,F as Z,aN as W,aL as z,a5 as F,as as K,ar as Q,R as $,bi as G,E as X,n as Y,l as J,aW as ee,aH as le,aI as ae}from"./vendor-CgKklJ4r.js";import{_ as te}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css */import"./iconfont-DPUoc2h2.js";/* empty css */import"./formEnum-BLgiZVxV.js";import"./index-DTcq2BvU.js";import"./vue-draggable-plus-BO-RaEED.js";/* empty css */const oe={class:"menu-page art-full-height"},re={class:"dialog-footer"};var ue;const ne=te(g((ue=n({},{name:"Menus"}),l(ue,a({__name:"index",setup(e){const{hasAuth:l}=_(),{menuList:a}=y(s()),t=V(!1),o={name:"",route:""},r=k(n({},o)),u=k(n({},o)),g=()=>{Object.assign(r,n({},o)),Object.assign(u,n({},o)),ve()},te=()=>{Object.assign(u,n({},r)),ve()},ue=j((()=>[{label:"菜单名称",key:"name",type:"input",props:{clearable:!0}},{label:"路由地址",key:"route",type:"input",props:{clearable:!0}}])),ne=e=>{var l,a,t;return e.children&&e.children.length>0?"info":(null==(l=e.meta)?void 0:l.link)&&(null==(a=e.meta)?void 0:a.isIframe)?"success":e.path?"primary":(null==(t=e.meta)?void 0:t.link)?"warning":void 0},{columnChecks:ie,columns:se}=v((()=>[{prop:"meta.title",label:"菜单名称",minWidth:120,formatter:e=>{var l;return m(null==(l=e.meta)?void 0:l.title)}},{prop:"type",label:"菜单类型",formatter:e=>J(ee,{type:ne(e)},(()=>(e=>{var l,a,t;return e.children&&e.children.length>0?"目录":(null==(l=e.meta)?void 0:l.link)&&(null==(a=e.meta)?void 0:a.isIframe)?"内嵌":e.path?"菜单":(null==(t=e.meta)?void 0:t.link)?"外链":void 0})(e)))},{prop:"path",label:"路由",formatter:e=>{var l;return(null==(l=e.meta)?void 0:l.link)||e.path||""}},{prop:"meta.authList",label:"可操作权限",formatter:e=>{var l;return J("div",{},null==(l=e.meta.authList)?void 0:l.map(((e,l)=>J(le,{placement:"top-start",title:"操作",width:200,trigger:"click",key:l},{default:()=>J("div",{style:"margin: 0; text-align: right"},[J(N,{size:"small",type:"primary",onClick:()=>Ce("button",e)},{default:()=>"编辑"}),J(N,{size:"small",type:"danger",onClick:()=>Ue()},{default:()=>"删除"})]),reference:()=>J(N,{class:"small-btn"},{default:()=>e.title})}))))}},{prop:"date",label:"编辑时间",formatter:()=>"2022-3-12 12:00:00"},{prop:"status",label:"隐藏菜单",formatter:e=>J(ee,{type:e.meta.isHide?"danger":"info"},(()=>e.meta.isHide?"是":"否"))},{prop:"operation",label:"操作",width:180,formatter:e=>J("div",[l("B_CODE1")&&J(b,{type:"add",onClick:()=>Ce("menu")}),l("B_CODE2")&&J(b,{type:"edit",onClick:()=>ke("edit",e)}),l("B_CODE3")&&J(b,{type:"delete",onClick:()=>Oe()}),l("add")&&J(b,{type:"add",onClick:()=>Ce("menu")}),l("edit")&&J(b,{type:"edit",onClick:()=>ke("edit",e)}),l("delete")&&J(b,{type:"delete",onClick:()=>Oe()})])}])),de=()=>{ve()},me=V(!1),pe=k({name:"",path:"",label:"",icon:"",isEnable:!0,sort:1,isMenu:!0,keepAlive:!0,isHide:!0,link:"",isIframe:!1,authName:"",authLabel:"",authIcon:"",authSort:1}),ce=V(d.UNICODE),fe=V("menu"),he=k({name:[{required:!0,message:"请输入菜单名称",trigger:"blur"},{min:2,max:20,message:"长度在 2 到 20 个字符",trigger:"blur"}],path:[{required:!0,message:"请输入路由地址",trigger:"blur"}],label:[{required:!0,message:"输入权限标识",trigger:"blur"}],authName:[{required:!0,message:"请输入权限名称",trigger:"blur"}],authLabel:[{required:!0,message:"请输入权限权限标识",trigger:"blur"}]}),be=V([]);w((()=>{ve()}));const ve=()=>{t.value=!0,setTimeout((()=>{be.value=a.value,t.value=!1}),500)},_e=j((()=>{const e=l=>{if(null===l||"object"!=typeof l)return l;if(l instanceof Date)return new Date(l);if(Array.isArray(l))return l.map((l=>e(l)));const a={};for(const t in l)Object.prototype.hasOwnProperty.call(l,t)&&(a[t]=e(l[t]));return a},l=a=>{var t,o,r;const n=[];for(const i of a){const a=(null==(t=u.name)?void 0:t.toLowerCase().trim())||"",s=(null==(o=u.route)?void 0:o.toLowerCase().trim())||"",d=m((null==(r=i.meta)?void 0:r.title)||"").toLowerCase(),p=(i.path||"").toLowerCase(),c=!a||d.includes(a),f=!s||p.includes(s);if(i.children&&i.children.length>0){const a=l(i.children);if(a.length>0){const l=e(i);l.children=a,n.push(l);continue}}c&&f&&n.push(e(i))}return n};return l(be.value)})),ge=V(!1),ye=V(),Ve=j((()=>{const e="menu"===fe.value?"菜单":"权限";return ge.value?`编辑${e}`:`新建${e}`})),ke=(e,l)=>{Ce("menu",l,!0)},je=()=>{},we=()=>i(this,null,(function*(){ye.value&&(yield ye.value.validate((e=>i(this,null,(function*(){if(e)try{X.success((ge.value?"编辑":"新增")+"成功"),me.value=!1}catch(l){X.error((ge.value?"编辑":"新增")+"失败")}})))))})),Ce=(e,l,a=!1)=>{me.value=!0,fe.value=e,ge.value=!1,Ie.value=a,xe(),l&&(ge.value=!0,Y((()=>{"menu"===e?(pe.name=m(l.meta.title),pe.path=l.path,pe.label=l.name,pe.icon=l.meta.icon,pe.sort=l.meta.sort||1,pe.isMenu=l.meta.isMenu,pe.keepAlive=l.meta.keepAlive,pe.isHide=l.meta.isHide||!0,pe.isEnable=l.meta.isEnable||!0,pe.link=l.meta.link,pe.isIframe=l.meta.isIframe||!1):(pe.authName=l.title,pe.authLabel=l.authMark,pe.authIcon=l.icon||"",pe.authSort=l.sort||1)})))},xe=()=>{var e;null==(e=ye.value)||e.resetFields(),Object.assign(pe,{name:"",path:"",label:"",icon:"",sort:1,isMenu:!0,keepAlive:!0,isHide:!0,link:"",isIframe:!1,authName:"",authLabel:"",authIcon:"",authSort:1})},Oe=()=>i(this,null,(function*(){try{yield ae.confirm("确定要删除该菜单吗?删除后无法恢复","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),X.success("删除成功")}catch(e){"cancel"!==e&&X.error("删除失败")}})),Ue=()=>i(this,null,(function*(){try{yield ae.confirm("确定要删除该权限吗?删除后无法恢复","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),X.success("删除成功")}catch(e){"cancel"!==e&&X.error("删除失败")}})),Ee=j((()=>!(!ge.value||"button"!==fe.value)||!(!ge.value||"menu"!==fe.value)||!(ge.value||"menu"!==fe.value||!Ie.value))),Ie=V(!1),Le=V(!1),Ae=V(),He=()=>{Le.value=!Le.value,Y((()=>{if(Ae.value&&_e.value){const e=l=>{l.forEach((l=>{l.children&&l.children.length>0&&(Ae.value.elTableRef.toggleRowExpansion(l,Le.value),e(l.children))}))};e(_e.value)}}))};return(e,a)=>{const o=h,u=f,n=c,i=q,s=R,d=S,m=F,b=z,v=W,_=p,y=K,V=Q,k=M,j=D,w=G,X=C("auth"),Y=C("ripple");return O(),x("div",oe,[U(o,{modelValue:E(r),"onUpdate:modelValue":a[0]||(a[0]=e=>I(r)?r.value=e:null),items:E(ue),showExpand:!1,onReset:g,onSearch:te},null,8,["modelValue","items"]),U(w,{class:"art-table-card",shadow:"never"},{default:L((()=>[U(u,{showZebra:!1,columns:E(ie),"onUpdate:columns":a[3]||(a[3]=e=>I(ie)?ie.value=e:null),onRefresh:de},{left:L((()=>[A((O(),T(E(N),{onClick:a[1]||(a[1]=e=>Ce("menu",null,!0))},{default:L((()=>a[21]||(a[21]=[P(" 添加菜单 ")]))),_:1,__:[21]})),[[X,"add"],[Y]]),A((O(),T(E(N),{onClick:He},{default:L((()=>[P(B(E(Le)?"收起":"展开"),1)])),_:1})),[[Y]]),E(l)("add")?A((O(),T(E(N),{key:0,onClick:a[2]||(a[2]=e=>Ce("menu",null,!0))},{default:L((()=>a[22]||(a[22]=[P(" 添加菜单 ")]))),_:1,__:[22]})),[[Y]]):H("",!0)])),_:1},8,["columns"]),U(n,{ref_key:"tableRef",ref:Ae,rowKey:"path",loading:E(t),columns:E(se),data:E(_e),stripe:!1},null,8,["loading","columns","data"]),U(j,{title:E(Ve),modelValue:E(me),"onUpdate:modelValue":a[20]||(a[20]=e=>I(me)?me.value=e:null),width:"700px","align-center":""},{footer:L((()=>[$("span",re,[U(E(N),{onClick:a[18]||(a[18]=e=>me.value=!1)},{default:L((()=>a[25]||(a[25]=[P("取 消")]))),_:1,__:[25]}),U(E(N),{type:"primary",onClick:a[19]||(a[19]=e=>we())},{default:L((()=>a[26]||(a[26]=[P("确 定")]))),_:1,__:[26]})])])),default:L((()=>[U(k,{ref_key:"formRef",ref:ye,model:E(pe),rules:E(he),"label-width":"85px"},{default:L((()=>[U(d,{label:"菜单类型"},{default:L((()=>[U(s,{modelValue:E(fe),"onUpdate:modelValue":a[4]||(a[4]=e=>I(fe)?fe.value=e:null),disabled:E(Ee)},{default:L((()=>[U(i,{value:"menu",label:"menu"},{default:L((()=>a[23]||(a[23]=[P("菜单")]))),_:1,__:[23]}),U(i,{value:"button",label:"button"},{default:L((()=>a[24]||(a[24]=[P("权限")]))),_:1,__:[24]})])),_:1},8,["modelValue","disabled"])])),_:1}),"menu"===E(fe)?(O(),x(Z,{key:0},[U(v,{gutter:20},{default:L((()=>[U(b,{span:12},{default:L((()=>[U(d,{label:"菜单名称",prop:"name"},{default:L((()=>[U(m,{modelValue:E(pe).name,"onUpdate:modelValue":a[5]||(a[5]=e=>E(pe).name=e),placeholder:"菜单名称"},null,8,["modelValue"])])),_:1})])),_:1}),U(b,{span:12},{default:L((()=>[U(d,{label:"路由地址",prop:"path"},{default:L((()=>[U(m,{modelValue:E(pe).path,"onUpdate:modelValue":a[6]||(a[6]=e=>E(pe).path=e),placeholder:"路由地址"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1}),U(v,{gutter:20},{default:L((()=>[U(b,{span:12},{default:L((()=>[U(d,{label:"权限标识",prop:"label"},{default:L((()=>[U(m,{modelValue:E(pe).label,"onUpdate:modelValue":a[7]||(a[7]=e=>E(pe).label=e),placeholder:"权限标识"},null,8,["modelValue"])])),_:1})])),_:1}),U(b,{span:12},{default:L((()=>[U(d,{label:"图标",prop:"icon"},{default:L((()=>[U(_,{modelValue:E(pe).icon,"onUpdate:modelValue":a[8]||(a[8]=e=>E(pe).icon=e),iconType:E(ce),width:"100%"},null,8,["modelValue","iconType"])])),_:1})])),_:1})])),_:1}),U(v,{gutter:20},{default:L((()=>[U(b,{span:12},{default:L((()=>[U(d,{label:"菜单排序",prop:"sort",style:{width:"100%"}},{default:L((()=>[U(y,{modelValue:E(pe).sort,"onUpdate:modelValue":a[9]||(a[9]=e=>E(pe).sort=e),style:{width:"100%"},onChange:je,min:1,"controls-position":"right"},null,8,["modelValue"])])),_:1})])),_:1}),U(b,{span:12},{default:L((()=>[U(d,{label:"外部链接",prop:"link"},{default:L((()=>[U(m,{modelValue:E(pe).link,"onUpdate:modelValue":a[10]||(a[10]=e=>E(pe).link=e),placeholder:"外部链接/内嵌地址(https://www.baidu.com)"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1}),U(v,{gutter:20},{default:L((()=>[U(b,{span:5},{default:L((()=>[U(d,{label:"是否启用",prop:"isEnable"},{default:L((()=>[U(V,{modelValue:E(pe).isEnable,"onUpdate:modelValue":a[11]||(a[11]=e=>E(pe).isEnable=e)},null,8,["modelValue"])])),_:1})])),_:1}),U(b,{span:5},{default:L((()=>[U(d,{label:"页面缓存",prop:"keepAlive"},{default:L((()=>[U(V,{modelValue:E(pe).keepAlive,"onUpdate:modelValue":a[12]||(a[12]=e=>E(pe).keepAlive=e)},null,8,["modelValue"])])),_:1})])),_:1}),U(b,{span:5},{default:L((()=>[U(d,{label:"是否显示",prop:"isHide"},{default:L((()=>[U(V,{modelValue:E(pe).isHide,"onUpdate:modelValue":a[13]||(a[13]=e=>E(pe).isHide=e)},null,8,["modelValue"])])),_:1})])),_:1}),U(b,{span:5},{default:L((()=>[U(d,{label:"是否内嵌",prop:"isMenu"},{default:L((()=>[U(V,{modelValue:E(pe).isIframe,"onUpdate:modelValue":a[14]||(a[14]=e=>E(pe).isIframe=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})],64)):H("",!0),"button"===E(fe)?(O(),x(Z,{key:1},[U(v,{gutter:20},{default:L((()=>[U(b,{span:12},{default:L((()=>[U(d,{label:"权限名称",prop:"authName"},{default:L((()=>[U(m,{modelValue:E(pe).authName,"onUpdate:modelValue":a[15]||(a[15]=e=>E(pe).authName=e),placeholder:"权限名称"},null,8,["modelValue"])])),_:1})])),_:1}),U(b,{span:12},{default:L((()=>[U(d,{label:"权限标识",prop:"authLabel"},{default:L((()=>[U(m,{modelValue:E(pe).authLabel,"onUpdate:modelValue":a[16]||(a[16]=e=>E(pe).authLabel=e),placeholder:"权限标识"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1}),U(v,{gutter:20},{default:L((()=>[U(b,{span:12},{default:L((()=>[U(d,{label:"权限排序",prop:"authSort",style:{width:"100%"}},{default:L((()=>[U(y,{modelValue:E(pe).authSort,"onUpdate:modelValue":a[17]||(a[17]=e=>E(pe).authSort=e),style:{width:"100%"},onChange:je,min:1,"controls-position":"right"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})],64)):H("",!0)])),_:1},8,["model","rules"])])),_:1},8,["title","modelValue"])])),_:1})])}}})))),[["__scopeId","data-v-b1edd78f"]]);export{ne as default};
|