PermissionAccount-DZhva8ir.js 12 KB

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