index-u1UKSdKT.js 9.8 KB

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