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