PermissionRole-CQssetRG.js 12 KB

1
  1. import Ie from"./ContentContainer-DZH2G_N8.js";import{_ as be,B as ge}from"./Modal-BdXdMKaP.js";/* empty css */import"./index-BVSYczaX.js";import{C as G}from"./index-C-56AIYa.js";import{S as $e}from"./index-CutFJ90Q.js";import{l as W,o as C,p as w,y as n,B as l,W as R,r,w as O,I as ae,e as L,G as M,a as X,N as J,X as le,F as P,P as ne,V as Ne,f as xe,u as we,a4 as Re,z as V}from"./vue-vendor-B3m6NcsA.js";import{M as E}from"./index-Cu06AIPE.js";import"./index-BCTciNet.js";import{M as se,a as z,u as Se,ab as Te,ac as oe,B as De}from"./index-BYxC8Rnd.js";import{A as Me,D as Be}from"./Action-CvBh2A0O.js";import{F as Fe,C as Pe,R as Ee,a as Oe}from"./index-BKdBxkvi.js";import{T as ze}from"./index-mcB9r8sz.js";import{I as Ae}from"./index-DlMD1vvd.js";import{S as ie}from"./index-DI7qVTM0.js";import{T as re}from"./index-BrJxUXns.js";import"./index-CE57LV_Q.js";import{T as de}from"./index-DBYIZePG.js";import{_ as Y}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as Ue}from"./DeleteModal-BWDxNmMz.js";import{Q as je}from"./resource-DXCn8irX.js";import{a as Ke}from"./common-DJLZzmou.js";import"./index-CrPy6hrD.js";import"./index-BnzPSLYI.js";/* empty css *//* empty css */import"./index-DBDlsP4X.js";import"./index-DEE9YA8F.js";import"./index-CkA-9JnE.js";import"./resize-observer-DUaQiZP5.js";/* empty css *//* empty css */import"./render-function-DSOTYBbG.js";const Qe={__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=Fe,x=Pe,m=Ee,i=ze,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(D,{modelValue:R(s).roleName,"onUpdate:modelValue":I[0]||(I[0]=b=>R(s).roleName=b)},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]=b=>R(s).remark=b)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model"])}}},Ve={style:{display:"flex"}},Le={style:{margin:"8px 0"}},qe={__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([]),b=(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(q=>q.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")},g=()=>{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"])}),O(()=>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:g},{default:n(()=>[L("div",Ve,[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:b,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(()=>[L("div",Le,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(()=>[P(M(c.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},He=Y(qe,[["__scopeId","data-v-ecd3ab29"]]),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))})},b=(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")},g=()=>{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,_=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:g},{default:n(()=>[L("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:b,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(()=>[P(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"),b=r(!1),T=r(!1),g=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};b.value=!0;const{code:a,data:$}=await Je(e);a===200&&(i.value.total=$.total,x.value=$.rows),b.value=!1},c=e=>{I.value=e,d()},U=()=>{I.value="",d()},j=()=>{t.roleName="",t.remark="",g.value=!1,T.value=!0},q=()=>{d()},ce=e=>{i.value.current=e,d()},ue=async e=>{const a={roleId:e.roleId,status:e.status},{code:$}=await Ze(a);$===200&&E.success({title:"成功",content:"状态切换成功"})},Z=(e,a)=>{e&&(t.roleId=e.roleId,t.roleName=e.roleName,t.remark=e.remark,g.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&&(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 H(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()=>{D.value.$refs.roleFormRef.validate&&D.value.$refs.roleFormRef.validate(async e=>{if(!e){T.value=!1;const a={roleId:g.value?t.roleId:void 0,roleName:t.roleName,editType:g.value?1:void 0,remark:t.remark},$=g.value?H:Ye,{code:B}=await $(a);if(B===200){const K=g.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(()=>{Te("system:role:list")?(d(),he(),ke()):S.push("/denied")}),(e,a)=>{const $=$e,B=De,K=G,Q=Re("hasPermi");return C(),X(J,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:q},null,8,["btn_text"]),l(Be,{data:x.value,columns:m.value,"row-key":"roleId",scroll:{y:"calc(100vh - 300px)"},size:f.value,loading:b.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})=>[L("div",tt,[V((C(),w(B,{type:"text",onClick:F=>Z(N,!0)},{default:n(()=>[P(M(e.$t("permission.edit")),1)]),_:2},1032,["onClick"])),[[Q,"system:role:edit"]]),V((C(),w(B,{type:"text",onClick:F=>ee(N,!0)},{default:n(()=>[P(M(e.$t("permission.role.permissionEdit")),1)]),_:2},1032,["onClick"])),[[Q,"system:role:permissionEdit"]]),V((C(),w(B,{type:"text",onClick:F=>te(N,!0)},{default:n(()=>[P(M(e.$t("permission.role.deptEdit")),1)]),_:2},1032,["onClick"])),[[Q,"system:role:deptEdit"]]),V((C(),w(B,{onClick:F=>ye(N.roleId,e.$t("permission.delete_confirm")),type:"text",status:"warning"},{default:n(()=>[P(M(e.$t("permission.delete")),1)]),_:2},1032,["onClick"])),[[Q,"system:role:delete"]])])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),l(be,{visible:T.value,onOk:_e,onCancel:a[0]||(a[0]=N=>Z(null,!1)),title:g.value?e.$t("permission.role.edit"):e.$t("permission.role.add")},{default:n(()=>[l(Qe,{ref_key:"roleForm",ref:D,edit_form:t,is_edit_mode:g.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-9e8dfd9d"]]),Ot={__name:"PermissionRole",setup(u){return(S,s)=>(C(),w(Ie,null,{default:n(()=>[l(ge,{current_label:"角色"}),l(at)]),_:1}))}};export{Ot as default};