| 1 |
- import{C as me}from"./ContentContainer-D_D4NfTU.js";import{_ as pe,B as _e}from"./Modal-DyTqFfyi.js";import{A as ve,D as fe}from"./Action-o2_XyH4I.js";import{a3 as re,c as d,o as l,g as p,w as a,f as n,j as I,_ as de,r as s,e as Y,i as x,a0 as ce,m as ge,$ as be,d as D,F as P,q as R,a4 as ke,t as j,h as ie,y as O,b as ye,z as Ce,T as he,D as ue,M as X}from"./index-CAiT_9zb.js";import{b as we,c as xe}from"./common-C-zw8_6U.js";const $e={__name:"GroupForm",props:{edit_form:Object,is_edit_mode:Boolean},setup(i){const L=i,{edit_form:k}=re(L);return(N,y)=>{const S=d("a-input"),C=d("a-form-item"),g=d("a-col"),h=d("a-row"),_=d("a-textarea"),r=d("a-form");return l(),p(r,{model:I(k),"auto-label-width":""},{default:a(()=>[n(h,{gutter:24},{default:a(()=>[n(g,{span:22},{default:a(()=>[n(C,{field:"groupName",label:"组名称",rules:[{required:!0,message:"组名称必填"}]},{default:a(()=>[n(S,{modelValue:I(k).groupName,"onUpdate:modelValue":y[0]||(y[0]=v=>I(k).groupName=v)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),n(h,{gutter:24},{default:a(()=>[n(g,{span:22},{default:a(()=>[n(C,{field:"description",label:"描述"},{default:a(()=>[n(_,{modelValue:I(k).description,"onUpdate:modelValue":y[1]||(y[1]=v=>I(k).description=v)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])}}},Me={class:"membert-config-modal"},Ve={__name:"MembertConfigModal",props:{visible:Boolean,memberList:{type:Array,default:()=>[]},selectedMemberList:{type:Array,default:()=>[]}},emits:["cancel","ok"],setup(i,{emit:L}){const k=i,{visible:N,memberList:y,selectedMemberList:S}=re(k),C=L,g=s([...S.value]),h=()=>{C("close")},_=()=>{C("ok",S.value)},r=v=>{const f=v.filter(b=>!g.value.includes(b)),w=g.value.filter(b=>!v.includes(b));f.length>0&&(g.value=[...g.value,...f]),w.length>0&&(g.value=g.value.filter(b=>!w.includes(b))),C("update:selectedMemberList",g.value)};return(v,f)=>{const w=d("a-transfer"),b=d("a-modal");return l(),p(b,{width:"50%",visible:I(N),"onUpdate:visible":f[0]||(f[0]=U=>ce(N)?N.value=U:null),title:"权限配置",onCancel:h,onOk:_},{default:a(()=>[Y("div",Me,[n(w,{"show-search":"",data:I(y),"model-value":I(S),"source-input-search-props":{placeholder:"请输入用户名搜索"},"target-input-search-props":{placeholder:"请输入用户名搜索"},onChange:r},{"source-title":a(()=>f[1]||(f[1]=[x("可选成员")])),"target-title":a(()=>f[2]||(f[2]=[x("已选成员")])),_:1},8,["data","model-value"])])]),_:1},8,["visible"])}}},Ie=de(Ve,[["__scopeId","data-v-eb4162fa"]]),Le={style:{display:"flex"}},Ne={__name:"PermissionConfigModal",props:{visible:Boolean,knowledge_list:{type:Array,default:()=>[]},agents_list:{type:Array,default:()=>[]},model_list:{type:Array,default:()=>[]},record:Object},emits:["getActiveTab","close","ok"],setup(i,{emit:L}){const k=i,{visible:N,knowledge_list:y,agents_list:S,model_list:C,record:g}=re(k),h=L,_=[{key:"1",icon:"icon-storage",title:"知识库"},{key:"2",icon:"icon-robot",title:"智能体"},{key:"3",icon:"icon-relation",title:"模型"}],r=s(_[0].key);s(["0"]);const v=s([]),f=s([]),w=s([]),b=s([]),U=s([]),Q=s([]),F=(c,o,$)=>{let A={id:o.target.value,name:o.target.labels[0].innerText};o.target.checked?$.value.push(A):$.value.forEach((u,B,K)=>{if(u.id==o.target.value)return $.value.splice(B,1),!0})},G=(c,o)=>{F(c,o,f)},te=(c,o)=>{F(c,o,b)},ae=(c,o)=>{F(c,o,Q)},oe=c=>{const o=_.find($=>$.key===c);h("getActiveTab",o),r.value=c},ne=()=>{h("cancel")},le=()=>{h("ok",{checkedKeys:{knowledge:v.value,agents:w.value,model:U.value}})},se=ge(()=>{const c=_.find(o=>o.key===r.value);return c?c.title:"菜单"});return be(()=>k.record,c=>{if(c){const{knowledges:o,dialogs:$,llms:A}=c;v.value=o.map(u=>u.id),w.value=$.map(u=>u.id),U.value=A.map(u=>u.id),f.value=o.map(u=>({id:u.id,name:u.name})),b.value=$.map(u=>({id:u.id,name:u.name})),Q.value=A.map(u=>({id:u.id,name:u.name}))}}),(c,o)=>{const $=d("a-tab-pane"),A=d("a-tabs"),u=d("a-checkbox"),B=d("a-checkbox-group"),K=d("a-card"),q=d("a-tag"),H=d("a-space"),Z=d("a-divider"),ee=d("a-modal");return l(),p(ee,{width:"50%",visible:I(N),"onUpdate:visible":o[3]||(o[3]=e=>ce(N)?N.value=e:null),title:"权限配置",onCancel:ne,onOk:le},{default:a(()=>[n(A,{"active-key":r.value,onChange:oe},{default:a(()=>[(l(),D(P,null,R(_,e=>n($,{key:e.key},{title:a(()=>[(l(),p(ke(e.icon))),x(" "+j(e.title),1)]),_:2},1024)),64))]),_:1},8,["active-key"]),Y("div",Le,[n(K,{class:"card-body",title:se.value,hoverable:""},{default:a(()=>[r.value==="1"?(l(),p(B,{key:0,modelValue:v.value,"onUpdate:modelValue":o[0]||(o[0]=e=>v.value=e),onChange:G},{default:a(()=>[(l(!0),D(P,null,R(I(y),(e,t)=>(l(),p(u,{value:e.id,lable:e.name,style:{width:"150px"}},{default:a(()=>[x(j(e.name),1)]),_:2},1032,["value","lable"]))),256))]),_:1},8,["modelValue"])):ie("",!0),r.value==="2"?(l(),p(B,{key:1,modelValue:w.value,"onUpdate:modelValue":o[1]||(o[1]=e=>w.value=e),onChange:te},{default:a(()=>[(l(!0),D(P,null,R(I(S),(e,t)=>(l(),p(u,{value:e.id,lable:e.name,style:{width:"150px"}},{default:a(()=>[x(j(e.name),1)]),_:2},1032,["value","lable"]))),256))]),_:1},8,["modelValue"])):ie("",!0),r.value==="3"?(l(),p(B,{key:2,modelValue:U.value,"onUpdate:modelValue":o[2]||(o[2]=e=>U.value=e),onChange:ae},{default:a(()=>[(l(!0),D(P,null,R(I(C),(e,t)=>(l(),p(u,{value:e.id,lable:e.name,style:{width:"150px"}},{default:a(()=>[x(j(e.name),1)]),_:2},1032,["value","lable"]))),256))]),_:1},8,["modelValue"])):ie("",!0)]),_:1},8,["title"]),n(K,{class:"card-body",title:"角色所有权限"},{default:a(()=>[o[4]||(o[4]=Y("div",{style:{margin:"8px 0"}},"知识库功能:",-1)),n(H,{wrap:""},{default:a(()=>[(l(!0),D(P,null,R(f.value,e=>(l(),p(q,{key:e.id},{default:a(()=>[x(j(e.name),1)]),_:2},1024))),128))]),_:1}),n(Z),o[5]||(o[5]=Y("div",{style:{margin:"8px 0"}},"智能体功能:",-1)),n(H,{wrap:""},{default:a(()=>[(l(!0),D(P,null,R(b.value,e=>(l(),p(q,{key:e.id},{default:a(()=>[x(j(e.name),1)]),_:2},1024))),128))]),_:1}),n(Z),o[6]||(o[6]=Y("div",{style:{margin:"8px 0"}},"模型功能:",-1)),n(H,{wrap:""},{default:a(()=>[(l(!0),D(P,null,R(Q.value,e=>(l(),p(q,{key:e.id},{default:a(()=>[x(j(e.name),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])}}},Se=de(Ne,[["__scopeId","data-v-1967f9ce"]]),z="/api/group";function Ge(i){return O({url:`${z}/list`,method:"get",params:i})}function Ue(i){return O({url:`${z}/group_users`,method:"get",params:{groupId:i}})}function Ae(i){return O({url:`${z}/save_group_user`,method:"post",data:i})}function Te(i){return O({url:`${z}/group_resource`,method:"put",data:i})}function De(i){return O({url:`${z}/add_group`,method:"post",data:i})}function Pe(i){return O({url:`${z}/edit_group`,method:"put",data:i})}function Oe(i){return O({url:`${z}/edit_group_status`,method:"put",data:i})}function ze(i){return O({url:`${z}/delete_group/${i}`,method:"delete"})}const Be={__name:"index",setup(i){const L=s(""),k=s([]),N=s([{title:"序号",width:80,slotName:"index"},{title:"组名称",dataIndex:"groupName",width:150,titleSlotName:"groupName"},{title:"描述",dataIndex:"description",ellipsis:!0,tooltip:!0,titleSlotName:"description"},{title:"状态",dataIndex:"status",slotName:"status"},{title:"操作",dataIndex:"operation",slotName:"operationSlot"}]),y=s({total:10,current:1,pageSize:12}),S=s("medium"),C=s(!1),g=s(null),h=s(!1),_=s(!1),r=ye({groupName:"",description:""}),v=s(!1),f=s([]),w=s([]),b=s(!1),U=s([]),Q=s([]),F=s([]),G=async()=>{const e={keyword:L.value,current:y.value.current,pageSize:y.value.pageSize};C.value=!0;const{code:t,data:m}=await Ge(e);t===200&&(y.value.total=m.total,k.value=m.items),C.value=!1},te=e=>{L.value=e,G()},ae=()=>{L.value="",G()},oe=()=>{r.groupName="",r.description="",_.value=!1,h.value=!0},ne=()=>{console.log("刷新")},le=e=>{y.value.current=e,G()},se=async e=>{const t={id:e.groupId,status:e.status},{code:m}=await Oe(t);m===200&&X.success({title:"成功",content:"状态切换成功."})},c=(e,t)=>{e&&(r.groupId=e.groupId,r.groupName=e.groupName,r.description=e.description,_.value=!0),h.value=t},o=async(e,t)=>{if(e){const{code:m,data:{inGroup:M,notInGroup:J}}=await Ue(e.groupId);if(m===200){const W=[...M,...J];f.value=W.map(T=>({label:T.userName,value:T.userId})),w.value=M.map(T=>T.userId)}}v.value=t},$=async e=>{const t={id:g.value.groupId,userList:e},{code:m}=await Ae(t);m===200&&(X.success({title:"成员管理",content:"成员修改成功"}),v.value=!1,G())},A=e=>{w.value=e},u=async(e,t)=>{e&&(g.value=e,r.groupId=e.groupId,ee("1")),b.value=t},B=e=>{e.key&&ee(e.key)},K=async({checkedKeys:e})=>{b.value=!1;const{knowledge:t,agents:m,model:M}=e,J={id:r.groupId,knowledges:t,dialogs:m,llms:M},{code:W}=await Te(J);W===200&&(X.success({title:"权限配置",content:"权限配置成功"}),G())},q=async e=>{const{code:t}=await ze(e);t===200&&(X.success({title:"删除用户",content:"删除成功"}),G())},H=async()=>{h.value=!1;const e={id:_.value?r.groupId:void 0,...r},t=_.value?Pe:De,{code:m}=await t(e);if(m===200){const M=_.value?"编辑":"新增";X.success({title:`${M}用户`,content:`${M}成功`}),G()}},Z=e=>{S.value=e},ee=async e=>{if(e==="1"){const{code:t,data:{rows:m}}=await we();t===200&&(U.value=m)}if(e==="2"){const{code:t,data:{rows:m}}=await xe();t===200&&(Q.value=m)}};return Ce(()=>{G()}),(e,t)=>{const m=d("a-switch"),M=d("a-button"),J=d("a-popconfirm"),W=d("a-card"),T=he("hasPermi");return l(),D(P,null,[n(W,{class:"account-page-card"},{default:a(()=>[n(ve,{btn_text:"新建用户组",btn_permission:"system:group:add",onSearchClick:te,onResetClick:ae,onCreateClick:oe,onSizeChange:Z,onRefreshClick:ne}),n(fe,{data:k.value,columns:N.value,"row-key":"groupId",size:S.value,loading:C.value,pagination:y.value,onPageChange:le},{status:a(({record:V})=>[n(m,{modelValue:V.status,"onUpdate:modelValue":E=>V.status=E,onChange:E=>se(V),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:a(({record:V})=>[ue((l(),p(M,{type:"text",onClick:E=>c(V,!0)},{default:a(()=>t[4]||(t[4]=[x("编辑")])),_:2},1032,["onClick"])),[[T,"system:group:edit"]]),ue((l(),p(M,{type:"text",onClick:E=>o(V,!0)},{default:a(()=>t[5]||(t[5]=[x("成员管理")])),_:2},1032,["onClick"])),[[T,"system:group:memberConfig"]]),ue((l(),p(M,{type:"text",onClick:E=>u(V,!0)},{default:a(()=>t[6]||(t[6]=[x("权限管理")])),_:2},1032,["onClick"])),[[T,"system:group:permissionConfig"]]),n(J,{content:"确定删除该条数据吗?",type:"warning",onOk:E=>q(V.groupId)},{default:a(()=>[n(M,{type:"text",status:"warning"},{default:a(()=>t[7]||(t[7]=[x("删除")])),_:1})]),_:2},1032,["onOk"])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),n(pe,{visible:h.value,onOk:H,onCancel:t[0]||(t[0]=V=>c(null,!1)),title:_.value?"编辑":"新增"},{default:a(()=>[n($e,{edit_form:r,is_edit_mode:_.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),n(Ie,{visible:v.value,memberList:f.value,selectedMemberList:w.value,onOk:$,"onUpdate:selectedMemberList":A,onCancel:t[1]||(t[1]=V=>o(null,!1)),onClose:t[2]||(t[2]=V=>o(null,!1))},null,8,["visible","memberList","selectedMemberList"]),n(Se,{visible:b.value,knowledge_list:U.value,agents_list:Q.value,model_list:F.value,record:g.value,onGetActiveTab:B,onOk:K,onCancel:t[3]||(t[3]=V=>u(null,!1))},null,8,["visible","knowledge_list","agents_list","model_list","record"])],64)}}},Re=de(Be,[["__scopeId","data-v-6ba57fc7"]]),qe={__name:"PermissionGroup",setup(i){return(L,k)=>(l(),p(me,null,{default:a(()=>[n(_e,{current_label:"用户组"}),n(Re)]),_:1}))}};export{qe as default};
|