PermissionRole-DsWTTd5E.js 11 KB

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