| 12 |
- 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,k as m}from"./index-C6YR97YM.js";/* empty css *//* empty css *//* empty css */import{_ as p}from"./index-CyrdNoo1.js";/* empty css *//* empty css */import{A as h}from"./index-CpvE8YAk.js";import{j as f,c as _,Q as y,G as g,D as v,W as k,u as b,H as j,v as x,$ as w,F as C,a0 as V,a1 as O,X as I,Y as P,a2 as A,r as B,N as R,s as K,d as L,_ as T,ad as U,ae as E,a3 as M,a4 as $,a6 as D,a7 as N,a9 as S,al as q,S as F,i as H,aq as Q,aE as X,be as z,ah as G}from"./vendor-B2KqeU87.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-C0nbJXjx.js";import{_ as Y}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./index-CeIx2olA.js";const Z={class:"btn-more"},J=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=h,d=O,s=w,i=A;return g(),y("div",Z,[b(t)?(g(),v(i,{key:0},{dropdown:j((()=>[x(s,null,{default:j((()=>[(g(!0),y(C,null,V(e.list,(e=>(g(),y(C,{key:e.key},[!e.authId||b(u)().checkAuth(e.authId)?(g(),v(d,{key:0,disabled:e.disabled,onClick:a=>(e=>{r("click",e)})(e)},{default:j((()=>[I(P(e.label),1)])),_:2},1032,["disabled","onClick"])):k("",!0)],64)))),128))])),_:1})])),default:j((()=>[x(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=Y(f(o(i({},{name:"Role"}),{__name:"index",setup(e){const a=B(!1),l=B(!1),t=R({id:0,name:"",descr:"",create_date:"",auth_ids:[],show_ids:[]}),{menuList:r}=K(c()),d=B(),s=B(!0),o=B(!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}),[]),h=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 h.map(e)})),k=B(),w=R({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=R({id:0,name:"",descr:""}),V=B([]);L((()=>{O()}));const O=()=>n(this,null,(function*(){const{records:e}=yield W.roleList();V.value=e})),A=B("add"),Y=(e,l)=>{a.value=!0,A.value=e,"edit"===e&&l?(C.name=l.name,C.id=l.id,C.descr=l.descr):(C.name="",C.id=0,C.descr="")},Z=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=>{G.confirm("确定删除该角色吗?","删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"error"}).then((()=>{W.deleteRole({id:e}),setTimeout((()=>{O()}),1e3)}))},oe=e=>n(this,null,(function*(){e&&(yield e.validate((l=>{l&&(W.editRole(C),a.value=!1,e.resetFields(),setTimeout((()=>{O()}),1e3))})))})),ne=()=>n(this,null,(function*(){let e=d.value;yield W.saveRoleAuth(t.id,e.getCheckedKeys(),e.getHalfCheckedKeys()),l.value=!1,setTimeout((()=>{O()}),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=$,n=M,u=E,c=N,m=U,h=S,_=q,O=J,B=p,R=Q,K=z,L=X,G=T("ripple"),W=T("auth");return g(),y("div",ee,[x(h,null,{default:j((()=>[x(m,{gutter:12},{default:j((()=>[x(u,{xs:24,sm:12,lg:6},{default:j((()=>[x(n,null,{default:j((()=>[x(i,{placeholder:"请输入角色名称",modelValue:b(C).name,"onUpdate:modelValue":r[0]||(r[0]=e=>b(C).name=e)},null,8,["modelValue"])])),_:1})])),_:1}),x(u,{xs:24,sm:12,lg:6},{default:j((()=>[x(n,null,{default:j((()=>[D((g(),v(c,null,{default:j((()=>r[8]||(r[8]=[I("搜索")]))),_:1,__:[8]})),[[G]]),D((g(),v(c,{type:"primary",onClick:r[1]||(r[1]=e=>Y("add"))},{default:j((()=>r[9]||(r[9]=[I("新增角色")]))),_:1,__:[9]})),[[G],[W,110202]])])),_:1})])),_:1})])),_:1})])),_:1}),x(B,{data:b(V)},{default:j((()=>[x(_,{label:"角色名称",prop:"name"}),x(_,{label:"描述",prop:"descr"}),x(_,{label:"创建时间",prop:"create_date"},{default:j((e=>{return[I(P((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}),x(_,{fixed:"right",label:"操作",width:"100px"},{default:j((e=>[x(m,null,{default:j((()=>[x(O,{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?Z(t):"edit"===l.key?Y("edit",t):"delete"===l.key&&ie(t.id));var l,t}},null,8,["onClick"])])),_:2},1024)])),_:1})])),_:1},8,["data"]),x(R,{modelValue:b(a),"onUpdate:modelValue":r[6]||(r[6]=e=>H(a)?a.value=e:null),title:"add"===b(A)?"新增角色":"编辑角色",width:"30%","align-center":""},{footer:j((()=>[F("div",ae,[x(c,{onClick:r[4]||(r[4]=e=>a.value=!1)},{default:j((()=>r[10]||(r[10]=[I("取消")]))),_:1,__:[10]}),x(c,{type:"primary",onClick:r[5]||(r[5]=e=>oe(b(k)))},{default:j((()=>r[11]||(r[11]=[I("提交")]))),_:1,__:[11]})])])),default:j((()=>[x(h,{ref_key:"formRef",ref:k,model:b(C),rules:b(w),"label-width":"80px"},{default:j((()=>[x(n,{label:"角色名称",prop:"name"},{default:j((()=>[x(i,{modelValue:b(C).name,"onUpdate:modelValue":r[2]||(r[2]=e=>b(C).name=e)},null,8,["modelValue"])])),_:1}),x(n,{label:"描述",prop:"descr"},{default:j((()=>[x(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"]),x(R,{modelValue:b(l),"onUpdate:modelValue":r[7]||(r[7]=e=>H(l)?l.value=e:null),title:"菜单权限",width:"520px","align-center":"",class:"el-dialog-border"},{footer:j((()=>[F("div",de,[x(c,{onClick:ue},{default:j((()=>[I(P(b(s)?"全部收起":"全部展开"),1)])),_:1}),x(c,{onClick:ce,style:{"margin-left":"8px"}},{default:j((()=>[I(P(b(o)?"取消全选":"全部选择"),1)])),_:1}),x(c,{type:"primary",onClick:ne},{default:j((()=>r[12]||(r[12]=[I("保存")]))),_:1,__:[12]})])])),default:j((()=>[x(L,{height:"70vh"},{default:j((()=>[x(K,{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:j((({data:e})=>[F("div",le,[e.isAuth?(g(),y("span",te,P(e.label),1)):(g(),y("span",re,P(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};
|