index-1BTpFrDA.js 8.2 KB

12
  1. var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,s=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,i=(e,a)=>{for(var l in a||(a={}))r.call(a,l)&&s(e,l,a[l]);if(t)for(var l of t(a))d.call(a,l)&&s(e,l,a[l]);return e},o=(e,t)=>a(e,l(t)),n=(e,a,l)=>new Promise(((t,r)=>{var d=e=>{try{i(l.next(e))}catch(a){r(a)}},s=e=>{try{i(l.throw(e))}catch(a){r(a)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(d,s);i((l=l.apply(e,a)).next())}));import{b as u,f as c,j as m}from"./index-CgspsPWR.js";/* empty css *//* empty css *//* empty css */import{A as p,_ as h}from"./index-CFT6NCHX.js";/* empty css *//* empty css */import{j as f,c as _,Q as y,G as v,D as g,W as k,u as b,H as x,v as j,$ as w,F as C,a0 as V,a1 as I,X as O,Y as A,a2 as B,r as P,N as K,s as L,d as R,_ as U,ad as T,ae as M,a3 as S,a4 as D,a6 as F,a7 as H,a9 as N,al as $,S as q,i as E,aq as G,aA as Q,bc as z,ah as J}from"./vendor-C0fQtjEp.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-l0sNRNKZ.js";/* empty css */import{r as W}from"./roleApi-CSPXFDI-.js";import{_ as X}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-Ifis3ibJ.js";const Y={class:"btn-more"},Z=f(o(i({},{name:"ArtButtonMore"}),{__name:"index",props:{list:{},auth:{},authId:{},hasBackground:{type:Boolean,default:!0}},emits:["click"],setup(e,{emit:a}){const l=e,t=_((()=>l.list.some((e=>!e.authId||u().checkAuth(e.authId))))),r=a;return(e,a)=>{const l=p,d=I,s=w,i=B;return v(),y("div",Y,[b(t)?(v(),g(i,{key:0},{dropdown:x((()=>[j(s,null,{default:x((()=>[(v(!0),y(C,null,V(e.list,(e=>(v(),y(C,{key:e.key},[!e.authId||b(u)().checkAuth(e.authId)?(v(),g(d,{key:0,disabled:e.disabled,onClick:a=>(e=>{r("click",e)})(e)},{default:x((()=>[O(A(e.label),1)])),_:2},1032,["disabled","onClick"])):k("",!0)],64)))),128))])),_:1})])),default:x((()=>[j(l,{type:"more",iconBgColor:e.hasBackground?"":"transparent"},null,8,["iconBgColor"])])),_:1})):k("",!0)])}}})),ee={class:"page-content"},ae={class:"dialog-footer"},le={style:{display:"flex","align-items":"center"}},te={key:0},re={key:1},de={class:"dialog-footer"},se=X(f(o(i({},{name:"Role"}),{__name:"index",setup(e){const a=P(!1),l=P(!1),t=K({id:0,name:"",descr:"",create_date:"",auth_ids:[],show_ids:[]}),{menuList:r}=L(c()),d=P(),s=P(!0),o=P(!1),u=e=>e.reduce(((e,a)=>{var l;if(a.hasOwnProperty("id")&&a.id){const t=i({},a);(null==(l=t.children)?void 0:l.length)&&(t.children=u(t.children)),e.push(t)}return e}),[]),p=u(r.value),f=_((()=>{const e=a=>{const l=i({},a);if(a.meta&&a.meta.authList&&a.meta.authList.length){const e=a.meta.authList.map((e=>({id:e.id||!1,name:`${a.name}_${e.id}`,label:e.title,authMark:e.id,isAuth:!0,checked:e.checked||!1}))).filter((e=>e.id));e.length>0&&(l.children=l.children?[...l.children,...e]:e)}return l.children&&(l.children=l.children.map(e)),l};return p.map(e)})),k=P(),w=K({name:[{required:!0,message:"请输入角色名称",trigger:"blur"},{min:2,max:20,message:"长度在 2 到 20 个字符",trigger:"blur"}],des:[{message:"请输入角色描述",trigger:"blur"},{max:255,message:"长度最大255个字符",trigger:"blur"}]}),C=K({id:0,name:"",descr:""}),V=P([]);R((()=>{I()}));const I=()=>n(this,null,(function*(){const{records:e}=yield W.roleList();V.value=e})),B=P("add"),X=(e,l)=>{a.value=!0,B.value=e,"edit"===e&&l?(C.name=l.name,C.id=l.id,C.descr=l.descr):(C.name="",C.id=0,C.descr="")},Y=e=>{l.value=!0,t.id=e.id,t.name=e.name,t.descr=e.descr,t.create_date=e.create_date,t.auth_ids=e.auth_ids,t.show_ids=e.show_ids;const a=d.value;a&&a.setCheckedKeys(e.show_ids)},se={children:"children",label:e=>{var a;return m(null==(a=e.meta)?void 0:a.title)||""}},ie=e=>{J.confirm("确定删除该角色吗?","删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"error"}).then((()=>{W.deleteRole({id:e}),setTimeout((()=>{I()}),1e3)}))},oe=e=>n(this,null,(function*(){e&&(yield e.validate((l=>{l&&(W.editRole(C),a.value=!1,e.resetFields(),setTimeout((()=>{I()}),1e3))})))})),ne=()=>n(this,null,(function*(){let e=d.value;yield W.saveRoleAuth(t.id,e.getCheckedKeys(),e.getHalfCheckedKeys()),l.value=!1,setTimeout((()=>{I()}),1e3)})),ue=()=>{const e=d.value;if(!e)return;const a=e.store.nodesMap;for(const l in a)a[l].expanded=!s.value;s.value=!s.value},ce=()=>{const e=d.value;if(e){if(o.value)e.setCheckedKeys([]);else{const a=me(f.value);e.setCheckedKeys(a)}o.value=!o.value}},me=e=>{const a=[],l=e=>{e.forEach((e=>{e.name&&a.push(e.name),e.children&&e.children.length>0&&l(e.children)}))};return l(e),a},pe=()=>{const e=d.value;if(!e)return;const a=e.getCheckedKeys(),l=me(f.value);o.value=a.length===l.length&&l.length>0};return(e,r)=>{const i=D,n=S,u=M,c=H,m=T,p=N,_=$,I=Z,P=h,K=G,L=z,R=Q,J=U("ripple"),W=U("auth");return v(),y("div",ee,[j(p,null,{default:x((()=>[j(m,{gutter:12},{default:x((()=>[j(u,{xs:24,sm:12,lg:6},{default:x((()=>[j(n,null,{default:x((()=>[j(i,{placeholder:"请输入角色名称",modelValue:b(C).name,"onUpdate:modelValue":r[0]||(r[0]=e=>b(C).name=e)},null,8,["modelValue"])])),_:1})])),_:1}),j(u,{xs:24,sm:12,lg:6},{default:x((()=>[j(n,null,{default:x((()=>[F((v(),g(c,null,{default:x((()=>r[8]||(r[8]=[O("搜索")]))),_:1,__:[8]})),[[J]]),F((v(),g(c,{type:"primary",onClick:r[1]||(r[1]=e=>X("add"))},{default:x((()=>r[9]||(r[9]=[O("新增角色")]))),_:1,__:[9]})),[[J],[W,110202]])])),_:1})])),_:1})])),_:1})])),_:1}),j(P,{data:b(V)},{default:x((()=>[j(_,{label:"角色名称",prop:"name"}),j(_,{label:"描述",prop:"descr"}),j(_,{label:"创建时间",prop:"create_date"},{default:x((e=>{return[O(A((a=e.row.create_date,new Date(a).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).replace(/\//g,"-"))),1)];var a})),_:1}),j(_,{fixed:"right",label:"操作",width:"100px"},{default:x((e=>[j(m,null,{default:x((()=>[j(I,{list:[{key:"permission",label:"菜单权限",authId:110201},{key:"edit",label:"编辑角色",authId:110202},{key:"delete",label:"删除角色",authId:110203}],onClick:a=>{return l=a,t=e.row,void("permission"===l.key?Y(t):"edit"===l.key?X("edit",t):"delete"===l.key&&ie(t.id));var l,t}},null,8,["onClick"])])),_:2},1024)])),_:1})])),_:1},8,["data"]),j(K,{modelValue:b(a),"onUpdate:modelValue":r[6]||(r[6]=e=>E(a)?a.value=e:null),title:"add"===b(B)?"新增角色":"编辑角色",width:"30%","align-center":""},{footer:x((()=>[q("div",ae,[j(c,{onClick:r[4]||(r[4]=e=>a.value=!1)},{default:x((()=>r[10]||(r[10]=[O("取消")]))),_:1,__:[10]}),j(c,{type:"primary",onClick:r[5]||(r[5]=e=>oe(b(k)))},{default:x((()=>r[11]||(r[11]=[O("提交")]))),_:1,__:[11]})])])),default:x((()=>[j(p,{ref_key:"formRef",ref:k,model:b(C),rules:b(w),"label-width":"80px"},{default:x((()=>[j(n,{label:"角色名称",prop:"name"},{default:x((()=>[j(i,{modelValue:b(C).name,"onUpdate:modelValue":r[2]||(r[2]=e=>b(C).name=e)},null,8,["modelValue"])])),_:1}),j(n,{label:"描述",prop:"descr"},{default:x((()=>[j(i,{modelValue:b(C).descr,"onUpdate:modelValue":r[3]||(r[3]=e=>b(C).descr=e),type:"textarea",rows:3},null,8,["modelValue"])])),_:1})])),_:1},8,["model","rules"])])),_:1},8,["modelValue","title"]),j(K,{modelValue:b(l),"onUpdate:modelValue":r[7]||(r[7]=e=>E(l)?l.value=e:null),title:"菜单权限",width:"520px","align-center":"",class:"el-dialog-border"},{footer:x((()=>[q("div",de,[j(c,{onClick:ue},{default:x((()=>[O(A(b(s)?"全部收起":"全部展开"),1)])),_:1}),j(c,{onClick:ce,style:{"margin-left":"8px"}},{default:x((()=>[O(A(b(o)?"取消全选":"全部选择"),1)])),_:1}),j(c,{type:"primary",onClick:ne},{default:x((()=>r[12]||(r[12]=[O("保存")]))),_:1,__:[12]})])])),default:x((()=>[j(R,{height:"70vh"},{default:x((()=>[j(L,{ref_key:"treeRef",ref:d,data:b(f),"show-checkbox":"","node-key":"id","default-expand-all":b(s),"default-checked-keys":b(t).show_ids,props:se,onCheck:pe},{default:x((({data:e})=>[q("div",le,[e.isAuth?(v(),y("span",te,A(e.label),1)):(v(),y("span",re,A(se.label(e)),1))])])),_:1},8,["data","default-expand-all","default-checked-keys"])])),_:1})])),_:1},8,["modelValue"])])}}})),[["__scopeId","data-v-8ae5d327"]]);export{se as default};