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