PermissionGroup-DYzGTFPR.js 13 KB

1
  1. import ke from"./ContentContainer-EaEtyff1.js";import{_ as Ce,B as ye}from"./Modal-XtfLDfl_.js";import{aa as de,c as m,o as r,h as b,w as t,f as l,k as V,r as i,e as Y,j as S,t as w,Z as me,a as _e,m as we,$ as ge,d as j,F as Q,s as H,ad as $e,i as ue,B as O,u as Ie,b as xe,p as Me,ab as Ne,a1 as Se,v as ne,C as X}from"./index-XPmbMtmu.js";import{A as Ve,D as Le}from"./Action-CurCrVPs.js";import{_ as ce}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as Ge}from"./DeleteModal-jHHSV3Jd.js";import{b as Ue,c as Ae}from"./common-CPDfZ49P.js";const Pe={__name:"GroupForm",props:{edit_form:Object,is_edit_mode:Boolean},setup(u){const P=u,{edit_form:s}=de(P);return(M,k)=>{const L=m("a-input"),$=m("a-form-item"),h=m("a-col"),G=m("a-row"),C=m("a-textarea"),I=m("a-form");return r(),b(I,{ref:"groupFormRef",model:V(s),"auto-label-width":""},{default:t(()=>[l(G,{gutter:24},{default:t(()=>[l(h,{span:22},{default:t(()=>[l($,{field:"groupName",label:M.$t("permission.group.group_name"),rules:[{required:!0,message:M.$t("permission.group.group_name_required")}]},{default:t(()=>[l(L,{modelValue:V(s).groupName,"onUpdate:modelValue":k[0]||(k[0]=d=>V(s).groupName=d)},null,8,["modelValue"])]),_:1},8,["label","rules"])]),_:1})]),_:1}),l(G,{gutter:24},{default:t(()=>[l(h,{span:22},{default:t(()=>[l($,{field:"description",label:M.$t("permission.group.description")},{default:t(()=>[l(C,{modelValue:V(s).description,"onUpdate:modelValue":k[1]||(k[1]=d=>V(s).description=d)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model"])}}},Te={class:"membert-config-modal"},De={__name:"MembertConfigModal",props:{visible:Boolean,memberList:{type:Array,default:()=>[]},selectedMemberList:{type:Array,default:()=>[]}},emits:["cancel","ok"],setup(u,{emit:P}){const s=u,{visible:M,memberList:k,selectedMemberList:L}=de(s),$=P,h=i([...L.value]),G=()=>{$("close")},C=()=>{$("ok",L.value)},I=d=>{const x=d.filter(_=>!h.value.includes(_)),y=h.value.filter(_=>!d.includes(_));x.length>0&&(h.value=[...h.value,...x]),y.length>0&&(h.value=h.value.filter(_=>!y.includes(_))),$("update:selectedMemberList",h.value)};return(d,x)=>{const y=m("a-transfer"),_=m("a-modal");return r(),b(_,{width:"50%",visible:V(M),"onUpdate:visible":x[0]||(x[0]=g=>me(M)?M.value=g:null),title:d.$t("permission.group.member_title"),onCancel:G,onOk:C},{default:t(()=>[Y("div",Te,[l(y,{"show-search":"",data:V(k),"model-value":V(L),"source-input-search-props":{placeholder:d.$t("permission.group.search_placeholder")},"target-input-search-props":{placeholder:d.$t("permission.group.search_placeholder")},onChange:I},{"source-title":t(()=>[S(w(d.$t("permission.group.optional_members")),1)]),"target-title":t(()=>[S(w(d.$t("permission.group.selected_members")),1)]),_:1},8,["data","model-value","source-input-search-props","target-input-search-props"])])]),_:1},8,["visible","title"])}}},Be=ce(De,[["__scopeId","data-v-a729bb6f"]]),Oe={style:{display:"flex"}},Re={style:{margin:"8px 0"}},ze={style:{margin:"8px 0"}},Fe={__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(u,{emit:P}){const{t:s}=_e(),M=u,{visible:k,knowledge_list:L,agents_list:$,model_list:h}=de(M),G=P,C=[{key:"1",icon:"icon-storage",title:s("permission.group.knowledge")},{key:"2",icon:"icon-robot",title:s("permission.group.agents")}],I=i(C[0].key);i(["0"]);const d=i([]),x=i([]),y=i([]),_=i([]),g=i([]),E=i([]),K=(c,n,N)=>{let T={id:n.target.value,name:n.target.labels[0].innerText};n.target.checked?N.value.push(T):N.value.forEach((p,D,z)=>{if(p.id==n.target.value)return N.value.splice(D,1),!0})},Z=(c,n)=>{K(c,n,x)},J=(c,n)=>{K(c,n,_)},ee=(c,n)=>{K(c,n,E)},te=c=>{const n=C.find(N=>N.key===c);G("getActiveTab",n),I.value=c},le=()=>{G("cancel")},U=()=>{G("ok",{checkedKeys:{knowledge:d.value,agents:y.value,model:g.value}})},ie=we(()=>{const c=C.find(n=>n.key===I.value);return c?c.title:"菜单"});return ge(()=>M.record,c=>{if(c){const{knowledges:n,dialogs:N,llms:T}=c;d.value=n.map(p=>p.id),y.value=N.map(p=>p.id),g.value=T.map(p=>p.id),x.value=n.map(p=>({id:p.id,name:p.name})),_.value=N.map(p=>({id:p.id,name:p.name})),E.value=T.map(p=>({id:p.id,name:p.name}))}}),(c,n)=>{const N=m("a-tab-pane"),T=m("a-tabs"),p=m("a-checkbox"),D=m("a-checkbox-group"),z=m("a-card"),oe=m("a-tag"),ae=m("a-space"),W=m("a-divider"),re=m("a-modal");return r(),b(re,{width:"50%",visible:V(k),"onUpdate:visible":n[3]||(n[3]=a=>me(k)?k.value=a:null),title:c.$t("permission.group.permission_title"),onCancel:le,onOk:U},{default:t(()=>[l(T,{"active-key":I.value,onChange:te},{default:t(()=>[(r(),j(Q,null,H(C,a=>l(N,{key:a.key},{title:t(()=>[(r(),b($e(a.icon))),S(" "+w(a.title),1)]),_:2},1024)),64))]),_:1},8,["active-key"]),Y("div",Oe,[l(z,{class:"card-body",title:ie.value,hoverable:""},{default:t(()=>[I.value==="1"?(r(),b(D,{key:0,modelValue:d.value,"onUpdate:modelValue":n[0]||(n[0]=a=>d.value=a),onChange:Z},{default:t(()=>[(r(!0),j(Q,null,H(V(L),(a,se)=>(r(),b(p,{value:a.id,label:a.name,style:{width:"150px"}},{default:t(()=>[S(w(a.name),1)]),_:2},1032,["value","label"]))),256))]),_:1},8,["modelValue"])):ue("",!0),I.value==="2"?(r(),b(D,{key:1,modelValue:y.value,"onUpdate:modelValue":n[1]||(n[1]=a=>y.value=a),onChange:J},{default:t(()=>[(r(!0),j(Q,null,H(V($),(a,se)=>(r(),b(p,{value:a.id,label:a.name,style:{width:"150px"}},{default:t(()=>[S(w(a.name),1)]),_:2},1032,["value","label"]))),256))]),_:1},8,["modelValue"])):ue("",!0),I.value==="3"?(r(),b(D,{key:2,modelValue:g.value,"onUpdate:modelValue":n[2]||(n[2]=a=>g.value=a),onChange:ee},{default:t(()=>[(r(!0),j(Q,null,H(V(h),(a,se)=>(r(),b(p,{value:a.id,label:a.name,style:{width:"150px"}},{default:t(()=>[S(w(a.name),1)]),_:2},1032,["value","label"]))),256))]),_:1},8,["modelValue"])):ue("",!0)]),_:1},8,["title"]),l(z,{class:"card-body",title:c.$t("permission.group.all_permissions")},{default:t(()=>[Y("div",Re,w(c.$t("permission.group.knowledge_feature")),1),l(ae,{wrap:""},{default:t(()=>[(r(!0),j(Q,null,H(x.value,a=>(r(),b(oe,{key:a.id},{default:t(()=>[S(w(a.name),1)]),_:2},1024))),128))]),_:1}),l(W),Y("div",ze,w(c.$t("permission.group.agent_feature")),1),l(ae,{wrap:""},{default:t(()=>[(r(!0),j(Q,null,H(_.value,a=>(r(),b(oe,{key:a.id},{default:t(()=>[S(w(a.name),1)]),_:2},1024))),128))]),_:1}),l(W)]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},je=ce(Fe,[["__scopeId","data-v-aebb33e9"]]),R="/api/group";function Qe(u){return O({url:`${R}/list`,method:"get",params:u})}function Ee(u){return O({url:`${R}/group_users`,method:"get",params:{groupId:u}})}function Ke(u){return O({url:`${R}/save_group_user`,method:"post",data:u})}function qe(u){return O({url:`${R}/group_resource`,method:"put",data:u})}function He(u){return O({url:`${R}/add_group`,method:"post",data:u})}function Ze(u){return O({url:`${R}/edit_group`,method:"put",data:u})}function Je(u){return O({url:`${R}/edit_group_status`,method:"put",data:u})}function We(u){return O({url:`${R}/delete_group/${u}`,method:"delete"})}const Xe={class:"operation-btn-container"},Ye={__name:"index",setup(u){const P=Ie(),{t:s,locale:M}=_e(),k=i(""),L=i(null),$=i(!1),h=i([]),G=i([{title:s("permission.group.serial_number"),width:130,slotName:"index"},{title:s("permission.group.group_name"),dataIndex:"groupName",width:150,titleSlotName:"groupName"},{title:s("permission.group.description"),dataIndex:"description",tooltip:!0,titleSlotName:"description"},{title:s("permission.group.status"),dataIndex:"status",slotName:"status"},{title:s("permission.group.action"),dataIndex:"operation",slotName:"operationSlot"}]),C=i({total:10,current:1,pageSize:15}),I=i("medium"),d=i(!1),x=i(null),y=i(!1),_=i(!1),g=xe({groupName:"",description:""}),E=i(!1),K=i([]),Z=i([]),J=i(!1),ee=i([]),te=i([]),le=i([]),U=async()=>{const e={keyword:k.value,current:C.value.current,pageSize:C.value.pageSize};d.value=!0;const{code:o,data:v}=await Qe(e);o===200&&(C.value.total=v.total,h.value=v.items),d.value=!1},ie=e=>{k.value=e,U()},c=()=>{k.value="",U()},n=()=>{g.groupName="",g.description="",_.value=!1,y.value=!0},N=()=>{U()},T=e=>{C.value.current=e,U()},p=async e=>{const o={id:e.groupId,status:e.status},{code:v}=await Je(o);v===200&&X.success({content:s("permission.status_switch_success")})},D=(e,o)=>{e&&(g.groupId=e.groupId,g.groupName=e.groupName,g.description=e.description,_.value=!0),y.value=o},z=async(e,o)=>{if(e){const{code:v,data:{inGroup:A,notInGroup:F}}=await Ee(e.groupId);if(v===200){const B=[...A,...F];K.value=B.map(f=>({label:f.userName,value:f.userId})),Z.value=A.map(f=>f.userId)}}E.value=o},oe=async e=>{const o={id:x.value.groupId,userList:e},{code:v}=await Ke(o);v===200&&(X.success({content:s("permission.group.member_management_success")}),E.value=!1,U())},ae=e=>{Z.value=e},W=async(e,o)=>{e&&(x.value=e,g.groupId=e.groupId,pe("1")),J.value=o},re=e=>{e.key&&pe(e.key)},a=async({checkedKeys:e})=>{J.value=!1;const{knowledge:o,agents:v,model:A}=e,F={id:g.groupId,knowledges:o,dialogs:v,llms:A},{code:B}=await qe(F);B===200&&(X.success({content:s("permission.group.permission_config_success")}),U())},se=async e=>{const{code:o}=await We(e);o===200&&(X.success({content:s("permission.group.delete_success")}),U())},ve=async()=>{L.value.$refs.groupFormRef.validate&&L.value.$refs.groupFormRef.validate(async e=>{if(!e){y.value=!1;const o={id:_.value?g.groupId:void 0,...g},v=_.value?Ze:He,{code:A}=await v(o);if(A===200){const F=_.value?s("permission.edit"):s("permission.add");X.success({content:`${F}${s("permission.success")}`}),U()}}})},fe=e=>{I.value=e},pe=async e=>{if(e==="1"){const{code:o,data:{rows:v}}=await Ue();o===200&&(ee.value=v)}if(e==="2"){const{code:o,data:{rows:v}}=await Ae();o===200&&(te.value=v)}},be=e=>{g.groupId=e,$.value=!0},he=()=>{se(g.groupId),$.value=!1};return ge(()=>M.value,()=>{G.value=[{title:s("permission.group.serial_number"),width:130,slotName:"index"},{title:s("permission.group.group_name"),dataIndex:"groupName",width:150,titleSlotName:"groupName"},{title:s("permission.group.description"),dataIndex:"description",tooltip:!0,titleSlotName:"description"},{title:s("permission.group.status"),dataIndex:"status",slotName:"status"},{title:s("permission.group.action"),dataIndex:"operation",slotName:"operationSlot"}]}),Me(()=>{Ne("system:group:list")?U():P.push("/noPer")}),(e,o)=>{const v=m("a-switch"),A=m("a-button"),F=m("a-card"),B=Se("hasPermi");return r(),j(Q,null,[l(F,{class:"group-page-card"},{default:t(()=>[l(Ve,{btn_text:e.$t("permission.group.create_user_group"),btn_permission:"system:group:add",onSearchClick:ie,onResetClick:c,onCreateClick:n,onSizeChange:fe,onRefreshClick:N},null,8,["btn_text"]),l(Le,{data:h.value,columns:G.value,"row-key":"groupId",scroll:{y:"calc(100vh - 300px)"},size:I.value,loading:d.value,pagination:C.value,onPageChange:T},{status:t(({record:f})=>[l(v,{modelValue:f.status,"onUpdate:modelValue":q=>f.status=q,onChange:q=>p(f),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:t(({record:f})=>[Y("div",Xe,[ne((r(),b(A,{type:"text",onClick:q=>D(f,!0)},{default:t(()=>[S(w(e.$t("permission.group.edit")),1)]),_:2},1032,["onClick"])),[[B,"system:group:edit"]]),ne((r(),b(A,{type:"text",onClick:q=>z(f,!0)},{default:t(()=>[S(w(e.$t("permission.group.member_management")),1)]),_:2},1032,["onClick"])),[[B,"system:group:memberConfig"]]),ne((r(),b(A,{type:"text",onClick:q=>W(f,!0)},{default:t(()=>[S(w(e.$t("permission.group.permission_management")),1)]),_:2},1032,["onClick"])),[[B,"system:group:permissionConfig"]]),ne((r(),b(A,{onClick:q=>be(f.groupId),type:"text",status:"warning"},{default:t(()=>[S(w(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[B,"system:group:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),l(Ce,{visible:y.value,onOk:ve,onCancel:o[0]||(o[0]=f=>D(null,!1)),title:_.value?e.$t("permission.group.modal_title_edit"):e.$t("permission.group.modal_title_add")},{default:t(()=>[l(Pe,{ref_key:"groupForm",ref:L,edit_form:g,is_edit_mode:_.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),l(Be,{visible:E.value,memberList:K.value,selectedMemberList:Z.value,onOk:oe,"onUpdate:selectedMemberList":ae,onCancel:o[1]||(o[1]=f=>z(null,!1)),onClose:o[2]||(o[2]=f=>z(null,!1))},null,8,["visible","memberList","selectedMemberList"]),l(je,{visible:J.value,knowledge_list:ee.value,agents_list:te.value,model_list:le.value,record:x.value,onGetActiveTab:re,onOk:a,onCancel:o[3]||(o[3]=f=>W(null,!1))},null,8,["visible","knowledge_list","agents_list","model_list","record"]),l(Ge,{visible:$.value,onOk:he,onCancel:o[4]||(o[4]=f=>$.value=!1)},null,8,["visible"])],64)}}},et=ce(Ye,[["__scopeId","data-v-9544fbcf"]]),rt={__name:"PermissionGroup",setup(u){return(P,s)=>(r(),b(ke,null,{default:t(()=>[l(ye,{current_label:"用户组"}),l(et)]),_:1}))}};export{rt as default};