| 1 |
- import ke from"./ContentContainer-Ci9n2XtX.js";import{_ as be,B as Ne}from"./Modal-DmHjcEU4.js";import{aa as se,c as p,o as f,h as I,w as s,f as t,k as h,i as ne,r as v,m as Ie,e as j,j as S,t as C,d as q,F as L,s as K,Z as ie,$ as te,Q as $e,B as E,u as xe,a as Ce,b as Ve,p as Se,ab as Ue,a1 as De,v as J,C as W,ac as Ae}from"./index-DHJ7oAA6.js";import{A as ze,D as Pe}from"./Action-CVTT4eWe.js";import{_ as X}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as Re}from"./DeleteModal-BShU_sAV.js";import{a as Oe}from"./login-BAZ_mJlZ.js";import{Q as Be,a as Fe}from"./common-CeEYbR57.js";const Ee={__name:"AccountForm",props:{edit_form:Object,is_edit_mode:Boolean,role_list:Array},setup(m){const M=m,o={userName:[{required:!0,message:"用户名必填"}],email:[{required:!0,message:"邮箱必填"}],pwd:[{required:!0,message:"密码必填"},{validator:(b,d)=>{const u=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;b.length<8||!u.test(b)?d("密码至少8位,且包含字母和数字"):d()}}],roles:[{required:!0,message:"角色必选"}]},{edit_form:_,is_edit_mode:P,role_list:Q}=se(M),R=b=>{_.role=b};return(b,d)=>{const u=p("a-input"),k=p("a-form-item"),$=p("a-col"),z=p("a-row"),g=p("a-select"),n=p("a-form");return f(),I(n,{ref:"accountFormRef",rules:o,model:h(_),"auto-label-width":""},{default:s(()=>[t(z,{gutter:24,class:"flex-row"},{default:s(()=>[h(P)?ne("",!0):(f(),I($,{key:0,span:12,class:"flex-col"},{default:s(()=>[t(k,{field:"userName",label:b.$t("permission.account.username")},{default:s(()=>[t(u,{modelValue:h(_).userName,"onUpdate:modelValue":d[0]||(d[0]=l=>h(_).userName=l)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})),t($,{span:12,class:"flex-col"},{default:s(()=>[t(k,{field:"loginName",label:b.$t("permission.account.name")},{default:s(()=>[t(u,{modelValue:h(_).loginName,"onUpdate:modelValue":d[1]||(d[1]=l=>h(_).loginName=l)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(z,{gutter:24,class:"flex-row"},{default:s(()=>[t($,{span:12,class:"flex-col"},{default:s(()=>[t(k,{field:"phone",label:b.$t("permission.account.phone")},{default:s(()=>[t(u,{modelValue:h(_).phone,"onUpdate:modelValue":d[2]||(d[2]=l=>h(_).phone=l)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1}),t($,{span:12,class:"flex-col"},{default:s(()=>[t(k,{required:"",field:"email",label:b.$t("permission.account.email")},{default:s(()=>[t(u,{modelValue:h(_).email,"onUpdate:modelValue":d[3]||(d[3]=l=>h(_).email=l)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(z,{gutter:24,class:"flex-row"},{default:s(()=>[h(P)?ne("",!0):(f(),I($,{key:0,span:12,class:"flex-col"},{default:s(()=>[t(k,{field:"pwd",label:b.$t("permission.account.password")},{default:s(()=>[t(u,{modelValue:h(_).pwd,"onUpdate:modelValue":d[4]||(d[4]=l=>h(_).pwd=l),type:"password"},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})),t($,{span:12,class:"flex-col"},{default:s(()=>[t(k,{field:"roles",label:b.$t("permission.account.roles")},{default:s(()=>[t(g,{multiple:"",modelValue:h(_).roles,"onUpdate:modelValue":d[5]||(d[5]=l=>h(_).roles=l),options:h(Q),"field-names":{value:"roleId",label:"roleName"},onChange:R},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model"])}}},Te=X(Ee,[["__scopeId","data-v-c6191792"]]),Me={style:{display:"flex","flex-direction":"column"}},Qe={class:"title-box",style:{"justify-content":"space-between"}},je={class:"title-box"},qe={class:"title-box"},Le={__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(m,{emit:M}){const o=m,{visible:_,menu_permissions_list:P,knowledge_permissions_list:Q,dialog_permissions_list:R,agent_permissions_list:b}=se(o),d=M,u=v("all"),k=[{title:"permission.account.all",value:"all"},{title:"permission.account.org",value:"org"},{title:"permission.account.user",value:"user"}],$=Ie(()=>u.value==="all"?P.value:P.value.filter(g=>g.type===u.value)),z=()=>{u.value="all",d("close")};return(g,n)=>{const l=p("icon-menu"),i=p("a-radio"),x=p("a-radio-group"),w=p("a-tag"),V=p("a-space"),A=p("a-divider"),Z=p("icon-bookmark"),G=p("icon-relation"),U=p("a-card"),B=p("a-modal");return f(),I(B,{width:"50%",visible:h(_),"onUpdate:visible":n[1]||(n[1]=y=>ie(_)?_.value=y:null),title:g.$t("permission.account.user_permission"),okText:g.$t("permission.close"),"hide-cancel":"true",onOk:z,onCancel:z},{default:s(()=>[j("div",Me,[t(U,{class:"card-body",hoverable:""},{default:s(()=>[j("div",Qe,[j("div",null,[t(l,{size:"18"}),S(C(g.$t("permission.account.menu_function"))+":",1)]),t(x,{modelValue:u.value,"onUpdate:modelValue":n[0]||(n[0]=y=>u.value=y),type:"button",size:"small"},{default:s(()=>[(f(),q(L,null,K(k,(y,ae)=>t(i,{key:y.value,value:y.value},{default:s(()=>[S(C(g.$t(y.title)),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t(V,{wrap:""},{default:s(()=>[(f(!0),q(L,null,K($.value,y=>(f(),I(w,{key:y.id},{default:s(()=>[S(C(y.name),1)]),_:2},1024))),128))]),_:1}),t(A),j("div",je,[t(Z,{size:"18"}),S(C(g.$t("permission.account.knowledge_base"))+":",1)]),t(V,{wrap:""},{default:s(()=>[(f(!0),q(L,null,K(h(Q),y=>(f(),I(w,{color:"arcoblue",key:y.id},{default:s(()=>[S(C(y.name),1)]),_:2},1024))),128))]),_:1}),t(A),j("div",qe,[t(G,{size:"18"}),S(" "+C(g.$t("permission.account.agent"))+":",1)]),t(V,{wrap:""},{default:s(()=>[(f(!0),q(L,null,K(h(R),y=>(f(),I(w,{color:"green",key:y.id},{default:s(()=>[S(C(y.name),1)]),_:2},1024))),128)),(f(!0),q(L,null,K(h(b),y=>(f(),I(w,{color:"green",key:y.id},{default:s(()=>[S(C(y.name),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible","title","okText"])}}},Ze=X(Le,[["__scopeId","data-v-db374372"]]),He={style:{display:"flex"}},Ke={style:{"margin-bottom":"8px"}},Ge={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},dept_detail:{type:Object,default:()=>[]}},emits:["close","ok"],setup(m,{emit:M}){const o=m,{visible:_,dept_list:P,dept_detail:Q}=se(o),R=M,b=v(null),d=v([]),u=v([]),k=v([]),$=(l,i)=>{l.children&&l.children.length>0&&l.children.forEach(x=>{const w=i.findIndex(V=>V.deptId===x.deptId);w!==-1&&(i.splice(w,1),$(x,i))})},z=(l,i)=>{const x={deptId:i.node.deptId,deptName:i.node.deptName};if(i.checked)i.node.roles.forEach(w=>{k.value.some(A=>A.roleId===w.roleId)||k.value.push(w)}),u.value.push(x);else{const w=u.value.findIndex(A=>A.deptId===i.node.deptId);u.value.splice(w,1);const V=k.value.findIndex(A=>A.deptId===i.node.deptId);k.value.splice(V,1),$(i.node,u.value)}},g=()=>{_.value=!1,R("close")},n=()=>{R("ok",d.value)};return te(()=>o.dept_detail,l=>{l.length>0?l.forEach(i=>{d.value.includes(i.deptId)||(u.value.push({deptId:i.deptId,deptName:i.deptName}),d.value.push(i.deptId)),i.roles.forEach(x=>{k.value.some(w=>w.roleId===x.roleId)||k.value.push({roleId:x.roleId,roleName:x.roleName,deptId:i.deptId})})}):(d.value=[],u.value=[],k.value=[])}),te(()=>o.dept_list,l=>{l.length>0&&$e(()=>{b.value.expandAll()})}),(l,i)=>{const x=p("a-tree"),w=p("a-card"),V=p("a-tag"),A=p("a-space"),Z=p("a-divider"),G=p("a-modal");return f(),I(G,{width:"50%",visible:h(_),"onUpdate:visible":i[1]||(i[1]=U=>ie(_)?_.value=U:null),title:l.$t("permission.account.dept_config"),onCancel:g,onOk:n},{default:s(()=>[j("div",He,[t(w,{class:"card-body",title:l.$t("permission.account.organization"),hoverable:""},{default:s(()=>[t(x,{data:h(P),ref_key:"treeRef",ref:b,"checked-keys":d.value,"onUpdate:checkedKeys":i[0]||(i[0]=U=>d.value=U),checkable:!0,"check-strictly":!0,"show-line":!0,onCheck:z,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["data","checked-keys"])]),_:1},8,["title"]),t(w,{class:"card-body",title:l.$t("permission.account.user_department")},{default:s(()=>[t(A,{wrap:""},{default:s(()=>[(f(!0),q(L,null,K(u.value,U=>(f(),I(V,{key:U.deptId},{default:s(()=>[S(C(U.deptName),1)]),_:2},1024))),128))]),_:1}),t(Z),j("div",Ke,C(l.$t("permission.account.department_roles"))+":",1),t(A,{wrap:""},{default:s(()=>[(f(!0),q(L,null,K(k.value,U=>(f(),I(V,{key:U.roleId,color:"arcoblue"},{default:s(()=>[S(C(U.roleName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},Je=X(Ge,[["__scopeId","data-v-98b1213a"]]),T="/api/user";function We(m){return E({url:`${T}/list`,method:"get",params:m})}function Xe(m){return E({url:`${T}/dept`,method:"get",params:{userId:m}})}function Ye(m){return E({url:`${T}/dept`,method:"put",data:m})}function et(m){return E({url:`${T}/add_user`,method:"post",data:m})}function tt(m){return E({url:`${T}/edit_user`,method:"put",data:m})}function st(m){return E({url:`${T}/change_status`,method:"put",data:m})}function at(m){return E({url:`${T}/reset_pwd`,method:"put",data:{userId:m}})}function ot(m){return E({url:`${T}/permission`,method:"get",params:{userId:m}})}function lt(m){return E({url:`${T}/delete_user/${m}`,method:"delete"})}const nt={class:"operation-btn-container"},it={__name:"index",setup(m){const M=xe(),{t:o,locale:_}=Ce(),P=v(""),Q=v(null),R=v(!1),b=v([]),d=v([{title:o("permission.group.serial_number"),width:130,fixed:"left",slotName:"index"},{title:o("permission.account.username"),dataIndex:"userName",fixed:"left",width:100,titleSlotName:"userName"},{title:o("permission.account.name"),dataIndex:"loginName",width:100,titleSlotName:"loginName"},{title:o("permission.account.roles"),dataIndex:"roleName",width:300,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"roleName"},{title:o("permission.account.user_department"),dataIndex:"deptName",width:400,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"deptName"},{title:o("permission.account.phone"),dataIndex:"phone",width:150,titleSlotName:"phone"},{title:o("permission.account.email"),dataIndex:"email",width:250,titleSlotName:"email"},{title:o("permission.group.status"),dataIndex:"status",width:100,slotName:"status"},{title:o("permission.group.action"),dataIndex:"operation",fixed:"right",slotName:"operationSlot"}]),u=v({total:10,current:1,pageSize:15}),k=v("medium"),$=v(!1),z=v(!1),g=v(!1),n=Ve({userName:"",loginName:"",phone:"",email:"",pwd:"",roles:[]}),l=v([]),i=v(!1),x=v([]),w=v([]),V=v([]),A=v([]),Z=v(!1),G=v([]),U=v([]),B=async()=>{const e={keyword:P.value,current:u.value.current,pageSize:u.value.pageSize};$.value=!0;const{code:a,data:r}=await We(e);if(a===200){for(const c of r.rows){if(c.deptName="",c.roleName="",c.depts)for(let N=0;N<c.depts.length;N++){const O=c.depts[N];c.deptName+=O.deptName+(N<c.depts.length-1?", ":"")}if(c.roles)for(let N=0;N<c.roles.length;N++){const O=c.roles[N];c.roleName+=O.roleName+(N<c.roles.length-1?", ":"")}}u.value.total=r.total,b.value=r.rows,$.value=!1}else $.value=!1},y=e=>{P.value=e,B()},ae=()=>{P.value="",B()},re=()=>{n.userId=0,n.userName="",n.loginName="",n.phone="",n.email="",n.pwd="",n.roles=[],g.value=!1,Y(null,!0)},de=()=>{B()},ue=e=>{u.value.current=e,B()},ce=async e=>{const a={userId:e.userId,status:e.status},{code:r}=await st(a);r===200&&W.success({content:o("permission.status_switch_success")})},pe=async e=>{const{code:a}=await at(e.userId);a===200&&W.success({content:o("permission.account.reset_password_success")})},Y=async(e,a)=>{if(a){const{code:r,data:c}=await Be();r===200&&(l.value=c.rows)}e&&(n.userId=e.userId,n.userName=e.userName,n.loginName=e.loginName,n.phone=e.phone,n.email=e.email,n.pwd=e.pwd,n.roles=e.roles.map(r=>r.roleId),g.value=!0),z.value=a},ee=async(e,a)=>{if(e){V.value=[],w.value=[],x.value=[];const{code:r,data:c}=await ot(e.userId);if(r===200){const{knowledge:N,menus:O,dialog:F}=c;F&&F.length>0&&(V.value=F),N&&N.length>0&&(w.value=N),O&&O.length>0&&(x.value=le(O))}}i.value=a},oe=async(e,a)=>{if(e){n.userId=e.userId;const{code:r,data:{rows:c}}=await Xe(e.userId);r===200&&(G.value=c)}Z.value=a},me=async e=>{Z.value=!1;const a={userId:n.userId,depts:e},{code:r}=await Ye(a);r===200&&(W.success({content:o("permission.account.dept_config_success")}),B())},_e=async e=>{const{code:a}=await lt(e);a===200&&(W.success({content:o("permission.account.delete_success")}),B())},fe=async()=>{Q.value.$refs.accountFormRef.validate&&Q.value.$refs.accountFormRef.validate(async e=>{if(!e){z.value=!1;const a={userId:g.value?n.userId:0,...n},r=g.value?tt:et,{code:c,data:{userFlag:N}}=await r(a);if(c===200){const O=g.value?o("permission.edit"):o("permission.add");W.success({content:`${O}${o("permission.success")}`}),!g.value&&N&&ve(N),B()}}})},ve=async e=>{await Oe(e)},he=e=>{k.value=e},le=(e,a=[])=>(e.forEach(r=>{r.id&&r.meta.title&&a.push({id:r.id,name:r.meta.title,type:r.type}),r.children&&r.children.length>0&&le(r.children,a)}),a),ge=async()=>{const{code:e,data:{rows:a}}=await Fe();e==200&&(U.value=Ae(a))},we=e=>{n.userId=e,R.value=!0},ye=()=>{_e(n.userId),R.value=!1};return te(()=>_.value,()=>{d.value=[{title:o("permission.group.serial_number"),width:130,fixed:"left",slotName:"index"},{title:o("permission.account.username"),dataIndex:"userName",fixed:"left",width:100,titleSlotName:"userName"},{title:o("permission.account.name"),dataIndex:"loginName",width:100,titleSlotName:"loginName"},{title:o("permission.account.roles"),dataIndex:"roleName",width:300,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"roleName"},{title:o("permission.account.user_department"),dataIndex:"deptName",width:400,ellipsis:!0,tooltip:{position:"top"},titleSlotName:"deptName"},{title:o("permission.account.phone"),dataIndex:"phone",width:150,titleSlotName:"phone"},{title:o("permission.account.email"),dataIndex:"email",width:250,titleSlotName:"email"},{title:o("permission.group.status"),dataIndex:"status",width:100,slotName:"status"},{title:o("permission.group.action"),dataIndex:"operation",fixed:"right",slotName:"operationSlot"}]}),Se(()=>{Ue("system:user:list")?(B(),ge()):M.push("/denied")}),(e,a)=>{const r=p("a-switch"),c=p("a-button"),N=p("a-popconfirm"),O=p("a-card"),F=De("hasPermi");return f(),q(L,null,[t(O,{class:"account-page-card"},{default:s(()=>[t(ze,{btn_text:e.$t("permission.account.new_user"),btn_permission:"system:user:add",onSearchClick:y,onResetClick:ae,onCreateClick:re,onSizeChange:he,onRefreshClick:de},null,8,["btn_text"]),t(Pe,{data:b.value,columns:d.value,"row-key":"userId",scroll:{x:2e3,y:"calc(100vh - 300px)"},size:k.value,loading:$.value,pagination:u.value,onPageChange:ue},{status:s(({record:D})=>[t(r,{modelValue:D.status,"onUpdate:modelValue":H=>D.status=H,onChange:H=>ce(D),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:s(({record:D})=>[j("div",nt,[t(N,{content:e.$t("permission.account.reset_password"),onOk:H=>pe(D)},{default:s(()=>[J((f(),I(c,{type:"text"},{default:s(()=>[S(C(e.$t("permission.account.reset_password")),1)]),_:1})),[[F,"system:role:resetPassword"]])]),_:2},1032,["content","onOk"]),J((f(),I(c,{type:"text",onClick:H=>Y(D,!0)},{default:s(()=>[S(C(e.$t("permission.edit")),1)]),_:2},1032,["onClick"])),[[F,"system:user:edit"]]),J((f(),I(c,{type:"text",onClick:H=>ee(D,!0)},{default:s(()=>[S(C(e.$t("permission.account.view_permission")),1)]),_:2},1032,["onClick"])),[[F,"system:user:viewPermission"]]),J((f(),I(c,{type:"text",onClick:H=>oe(D,!0)},{default:s(()=>[S(C(e.$t("permission.account.dept_config")),1)]),_:2},1032,["onClick"])),[[F,"system:user:deptEdit"]]),J((f(),I(c,{onClick:H=>we(D.userId),type:"text",status:"warning"},{default:s(()=>[S(C(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[F,"system:user:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),t(be,{visible:z.value,onOk:fe,onCancel:a[0]||(a[0]=D=>Y(null,!1)),title:g.value?e.$t("permission.account.edit"):e.$t("permission.account.new_user")},{default:s(()=>[t(Te,{ref_key:"accountForm",ref:Q,edit_form:n,is_edit_mode:g.value,role_list:l.value},null,8,["edit_form","is_edit_mode","role_list"])]),_:1},8,["visible","title"]),t(Ze,{visible:i.value,onCancel:a[1]||(a[1]=D=>ee(null,!1)),onClose:a[2]||(a[2]=D=>ee(null,!1)),menu_permissions_list:x.value,knowledge_permissions_list:w.value,dialog_permissions_list:V.value,agent_permissions_list:A.value},null,8,["visible","menu_permissions_list","knowledge_permissions_list","dialog_permissions_list","agent_permissions_list"]),t(Je,{visible:Z.value,dept_list:U.value,dept_detail:G.value,onOk:me,onCancel:a[3]||(a[3]=D=>oe(null,!1))},null,8,["visible","dept_list","dept_detail"]),t(Re,{visible:R.value,onOk:ye,onCancel:a[4]||(a[4]=D=>R.value=!1)},null,8,["visible"])],64)}}},rt=X(it,[["__scopeId","data-v-f21ded33"]]),ht={__name:"PermissionAccount",setup(m){return(M,o)=>(f(),I(ke,null,{default:s(()=>[t(Ne,{current_label:"用户"}),t(rt)]),_:1}))}};export{ht as default};
|