index-462398ae.js 15 KB

1
  1. import{m as rt,r,j as ct,a5 as mt,f as De,x as c,C as f,D as y,v as s,u,F as n,E as g,G as m,L as _,J as I,K as w,i as x,H as C,Q as pt,_ as ft}from"./index-e7ddf4c4.js";import{u as ht}from"./loading-476fc16a.js";import{K as _t,D as vt,_ as gt,o as ie,O as kt,p as yt,q as It,e as wt,c as xt,r as Ct}from"./authheader.vue_vue_type_script_setup_true_lang-3386df32.js";import{q as bt,b as Nt}from"./Agent-ff54ea9d.js";import{f as Et,g as Kt}from"./auth-54229761.js";const Vt={class:"container"},Tt={class:"table-page-search-wrapper"},Dt={class:"search-wrapper"},Lt={class:"search-wrapper"},Ut={class:"wrapper-icon"},zt={class:"action-icon"},Rt={style:{display:"flex","flex-direction":"column"}},St={class:"cdtree"},Mt={style:{display:"flex"}},Ot=rt({__name:"index",setup($t){let re=r([]),z=r([]),D=r([]),E=r([]),ce=r([]),R=r([]),S=r([]),k=r([]),M=r([]),b=r([]),O=r([]),N=r([]),B=r([]),L=r([]),U=r([]),F=r([]),me=r([]),pe=r([]),fe=r([]),he=r([]),Le=r(["权限管理","角色"]);const Ue=r(null),_e=()=>({name:""});let ze=r(!0);const{loading:Re,setLoading:ve}=ht(!0),{t:K}=ct();let Z=r("新增"),ee=r([]),P=r(_e()),v=r({createTime:"",dataScope:"",iconCls:"",remark:"",roleId:"",roleKey:"",roleName:"",roleSort:"0",status:"",updateTime:""}),te=r("medium"),V=r(!1),$=r(!1),q=r(!1),j=r({}),le=JSON.parse(Et());const Se=async()=>{let l=[],e={roleId:j.value.roleId};E.value.forEach(a=>{l.push(a.deptId)}),e.dept=l,await ie(e).then(a=>{T()})},Me=(l,e)=>{if(e.checked)if(e.node.children.length>0)e.checkedNodes.forEach(a=>{let o={deptId:a.deptId,deptName:a.deptName,parentId:a.parentId};E.value.push(o)});else{let a={deptId:e.node.deptId,deptName:e.node.deptName,parentId:e.node.parentId};E.value.push(a)}else{let a=[],o=!1,d;E.value.forEach((i,p,G)=>{i.deptId==e.node.parentId?d={deptId:i.deptId,deptName:i.deptName,parentId:i.parentId}:i.deptId!=e.node.deptId&&!ge(e.node,i)&&(a.push({deptId:i.deptId,deptName:i.deptName,parentId:i.parentId}),i.parentId==e.node.parentId&&i.parentId.length>0&&(o=!0))}),o&&d&&a.push(d),E.value=a}},ge=(l,e)=>{var o;let a=!1;return((o=l.children)==null?void 0:o.length)>0&&l.children.forEach(d=>{e.deptId==d.deptId?a=a||!0:a=a||ge(d,e)}),a},Oe=async l=>{await kt(l).then(e=>{re.value=[...e.rows]})},ke=l=>{var e;((e=l.children)==null?void 0:e.length)>0&&l.children.forEach(a=>{k.value.push({menuId:a.menuId,menuName:a.menuName}),ke(a)})},ye=(l,e)=>{var o;let a=!1;return((o=l.children)==null?void 0:o.length)>0&&l.children.forEach(d=>{e.menuId==d.menuId?a=a||!0:a=a||ye(d,e)}),a},$e=(l,e)=>{var o;let a={menuId:e.node.menuId,menuName:e.node.menuName};if(e.checked)k.value.push(a),ke(e.node),((o=e.halfCheckedNodes)==null?void 0:o.length)>0&&e.halfCheckedNodes.forEach(d=>{let i={menuId:d.menuId,menuName:d.menuName};k.value.find(p=>p.menuId===i.menuId)==null&&k.value.push(i)});else{let d=[];k.value.forEach((i,p,G)=>{i.menuId!=e.node.menuId&&!ye(e.node,i)&&d.push({menuId:i.menuId,menuName:i.menuName})}),k.value=d}},Ie=(l,e)=>{let a={knowledgeId:e.target.value,knowledgeName:e.target.labels[0].innerText};e.target.checked?b.value.push(a):b.value.forEach((o,d,i)=>{if(o.knowledgeId==e.target.value)return b.value.splice(d,1),!0})},we=(l,e)=>{let a={agentId:e.target.value,agentTitle:e.target.labels[0].innerText};e.target.checked?L.value.push(a):L.value.forEach((o,d,i)=>{if(o.agentId==e.target.value)return L.value.splice(d,1),!0})},xe=(l,e)=>{let a={modelId:e.target.value,modelTitle:e.target.labels[0].innerText};e.target.checked?U.value.push(a):U.value.forEach((o,d,i)=>{if(o.modelId==e.target.value)return U.value.splice(d,1),!0})},Ce=(l,e)=>{let a={dialogId:e.target.value,dialogName:e.target.labels[0].innerText};e.target.checked?N.value.push(a):N.value.forEach((o,d,i)=>{if(o.dialogId==e.target.value)return N.value.splice(d,1),!0})},qe=l=>{k.value=k.value.filter(e=>e!==l)},Ae=l=>{b.value=b.value.filter(e=>e!==l)},be=l=>{N.value=N.value.filter(e=>e!==l)};let ae=r();const ne={current:1,pageSize:15},H=mt({...ne}),Be=De(()=>[{name:K("searchTable.size.mini"),value:"mini"},{name:K("searchTable.size.small"),value:"small"},{name:K("searchTable.size.medium"),value:"medium"},{name:K("searchTable.size.large"),value:"large"}]),Fe=De(()=>[{title:K("序号"),dataIndex:"index",slotName:"index"},{title:K("角色名"),dataIndex:"roleName"},{title:K("状态"),dataIndex:"status",slotName:"status"},{title:K("searchTable.columns.operations"),dataIndex:"operations",slotName:"operations"}]),He=async(l,e)=>{await yt(e.roleId,l).then(a=>{})},oe=l=>{l==1&&(V.value=!1),l==2&&(q.value=!1),l==3&&($.value=!1)},Je=async()=>{let l=[],e=[],a=[],o=[],d=[],i={roleId:j.value.roleId};k.value.forEach(p=>{l.push(p.menuId)}),i.resources=l,b.value.forEach(p=>{o.push(p.knowledgeId)}),i.knowledges=o,N.value.forEach(p=>{e.push(p.dialogId)}),i.dialogs=e,L.value.forEach(p=>{a.push(p.agentId)}),i.agents=a,U.value.forEach(p=>{d.push(p.modelId)}),i.llms=d,await ie(i).then(p=>{T()})},Pe=async l=>{l?V.value=!0:v.value.roleId.length>0?await ie({...v.value}).then(e=>{T()}):await Ct({...v.value}).then(e=>{T()})},je=()=>{ae.value.validate(Pe)},J=async(l,e)=>{var a;l==0&&(Z.value="新增",V.value=!0,v.value.roleName="",v.value.roleKey="",v.value.remark=""),l==2&&(V.value=!0,(a=ae.value)==null||a.resetFields(),Z.value="编辑",v.value.roleId=e.roleId,v.value.roleName=e.roleName),l==3&&await It(e.roleId).then(o=>{o.code==200&&T()}),l==4&&(q.value=!0,R.value=[],S.value=[],k.value=[],b.value=[],M.value=[],N.value=[],L.value=[],U.value=[],O.value=[],j.value=e,e.resources&&e.resources.forEach(o=>{k.value.push({menuId:o.menuId,menuName:o.menuName}),R.value.push(o.menuId),S.value.push(o.menuId)}),e.knowledges&&e.knowledges.forEach(o=>{b.value.push({knowledgeId:o.id,knowledgeName:o.name}),M.value.push(o.id)}),e.dialogs&&e.dialogs.forEach(o=>{N.value.push({dialogId:o.id,dialogName:o.name}),O.value.push(o.id)}),e.agents&&e.agents.forEach(o=>{L.value.push({agentId:o.id,agentTitle:o.title}),B.value.push(o.id)}),e.llms&&e.llms.forEach(o=>{U.value.push({modelId:o.id,modelTitle:o.llm_name}),F.value.push(o.id)})),l==5&&($.value=!0,z.value=[],D.value=[],E.value=[],j.value=e,D.value.push("0"),e!=null&&e.dept&&e.dept.forEach(o=>{E.value.push({deptId:o.deptId,deptName:o.deptName}),z.value.push(o.deptId),D.value.push(o.deptId)}))},T=async(l={current:1,pageSize:20})=>{ve(!0);try{await wt(l).then(e=>{ee.value=e.rows,console.log(ee),H.current=l.current,H.total=e.total})}catch{}finally{ve(!1)}},Ne=()=>{T({...ne,...P.value})},Ge=l=>{T({...ne,current:l})};let Qe=JSON.parse(Kt());const We=l=>{let e=!1;return Qe.forEach(a=>{l==a.menuId&&(e=!0)}),e},Ee=(l,e)=>{l.forEach(a=>{var o;if(We(a.menuId)){e.push(a);let d=[];((o=a.children)==null?void 0:o.length)>0&&(Ee(a.children,d),a.children=d)}})},Xe=async l=>{await xt().then(e=>{let a=[];le.role!="admin"&&Ee(e.rows,a),ce.value=[...e.rows]})};_t(le.role).then(l=>{me.value=l.data}),vt(le.role).then(l=>{pe.value=l.data}),bt(null).then(l=>{fe=l.data}),Nt().then(l=>{he=l.data}),T(),Xe(),Oe("");const Ye=()=>{P.value=_e()},Ze=(l,e)=>{te.value=l};return(l,e)=>{const a=c("a-input"),o=c("icon-search"),d=c("a-button"),i=c("icon-refresh"),p=c("a-space"),G=c("a-tooltip"),et=c("icon-line-height"),tt=c("a-doption"),lt=c("a-dropdown"),at=c("a-switch"),nt=c("a-popconfirm"),ot=c("a-table"),Q=c("a-card"),Ke=c("a-form-item"),st=c("a-form"),se=c("a-modal"),dt=c("icon-calendar"),Ve=c("a-tree"),W=c("a-tab-pane"),ut=c("icon-clock-circle"),X=c("a-checkbox"),Y=c("a-checkbox-group"),Te=c("icon-user"),it=c("a-tabs"),A=c("a-tag"),de=c("a-divider");return f(),y("div",Vt,[s(gt,{items:u(Le)},null,8,["items"]),s(Q,{ref_key:"account",ref:Ue,class:"general-card"},{default:n(()=>[g("div",Tt,[g("div",Dt,[g("div",null,[s(a,{modelValue:u(P).name,"onUpdate:modelValue":e[0]||(e[0]=t=>u(P).name=t),style:{width:"320px"},placeholder:l.$t("请输入")},null,8,["modelValue","placeholder"])]),g("div",null,[s(d,{type:"primary",onClick:Ne,style:{"margin-right":"20px","margin-left":"10px"}},{icon:n(()=>[s(o)]),default:n(()=>[m(" "+_(l.$t("searchTable.form.search")),1)]),_:1}),s(d,{onClick:Ye},{icon:n(()=>[s(i)]),default:n(()=>[m(" "+_(l.$t("searchTable.form.reset")),1)]),_:1})])]),g("div",Lt,[g("div",null,[s(p,null,{default:n(()=>[s(d,{type:"primary",align:"right",onClick:e[1]||(e[1]=t=>J(0))},{default:n(()=>e[18]||(e[18]=[m("+ 新建角色")])),_:1})]),_:1})]),g("div",Ut,[s(G,{content:l.$t("searchTable.actions.refresh")},{default:n(()=>[g("div",{class:"action-icon",onClick:Ne},[s(i,{size:"18"})])]),_:1},8,["content"]),s(lt,{onSelect:Ze},{content:n(()=>[(f(!0),y(I,null,w(Be.value,t=>(f(),C(tt,{key:t.value,value:t.value,class:pt({active:t.value===u(te)})},{default:n(()=>[g("span",null,_(t.name),1)]),_:2},1032,["value","class"]))),128))]),default:n(()=>[s(G,{content:l.$t("searchTable.actions.density")},{default:n(()=>[g("div",zt,[s(et,{size:"18"})])]),_:1},8,["content"])]),_:1})])])]),s(ot,{"row-key":"id",loading:u(Re),pagination:H,columns:Fe.value,data:u(ee),bordered:!1,size:u(te),onPageChange:Ge},{index:n(({rowIndex:t})=>[m(_(t+1+(H.current-1)*H.pageSize),1)]),status:n(({record:t})=>[s(at,{"checked-value":"1","unchecked-value":"0",onChange:h=>He(t.status,t),modelValue:t.status,"onUpdate:modelValue":h=>t.status=h},null,8,["onChange","modelValue","onUpdate:modelValue"])]),operations:n(({record:t})=>[s(p,null,{default:n(()=>[s(d,{type:"outline",onClick:h=>J(2,t)},{default:n(()=>e[19]||(e[19]=[m("编辑")])),_:2},1032,["onClick"]),s(d,{type:"dashed",status:"warning",onClick:h=>J(4,t)},{default:n(()=>e[20]||(e[20]=[m("资源配置")])),_:2},1032,["onClick"]),s(d,{type:"dashed",status:"success",onClick:h=>J(5,t)},{default:n(()=>e[21]||(e[21]=[m("部门配置")])),_:2},1032,["onClick"]),s(nt,{content:"请确认是否删除?",type:"success",onOk:h=>J(3,t)},{default:n(()=>[s(d,{type:"outline",status:"danger"},{default:n(()=>e[22]||(e[22]=[m("删除")])),_:1})]),_:2},1032,["onOk"])]),_:2},1024)]),_:1},8,["loading","pagination","columns","data","size"])]),_:1},512),s(se,{visible:u(V),"onUpdate:visible":e[4]||(e[4]=t=>x(V)?V.value=t:V=t),title:u(Z),onCancel:e[5]||(e[5]=t=>oe(1)),onOk:je},{default:n(()=>[s(st,{ref_key:"formRef",ref:ae,model:u(v)},{default:n(()=>[s(Ke,{required:"",field:"roleName",label:"角色名",rules:[{required:!0,message:"角色名必填"},{maxLength:50,message:"长度不超过50"}]},{default:n(()=>[s(a,{modelValue:u(v).roleName,"onUpdate:modelValue":e[2]||(e[2]=t=>u(v).roleName=t)},null,8,["modelValue"])]),_:1}),s(Ke,{field:"remark",label:"备注"},{default:n(()=>[s(a,{modelValue:u(v).remark,"onUpdate:modelValue":e[3]||(e[3]=t=>u(v).remark=t)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","title"]),s(se,{width:"30%",visible:u(q),"onUpdate:visible":e[12]||(e[12]=t=>x(q)?q.value=t:q=t),title:"权限配置",onCancel:e[13]||(e[13]=t=>oe(3)),onOk:Je},{default:n(()=>[g("div",Rt,[s(it,{style:{width:"100%",height:"500px","overflow-y":"auto"}},{default:n(()=>[s(W,{key:"1"},{title:n(()=>[s(dt),e[23]||(e[23]=m(" 菜单 "))]),default:n(()=>[g("div",St,[s(Ve,{class:"tree-demo","checked-keys":u(R),"onUpdate:checkedKeys":e[6]||(e[6]=t=>x(R)?R.value=t:R=t),"expanded-keys":u(S),"onUpdate:expandedKeys":e[7]||(e[7]=t=>x(S)?S.value=t:S=t),"only-check-leaf":!0,checkable:!0,data:u(ce),onCheck:$e,fieldNames:{key:"menuId",title:"menuName",children:"children"}},null,8,["checked-keys","expanded-keys","data"])])]),_:1}),s(W,{key:"2"},{title:n(()=>[s(ut),e[24]||(e[24]=m(" 知识库 "))]),default:n(()=>[s(p,{direction:"vertical",size:"large"},{default:n(()=>[s(Y,{modelValue:u(M),"onUpdate:modelValue":e[8]||(e[8]=t=>x(M)?M.value=t:M=t),onChange:Ie},{default:n(()=>[(f(!0),y(I,null,w(u(me),(t,h)=>(f(),C(X,{value:t.id,lable:t.name,onChange:Ie,style:{width:"150px"}},{default:n(()=>[m(_(t.name),1)]),_:2},1032,["value","lable"]))),256))]),_:1},8,["modelValue"])]),_:1})]),_:1}),s(W,{key:"3"},{title:n(()=>[s(Te),e[25]||(e[25]=m(" 智能体 "))]),default:n(()=>[s(Y,{modelValue:u(O),"onUpdate:modelValue":e[9]||(e[9]=t=>x(O)?O.value=t:O=t),onChange:Ce},{default:n(()=>[(f(!0),y(I,null,w(u(pe),(t,h)=>(f(),C(X,{value:t.id,lable:t.name,onChange:Ce,style:{width:"150px"}},{default:n(()=>[m(_(t.name),1)]),_:2},1032,["value","lable"]))),256))]),_:1},8,["modelValue"]),s(Y,{modelValue:u(B),"onUpdate:modelValue":e[10]||(e[10]=t=>x(B)?B.value=t:B=t),onChange:we},{default:n(()=>[(f(!0),y(I,null,w(u(fe),(t,h)=>(f(),C(X,{value:t.id,lable:t.title,onChange:we,style:{width:"150px"}},{default:n(()=>[m(_(t.title),1)]),_:2},1032,["value","lable"]))),256))]),_:1},8,["modelValue"])]),_:1}),s(W,{key:"4"},{title:n(()=>[s(Te),e[26]||(e[26]=m(" 模型 "))]),default:n(()=>[s(Y,{modelValue:u(F),"onUpdate:modelValue":e[11]||(e[11]=t=>x(F)?F.value=t:F=t),onChange:xe},{default:n(()=>[(f(!0),y(I,null,w(u(he),(t,h)=>(f(),C(X,{value:t.id,onChange:xe,style:{width:"100%"}},{default:n(()=>[m(_(t.llm_factory+" "+t.llm_name+" "+t.model_type),1)]),_:2},1032,["value"]))),256))]),_:1},8,["modelValue"])]),_:1})]),_:1}),s(Q,{style:{width:"100%",height:"200px","overflow-y":"auto",margin:"1px"},class:"card-demo",title:"角色所有权限",hoverable:""},{default:n(()=>[s(p,{wrap:""},{default:n(()=>[e[27]||(e[27]=m(" 菜单功能: ")),(f(!0),y(I,null,w(u(k),(t,h)=>(f(),C(A,{key:t.menuId,onClose:ue=>qe(t)},{default:n(()=>[m(_(t.menuName),1)]),_:2},1032,["onClose"]))),128))]),_:1}),s(de),s(p,{wrap:""},{default:n(()=>[e[28]||(e[28]=m(" 知识库: ")),(f(!0),y(I,null,w(u(b),(t,h)=>(f(),C(A,{key:t.knowledgeId,onClose:ue=>Ae(t)},{default:n(()=>[m(_(t.knowledgeName),1)]),_:2},1032,["onClose"]))),128))]),_:1}),s(de),s(p,{wrap:""},{default:n(()=>[e[29]||(e[29]=m(" 智能体: ")),(f(!0),y(I,null,w(u(N),(t,h)=>(f(),C(A,{key:t.dialogId,onClose:ue=>be(t)},{default:n(()=>[m(_(t.dialogName),1)]),_:2},1032,["onClose"]))),128)),(f(!0),y(I,null,w(u(L),(t,h)=>(f(),C(A,{key:t.agentId,onClose:ue=>be(t)},{default:n(()=>[m(_(t.agentTitle),1)]),_:2},1032,["onClose"]))),128))]),_:1}),s(de),s(p,{wrap:""},{default:n(()=>[e[30]||(e[30]=m(" 模型: ")),(f(!0),y(I,null,w(u(U),(t,h)=>(f(),C(A,{key:t.modelId},{default:n(()=>[m(_(t.modelTitle),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"]),s(se,{width:"50%",visible:u($),"onUpdate:visible":e[16]||(e[16]=t=>x($)?$.value=t:$=t),title:"部门配置",onCancel:e[17]||(e[17]=t=>oe(3)),onOk:Se},{default:n(()=>[g("div",Mt,[s(Q,{style:{width:"460px",height:"500px","overflow-y":"auto"},title:"部门配置",hoverable:""},{default:n(()=>[s(Ve,{class:"tree-demo","checked-keys":u(z),"onUpdate:checkedKeys":e[14]||(e[14]=t=>x(z)?z.value=t:z=t),"expanded-keys":u(D),"onUpdate:expandedKeys":e[15]||(e[15]=t=>x(D)?D.value=t:D=t),checkable:!0,data:u(re),"show-line":u(ze),onCheck:Me,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["checked-keys","expanded-keys","data","show-line"])]),_:1}),s(Q,{class:"card-demo",title:"角色所属部门",hoverable:""},{default:n(()=>[s(p,{wrap:""},{default:n(()=>[(f(!0),y(I,null,w(u(E),(t,h)=>(f(),C(A,{key:t.deptId},{default:n(()=>[m(_(t.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])])}}});const Jt=ft(Ot,[["__scopeId","data-v-bce3690d"]]);export{Jt as default};