nunu-layout-admin/web/dist/assets/role-C9Rys4Lc.js

2 lines
9.5 KiB
JavaScript

import{_ as Ue}from"./index-1DQ9lz7_.js";import{g as Me,b as De,a as Pe,e as Te,f as Be,h as Oe,i as $e}from"./admin-x2Ewtnku.js";import{u as Ee,y as Le,a as Ve}from"./index-C-JhWVfG.js";import{a7 as je,R as Ne,a8 as Fe,B as He,a0 as qe,a1 as We,a9 as Ge,H as Je,S as Qe,aa as Xe,V as Ye,ab as Ze,t as et,M as tt,D as at,a3 as nt,ac as lt,ae as ot,n as st,ad as it,af as dt,K as ut,T as rt}from"./antd-vtmm7CAy.js";import{s as x,r as K,f as p,c as le,w as ct,o as pt,a2 as R,a9 as oe,aa as t,k as a,u as o,G as f,H as U,a3 as W,a4 as M,ae as T,ad as B}from"./vue-Dl1fzmsf.js";import"./context-Dawj80bg.js";const ft={key:0,flex:"","gap-2":""},_t=["onClick"],mt=["onClick"],gt=["onClick"],yt={style:{display:"inline-block",width:"200px"}},kt={key:1,style:{opacity:".65"}},vt={style:{display:"inline-block","min-width":"200px"}},St={__name:"role",setup(ht){const m=Ee(),O=x([{title:"#",dataIndex:"id"},{title:"角色唯一标识",dataIndex:"sid"},{title:"角色名称",dataIndex:"name"},{title:"创建时间",dataIndex:"createdAt"},{title:"更新时间",dataIndex:"updatedAt"},{title:"操作",dataIndex:"action"}]),v=x(!1),g=K({pageSize:10,pageSizeOptions:["10","20","30","40"],current:1,total:100,showSizeChanger:!0,showQuickJumper:!0,showTotal:n=>`总数据位:${n}`,onChange(n,e){g.pageSize=e,g.current=n,y()}}),G=x([]),$=x([]),J=x([]),h=K({name:"",sid:""}),d=K({id:0,name:"",sid:"",createdAt:"",updatedAt:""}),se=K({id:0,name:"",sid:"",createdAt:"",updatedAt:""}),E=()=>{Object.assign(d,{id:0,name:"",sid:"",createdAt:"",updatedAt:""})},ie={name:[{required:!0,message:"Please enter name"}],sid:[{required:!0,message:"please enter sid"}]},C=p(["large"]),de=p([{key:"large",label:"默认",title:"默认"},{key:"middle",label:"中等",title:"中等"},{key:"small",label:"紧凑",title:"紧凑"}]),L=p("1"),w=p([]),A=p([]),Q=x([]),b=p(!1),I=p(!1),V=p(""),ue=le(()=>O.value.map(n=>n.dataIndex==="action"?{label:n.title,value:n.dataIndex,disabled:!0}:{label:n.title,value:n.dataIndex})),j=p(!1),_=le(()=>O.value.map(n=>n.dataIndex)),c=K({indeterminate:!1,checkAll:!0,checkList:_.value}),X=()=>{b.value=!1,I.value=!1};async function y(){if(!v.value){v.value=!0;try{const{data:n}=await Me({...h,page:g.current,pageSize:g.pageSize});G.value=n.list??[],g.total=n.total??0}catch(n){console.log(n)}finally{v.value=!1}}}async function N(){g.current=1,await y()}async function re(){d.name="",d.sid="",await y()}function Y(){b.value=!1,I.value=!1,V.value="",N()}async function ce(n){E(),b.value=!0}async function pe(n){E(),Object.assign(d,n),b.value=!0}async function fe(n){V.value=n.sid,E();const{data:e}=await Le();Q.value=me(e.list)??[];const{data:u}=await De({role:n.sid});$.value=u.list??[],w.value=$.value.filter(i=>i.startsWith("api:")),A.value=$.value.filter(i=>i.startsWith("menu:"));const{data:s}=await Pe({page:1,pageSize:1e4});J.value=_e(s.list)??[],I.value=!0}const _e=n=>{const e=new Map;n.forEach(s=>{const i=s.group;e.has(i)||e.set(i,[]),s.key="api:"+s.path+","+s.method,s.title=s.name,e.get(i).push(s)});const u=[];return e.forEach((s,i)=>{u.push({key:i,title:i,group:i,children:s})}),u},me=n=>{const e=new Map;n.forEach(s=>e.set(s.id,{...s}));const u=[];return n.forEach(s=>{const i=e.get(s.id);if(i.key="menu:"+i.path+",read",s.parentId===0||!e.has(s.parentId))u.push(i);else{const r=e.get(s.parentId);r&&(r.children||(r.children=[]),r.children.push(i))}}),u};async function ge(n){const e=m.loading("删除中......");try{(await Te({id:n.id})).code===0&&await y(),m.success("删除成功")}catch(u){console.log(u)}finally{e()}}function ye(n){C.value[0]=n.key}function D(n){return O.value.filter(e=>!!n.includes(e.dataIndex))}const S=p(D(_.value));function ke(n){Object.assign(c,{checkList:n.target.checked?_.value:[],indeterminate:!0}),S.value=n.target.checked?D(_.value):S.value.filter(e=>e.dataIndex==="action")}ct(()=>c.checkList,n=>{c.indeterminate=!!n.length&&n.length<_.value.length,c.checkAll=n.length===_.value.length});function ve(){c.checkList=_.value,S.value=D(_.value)}function he(n){const e=D(n);S.value=e}pt(()=>{y()});async function be(){const n=m.loading("提交中......");try{let e={};d.id>0?e=await Be({...d}):e=await Oe({...d}),e.code===0&&(await y(),b.value=!1,d.id>0?m.success("更新成功"):m.success("创建成功"))}catch(e){console.log(e)}finally{n()}}async function xe(){const n=m.loading("提交中......");try{(await $e({role:V.value,list:[...w.value,...A.value]})).code===0&&(await y(),I.value=!1,m.success("更新成功"),await Ve().generateDynamicRoutes())}catch(e){console.log(e)}finally{n()}}return(n,e)=>{const u=qe,s=We,i=Ge,r=Je,P=Qe,F=Xe,Z=Ye,H=Ze,q=et,Ce=tt,ee=at,we=nt,Ae=lt,Ie=ot,te=st,Se=it,ae=dt,ne=ut,ze=rt,Ke=Ue;return R(),oe(Ke,null,{default:t(()=>[a(H,{"mb-4":""},{default:t(()=>[a(Z,{model:o(h)},{default:t(()=>[a(F,{gutter:[15,0]},{default:t(()=>[a(i,{span:8},{default:t(()=>[a(s,{name:"desc",label:"角色ID"},{default:t(()=>[a(u,{value:o(h).sid,"onUpdate:value":e[0]||(e[0]=l=>o(h).sid=l)},null,8,["value"])]),_:1})]),_:1}),a(i,{span:8},{default:t(()=>[a(s,{name:"name",label:"角色名称"},{default:t(()=>[a(u,{value:o(h).name,"onUpdate:value":e[1]||(e[1]=l=>o(h).name=l)},null,8,["value"])]),_:1})]),_:1}),a(i,{span:8},{default:t(()=>[a(P,{flex:"","justify-end":"","w-full":""},{default:t(()=>[a(r,{loading:o(v),type:"primary",onClick:N},{default:t(()=>e[11]||(e[11]=[f(" 查询 ")])),_:1},8,["loading"]),a(r,{loading:o(v),onClick:re},{default:t(()=>e[12]||(e[12]=[f(" 重置 ")])),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),a(H,{title:"角色列表"},{extra:t(()=>[a(P,{size:"middle"},{default:t(()=>[a(r,{type:"primary",onClick:ce},{icon:t(()=>[a(o(je))]),default:t(()=>[e[13]||(e[13]=f(" 新增 "))]),_:1}),a(q,{title:"刷新"},{default:t(()=>[a(o(Ne),{onClick:N})]),_:1}),a(q,{title:"密度"},{default:t(()=>[a(ee,{trigger:"click"},{overlay:t(()=>[a(Ce,{"selected-keys":o(C),"onUpdate:selectedKeys":e[2]||(e[2]=l=>U(C)?C.value=l:null),items:o(de),onClick:ye},null,8,["selected-keys","items"])]),default:t(()=>[a(o(Fe))]),_:1})]),_:1}),a(q,{title:"列设置"},{default:t(()=>[a(ee,{open:o(j),"onUpdate:open":e[5]||(e[5]=l=>U(j)?j.value=l:null),trigger:"click"},{overlay:t(()=>[a(H,null,{title:t(()=>[a(we,{checked:o(c).checkAll,"onUpdate:checked":e[3]||(e[3]=l=>o(c).checkAll=l),indeterminate:o(c).indeterminate,onChange:ke},{default:t(()=>e[14]||(e[14]=[f(" 列选择 ")])),_:1},8,["checked","indeterminate"])]),extra:t(()=>[a(r,{type:"link",onClick:ve},{default:t(()=>e[15]||(e[15]=[f(" 重置 ")])),_:1})]),default:t(()=>[a(Ae,{value:o(c).checkList,"onUpdate:value":e[4]||(e[4]=l=>o(c).checkList=l),options:o(ue),style:{display:"flex","flex-direction":"column"},onChange:he},null,8,["value","options"])]),_:1})]),default:t(()=>[a(o(He))]),_:1},8,["open"])]),_:1})]),_:1})]),default:t(()=>[a(Ie,{loading:o(v),columns:o(S),"data-source":o(G),pagination:o(g),size:o(C)[0]},{bodyCell:t(l=>{var k;return[((k=l==null?void 0:l.column)==null?void 0:k.dataIndex)==="action"?(R(),W("div",ft,[M("a",{onClick:z=>fe(l==null?void 0:l.record)}," 分配权限 ",8,_t),M("a",{onClick:z=>pe(l==null?void 0:l.record)}," 编辑 ",8,mt),(l==null?void 0:l.record.sid)!=="admin"?(R(),W("a",{key:0,"c-error":"",onClick:z=>ge(l==null?void 0:l.record)}," 删除 ",8,gt)):T("",!0)])):T("",!0)]}),_:1},8,["loading","columns","data-source","pagination","size"])]),_:1}),a(te,{title:o(d).id>0?"编辑":"添加角色",width:400,open:o(b),"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:Y},{extra:t(()=>[a(P,null,{default:t(()=>[a(r,{onClick:X},{default:t(()=>e[16]||(e[16]=[f("取消")])),_:1}),a(r,{type:"primary",onClick:be},{default:t(()=>e[17]||(e[17]=[f("提交")])),_:1})]),_:1})]),default:t(()=>[a(Z,{model:o(d),rules:ie,layout:"vertical"},{default:t(()=>[a(F,{gutter:16},{default:t(()=>[a(i,{span:24},{default:t(()=>[a(s,{label:"角色标识",name:"sid"},{default:t(()=>[a(u,{disabled:o(d).id>0,value:o(d).sid,"onUpdate:value":e[6]||(e[6]=l=>o(d).sid=l),placeholder:"唯一标识,创建后不可修改"},null,8,["disabled","value"])]),_:1})]),_:1})]),_:1}),a(F,{gutter:16},{default:t(()=>[a(i,{span:24},{default:t(()=>[a(s,{label:"角色名称",name:"name"},{default:t(()=>[a(u,{value:o(d).name,"onUpdate:value":e[7]||(e[7]=l=>o(d).name=l),placeholder:"角色名称"},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["title","open"]),a(te,{title:o(se).id>0?"编辑":"添加角色",width:600,open:o(I),"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:Y},{extra:t(()=>[a(P,null,{default:t(()=>[a(r,{onClick:X},{default:t(()=>e[18]||(e[18]=[f("取消")])),_:1}),a(r,{type:"primary",onClick:xe},{default:t(()=>e[19]||(e[19]=[f("提交")])),_:1})]),_:1})]),default:t(()=>[e[20]||(e[20]=M("span",null,"超级管理员",-1)),a(ze,{activeKey:o(L),"onUpdate:activeKey":e[10]||(e[10]=l=>U(L)?L.value=l:null)},{default:t(()=>[a(ne,{key:"1",tab:"接口权限"},{default:t(()=>[a(ae,{defaultExpandAll:"",checkedKeys:o(w),"onUpdate:checkedKeys":e[8]||(e[8]=l=>U(w)?w.value=l:null),checkable:"","tree-data":o(J),fieldNames:{title:"name"}},{title:t(({group:l,title:k,path:z,method:Re})=>[M("span",yt,B(k),1),l!==k?(R(),oe(Se,{key:0,style:{display:"inline-block",width:"55px","font-size":"11px","text-align":"center"}},{default:t(()=>[f(B(Re),1)]),_:2},1024)):T("",!0),l!==k?(R(),W("span",kt,B(z),1)):T("",!0)]),_:1},8,["checkedKeys","tree-data"])]),_:1}),a(ne,{key:"2",tab:"菜单权限"},{default:t(()=>[a(ae,{defaultExpandAll:"",checkedKeys:o(A),"onUpdate:checkedKeys":e[9]||(e[9]=l=>U(A)?A.value=l:null),checkable:"","tree-data":o(Q)},{title:t(({title:l,key:k,parentId:z})=>[M("span",vt,B(l),1)]),_:1},8,["checkedKeys","tree-data"])]),_:1})]),_:1},8,["activeKey"])]),_:1},8,["title","open"])]),_:1})}}};export{St as default};