PermissionRole-6u9cVjAG.js 12 KB

1
  1. import Ie from"./ContentContainer-CtVrPS98.js";import{_ as ge,B as be}from"./Modal-DODpZbsb.js";/* empty css */import"./index-B1mmH5Yz.js";import{C as J}from"./index-Bjen1fPm.js";import{S as $e}from"./index-jWhFETuM.js";import{u as X,s as w,o as C,A as n,D as l,X as R,j as r,w as O,L as ae,a as H,J as M,c as Y,F as Z,Z as le,I as A,R as ne,Y as Ne,r as xe,x as we,a7 as Re,B as Q}from"./vue-vendor-BSLWZmNt.js";import{M as E}from"./index-rT7you44.js";import"./index-DD-Xchrk.js";import{_ as G,M as se,H as P,u as Se,az as De,B as Te,aA as oe}from"./index-BuZ8RqOW.js";import{A as Me,D as Be}from"./Action-BNbuzVgX.js";import{R as Fe,C as Ae,a as Ee,F as Oe}from"./index-593ma1Lw.js";import{T as Pe}from"./index-C8qZeJFA.js";import"./index-Ew_GAvIT.js";import{I as ze}from"./index-CjKQNOS8.js";import{S as ie}from"./index-CqRwYcHm.js";import{T as re}from"./index-BxH3Rpe6.js";import"./index-CrPgmW1a.js";import{T as de}from"./index-qxpU9Ih0.js";import{_ as Ue}from"./DeleteModal-BghML5fa.js";import{Q as je}from"./resource-C8vspgHa.js";import{a as Ke}from"./common-kr3rfyRl.js";import"./index-CdL-ta88.js";import"./index-C8ta0_dY.js";import"./index-CA_9wWtr.js";/* empty css *//* empty css */import"./index-BWfVC4HV.js";import"./index-wrCOjsDH.js";import"./index.es-BW_FzNZC.js";import"./index-C4GAysGE.js";import"./index-BMsXtd4H.js";import"./get-value-by-path-6Qp_6Uo8.js";import"./resize-observer-B0bvkKaf.js";/* empty css *//* empty css */import"./index-B3z4cY-J.js";import"./responsive-observe-4ACH6YSC.js";import"./use-merge-state-CE8KUZP3.js";import"./render-function-CrOd21Ym.js";const Le={__name:"RoleForm",props:{edit_form:Object,is_edit_mode:Boolean,roles:Array},setup(u){const S=u,{edit_form:s}=X(S);return(h,I)=>{const T=ze,y=Ee,x=Ae,m=Fe,i=Pe,f=Oe;return C(),w(f,{ref:"roleFormRef",model:R(s),"auto-label-width":""},{default:n(()=>[l(m,{gutter:24},{default:n(()=>[l(x,{span:22},{default:n(()=>[l(y,{field:"roleName",label:h.$t("permission.role.roleName"),rules:[{required:!0,message:h.$t("permission.role.roleNameRequired")}]},{default:n(()=>[l(T,{modelValue:R(s).roleName,"onUpdate:modelValue":I[0]||(I[0]=g=>R(s).roleName=g)},null,8,["modelValue"])]),_:1},8,["label","rules"])]),_:1})]),_:1}),l(m,{gutter:24},{default:n(()=>[l(x,{span:22},{default:n(()=>[l(y,{field:"remark",label:h.$t("permission.role.remark")},{default:n(()=>[l(i,{modelValue:R(s).remark,"onUpdate:modelValue":I[1]||(I[1]=g=>R(s).remark=g)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model"])}}},Qe={style:{display:"flex"}},He={style:{margin:"8px 0"}},Ve={__name:"PermissionConfigModal",props:{visible:Boolean,menu_list:{type:Array,default:()=>[]},record:Object},emits:["getActiveTab","close","ok"],setup(u,{emit:S}){const s=u,{visible:h,menu_list:I,record:T}=X(s),y=S,x=r(null),m=r(["0"]),i=r([]),f=r([]),g=(t,o)=>{const v=o.node,_={menuId:v.menuId,menuName:v.menuName,children:v.children};if(o.checked){let p=function(k){f.value.push(k),k.children&&Array.isArray(k.children)&&k.children.forEach(d=>{p(d)})};p(_)}else{let k=function(d,c){d.children&&d.children.length>0&&d.children.forEach(U=>{const j=c.findIndex(V=>V.menuId===U.menuId);j!==-1&&(c.splice(j,1),k(U,c))})};const p=f.value.findIndex(d=>d.menuId===o.node.menuId);f.value.splice(p,1),k(o.node,f.value)}},D=()=>{y("cancel")},b=()=>{y("ok",i.value)};return O(()=>s.record,t=>{(t==null?void 0:t.resources.length)>0?(f.value=[],i.value=[],t.resources.forEach(o=>{f.value.push({menuId:o.menuId,menuName:o.menuName}),i.value.push(o.menuId),m.value.push(o.menuId)})):(f.value=[],i.value=[],m.value=["0"])},{immediate:!0}),O(()=>s.menu_list,t=>{t.length>0&&ae(()=>{x.value.expandAll()})}),(t,o)=>{const v=de,_=J,p=re,k=ie,d=se;return C(),w(d,{width:"50%",visible:R(h),"onUpdate:visible":o[2]||(o[2]=c=>ne(h)?h.value=c:null),title:t.$t("permission.role.permissionConfig"),onCancel:D,onOk:b},{default:n(()=>[H("div",Qe,[l(_,{class:"card-body",title:t.$t("permission.role.menuFunctions"),hoverable:""},{default:n(()=>[l(v,{data:R(I),ref_key:"treeRef",ref:x,"checked-keys":i.value,"onUpdate:checkedKeys":o[0]||(o[0]=c=>i.value=c),"expanded-keys":m.value,"onUpdate:expandedKeys":o[1]||(o[1]=c=>m.value=c),checkable:!0,"show-line":!0,onCheck:g,fieldNames:{key:"menuId",title:"menuName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1},8,["title"]),l(_,{class:"card-body",title:t.$t("permission.role.roleMenuPermissions")},{default:n(()=>[H("div",He,M(t.$t("permission.role.menuFunctions"))+":",1),l(k,{wrap:""},{default:n(()=>[(C(!0),Y(Z,null,le(f.value,c=>(C(),w(p,{key:c.menuId},{default:n(()=>[A(M(c.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},qe=G(Ve,[["__scopeId","data-v-358ca496"]]),Je={style:{display:"flex"}},Xe={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},record:{type:Object,default:!1}},emits:["close","ok"],setup(u,{emit:S}){const s=u,{visible:h,dept_list:I,record:T}=X(s),y=S,x=r(null),m=r([]),i=r([]),f=(t,o)=>{t.children&&t.children.length>0&&t.children.forEach(v=>{const _=o.findIndex(p=>p.deptId===v.deptId);_!==-1&&(o.splice(_,1),f(v,o))})},g=(t,o)=>{const v={deptId:o.node.deptId,deptName:o.node.deptName};if(o.checked)i.value.push(v);else{const _=i.value.findIndex(p=>p.deptId===o.node.deptId);i.value.splice(_,1),f(o.node,i.value)}},D=()=>{h.value=!1,y("close")},b=()=>{y("ok",m.value)};return O(()=>s.record,t=>{(t==null?void 0:t.dept.length)>0?(i.value=[],m.value=[],t.dept.forEach(o=>{i.value.push({deptId:o.deptId,deptName:o.deptName}),m.value.push(o.deptId)})):(i.value=[],m.value=[])}),O(()=>s.dept_list,t=>{t.length>0&&ae(()=>{x.value.expandAll()})}),(t,o)=>{const v=de,_=J,p=re,k=ie,d=se;return C(),w(d,{width:"50%",visible:R(h),"onUpdate:visible":o[1]||(o[1]=c=>ne(h)?h.value=c:null),title:t.$t("permission.role.deptConfig"),onCancel:D,onOk:b},{default:n(()=>[H("div",Je,[l(_,{class:"card-body",title:t.$t("permission.role.organization"),hoverable:""},{default:n(()=>[l(v,{data:R(I),ref_key:"treeRef",ref:x,"checked-keys":m.value,"onUpdate:checkedKeys":o[0]||(o[0]=c=>m.value=c),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"]),l(_,{class:"card-body",title:t.$t("permission.role.roleDepartments")},{default:n(()=>[l(k,{wrap:""},{default:n(()=>[(C(!0),Y(Z,null,le(i.value,c=>(C(),w(p,{key:c.deptId},{default:n(()=>[A(M(c.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},Ye=G(Xe,[["__scopeId","data-v-51203b7c"]]),z="/api/role";function Ze(u){return P({url:`${z}/list`,method:"get",params:u})}function Ge(u){return P({url:`${z}/add_role`,method:"post",data:u})}function q(u){return P({url:`${z}/edit_role`,method:"put",data:u})}function We(u){return P({url:`${z}/change_status`,method:"put",data:u})}function et(u){return P({url:`${z}/delete_role/${u}`,method:"delete"})}const tt={class:"operation-btn-container"},ot={__name:"index",setup(u){const S=Ne(),{t:s,locale:h}=Se(),I=r(""),T=r(null),y=r(!1),x=r([]),m=r([{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"}]),i=r({total:10,current:1,pageSize:15}),f=r("medium"),g=r(!1),D=r(!1),b=r(!1),t=xe({roleName:"",remark:""}),o=r(!1),v=r([]),_=r(!1),p=r(null),k=r([]),d=async()=>{const e={keyword:I.value,current:i.value.current,pageSize:i.value.pageSize};g.value=!0;const{code:a,data:$}=await Ze(e);a===200&&(i.value.total=$.total,x.value=$.rows),g.value=!1},c=e=>{I.value=e,d()},U=()=>{I.value="",d()},j=()=>{t.roleName="",t.remark="",b.value=!1,D.value=!0},V=()=>{d()},ce=e=>{i.value.current=e,d()},ue=async e=>{const a={roleId:e.roleId,status:e.status},{code:$}=await We(a);$===200&&E.success({title:"成功",content:"状态切换成功"})},W=(e,a)=>{e&&(t.roleId=e.roleId,t.roleName=e.roleName,t.remark=e.remark,b.value=!0),D.value=a},ee=async(e,a)=>{e&&(t.roleId=e.roleId,p.value=e),o.value=a},me=async e=>{o.value=!1;const a={roleId:t.roleId,resources:e,editType:2},{code:$}=await q(a);$===200&&(E.success({title:"权限配置",content:"权限配置成功"}),d())},te=async(e,a)=>{e&&(t.roleId=e.roleId,p.value=e),_.value=a},pe=async e=>{_.value=!1;const a={roleId:t.roleId,depts:e,editType:3},{code:$}=await q(a);$===200&&(E.success({title:"部门配置",content:"部门配置成功"}),d())},fe=async e=>{const{code:a}=await et(e);a===200&&(E.success({title:"删除用户",content:"删除成功"}),d())},_e=async()=>{T.value.$refs.roleFormRef.validate&&T.value.$refs.roleFormRef.validate(async e=>{if(!e){D.value=!1;const a={roleId:b.value?t.roleId:void 0,roleName:t.roleName,editType:b.value?1:void 0,remark:t.remark},$=b.value?q:Ge,{code:B}=await $(a);if(B===200){const K=b.value?"编辑":"新增";E.success({title:`${K}用户`,content:`${K}成功`}),d()}}})},ve=e=>{f.value=e},he=async()=>{const{code:e,data:{rows:a}}=await je();e===200&&(v.value=oe(a))},ke=async()=>{const{code:e,data:{rows:a}}=await Ke();e==200&&(k.value=oe(a))},ye=e=>{t.roleId=e,y.value=!0},Ce=()=>{fe(t.roleId),y.value=!1};return O(()=>h.value,()=>{m.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"}]}),we(()=>{De("system:role:list")?(d(),he(),ke()):S.push("/denied")}),(e,a)=>{const $=$e,B=Te,K=J,L=Re("hasPermi");return C(),Y(Z,null,[l(K,{class:"role-page-card"},{default:n(()=>[l(Me,{btn_text:e.$t("permission.role.add"),btn_permission:"system:role:add",onSearchClick:c,onResetClick:U,onCreateClick:j,onSizeChange:ve,onRefreshClick:V},null,8,["btn_text"]),l(Be,{data:x.value,columns:m.value,"row-key":"roleId",scroll:{y:"calc(100vh - 300px)"},size:f.value,loading:g.value,pagination:i.value,onPageChange:ce},{status:n(({record:N})=>[l($,{modelValue:N.status,"onUpdate:modelValue":F=>N.status=F,onChange:F=>ue(N),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:n(({record:N})=>[H("div",tt,[Q((C(),w(B,{type:"text",onClick:F=>W(N,!0)},{default:n(()=>[A(M(e.$t("permission.edit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:edit"]]),Q((C(),w(B,{type:"text",onClick:F=>ee(N,!0)},{default:n(()=>[A(M(e.$t("permission.role.permissionEdit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:permissionEdit"]]),Q((C(),w(B,{type:"text",onClick:F=>te(N,!0)},{default:n(()=>[A(M(e.$t("permission.role.deptEdit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:deptEdit"]]),Q((C(),w(B,{onClick:F=>ye(N.roleId,e.$t("permission.delete_confirm")),type:"text",status:"warning"},{default:n(()=>[A(M(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[L,"system:role:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),l(ge,{visible:D.value,onOk:_e,onCancel:a[0]||(a[0]=N=>W(null,!1)),title:b.value?e.$t("permission.role.edit"):e.$t("permission.role.add")},{default:n(()=>[l(Le,{ref_key:"roleForm",ref:T,edit_form:t,is_edit_mode:b.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),l(qe,{visible:o.value,menu_list:v.value,record:p.value,onOk:me,onCancel:a[1]||(a[1]=N=>ee(null,!1))},null,8,["visible","menu_list","record"]),l(Ye,{visible:_.value,dept_list:k.value,record:p.value,onOk:pe,onCancel:a[2]||(a[2]=N=>te(null,!1))},null,8,["visible","dept_list","record"]),l(Ue,{visible:y.value,onOk:Ce,onCancel:a[3]||(a[3]=N=>y.value=!1)},null,8,["visible"])],64)}}},at=G(ot,[["__scopeId","data-v-9e8dfd9d"]]),Qt={__name:"PermissionRole",setup(u){return(S,s)=>(C(),w(Ie,null,{default:n(()=>[l(be,{current_label:"角色"}),l(at)]),_:1}))}};export{Qt as default};