PermissionRole-B3fMIRpO.js 10 KB

1
  1. import ce from"./ContentContainer-uDhoHglD.js";import{_ as ue,B as me}from"./Modal-6Q0TT0B_.js";import{A as pe,D as _e}from"./Action-B1lzvph3.js";import{ab as Z,c,o as $,g as D,w as l,f as s,j as S,r as d,$ as q,R as Y,e as H,t as A,d as G,F as J,q as ee,i as B,Z as te,A as j,b as fe,m as ve,ac as he,B as U,a1 as ke,s as Q,M as ye}from"./index-yJMMmW18.js";import{_ as W}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{Q as ge}from"./resource-vqD5Mbny.js";import{a as Ce}from"./common-BII-KWoO.js";const be={__name:"RoleForm",props:{edit_form:Object,is_edit_mode:Boolean,roles:Array},setup(u){const R=u,{edit_form:m}=Z(R);return(h,k)=>{const E=c("a-input"),g=c("a-form-item"),C=c("a-col"),i=c("a-row"),o=c("a-textarea"),r=c("a-form");return $(),D(r,{model:S(m),"auto-label-width":""},{default:l(()=>[s(i,{gutter:24},{default:l(()=>[s(C,{span:22},{default:l(()=>[s(g,{field:"roleName",label:h.$t("permission.role.roleName"),rules:[{required:!0,message:h.$t("permission.role.roleNameRequired")}]},{default:l(()=>[s(E,{modelValue:S(m).roleName,"onUpdate:modelValue":k[0]||(k[0]=x=>S(m).roleName=x)},null,8,["modelValue"])]),_:1},8,["label","rules"])]),_:1})]),_:1}),s(i,{gutter:24},{default:l(()=>[s(C,{span:22},{default:l(()=>[s(g,{field:"remark",label:h.$t("permission.role.remark")},{default:l(()=>[s(o,{modelValue:S(m).remark,"onUpdate:modelValue":k[1]||(k[1]=x=>S(m).remark=x)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model"])}}},Ie={style:{display:"flex"}},$e={style:{margin:"8px 0"}},Ne={__name:"PermissionConfigModal",props:{visible:Boolean,menu_list:{type:Array,default:()=>[]},record:Object},emits:["getActiveTab","close","ok"],setup(u,{emit:R}){const m=u,{visible:h,menu_list:k,record:E}=Z(m),g=R,C=d(null),i=d(["0"]),o=d([]),r=d([]),x=(p,t)=>{const n=t.node,b={menuId:n.menuId,menuName:n.menuName,children:n.children};if(t.checked){let f=function(_){r.value.push(_),_.children&&Array.isArray(_.children)&&_.children.forEach(I=>{f(I)})};f(b)}else{let _=function(I,v){I.children&&I.children.length>0&&I.children.forEach(y=>{const z=v.findIndex(L=>L.menuId===y.menuId);z!==-1&&(v.splice(z,1),_(y,v))})};const f=r.value.findIndex(I=>I.menuId===t.node.menuId);r.value.splice(f,1),_(t.node,r.value)}},M=()=>{g("cancel")},T=()=>{g("ok",o.value)};return q(()=>m.record,p=>{(p==null?void 0:p.resources.length)>0?(r.value=[],o.value=[],p.resources.forEach(t=>{r.value.push({menuId:t.menuId,menuName:t.menuName}),o.value.push(t.menuId),i.value.push(t.menuId)})):(r.value=[],o.value=[],i.value=["0"])}),q(()=>m.menu_list,p=>{p.length>0&&Y(()=>{C.value.expandAll()})}),(p,t)=>{const n=c("a-tree"),b=c("a-card"),f=c("a-tag"),_=c("a-space"),I=c("a-modal");return $(),D(I,{width:"50%",visible:S(h),"onUpdate:visible":t[2]||(t[2]=v=>te(h)?h.value=v:null),title:p.$t("permission.role.permissionConfig"),onCancel:M,onOk:T},{default:l(()=>[H("div",Ie,[s(b,{class:"card-body",title:p.$t("permission.role.menuFunctions"),hoverable:""},{default:l(()=>[s(n,{data:S(k),ref_key:"treeRef",ref:C,"checked-keys":o.value,"onUpdate:checkedKeys":t[0]||(t[0]=v=>o.value=v),"expanded-keys":i.value,"onUpdate:expandedKeys":t[1]||(t[1]=v=>i.value=v),checkable:!0,"show-line":!0,onCheck:x,fieldNames:{key:"menuId",title:"menuName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1},8,["title"]),s(b,{class:"card-body",title:p.$t("permission.role.roleMenuPermissions")},{default:l(()=>[H("div",$e,A(p.$t("permission.role.menuFunctions"))+":",1),s(_,{wrap:""},{default:l(()=>[($(!0),G(J,null,ee(r.value,v=>($(),D(f,{key:v.menuId},{default:l(()=>[B(A(v.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},xe=W(Ne,[["__scopeId","data-v-ecd3ab29"]]),we={style:{display:"flex"}},Re={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},record:{type:Object,default:!1}},emits:["close","ok"],setup(u,{emit:R}){const m=u,{visible:h,dept_list:k,record:E}=Z(m),g=R,C=d(null),i=d([]),o=d(["0"]),r=d([]),x=(t,n)=>{t.children&&t.children.length>0&&t.children.forEach(b=>{const f=n.findIndex(_=>_.deptId===b.deptId);f!==-1&&(n.splice(f,1),x(b,n))})},M=(t,n)=>{const b={deptId:n.node.deptId,deptName:n.node.deptName};if(n.checked)r.value.push(b);else{const f=r.value.findIndex(_=>_.deptId===n.node.deptId);r.value.splice(f,1),x(n.node,r.value)}},T=()=>{h.value=!1,g("close")},p=()=>{g("ok",i.value)};return q(()=>m.record,t=>{(t==null?void 0:t.dept.length)>0?(r.value=[],i.value=[],t.dept.forEach(n=>{r.value.push({deptId:n.deptId,deptName:n.deptName}),i.value.push(n.deptId),o.value.push(n.deptId)})):(r.value=[],i.value=[],o.value=["0"])}),q(()=>m.dept_list,t=>{t.length>0&&Y(()=>{C.value.expandAll()})}),(t,n)=>{const b=c("a-tree"),f=c("a-card"),_=c("a-tag"),I=c("a-space"),v=c("a-modal");return $(),D(v,{width:"50%",visible:S(h),"onUpdate:visible":n[2]||(n[2]=y=>te(h)?h.value=y:null),title:t.$t("permission.role.deptConfig"),onCancel:T,onOk:p},{default:l(()=>[H("div",we,[s(f,{class:"card-body",title:t.$t("permission.role.organization"),hoverable:""},{default:l(()=>[s(b,{data:S(k),ref_key:"treeRef",ref:C,"checked-keys":i.value,"onUpdate:checkedKeys":n[0]||(n[0]=y=>i.value=y),"expanded-keys":o.value,"onUpdate:expandedKeys":n[1]||(n[1]=y=>o.value=y),checkable:!0,"check-strictly":!0,"show-line":!0,onCheck:M,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1},8,["title"]),s(f,{class:"card-body",title:t.$t("permission.role.roleDepartments")},{default:l(()=>[s(I,{wrap:""},{default:l(()=>[($(!0),G(J,null,ee(r.value,y=>($(),D(_,{key:y.deptId},{default:l(()=>[B(A(y.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"])])]),_:1},8,["visible","title"])}}},De=W(Re,[["__scopeId","data-v-5fe89237"]]),F="/api/role";function Se(u){return j({url:`${F}/list`,method:"get",params:u})}function Te(u){return j({url:`${F}/add_role`,method:"post",data:u})}function V(u){return j({url:`${F}/edit_role`,method:"put",data:u})}function Me(u){return j({url:`${F}/change_status`,method:"put",data:u})}function Pe(u){return j({url:`${F}/delete_role/${u}`,method:"delete"})}const Ae={__name:"index",setup(u){const R=d(""),m=d([]),h=d([{title:"序号",width:80,slotName:"index"},{title:"角色名",dataIndex:"roleName",width:600,titleSlotName:"roleName"},{title:"状态",dataIndex:"status",slotName:"status"},{title:"操作",dataIndex:"operation",width:400,fixed:"right",slotName:"operationSlot"}]),k=d({total:10,current:1,pageSize:12}),E=d("medium"),g=d(!1),C=d(!1),i=d(!1),o=fe({roleName:"",remark:""}),r=d(!1),x=d([]),M=d(!1),T=d(null),p=d([]),t=async()=>{const e={keyword:R.value,current:k.value.current,pageSize:k.value.pageSize};g.value=!0;const{code:a,data:N}=await Se(e);a===200&&(k.value.total=N.total,m.value=N.rows),g.value=!1},n=e=>{R.value=e,t()},b=()=>{R.value="",t()},f=()=>{o.roleName="",o.remark="",i.value=!1,C.value=!0},_=()=>{console.log("刷新")},I=e=>{k.value.current=e,t()},v=async e=>{const a={roleId:e.roleId,status:e.status},{code:N}=await Me(a);N===200&&U.success({title:"成功",content:"状态切换成功"})},y=(e,a)=>{e&&(o.roleId=e.roleId,o.roleName=e.roleName,o.remark=e.remark,i.value=!0),C.value=a},z=async(e,a)=>{e&&(o.roleId=e.roleId,T.value=e),r.value=a},L=async e=>{r.value=!1;const a={roleId:o.roleId,resources:e,editType:2},{code:N}=await V(a);N===200&&(U.success({title:"权限配置",content:"权限配置成功"}),t())},X=async(e,a)=>{e&&(o.roleId=e.roleId,T.value=e),M.value=a},ae=async e=>{M.value=!1;const a={roleId:o.roleId,depts:e,editType:3},{code:N}=await V(a);N===200&&(U.success({title:"部门配置",content:"部门配置成功"}),t())},ne=async e=>{const{code:a}=await Pe(e);a===200&&(U.success({title:"删除用户",content:"删除成功"}),t())},oe=async()=>{C.value=!1;const e={roleId:i.value?o.roleId:void 0,roleName:o.roleName,editType:i.value?1:void 0,remark:o.remark},a=i.value?V:Te,{code:N}=await a(e);if(N===200){const P=i.value?"编辑":"新增";U.success({title:`${P}用户`,content:`${P}成功`}),t()}},le=e=>{E.value=e},se=async()=>{const{code:e,data:{rows:a}}=await ge();e===200&&(x.value=a)},ie=async()=>{const{code:e,data:{rows:a}}=await Ce();e==200&&(p.value=a)},re=(e,a)=>{ye.warning({title:a,okText:"确定",cancelText:"取消",hideCancel:!1,onOk(){ne(e)}})};return ve(()=>{he("system:role:list")?(t(),se(),ie()):U.error({title:"权限不足",content:"您没有权限访问该页面"})}),(e,a)=>{const N=c("a-switch"),P=c("a-button"),de=c("a-card"),K=ke("hasPermi");return $(),G(J,null,[s(de,{class:"role-page-card"},{default:l(()=>[s(pe,{btn_text:e.$t("permission.role.add"),btn_permission:"system:role:add",onSearchClick:n,onResetClick:b,onCreateClick:f,onSizeChange:le,onRefreshClick:_},null,8,["btn_text"]),s(_e,{data:m.value,columns:h.value,"row-key":"roleId",size:E.value,loading:g.value,pagination:k.value,onPageChange:I},{status:l(({record:w})=>[s(N,{modelValue:w.status,"onUpdate:modelValue":O=>w.status=O,onChange:O=>v(w),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:l(({record:w})=>[Q(($(),D(P,{type:"text",onClick:O=>y(w,!0)},{default:l(()=>[B(A(e.$t("permission.role.edit")),1)]),_:2},1032,["onClick"])),[[K,"system:role:edit"]]),Q(($(),D(P,{type:"text",onClick:O=>z(w,!0)},{default:l(()=>[B(A(e.$t("permission.role.permissionEdit")),1)]),_:2},1032,["onClick"])),[[K,"system:role:permissionEdit"]]),Q(($(),D(P,{type:"text",onClick:O=>X(w,!0)},{default:l(()=>[B(A(e.$t("permission.role.deptEdit")),1)]),_:2},1032,["onClick"])),[[K,"system:role:deptEdit"]]),Q(($(),D(P,{onClick:O=>re(w.roleId,e.$t("permission.delete_confirm")),type:"text",status:"warning"},{default:l(()=>[B(A(e.$t("permission.role.delete")),1)]),_:2},1032,["onClick"])),[[K,"system:role:delete"]])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),s(ue,{visible:C.value,onOk:oe,onCancel:a[0]||(a[0]=w=>y(null,!1)),title:i.value?e.$t("permission.role.edit"):e.$t("permission.role.add")},{default:l(()=>[s(be,{edit_form:o,is_edit_mode:i.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),s(xe,{visible:r.value,menu_list:x.value,record:T.value,onOk:L,onCancel:a[1]||(a[1]=w=>z(null,!1))},null,8,["visible","menu_list","record"]),s(De,{visible:M.value,dept_list:p.value,record:T.value,onOk:ae,onCancel:a[2]||(a[2]=w=>X(null,!1))},null,8,["visible","dept_list","record"])],64)}}},Ee=W(Ae,[["__scopeId","data-v-d8b0d51e"]]),Qe={__name:"PermissionRole",setup(u){return(R,m)=>($(),D(ce,null,{default:l(()=>[s(me,{current_label:"角色"}),s(Ee)]),_:1}))}};export{Qe as default};