PermissionRole-5-qfUez-.js 12 KB

1
  1. import Ie from"./ContentContainer-DgEVKcOV.js";import{_ as ge,B as be}from"./Modal-DRKG_10i.js";import{_ as G,M as ae,H as A,u as $e,aE as Ne,B as xe,aF as oe}from"./index-DOPTRBlu.js";/* empty css */import{C as Y}from"./index-B5Gb0Og2.js";/* empty css */import{S as we}from"./index-CAoQoZI-.js";import{y as Z,q as w,o as C,w as n,v as l,Y as R,j as r,A as P,L as le,a as q,u as F,c as J,F as W,Z as ne,t as E,U as se,N as Re,r as Se,B as Te,a7 as De,G as Q}from"./vue-vendor-C15EL-OS.js";/* empty css */import"./index-DIihAwtv.js";import{A as Fe,D as Me}from"./Action-CwD9_lh_.js";import{R as Be,C as Ee,a as Oe,F as Pe}from"./index-CHlcbMUa.js";import{T as Ae}from"./index-CRf1n-pD.js";import"./index-BY1aSRuR.js";import{I as Ue}from"./index-C1PBVTRX.js";import{S as ie}from"./index-D-fwAqO5.js";import{T as re}from"./index-mN4_si1a.js";import"./index-CaZXoZ4W.js";import{T as de}from"./index-CkX7v2Z-.js";import{_ as ze}from"./DeleteModal-C_yKh1I1.js";import{Q as je}from"./resource-yHrV0QyR.js";import{a as Ke}from"./common-hHlRLlgn.js";import{M as O}from"./index-Df9BRrNN.js";import"./use-platform-information-By8xPspB.js";import"./index-Cma4DreW.js";import"./index-m8OL8P3H.js";import"./index-uOp0AbNC.js";import"./index-BK0_lpOM.js";/* empty css *//* empty css */import"./index-UEjUZtOO.js";import"./index-Bq3vUeN3.js";import"./index.es-BW_FzNZC.js";import"./index-CAiVDES2.js";import"./index-CPJG2W9d.js";import"./resize-observer-DCP8kG4b.js";/* empty css *//* empty css */import"./index-B3z4cY-J.js";import"./responsive-observe-4ACH6YSC.js";import"./use-merge-state-45HIfeIZ.js";import"./render-function-BO12zM-t.js";const Le={__name:"RoleForm",props:{edit_form:Object,is_edit_mode:Boolean,roles:Array},setup(u){const S=u,{edit_form:s}=Z(S);return(h,I)=>{const D=Ue,y=Oe,x=Ee,m=Be,i=Ae,f=Pe;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(D,{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"}},qe={style:{margin:"8px 0"}},He={__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:D}=Z(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(z=>{const j=c.findIndex(H=>H.menuId===z.menuId);j!==-1&&(c.splice(j,1),k(z,c))})};const p=f.value.findIndex(d=>d.menuId===o.node.menuId);f.value.splice(p,1),k(o.node,f.value)}},T=()=>{y("cancel")},b=()=>{y("ok",i.value)};return P(()=>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}),P(()=>s.menu_list,t=>{t.length>0&&le(()=>{x.value.expandAll()})}),(t,o)=>{const v=de,_=Y,p=re,k=ie,d=ae;return C(),w(d,{width:"50%",visible:R(h),"onUpdate:visible":o[2]||(o[2]=c=>se(h)?h.value=c:null),title:t.$t("permission.role.permissionConfig"),onCancel:T,onOk:b},{default:n(()=>[q("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(()=>[q("div",qe,F(t.$t("permission.role.menuFunctions"))+":",1),l(k,{wrap:""},{default:n(()=>[(C(!0),J(W,null,ne(f.value,c=>(C(),w(p,{key:c.menuId},{default:n(()=>[E(F(c.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},Ve=G(He,[["__scopeId","data-v-5f205e95"]]),Ge={style:{display:"flex"}},Ye={__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:D}=Z(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)}},T=()=>{h.value=!1,y("close")},b=()=>{y("ok",m.value)};return P(()=>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=[])}),P(()=>s.dept_list,t=>{t.length>0&&le(()=>{x.value.expandAll()})}),(t,o)=>{const v=de,_=Y,p=re,k=ie,d=ae;return C(),w(d,{width:"50%",visible:R(h),"onUpdate:visible":o[1]||(o[1]=c=>se(h)?h.value=c:null),title:t.$t("permission.role.deptConfig"),onCancel:T,onOk:b},{default:n(()=>[q("div",Ge,[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),J(W,null,ne(i.value,c=>(C(),w(p,{key:c.deptId},{default:n(()=>[E(F(c.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},Ze=G(Ye,[["__scopeId","data-v-b129481d"]]),U="/api/role";function Je(u){return A({url:`${U}/list`,method:"get",params:u})}function We(u){return A({url:`${U}/add_role`,method:"post",data:u})}function V(u){return A({url:`${U}/edit_role`,method:"put",data:u})}function Xe(u){return A({url:`${U}/change_status`,method:"put",data:u})}function et(u){return A({url:`${U}/delete_role/${u}`,method:"delete"})}const tt={class:"operation-btn-container"},ot={__name:"index",setup(u){const S=Re(),{t:s,locale:h}=$e(),I=r(""),D=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),T=r(!1),b=r(!1),t=Se({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 Je(e);a===200&&(i.value.total=$.total,x.value=$.rows),g.value=!1},c=e=>{I.value=e,d()},z=()=>{I.value="",d()},j=()=>{t.roleName="",t.remark="",b.value=!1,T.value=!0},H=()=>{d()},ce=e=>{i.value.current=e,d()},ue=async e=>{const a={roleId:e.roleId,status:e.status},{code:$}=await Xe(a);$===200&&O.success({title:"成功",content:"状态切换成功"})},X=(e,a)=>{e&&(t.roleId=e.roleId,t.roleName=e.roleName,t.remark=e.remark,b.value=!0),T.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 V(a);$===200&&(O.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 V(a);$===200&&(O.success({title:"部门配置",content:"部门配置成功"}),d())},fe=async e=>{const{code:a}=await et(e);a===200&&(O.success({title:"删除用户",content:"删除成功"}),d())},_e=async()=>{D.value.$refs.roleFormRef.validate&&D.value.$refs.roleFormRef.validate(async e=>{if(!e){T.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?V:We,{code:M}=await $(a);if(M===200){const K=b.value?"编辑":"新增";O.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 P(()=>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"}]}),Te(()=>{Ne("system:role:list")?(d(),he(),ke()):S.push("/denied")}),(e,a)=>{const $=we,M=xe,K=Y,L=De("hasPermi");return C(),J(W,null,[l(K,{class:"role-page-card"},{default:n(()=>[l(Fe,{btn_text:e.$t("permission.role.add"),btn_permission:"system:role:add",onSearchClick:c,onResetClick:z,onCreateClick:j,onSizeChange:ve,onRefreshClick:H},null,8,["btn_text"]),l(Me,{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":B=>N.status=B,onChange:B=>ue(N),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:n(({record:N})=>[q("div",tt,[Q((C(),w(M,{type:"text",onClick:B=>X(N,!0)},{default:n(()=>[E(F(e.$t("permission.edit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:edit"]]),Q((C(),w(M,{type:"text",onClick:B=>ee(N,!0)},{default:n(()=>[E(F(e.$t("permission.role.permissionEdit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:permissionEdit"]]),Q((C(),w(M,{type:"text",onClick:B=>te(N,!0)},{default:n(()=>[E(F(e.$t("permission.role.deptEdit")),1)]),_:2},1032,["onClick"])),[[L,"system:role:deptEdit"]]),Q((C(),w(M,{onClick:B=>ye(N.roleId,e.$t("permission.delete_confirm")),type:"text",status:"warning"},{default:n(()=>[E(F(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[L,"system:role:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),l(ge,{visible:T.value,onOk:_e,onCancel:a[0]||(a[0]=N=>X(null,!1)),title:b.value?e.$t("permission.role.edit"):e.$t("permission.role.add")},{default:n(()=>[l(Le,{ref_key:"roleForm",ref:D,edit_form:t,is_edit_mode:b.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),l(Ve,{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(Ze,{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(ze,{visible:y.value,onOk:Ce,onCancel:a[3]||(a[3]=N=>y.value=!1)},null,8,["visible"])],64)}}},at=G(ot,[["__scopeId","data-v-4ef72d41"]]),Ht={__name:"PermissionRole",setup(u){return(S,s)=>(C(),w(Ie,null,{default:n(()=>[l(be,{current_label:"角色"}),l(at)]),_:1}))}};export{Ht as default};