| 1 |
- import pe from"./ContentContainer-C_Ncov4k.js";import{_ as me,B as _e}from"./Modal-BYxXYnuK.js";import{A as fe,D as ve}from"./Action-T2_wJd_W.js";import{_ as Y,aa as X,c as p,o as c,g as b,w as t,f as e,j as _,h as se,e as q,i as N,d as Q,F as T,q as F,t as K,Y as le,r as v,Z as ge,K as E,b as ye,p as ke,ab as he,a0 as we,O as H,M as j}from"./index-zX8nw1RP.js";import{Q as be,a as xe}from"./common-B7klrOvS.js";const Ie={__name:"AccountForm",props:{edit_form:Object,is_edit_mode:Boolean,role_list:Array},setup(d){const P=d,{edit_form:m,is_edit_mode:C,role_list:A}=X(P),R=D=>{m.role=D};return(D,u)=>{const g=p("a-input"),a=p("a-form-item"),y=p("a-col"),k=p("a-row"),O=p("a-select"),S=p("a-form");return c(),b(S,{model:_(m),"auto-label-width":""},{default:t(()=>[e(k,{gutter:24,class:"flex-row"},{default:t(()=>[_(C)?se("",!0):(c(),b(y,{key:0,span:12,class:"flex-col"},{default:t(()=>[e(a,{field:"userName",label:"用户名",rules:[{required:!0,message:"用户名必填"},{maxLength:50,message:"长度不超过50"}]},{default:t(()=>[e(g,{modelValue:_(m).userName,"onUpdate:modelValue":u[0]||(u[0]=f=>_(m).userName=f)},null,8,["modelValue"])]),_:1})]),_:1})),e(y,{span:12,class:"flex-col"},{default:t(()=>[e(a,{field:"loginName",label:"姓名"},{default:t(()=>[e(g,{modelValue:_(m).loginName,"onUpdate:modelValue":u[1]||(u[1]=f=>_(m).loginName=f)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(k,{gutter:24,class:"flex-row"},{default:t(()=>[e(y,{span:12,class:"flex-col"},{default:t(()=>[e(a,{field:"phone",label:"手机号"},{default:t(()=>[e(g,{modelValue:_(m).phone,"onUpdate:modelValue":u[2]||(u[2]=f=>_(m).phone=f)},null,8,["modelValue"])]),_:1})]),_:1}),e(y,{span:12,class:"flex-col"},{default:t(()=>[e(a,{required:"",field:"email",label:"邮箱",rules:[{required:!0,message:"邮箱必填"},{maxLength:50,message:"长度不超过50"}]},{default:t(()=>[e(g,{modelValue:_(m).email,"onUpdate:modelValue":u[3]||(u[3]=f=>_(m).email=f)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(k,{gutter:24,class:"flex-row"},{default:t(()=>[_(C)?se("",!0):(c(),b(y,{key:0,span:12,class:"flex-col"},{default:t(()=>[e(a,{field:"pwd",label:"密码"},{default:t(()=>[e(g,{modelValue:_(m).pwd,"onUpdate:modelValue":u[4]||(u[4]=f=>_(m).pwd=f),type:"password"},null,8,["modelValue"])]),_:1})]),_:1})),e(y,{span:12,class:"flex-col"},{default:t(()=>[e(a,{field:"roles",label:"角色"},{default:t(()=>[e(O,{multiple:"",modelValue:_(m).roles,"onUpdate:modelValue":u[5]||(u[5]=f=>_(m).roles=f),options:_(A),"field-names":{value:"roleId",label:"roleName"},onChange:R},null,8,["modelValue","options"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])}}},Ne=Y(Ie,[["__scopeId","data-v-b2016e60"]]),Ce={style:{display:"flex","flex-direction":"column"}},Ve={class:"title-box"},$e={class:"title-box"},Ue={class:"title-box"},De={__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(d,{emit:P}){const m=d,{visible:C,menu_permissions_list:A,knowledge_permissions_list:R,dialog_permissions_list:D,agent_permissions_list:u}=X(m),g=P,a=()=>{g("close")};return(y,k)=>{const O=p("icon-menu"),S=p("a-tag"),f=p("a-space"),V=p("a-divider"),o=p("icon-bookmark"),I=p("icon-relation"),h=p("a-card"),w=p("a-modal");return c(),b(w,{width:"50%",visible:_(C),"onUpdate:visible":k[0]||(k[0]=r=>le(C)?C.value=r:null),title:"用户权限",okText:"关闭","hide-cancel":"true",onOk:a},{default:t(()=>[q("div",Ce,[e(h,{class:"card-body",hoverable:""},{default:t(()=>[q("div",Ve,[e(O,{size:"18"}),k[1]||(k[1]=N("菜单功能:"))]),e(f,{wrap:""},{default:t(()=>[(c(!0),Q(T,null,F(_(A),r=>(c(),b(S,{key:r.id},{default:t(()=>[N(K(r.name),1)]),_:2},1024))),128))]),_:1}),e(V),q("div",$e,[e(o,{size:"18"}),k[2]||(k[2]=N("知识库:"))]),e(f,{wrap:""},{default:t(()=>[(c(!0),Q(T,null,F(_(R),r=>(c(),b(S,{color:"arcoblue",key:r.id},{default:t(()=>[N(K(r.name),1)]),_:2},1024))),128))]),_:1}),e(V),q("div",Ue,[e(I,{size:"18"}),k[3]||(k[3]=N(" 智能体:"))]),e(f,{wrap:""},{default:t(()=>[(c(!0),Q(T,null,F(_(D),r=>(c(),b(S,{color:"green",key:r.id},{default:t(()=>[N(K(r.name),1)]),_:2},1024))),128)),(c(!0),Q(T,null,F(_(u),r=>(c(),b(S,{color:"green",key:r.id},{default:t(()=>[N(K(r.name),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])}}},Se=Y(De,[["__scopeId","data-v-02653d78"]]),Ae={style:{display:"flex"}},Pe={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},dept_detail:{type:Object,default:()=>[]}},emits:["close","ok"],setup(d,{emit:P}){const m=d,{visible:C,dept_list:A,dept_detail:R}=X(m),D=P,u=v([]),g=v(["0"]),a=v([]),y=v([]),k=(V,o)=>{V.children&&V.children.length>0&&V.children.forEach(I=>{const h=o.findIndex(w=>w.deptId===I.deptId);h!==-1&&(o.splice(h,1),k(I,o))})},O=(V,o)=>{const I={deptId:o.node.deptId,deptName:o.node.deptName};if(o.checked)o.node.roles.forEach(h=>{y.value.some(r=>r.roleId===h.roleId)||y.value.push(h)}),a.value.push(I);else{const h=a.value.findIndex(r=>r.deptId===o.node.deptId);a.value.splice(h,1);const w=y.value.findIndex(r=>r.deptId===o.node.deptId);y.value.splice(w,1),k(o.node,a.value)}},S=()=>{C.value=!1,D("close")},f=()=>{D("ok",u.value)};return ge(()=>m.dept_detail,V=>{V.length>0?V.forEach(o=>{u.value.includes(o.deptId)||(a.value.push({deptId:o.deptId,deptName:o.deptName}),u.value.push(o.deptId),g.value.push(o.deptId)),o.roles.forEach(I=>{y.value.some(h=>h.roleId===I.roleId)||y.value.push({roleId:I.roleId,roleName:I.roleName,deptId:o.deptId})})}):(u.value=[],g.value=[],a.value=[],y.value=[])}),(V,o)=>{const I=p("a-tree"),h=p("a-card"),w=p("a-tag"),r=p("a-space"),Z=p("a-divider"),G=p("a-modal");return c(),b(G,{width:"50%",visible:_(C),"onUpdate:visible":o[2]||(o[2]=$=>le(C)?C.value=$:null),title:"部门配置",onCancel:S,onOk:f},{default:t(()=>[q("div",Ae,[e(h,{class:"card-body",title:"机构",hoverable:""},{default:t(()=>[e(I,{data:_(A),"checked-keys":u.value,"onUpdate:checkedKeys":o[0]||(o[0]=$=>u.value=$),"expanded-keys":g.value,"onUpdate:expandedKeys":o[1]||(o[1]=$=>g.value=$),checkable:!0,"check-strictly":!0,"show-line":!0,onCheck:O,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1}),e(h,{class:"card-body",title:"用户所属部门"},{default:t(()=>[e(r,{wrap:""},{default:t(()=>[(c(!0),Q(T,null,F(a.value,$=>(c(),b(w,{key:$.deptId},{default:t(()=>[N(K($.deptName),1)]),_:2},1024))),128))]),_:1}),e(Z),o[3]||(o[3]=q("div",{style:{"margin-bottom":"8px"}},"部门角色:",-1)),e(r,{wrap:""},{default:t(()=>[(c(!0),Q(T,null,F(y.value,$=>(c(),b(w,{key:$.roleId,color:"arcoblue"},{default:t(()=>[N(K($.roleName),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])}}},Oe=Y(Pe,[["__scopeId","data-v-4cf25717"]]),M="/api/user";function ze(d){return E({url:`${M}/list`,method:"get",params:d})}function Be(d){return E({url:`${M}/dept`,method:"get",params:{userId:d}})}function Ee(d){return E({url:`${M}/dept`,method:"put",data:d})}function Me(d){return E({url:`${M}/add_user`,method:"post",data:d})}function Re(d){return E({url:`${M}/edit_user`,method:"put",data:d})}function Le(d){return E({url:`${M}/change_status`,method:"put",data:d})}function Qe(d){return E({url:`${M}/reset_pwd`,method:"put",data:{userId:d}})}function Te(d){return E({url:`${M}/permission`,method:"get",params:{userId:d}})}function je(d){return E({url:`${M}/delete_user/${d}`,method:"delete"})}const qe={__name:"index",setup(d){const P=v(""),m=v([]),C=v([{title:"序号",slotName:"index"},{title:"用户名",dataIndex:"userName",titleSlotName:"userName"},{title:"角色",dataIndex:"roleName",titleSlotName:"roleName"},{title:"所属部门",dataIndex:"deptName",titleSlotName:"deptName"},{title:"状态",dataIndex:"status",slotName:"status"},{title:"操作",dataIndex:"operation",slotName:"operationSlot"}]),A=v({total:10,current:1,pageSize:12}),R=v("medium"),D=v(!1),u=v(!1),g=v(!1),a=ye({userName:"",userName:"",phone:"",email:"",pwd:"",roles:[]}),y=v([]),k=v(!1),O=v([]),S=v([]),f=v([]),V=v([]),o=v(!1),I=v([]),h=v([]),w=async()=>{const s={keyword:P.value,current:A.value.current,pageSize:A.value.pageSize};D.value=!0;const{code:l,data:n}=await ze(s);if(l===200){for(const i of n.rows){if(i.deptName="",i.roleName="",i.dept)for(let x=0;x<i.dept.length;x++){const z=i.dept[x];i.deptName+=z.deptName+(x<i.dept.length-1?", ":"")}if(i.roles)for(let x=0;x<i.roles.length;x++){const z=i.roles[x];i.roleName+=z.roleName+(x<i.roles.length-1?", ":"")}}A.value.total=n.total,m.value=n.rows,D.value=!1}else D.value=!1},r=s=>{P.value=s,w()},Z=()=>{P.value="",w()},G=()=>{a.userId="",a.userName="",a.loginName="",a.phone="",a.email="",a.pwd="",a.roles=[],g.value=!1,J(null,!0)},$=()=>{console.log("刷新")},ae=s=>{A.value.current=s,w()},oe=async s=>{if(s!=null&&s.dept){const l={userId:s.userId,status:s.status},{code:n}=await Le(l);n===200&&j.success({title:"成功",content:"状态切换成功."})}else s.status="0",j.warning({title:"提示",content:"如想启用用户,需进行部门配置."})},ne=async s=>{const{code:l}=await Qe(s.userId);l===200&&j.success({title:"重置密码",content:"该用户密码重置为000000"})},J=async(s,l)=>{if(l){const{code:n,data:i}=await be();n===200&&(y.value=i.rows)}s&&(a.userId=s.userId,a.userName=s.userName,a.loginName=s.loginName,a.phone=s.phone,a.email=s.email,a.pwd=s.pwd,a.roles=s.roles.map(n=>n.roleId),g.value=!0),u.value=l},W=async(s,l)=>{if(s){f.value=[],S.value=[],O.value=[];const{code:n,data:i}=await Te(s.userId);if(n===200){const{knowledge:x,menus:z,dialog:B}=i;B&&B.length>0&&(f.value=B),x&&x.length>0&&(S.value=x),z&&z.length>0&&(O.value=te(z))}}k.value=l},ee=async(s,l)=>{if(s){a.userId=s.userId;const{code:n,data:{rows:i}}=await Be(s.userId);n===200&&(I.value=i)}o.value=l},ie=async s=>{o.value=!1;const l={userId:a.userId,depts:s},{code:n}=await Ee(l);n===200&&(j.success({title:"部门配置",content:"部门配置成功"}),w())},de=async s=>{const{code:l}=await je(s);l===200&&(j.success({title:"删除用户",content:"删除成功"}),w())},ue=async()=>{u.value=!1;const s={userId:g.value?a.userId:void 0,...a},l=g.value?Re:Me,{code:n}=await l(s);if(n===200){const i=g.value?"编辑":"新增";j.success({title:`${i}用户`,content:`${i}成功`}),w()}},re=s=>{R.value=s},te=(s,l=[])=>(s.forEach(n=>{n.id&&n.meta.title&&l.push({id:n.id,name:n.meta.title}),n.children&&n.children.length>0&&te(n.children,l)}),l),ce=async()=>{const{code:s,data:{rows:l}}=await xe();s==200&&(h.value=l)};return ke(()=>{he("system:user:list")&&(w(),ce())}),(s,l)=>{const n=p("a-switch"),i=p("a-button"),x=p("a-popconfirm"),z=p("a-card"),B=we("hasPermi");return c(),Q(T,null,[e(z,{class:"account-page-card"},{default:t(()=>[e(fe,{btn_text:"新建用户",btn_permission:"system:user:add",onSearchClick:r,onResetClick:Z,onCreateClick:G,onSizeChange:re,onRefreshClick:$}),e(ve,{data:m.value,columns:C.value,"row-key":"userId",size:R.value,loading:D.value,pagination:A.value,onPageChange:ae},{status:t(({record:U})=>[e(n,{modelValue:U.status,"onUpdate:modelValue":L=>U.status=L,onChange:L=>oe(U),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:t(({record:U})=>[e(x,{content:"确定重置该用户密码吗?",onOk:L=>ne(U)},{default:t(()=>[H((c(),b(i,{type:"text"},{default:t(()=>l[4]||(l[4]=[N("重制密码")])),_:1})),[[B,"system:role:resetPassword"]])]),_:2},1032,["onOk"]),H((c(),b(i,{type:"text",onClick:L=>J(U,!0)},{default:t(()=>l[5]||(l[5]=[N("编辑")])),_:2},1032,["onClick"])),[[B,"system:user:edit"]]),H((c(),b(i,{type:"text",onClick:L=>W(U,!0)},{default:t(()=>l[6]||(l[6]=[N("查看权限")])),_:2},1032,["onClick"])),[[B,"system:user:viewPermission"]]),H((c(),b(i,{type:"text",onClick:L=>ee(U,!0)},{default:t(()=>l[7]||(l[7]=[N("部门配置")])),_:2},1032,["onClick"])),[[B,"system:user:deptEdit"]]),e(x,{content:"确定删除该条数据吗?",type:"warning",onOk:L=>de(U.userId)},{default:t(()=>[H((c(),b(i,{type:"text",status:"warning"},{default:t(()=>l[8]||(l[8]=[N("删除")])),_:1})),[[B,"system:user:delete"]])]),_:2},1032,["onOk"])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),e(me,{visible:u.value,onOk:ue,onCancel:l[0]||(l[0]=U=>J(null,!1)),title:g.value?"编辑":"新增"},{default:t(()=>[e(Ne,{edit_form:a,is_edit_mode:g.value,role_list:y.value},null,8,["edit_form","is_edit_mode","role_list"])]),_:1},8,["visible","title"]),e(Se,{visible:k.value,onCancel:l[1]||(l[1]=U=>W(null,!1)),onClose:l[2]||(l[2]=U=>W(null,!1)),menu_permissions_list:O.value,knowledge_permissions_list:S.value,dialog_permissions_list:f.value,agent_permissions_list:V.value},null,8,["visible","menu_permissions_list","knowledge_permissions_list","dialog_permissions_list","agent_permissions_list"]),e(Oe,{visible:o.value,dept_list:h.value,dept_detail:I.value,onOk:ie,onCancel:l[3]||(l[3]=U=>ee(null,!1))},null,8,["visible","dept_list","dept_detail"])],64)}}},Fe=Y(qe,[["__scopeId","data-v-b42e606b"]]),Je={__name:"PermissionAccount",setup(d){return(P,m)=>(c(),b(pe,null,{default:t(()=>[e(_e,{current_label:"用户"}),e(Fe)]),_:1}))}};export{Je as default};
|