PermissionRole-DUvXlebZ.js 12 KB

1
  1. import Ie from"./ContentContainer-uE68UcSr.js";import{_ as ge,B as be}from"./Modal-C9tSYf79.js";/* empty css */import"./index-BeS2Ppql.js";import{C as G}from"./index-xfuqdUFR.js";import{S as $e}from"./index-DB7FQYxB.js";import{q as W,p as w,o as C,y as n,B as l,V as R,f as r,w as E,I as ae,a as V,G as M,c as X,P as J,X as le,F as O,O as ne,W as Ne,r as xe,u as we,a5 as Re,z as Q}from"./vue-vendor-bEvCrXZa.js";import{M as P}from"./index-BTCv57tJ.js";import"./index-KDxWQSei.js";import{M as se,x as z,u as Se,ap as Te,B as De,aq as oe}from"./index-CSfNVY9x.js";import{A as Me,D as Be}from"./Action-BsvZMbo0.js";import{R as Fe,C as Oe,a as Pe,F as Ee}from"./index-lMJUXsWS.js";import{T as ze}from"./index-BRCqT5A6.js";import{I as Ae}from"./index-sLsJpj0n.js";import{S as ie}from"./index-BZR4cZsO.js";import{T as re}from"./index-WCqYcx18.js";import"./index-0ZFuoiHl.js";import{T as de}from"./index-CLscIb9l.js";import{_ as Y}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as Ue}from"./DeleteModal-dm8A9g9Y.js";import{Q as je}from"./resource-EYnMS6Z7.js";import{a as qe}from"./common-BmMca6pR.js";import"./index-oiWkjdOe.js";import"./index-ZoU3FSSc.js";/* empty css *//* empty css */import"./index-C6uQyU6F.js";import"./index.es-BW_FzNZC.js";import"./index-BsaSiGy9.js";import"./index-Cktc58K-.js";import"./responsive-observe-DyF4nBxc.js";import"./resize-observer-ClvzRE46.js";/* empty css *//* empty css */import"./render-function-mdTNSiZi.js";const Ke={__name:"RoleForm",props:{edit_form:Object,is_edit_mode:Boolean,roles:Array},setup(u){const S=u,{edit_form:s}=W(S);return(h,I)=>{const D=Ae,y=Pe,x=Oe,m=Fe,i=ze,f=Ee;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"}},Ve={style:{margin:"8px 0"}},Le={__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}=W(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(L=>L.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)}},T=()=>{y("cancel")},b=()=>{y("ok",i.value)};return E(()=>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}),E(()=>s.menu_list,t=>{t.length>0&&ae(()=>{x.value.expandAll()})}),(t,o)=>{const v=de,_=G,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:T,onOk:b},{default:n(()=>[V("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(()=>[V("div",Ve,M(t.$t("permission.role.menuFunctions"))+":",1),l(k,{wrap:""},{default:n(()=>[(C(!0),X(J,null,le(f.value,c=>(C(),w(p,{key:c.menuId},{default:n(()=>[O(M(c.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},He=Y(Le,[["__scopeId","data-v-5f205e95"]]),Ge={style:{display:"flex"}},We={__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}=W(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 E(()=>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=[])}),E(()=>s.dept_list,t=>{t.length>0&&ae(()=>{x.value.expandAll()})}),(t,o)=>{const v=de,_=G,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:T,onOk:b},{default:n(()=>[V("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),X(J,null,le(i.value,c=>(C(),w(p,{key:c.deptId},{default:n(()=>[O(M(c.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},Xe=Y(We,[["__scopeId","data-v-b129481d"]]),A="/api/role";function Je(u){return z({url:`${A}/list`,method:"get",params:u})}function Ye(u){return z({url:`${A}/add_role`,method:"post",data:u})}function H(u){return z({url:`${A}/edit_role`,method:"put",data:u})}function Ze(u){return z({url:`${A}/change_status`,method:"put",data:u})}function et(u){return z({url:`${A}/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(""),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=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 Je(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,T.value=!0},L=()=>{d()},ce=e=>{i.value.current=e,d()},ue=async e=>{const a={roleId:e.roleId,status:e.status},{code:$}=await Ze(a);$===200&&P.success({title:"成功",content:"状态切换成功"})},Z=(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 H(a);$===200&&(P.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 H(a);$===200&&(P.success({title:"部门配置",content:"部门配置成功"}),d())},fe=async e=>{const{code:a}=await et(e);a===200&&(P.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?H:Ye,{code:B}=await $(a);if(B===200){const q=b.value?"编辑":"新增";P.success({title:`${q}用户`,content:`${q}成功`}),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 qe();e==200&&(k.value=oe(a))},ye=e=>{t.roleId=e,y.value=!0},Ce=()=>{fe(t.roleId),y.value=!1};return E(()=>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(()=>{Te("system:role:list")?(d(),he(),ke()):S.push("/denied")}),(e,a)=>{const $=$e,B=De,q=G,K=Re("hasPermi");return C(),X(J,null,[l(q,{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:L},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})=>[V("div",tt,[Q((C(),w(B,{type:"text",onClick:F=>Z(N,!0)},{default:n(()=>[O(M(e.$t("permission.edit")),1)]),_:2},1032,["onClick"])),[[K,"system:role:edit"]]),Q((C(),w(B,{type:"text",onClick:F=>ee(N,!0)},{default:n(()=>[O(M(e.$t("permission.role.permissionEdit")),1)]),_:2},1032,["onClick"])),[[K,"system:role:permissionEdit"]]),Q((C(),w(B,{type:"text",onClick:F=>te(N,!0)},{default:n(()=>[O(M(e.$t("permission.role.deptEdit")),1)]),_:2},1032,["onClick"])),[[K,"system:role:deptEdit"]]),Q((C(),w(B,{onClick:F=>ye(N.roleId,e.$t("permission.delete_confirm")),type:"text",status:"warning"},{default:n(()=>[O(M(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[K,"system:role:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),l(ge,{visible:T.value,onOk:_e,onCancel:a[0]||(a[0]=N=>Z(null,!1)),title:b.value?e.$t("permission.role.edit"):e.$t("permission.role.add")},{default:n(()=>[l(Ke,{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(He,{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(Xe,{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=Y(ot,[["__scopeId","data-v-4ef72d41"]]),At={__name:"PermissionRole",setup(u){return(S,s)=>(C(),w(Ie,null,{default:n(()=>[l(be,{current_label:"角色"}),l(at)]),_:1}))}};export{At as default};