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