index-Cw6G1D_2.js 8.6 KB

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