PermissionRole-BnwPH-nq.js 14 KB

1
  1. import ge from"./ContentContainer-CmZoRsS2.js";import{_ as Ce,B as be}from"./Modal-voYNZyeD.js";import{_ as H,M as ae,J as z,u as $e,ag as xe,B as we,aG as te}from"./index-DDQ3xnze.js";/* empty css */import{C as V}from"./index-DnoPGL5J.js";/* empty css */import{S as Re}from"./index-CeY-pPsw.js";import{y as J,q as w,o as N,w as r,v as i,Y as T,j as c,A as U,L as oe,a as q,u as P,c as W,F as Y,Z as ne,t as O,S as le,N as Se,r as Me,B as Te,a7 as De,s as Ee,G as Q}from"./vue-vendor-CBGUFTsF.js";/* empty css */import"./index-CvSb5Sor.js";import{A as Pe,D as Be}from"./Action-tMQ-3rQx.js";import{R as Fe,C as Oe,a as Ae,F as Ue}from"./index-lnsGo_RW.js";import{T as ze}from"./index-D42tdBSX.js";import"./index-iGPf4cEa.js";import{I as je}from"./index-DQBiNiiu.js";import{S as se}from"./index-tziUSABg.js";import{T as re}from"./index-iLgEVETd.js";import"./index-DlDgo74-.js";import{T as ie}from"./index-DrKKNi40.js";import{_ as Le}from"./DeleteModal-CBNw1dNv.js";import{Q as Qe}from"./resource-ChIPm7Gl.js";import{a as qe}from"./common-DV_6uCd4.js";import{M as A}from"./index-CRtSI-6R.js";import"./use-platform-information-BwI-Z1kC.js";import"./index-B-2ix-GG.js";import"./index-BLuNdLnQ.js";import"./index-6B17tMjc.js";import"./index-BZy9zJfh.js";/* empty css *//* empty css *//* empty css */import"./index-CrxO7hce.js";import"./index-BlyHdsXF.js";import"./index.es-BW_FzNZC.js";import"./index-Cpg3DoxT.js";import"./index-C6G9kgIK.js";import"./resize-observer-DP7XZpcG.js";/* empty css *//* empty css */import"./index-B3z4cY-J.js";import"./responsive-observe-4ACH6YSC.js";import"./use-merge-state-BPHsYdQn.js";import"./render-function-D92Ek6Yz.js";const Ke={__name:"RoleForm",props:{edit_form:Object,is_edit_mode:Boolean,roles:Array},setup(_){const R=_,{edit_form:s}=J(R);return(I,k)=>{const p=je,h=Ae,y=Oe,v=Fe,u=ze,f=Ue;return N(),w(f,{ref:"roleFormRef",model:T(s),"auto-label-width":""},{default:r(()=>[i(v,{gutter:24},{default:r(()=>[i(y,{span:22},{default:r(()=>[i(h,{field:"roleName",label:I.$t("permission.role.roleName"),rules:[{required:!0,message:I.$t("permission.role.roleNameRequired")}]},{default:r(()=>[i(p,{modelValue:T(s).roleName,"onUpdate:modelValue":k[0]||(k[0]=g=>T(s).roleName=g)},null,8,["modelValue"])]),_:1},8,["label","rules"])]),_:1})]),_:1}),i(v,{gutter:24},{default:r(()=>[i(y,{span:22},{default:r(()=>[i(h,{field:"remark",label:I.$t("permission.role.remark")},{default:r(()=>[i(u,{modelValue:T(s).remark,"onUpdate:modelValue":k[1]||(k[1]=g=>T(s).remark=g)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model"])}}},Ge=[{menuName:"root",menuId:"1",parentId:"",parentName:"",children:[{menuName:"知识库管理",menuId:"1-1",parentId:"1",parentName:"root",children:[{menuName:"知识库新增",menuId:"1-1-1",parentId:"1-1",parentName:"知识库管理"},{menuName:"知识库上传",menuId:"1-1-2",parentId:"1-1",parentName:"知识库管理"}]},{menuName:"智能体管理",menuId:"1-2",parentId:"1",parentName:"root",children:[{menuName:"知识库新增",menuId:"1-2-1",parentId:"1-2",parentName:"智能体管理"},{menuName:"知识库上传",menuId:"1-2-1",parentId:"1-2",parentName:"智能体管理"},{menuName:"知识库删除",menuId:"1-2-1",parentId:"1-2",parentName:"智能体管理"}]}]}],He=[{menuId:"1-1",menuName:"知识库管理",parentId:"1",parentName:"root"},{menuId:"1-1-1",menuName:"知识库新增",parentId:"1-1",parentName:"知识库管理"},{menuName:"知识库上传",menuId:"1-1-2",parentId:"1-1",parentName:"知识库管理"}];function de(_,R){let s=[];function I(p){return R.some(h=>h.menuId===p)}function k(p){!p.children||p.children.length===0?I(p.menuId)&&s.push(p.menuId):p.children.every(y=>I(y.menuId))&&s.push(p.menuId),p.children&&p.children.length>0&&p.children.forEach(h=>k(h))}return _.forEach(p=>k(p)),s}console.log(de(Ge,He));const Ve={style:{display:"flex"}},Je={style:{margin:"8px 0"}},We={__name:"PermissionConfigModal",props:{visible:Boolean,menu_list:{type:Array,default:()=>[]},record:Object},emits:["getActiveTab","close","ok"],setup(_,{emit:R}){const s=_,{visible:I,menu_list:k,record:p}=J(s),h=R,y=c(null),v=c(["0"]),u=c([]),f=c([]);function g(t,n=null){t.forEach(a=>{a.parent=n,a.children&&a.children.length>0&&g(a.children,a)})}const D=(t,n)=>{u.value=t;const a=n.checkedNodes,x=[];a.forEach(m=>{C(m,x)}),f.value=Array.from(new Map(x.map(m=>[m.menuId,m])).values()),f.value=f.value.filter(m=>m.menuId)};function C(t,n){t&&(n.some(a=>a.menuId===t.menuId)||n.push({menuId:t.menuId,menuName:t.menuName}),n.some(a=>a.menuId===t.parentId)||n.push({menuId:t.parentId,menuName:t.parentName}),t.parent&&C(t.parent,n))}const o=()=>{h("cancel")},d=()=>{h("ok",f.value)};return U(()=>s.record,t=>{var n;((n=t==null?void 0:t.resources)==null?void 0:n.length)>0?(f.value=[],u.value=[],v.value=[],console.log(t,9999),t.resources.forEach(a=>{f.value.findIndex(m=>m.menuId===a.parentId)===-1&&a.parentId&&(f.value.push({menuId:a.parentId,menuName:a.parentName}),v.value.push(a.parentId)),f.value.push({menuId:a.menuId,menuName:a.menuName}),v.value.push(a.menuId)}),f.value=Array.from(new Map(f.value.map(a=>[a.menuId,a])).values()),u.value=de(k.value,t.resources)):(f.value=[],u.value=[],v.value=["0"])},{immediate:!0}),U(()=>s.menu_list,t=>{t.length>0&&(g(t),oe(()=>{y.value.expandAll()}))}),(t,n)=>{const a=ie,x=V,m=re,S=se,K=ae;return N(),w(K,{width:"50%",visible:T(I),"onUpdate:visible":n[2]||(n[2]=M=>le(I)?I.value=M:null),title:t.$t("permission.role.permissionConfig"),onCancel:o,onOk:d},{default:r(()=>[q("div",Ve,[i(x,{class:"card-body",title:t.$t("permission.role.menuFunctions"),hoverable:""},{default:r(()=>[i(a,{data:T(k),ref_key:"treeRef",ref:y,"checked-keys":u.value,"onUpdate:checkedKeys":n[0]||(n[0]=M=>u.value=M),"expanded-keys":v.value,"onUpdate:expandedKeys":n[1]||(n[1]=M=>v.value=M),checkable:!0,"show-line":!0,onCheck:D,fieldNames:{key:"menuId",title:"menuName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1},8,["title"]),i(x,{class:"card-body",title:t.$t("permission.role.roleMenuPermissions")},{default:r(()=>[q("div",Je,P(t.$t("permission.role.menuFunctions"))+":",1),i(S,{wrap:""},{default:r(()=>[(N(!0),W(Y,null,ne(f.value,M=>(N(),w(m,{key:M.menuId},{default:r(()=>[O(P(M.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},Ye=H(We,[["__scopeId","data-v-9f0fdc55"]]),Ze={style:{display:"flex"}},Xe={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},record:{type:Object,default:!1}},emits:["close","ok"],setup(_,{emit:R}){const s=_,{visible:I,dept_list:k,record:p}=J(s),h=R,y=c(null),v=c([]),u=c([]),f=(o,d)=>{o.children&&o.children.length>0&&o.children.forEach(t=>{const n=d.findIndex(a=>a.deptId===t.deptId);n!==-1&&(d.splice(n,1),f(t,d))})},g=(o,d)=>{const t={deptId:d.node.deptId,deptName:d.node.deptName};if(d.checked)u.value.push(t);else{const n=u.value.findIndex(a=>a.deptId===d.node.deptId);u.value.splice(n,1),f(d.node,u.value)}},D=()=>{I.value=!1,h("close")},C=()=>{h("ok",v.value)};return U(()=>s.record,o=>{(o==null?void 0:o.dept.length)>0?(u.value=[],v.value=[],o.dept.forEach(d=>{u.value.push({deptId:d.deptId,deptName:d.deptName}),v.value.push(d.deptId)})):(u.value=[],v.value=[])}),U(()=>s.dept_list,o=>{o.length>0&&oe(()=>{y.value.expandAll()})}),(o,d)=>{const t=ie,n=V,a=re,x=se,m=ae;return N(),w(m,{width:"50%",visible:T(I),"onUpdate:visible":d[1]||(d[1]=S=>le(I)?I.value=S:null),title:o.$t("permission.role.deptConfig"),onCancel:D,onOk:C},{default:r(()=>[q("div",Ze,[i(n,{class:"card-body",title:o.$t("permission.role.organization"),hoverable:""},{default:r(()=>[i(t,{data:T(k),ref_key:"treeRef",ref:y,"checked-keys":v.value,"onUpdate:checkedKeys":d[0]||(d[0]=S=>v.value=S),checkable:!0,"check-strictly":!0,"show-line":!0,onCheck:g,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["data","checked-keys"])]),_:1},8,["title"]),i(n,{class:"card-body",title:o.$t("permission.role.roleDepartments")},{default:r(()=>[i(x,{wrap:""},{default:r(()=>[(N(!0),W(Y,null,ne(u.value,S=>(N(),w(a,{key:S.deptId},{default:r(()=>[O(P(S.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},et=H(Xe,[["__scopeId","data-v-b129481d"]]),j="/api/role";function tt(_){return z({url:`${j}/list`,method:"get",params:_})}function at(_){return z({url:`${j}/add_role`,method:"post",data:_})}function G(_){return z({url:`${j}/edit_role`,method:"put",data:_})}function ot(_){return z({url:`${j}/change_status`,method:"put",data:_})}function nt(_){return z({url:`${j}/delete_role/${_}`,method:"delete"})}const lt={class:"operation-btn-container"},st={__name:"index",setup(_){const R=Se(),{t:s,locale:I}=$e(),k=c(""),p=c(null),h=c(!1),y=c([]),v=c([{title:s("permission.role.serial_number"),width:130,slotName:"index"},{title:s("permission.role.roleName"),dataIndex:"roleName",width:600,titleSlotName:"roleName"},{title:s("permission.role.status"),dataIndex:"status",slotName:"status"},{title:s("permission.role.action"),dataIndex:"operation",width:500,fixed:"right",slotName:"operationSlot"}]),u=c({total:10,current:1,pageSize:15}),f=c("medium"),g=c(!1),D=c(!1),C=c(!1),o=Me({roleName:"",remark:""}),d=c(!1),t=c([]),n=c(!1),a=c(null),x=c([]),m=async()=>{const e={keyword:k.value,current:u.value.current,pageSize:u.value.pageSize};g.value=!0;const{code:l,data:b}=await tt(e);l===200&&(u.value.total=b.total,y.value=b.rows),g.value=!1},S=e=>{k.value=e,m()},K=()=>{k.value="",m()},M=()=>{o.roleName="",o.remark="",C.value=!1,D.value=!0},ue=()=>{m()},me=e=>{u.value.current=e,m()},ce=async e=>{const l={roleId:e.roleId,status:e.status},{code:b}=await ot(l);b===200&&A.success({title:"成功",content:"状态切换成功"})},Z=(e,l)=>{e&&(o.roleId=e.roleId,o.roleName=e.roleName,o.remark=e.remark,C.value=!0),D.value=l},X=async(e,l)=>{e&&(o.roleId=e.roleId,a.value=e,console.log(e)),d.value=l},pe=async e=>{console.log(e),d.value=!1;const l=e.map(B=>B.menuId),b={roleId:o.roleId,resources:l,editType:2},{code:E}=await G(b);E===200&&(A.success({title:"权限配置",content:"权限配置成功"}),m())},ee=async(e,l)=>{e&&(o.roleId=e.roleId,a.value=e),n.value=l},fe=async e=>{n.value=!1;const l={roleId:o.roleId,depts:e,editType:3},{code:b}=await G(l);b===200&&(A.success({title:"部门配置",content:"部门配置成功"}),m())},_e=async e=>{const{code:l}=await nt(e);l===200&&(A.success({title:"删除用户",content:"删除成功"}),m())},ve=async()=>{p.value.$refs.roleFormRef.validate&&p.value.$refs.roleFormRef.validate(async e=>{if(!e){D.value=!1;const l={roleId:C.value?o.roleId:void 0,roleName:o.roleName,editType:C.value?1:void 0,remark:o.remark},b=C.value?G:at,{code:E}=await b(l);if(E===200){const B=C.value?"编辑":"新增";A.success({title:`${B}用户`,content:`${B}成功`}),m()}}})},he=e=>{f.value=e},Ie=async()=>{const{code:e,data:{rows:l}}=await Qe();e===200&&(t.value=te(l),console.log(t.value))},ke=async()=>{const{code:e,data:{rows:l}}=await qe();e==200&&(x.value=te(l))},Ne=e=>{o.roleId=e,h.value=!0},ye=()=>{_e(o.roleId),h.value=!1};return U(()=>I.value,()=>{v.value=[{title:s("permission.role.serial_number"),width:130,slotName:"index"},{title:s("permission.role.roleName"),dataIndex:"roleName",width:600,titleSlotName:"roleName"},{title:s("permission.role.status"),dataIndex:"status",slotName:"status"},{title:s("permission.role.action"),dataIndex:"operation",width:500,fixed:"right",slotName:"operationSlot"}]}),Te(()=>{xe("system:role:list")?(m(),Ie(),ke()):R.push("/denied")}),(e,l)=>{const b=Re,E=we,B=V,L=De("hasPermi");return N(),W(Y,null,[i(B,{class:"role-page-card"},{default:r(()=>[i(Pe,{btn_text:e.$t("permission.role.add"),btn_permission:"system:role:add",onSearchClick:S,onResetClick:K,onCreateClick:M,onSizeChange:he,onRefreshClick:ue},null,8,["btn_text"]),i(Be,{data:y.value,columns:v.value,"row-key":"roleId",scroll:{y:"calc(100vh - 300px)"},size:f.value,loading:g.value,pagination:u.value,onPageChange:me},{status:r(({record:$})=>[i(b,{modelValue:$.status,"onUpdate:modelValue":F=>$.status=F,onChange:F=>ce($),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:r(({record:$})=>[q("div",lt,[Q((N(),w(E,{type:"text",onClick:F=>Z($,!0)},{default:r(()=>[O(P(e.$t("permission.edit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:edit"]]),Q((N(),w(E,{type:"text",onClick:F=>X($,!0)},{default:r(()=>[O(P(e.$t("permission.role.permissionEdit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:permissionEdit"]]),Q((N(),w(E,{type:"text",onClick:F=>ee($,!0)},{default:r(()=>[O(P(e.$t("permission.role.deptEdit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:deptEdit"]]),Q((N(),w(E,{onClick:F=>Ne($.roleId,e.$t("permission.delete_confirm")),type:"text",status:"warning"},{default:r(()=>[O(P(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[L,"system:role:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),i(Ce,{visible:D.value,onOk:ve,onCancel:l[0]||(l[0]=$=>Z(null,!1)),title:C.value?e.$t("permission.role.edit"):e.$t("permission.role.add")},{default:r(()=>[i(Ke,{ref_key:"roleForm",ref:p,edit_form:o,is_edit_mode:C.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),d.value?(N(),w(Ye,{key:0,visible:d.value,menu_list:t.value,record:a.value,onOk:pe,onCancel:l[1]||(l[1]=$=>X(null,!1))},null,8,["visible","menu_list","record"])):Ee("",!0),i(et,{visible:n.value,dept_list:x.value,record:a.value,onOk:fe,onCancel:l[2]||(l[2]=$=>ee(null,!1))},null,8,["visible","dept_list","record"]),i(Le,{visible:h.value,onOk:ye,onCancel:l[3]||(l[3]=$=>h.value=!1)},null,8,["visible"])],64)}}},rt=H(st,[["__scopeId","data-v-a58c2df5"]]),Yt={__name:"PermissionRole",setup(_){return(R,s)=>(N(),w(ge,null,{default:r(()=>[i(be,{current_label:"角色"}),i(rt)]),_:1}))}};export{Yt as default};