import xe from"./ContentContainer-CtVrPS98.js";import{_ as Ve,B as Se}from"./Modal-DODpZbsb.js";/* empty css */import"./index-B1mmH5Yz.js";import{C as se}from"./index-Bjen1fPm.js";import"./index-CA_9wWtr.js";import{P as Ue}from"./index-53KDEiai.js";import{S as De}from"./index-jWhFETuM.js";import{u as oe,s as I,o as h,A as s,D as t,q as ie,X as g,j as v,e as Ae,p as ee,a as E,I as V,J as $,c as q,F as L,Z,R as re,w as te,L as Re,Y as ze,r as Pe,x as Be,a7 as Fe,B as H}from"./vue-vendor-BSLWZmNt.js";import{M as J}from"./index-rT7you44.js";import"./index-DD-Xchrk.js";import{A as Te,D as Oe}from"./Action-BNbuzVgX.js";import{R as Me,C as Ee,a as qe,F as Le}from"./index-593ma1Lw.js";import"./index-Ew_GAvIT.js";import{S as Qe,T as ue}from"./index-BxH3Rpe6.js";/* empty css */import"./index-CrPgmW1a.js";/* empty css */import{_ as X,M as de,H as F,u as je,az as Ze,B as Ge,aA as He}from"./index-BuZ8RqOW.js";import{I as Je}from"./index-CjKQNOS8.js";import{D as ce}from"./index-zwkpltIk.js";import{S as pe}from"./index-CqRwYcHm.js";import{R as Ke,b as Xe}from"./index-BWfVC4HV.js";import{T as Ye}from"./index-qxpU9Ih0.js";import{_ as We}from"./DeleteModal-BghML5fa.js";import{a as et}from"./login-Cakk8eY4.js";import{a as tt,b as st,c as ot}from"./common-kr3rfyRl.js";import"./index-CdL-ta88.js";import"./index-C8ta0_dY.js";/* empty css *//* empty css */import"./index-BMsXtd4H.js";import"./index-B3z4cY-J.js";import"./get-value-by-path-6Qp_6Uo8.js";import"./responsive-observe-4ACH6YSC.js";import"./use-merge-state-CE8KUZP3.js";import"./resize-observer-B0bvkKaf.js";import"./index-wrCOjsDH.js";import"./index.es-BW_FzNZC.js";import"./index-C4GAysGE.js";import"./render-function-CrOd21Ym.js";const at={__name:"AccountForm",props:{edit_form:Object,is_edit_mode:Boolean,role_list:Array,group_list:Array},setup(f){const O=f,l={userName:[{required:!0,message:"用户名必填"}],email:[{required:!0,message:"邮箱必填"}],pwd:[{required:!0,message:"密码必填"},{validator:(n,i)=>{const b=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;n.length<8||!b.test(n)?i("密码至少8位,且包含字母和数字"):i()}}],roles:[{required:!0,message:"角色必选"}],groups:[{required:!0,message:"用户组必选"}]},{edit_form:c,is_edit_mode:A,role_list:M,group_list:R}=oe(O),P=n=>{c.role=n},D=n=>{c.group=n};return(n,i)=>{const b=Je,N=qe,m=Ee,o=Me,w=Qe,r=Le;return h(),I(r,{ref:"accountFormRef",rules:l,model:g(c),"auto-label-width":""},{default:s(()=>[t(o,{gutter:24,class:"flex-row"},{default:s(()=>[g(A)?ie("",!0):(h(),I(m,{key:0,span:12,class:"flex-col"},{default:s(()=>[t(N,{field:"userName",label:n.$t("permission.account.username")},{default:s(()=>[t(b,{modelValue:g(c).userName,"onUpdate:modelValue":i[0]||(i[0]=d=>g(c).userName=d)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})),t(m,{span:12,class:"flex-col"},{default:s(()=>[t(N,{field:"loginName",label:n.$t("permission.account.name")},{default:s(()=>[t(b,{modelValue:g(c).loginName,"onUpdate:modelValue":i[1]||(i[1]=d=>g(c).loginName=d)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(o,{gutter:24,class:"flex-row"},{default:s(()=>[t(m,{span:12,class:"flex-col"},{default:s(()=>[t(N,{field:"phone",label:n.$t("permission.account.phone")},{default:s(()=>[t(b,{modelValue:g(c).phone,"onUpdate:modelValue":i[2]||(i[2]=d=>g(c).phone=d)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1}),t(m,{span:12,class:"flex-col"},{default:s(()=>[t(N,{required:"",field:"email",label:n.$t("permission.account.email")},{default:s(()=>[t(b,{modelValue:g(c).email,"onUpdate:modelValue":i[3]||(i[3]=d=>g(c).email=d)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(o,{gutter:24,class:"flex-row"},{default:s(()=>[g(A)?ie("",!0):(h(),I(m,{key:0,span:12,class:"flex-col"},{default:s(()=>[t(N,{field:"pwd",label:n.$t("permission.account.password")},{default:s(()=>[t(b,{modelValue:g(c).pwd,"onUpdate:modelValue":i[4]||(i[4]=d=>g(c).pwd=d),type:"password"},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})),t(m,{span:12,class:"flex-col"},{default:s(()=>[t(N,{field:"roles",label:n.$t("permission.account.roles")},{default:s(()=>[t(w,{multiple:"",modelValue:g(c).roles,"onUpdate:modelValue":i[5]||(i[5]=d=>g(c).roles=d),options:g(M),"field-names":{value:"roleId",label:"roleName"},onChange:P},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1})]),_:1}),t(o,{gutter:24,class:"flex-row"},{default:s(()=>[t(m,{span:12,class:"flex-col"},{default:s(()=>[t(N,{field:"groups",label:"用户组"},{default:s(()=>[t(w,{multiple:"",modelValue:g(c).groups,"onUpdate:modelValue":i[6]||(i[6]=d=>g(c).groups=d),options:g(R),"field-names":{value:"groupId",label:"groupName"},onChange:D},null,8,["modelValue","options"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])}}},lt=X(at,[["__scopeId","data-v-f55ac8fb"]]),nt={style:{display:"flex","flex-direction":"column"}},it={class:"title-box",style:{"justify-content":"space-between"}},rt={class:"title-box"},ut={class:"title-box"},dt={__name:"ViewPermission",props:{visible:Boolean,menu_permissions_list:{type:Array},knowledge_permissions_list:{type:Array},dialog_permissions_list:{type:Array},agent_permissions_list:{type:Array}},emits:["close"],setup(f,{emit:O}){const l=f,{visible:c,menu_permissions_list:A,knowledge_permissions_list:M,dialog_permissions_list:R,agent_permissions_list:P}=oe(l),D=O,n=v("all"),i=[{title:"permission.account.all",value:"all"},{title:"permission.account.org",value:"org"},{title:"permission.account.user",value:"user"}],b=Ae(()=>n.value==="all"?A.value:A.value.filter(m=>m.type===n.value)),N=()=>{n.value="all",D("close")};return(m,o)=>{const w=ee("icon-menu"),r=Xe,d=Ke,y=ue,C=pe,x=ce,G=ee("icon-bookmark"),Q=ee("icon-relation"),S=se,K=de;return h(),I(K,{width:"50%",visible:g(c),"onUpdate:visible":o[1]||(o[1]=p=>re(c)?c.value=p:null),title:m.$t("permission.account.user_permission"),okText:m.$t("permission.close"),"hide-cancel":"true",onOk:N,onCancel:N},{default:s(()=>[E("div",nt,[t(S,{class:"card-body",hoverable:""},{default:s(()=>[E("div",it,[E("div",null,[t(w,{size:"18"}),V($(m.$t("permission.account.menu_function"))+":",1)]),t(d,{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=p=>n.value=p),type:"button",size:"small"},{default:s(()=>[(h(),q(L,null,Z(i,(p,ae)=>t(r,{key:p.value,value:p.value},{default:s(()=>[V($(m.$t(p.title)),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t(C,{wrap:""},{default:s(()=>[(h(!0),q(L,null,Z(b.value,p=>(h(),I(y,{key:p.id},{default:s(()=>[V($(p.name),1)]),_:2},1024))),128))]),_:1}),t(x),E("div",rt,[t(G,{size:"18"}),V($(m.$t("permission.account.knowledge_base"))+":",1)]),t(C,{wrap:""},{default:s(()=>[(h(!0),q(L,null,Z(g(M),p=>(h(),I(y,{color:"arcoblue",key:p.id},{default:s(()=>[V($(p.name),1)]),_:2},1024))),128))]),_:1}),t(x),E("div",ut,[t(Q,{size:"18"}),V(" "+$(m.$t("permission.account.agent"))+":",1)]),t(C,{wrap:""},{default:s(()=>[(h(!0),q(L,null,Z(g(R),p=>(h(),I(y,{color:"green",key:p.id},{default:s(()=>[V($(p.name),1)]),_:2},1024))),128)),(h(!0),q(L,null,Z(g(P),p=>(h(),I(y,{color:"green",key:p.id},{default:s(()=>[V($(p.name),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible","title","okText"])}}},ct=X(dt,[["__scopeId","data-v-d74af748"]]),pt={style:{display:"flex"}},mt={style:{"margin-bottom":"8px"}},_t={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},dept_detail:{type:Object,default:()=>[]}},emits:["close","ok"],setup(f,{emit:O}){const l=f,{visible:c,dept_list:A,dept_detail:M}=oe(l),R=O,P=v(null),D=v([]),n=v([]),i=v([]),b=(w,r)=>{w.children&&w.children.length>0&&w.children.forEach(d=>{const y=r.findIndex(C=>C.deptId===d.deptId);y!==-1&&(r.splice(y,1),b(d,r))})},N=(w,r)=>{const d={deptId:r.node.deptId,deptName:r.node.deptName};if(r.checked)r.node.roles.forEach(y=>{i.value.some(x=>x.roleId===y.roleId)||i.value.push(y)}),n.value.push(d);else{const y=n.value.findIndex(x=>x.deptId===r.node.deptId);n.value.splice(y,1);const C=i.value.findIndex(x=>x.deptId===r.node.deptId);i.value.splice(C,1),b(r.node,n.value)}},m=()=>{c.value=!1,R("close")},o=()=>{R("ok",D.value)};return te(()=>l.dept_detail,w=>{w.length>0?w.forEach(r=>{D.value.includes(r.deptId)||(n.value.push({deptId:r.deptId,deptName:r.deptName}),D.value.push(r.deptId)),r.roles.forEach(d=>{i.value.some(y=>y.roleId===d.roleId)||i.value.push({roleId:d.roleId,roleName:d.roleName,deptId:r.deptId})})}):(D.value=[],n.value=[],i.value=[])}),te(()=>l.dept_list,w=>{w.length>0&&Re(()=>{P.value.expandAll()})}),(w,r)=>{const d=Ye,y=se,C=ue,x=pe,G=ce,Q=de;return h(),I(Q,{width:"50%",visible:g(c),"onUpdate:visible":r[1]||(r[1]=S=>re(c)?c.value=S:null),title:w.$t("permission.account.dept_config"),onCancel:m,onOk:o},{default:s(()=>[E("div",pt,[t(y,{class:"card-body",title:w.$t("permission.account.organization"),hoverable:""},{default:s(()=>[t(d,{data:g(A),ref_key:"treeRef",ref:P,"checked-keys":D.value,"onUpdate:checkedKeys":r[0]||(r[0]=S=>D.value=S),checkable:!0,"check-strictly":!0,"show-line":!0,onCheck:N,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["data","checked-keys"])]),_:1},8,["title"]),t(y,{class:"card-body",title:w.$t("permission.account.user_department")},{default:s(()=>[t(x,{wrap:""},{default:s(()=>[(h(!0),q(L,null,Z(n.value,S=>(h(),I(C,{key:S.deptId},{default:s(()=>[V($(S.deptName),1)]),_:2},1024))),128))]),_:1}),t(G),E("div",mt,$(w.$t("permission.account.department_roles"))+":",1),t(x,{wrap:""},{default:s(()=>[(h(!0),q(L,null,Z(i.value,S=>(h(),I(C,{key:S.roleId,color:"arcoblue"},{default:s(()=>[V($(S.roleName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},ft=X(_t,[["__scopeId","data-v-4694b105"]]),T="/api/user";function vt(f){return F({url:`${T}/list`,method:"get",params:f})}function gt(f){return F({url:`${T}/dept`,method:"get",params:{userId:f}})}function ht(f){return F({url:`${T}/dept`,method:"put",data:f})}function wt(f){return F({url:`${T}/add_user`,method:"post",data:f})}function yt(f){return F({url:`${T}/edit_user`,method:"put",data:f})}function kt(f){return F({url:`${T}/change_status`,method:"put",data:f})}function bt(f){return F({url:`${T}/reset_pwd`,method:"put",data:{userId:f}})}function It(f){return F({url:`${T}/permission`,method:"get",params:{userId:f}})}function Nt(f){return F({url:`${T}/delete_user/${f}`,method:"delete"})}const $t={class:"operation-btn-container"},Ct={__name:"index",setup(f){const O=ze(),{t:l,locale:c}=je(),A=v(""),M=v(null),R=v(!1),P=v([]),D=v([{title:l("permission.group.serial_number"),width:130,fixed:"left",slotName:"index"},{title:l("permission.account.username"),dataIndex:"userName",fixed:"left",width:100,titleSlotName:"userName"},{title:l("permission.account.name"),dataIndex:"loginName",width:100,titleSlotName:"loginName"},{title:l("permission.account.roles"),dataIndex:"roleName",width:300,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"roleName"},{title:l("permission.account.user_department"),dataIndex:"deptName",width:400,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"deptName"},{title:l("permission.account.phone"),dataIndex:"phone",width:150,titleSlotName:"phone"},{title:l("permission.account.email"),dataIndex:"email",width:250,titleSlotName:"email"},{title:l("permission.group.status"),dataIndex:"status",width:100,slotName:"status"},{title:l("permission.group.action"),dataIndex:"operation",fixed:"right",slotName:"operationSlot"}]),n=v({total:10,current:1,pageSize:15}),i=v("medium"),b=v(!1),N=v(!1),m=v(!1),o=Pe({userName:"",loginName:"",phone:"",email:"",pwd:"",roles:[],groups:[]}),w=v([]),r=v([]),d=v(!1),y=v([]),C=v([]),x=v([]),G=v([]),Q=v(!1),S=v([]),K=v([]),p=async()=>{const e={keyword:A.value,current:n.value.current,pageSize:n.value.pageSize};b.value=!0;const{code:a,data:u}=await vt(e);if(a===200){for(const _ of u.rows){if(_.deptName="",_.roleName="",_.depts)for(let k=0;k<_.depts.length;k++){const z=_.depts[k];_.deptName+=z.deptName+(k<_.depts.length-1?", ":"")}if(_.roles)for(let k=0;k<_.roles.length;k++){const z=_.roles[k];_.roleName+=z.roleName+(k<_.roles.length-1?", ":"")}}n.value.total=u.total,P.value=u.rows,b.value=!1}else b.value=!1},ae=e=>{A.value=e,p()},me=()=>{A.value="",p()},_e=()=>{o.userId=0,o.userName="",o.loginName="",o.phone="",o.email="",o.pwd="",o.roles=[],o.groups=[],m.value=!1,Y(null,!0)},fe=()=>{p()},ve=e=>{n.value.current=e,p()},ge=async e=>{const a={userId:e.userId,status:e.status},{code:u}=await kt(a);u===200&&J.success({content:l("permission.status_switch_success")})},he=async e=>{const{code:a}=await bt(e.userId);a===200&&J.success({content:l("permission.account.reset_password_success")})},Y=async(e,a)=>{if(a){const{code:u,data:_}=await st();u===200&&(w.value=_.rows);const k=await ot();k.code/1===200&&(r.value=k.data.items)}e&&(o.userId=e.userId,o.userName=e.userName,o.loginName=e.loginName,o.phone=e.phone,o.email=e.email,o.pwd=e.pwd,o.roles=e.roles.map(u=>u.roleId),o.groups=e.groups.map(u=>u.groupId),m.value=!0),N.value=a},W=async(e,a)=>{if(e){x.value=[],C.value=[],y.value=[];const{code:u,data:_}=await It(e.userId);if(u===200){const{knowledge:k,menus:z,dialog:B}=_;B&&B.length>0&&(x.value=B),k&&k.length>0&&(C.value=k),z&&z.length>0&&(y.value=ne(z))}}d.value=a},le=async(e,a)=>{if(e){o.userId=e.userId;const{code:u,data:{rows:_}}=await gt(e.userId);u===200&&(S.value=_)}Q.value=a},we=async e=>{Q.value=!1;const a={userId:o.userId,depts:e},{code:u}=await ht(a);u===200&&(J.success({content:l("permission.account.dept_config_success")}),p())},ye=async e=>{const{code:a}=await Nt(e);a===200&&(J.success({content:l("permission.account.delete_success")}),p())},ke=async()=>{M.value.$refs.accountFormRef.validate&&M.value.$refs.accountFormRef.validate(async e=>{if(!e){N.value=!1;const a={userId:m.value?o.userId:0,...o},u=m.value?yt:wt,{code:_,data:{userFlag:k}}=await u(a);if(_===200){const z=m.value?l("permission.edit"):l("permission.add");J.success({content:`${z}${l("permission.success")}`}),!m.value&&k&&be(k),p()}}})},be=async e=>{await et(e)},Ie=e=>{i.value=e},ne=(e,a=[])=>(e.forEach(u=>{u.id&&u.meta.title&&a.push({id:u.id,name:u.meta.title,type:u.type}),u.children&&u.children.length>0&&ne(u.children,a)}),a),Ne=async()=>{const{code:e,data:{rows:a}}=await tt();e==200&&(K.value=He(a))},$e=e=>{o.userId=e,R.value=!0},Ce=()=>{ye(o.userId),R.value=!1};return te(()=>c.value,()=>{D.value=[{title:l("permission.group.serial_number"),width:130,fixed:"left",slotName:"index"},{title:l("permission.account.username"),dataIndex:"userName",fixed:"left",width:100,titleSlotName:"userName"},{title:l("permission.account.name"),dataIndex:"loginName",width:100,titleSlotName:"loginName"},{title:l("permission.account.roles"),dataIndex:"roleName",width:300,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"roleName"},{title:l("permission.account.user_department"),dataIndex:"deptName",width:400,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"deptName"},{title:l("permission.account.phone"),dataIndex:"phone",width:150,titleSlotName:"phone"},{title:l("permission.account.email"),dataIndex:"email",width:250,titleSlotName:"email"},{title:l("permission.group.status"),dataIndex:"status",width:100,slotName:"status"},{title:l("permission.group.action"),dataIndex:"operation",fixed:"right",slotName:"operationSlot"}]}),Be(()=>{Ze("system:user:list")?(p(),Ne()):O.push("/denied")}),(e,a)=>{const u=De,_=Ge,k=Ue,z=se,B=Fe("hasPermi");return h(),q(L,null,[t(z,{class:"account-page-card"},{default:s(()=>[t(Te,{btn_text:e.$t("permission.account.new_user"),btn_permission:"system:user:add",onSearchClick:ae,onResetClick:me,onCreateClick:_e,onSizeChange:Ie,onRefreshClick:fe},null,8,["btn_text"]),t(Oe,{data:P.value,columns:D.value,"row-key":"userId",scroll:{x:2e3,y:"calc(100vh - 300px)"},size:i.value,loading:b.value,pagination:n.value,onPageChange:ve},{status:s(({record:U})=>[t(u,{modelValue:U.status,"onUpdate:modelValue":j=>U.status=j,onChange:j=>ge(U),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:s(({record:U})=>[E("div",$t,[t(k,{content:e.$t("permission.account.reset_password"),onOk:j=>he(U)},{default:s(()=>[H((h(),I(_,{type:"text"},{default:s(()=>[V($(e.$t("permission.account.reset_password")),1)]),_:1})),[[B,"system:role:resetPassword"]])]),_:2},1032,["content","onOk"]),H((h(),I(_,{type:"text",onClick:j=>Y(U,!0)},{default:s(()=>[V($(e.$t("permission.edit")),1)]),_:2},1032,["onClick"])),[[B,"system:user:edit"]]),H((h(),I(_,{type:"text",onClick:j=>W(U,!0)},{default:s(()=>[V($(e.$t("permission.account.view_permission")),1)]),_:2},1032,["onClick"])),[[B,"system:user:viewPermission"]]),H((h(),I(_,{type:"text",onClick:j=>le(U,!0)},{default:s(()=>[V($(e.$t("permission.account.dept_config")),1)]),_:2},1032,["onClick"])),[[B,"system:user:deptEdit"]]),H((h(),I(_,{onClick:j=>$e(U.userId),type:"text",status:"warning"},{default:s(()=>[V($(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[B,"system:user:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),t(Ve,{visible:N.value,onOk:ke,onCancel:a[0]||(a[0]=U=>Y(null,!1)),title:m.value?e.$t("permission.account.edit_user"):e.$t("permission.account.new_user")},{default:s(()=>[t(lt,{ref_key:"accountForm",ref:M,edit_form:o,is_edit_mode:m.value,role_list:w.value,group_list:r.value},null,8,["edit_form","is_edit_mode","role_list","group_list"])]),_:1},8,["visible","title"]),t(ct,{visible:d.value,onCancel:a[1]||(a[1]=U=>W(null,!1)),onClose:a[2]||(a[2]=U=>W(null,!1)),menu_permissions_list:y.value,knowledge_permissions_list:C.value,dialog_permissions_list:x.value,agent_permissions_list:G.value},null,8,["visible","menu_permissions_list","knowledge_permissions_list","dialog_permissions_list","agent_permissions_list"]),t(ft,{visible:Q.value,dept_list:K.value,dept_detail:S.value,onOk:we,onCancel:a[3]||(a[3]=U=>le(null,!1))},null,8,["visible","dept_list","dept_detail"]),t(We,{visible:R.value,onOk:Ce,onCancel:a[4]||(a[4]=U=>R.value=!1)},null,8,["visible"])],64)}}},xt=X(Ct,[["__scopeId","data-v-b61b7438"]]),fs={__name:"PermissionAccount",setup(f){return(O,l)=>(h(),I(xe,null,{default:s(()=>[t(Se,{current_label:"用户"}),t(xt)]),_:1}))}};export{fs as default};