| 1 |
- import{C as ce}from"./ContentContainer-BdEL1t-B.js";import{_ as ie,B as ue}from"./Modal-1n0aDFcX.js";import{A as me,D as pe}from"./Action-OcPZAEr0.js";import{a4 as L,c as r,o as C,g as S,w as o,f as s,j as $,_ as V,r as c,a0 as J,e as F,d as q,F as H,q as X,i as U,t as Y,a1 as Z,y as B,b as _e,z as fe,U as ve,D as K,M as z}from"./index-bfAIUuub.js";import{h as he}from"./permission-BF2rigu4.js";import{Q as ke}from"./resource-DM33sYjw.js";import{a as ye}from"./common-CBRaMLKn.js";const Ie={__name:"RoleForm",props:{edit_form:Object,is_edit_mode:Boolean,roles:Array},setup(i){const x=i,{edit_form:f}=L(x);return(g,v)=>{const G=r("a-input"),k=r("a-form-item"),u=r("a-col"),d=r("a-row"),l=r("a-textarea"),M=r("a-form");return C(),S(M,{model:$(f),"auto-label-width":""},{default:o(()=>[s(d,{gutter:24},{default:o(()=>[s(u,{span:22},{default:o(()=>[s(k,{field:"roleName",label:"用户名",rules:[{required:!0,message:"用户名必填"}]},{default:o(()=>[s(G,{modelValue:$(f).roleName,"onUpdate:modelValue":v[0]||(v[0]=w=>$(f).roleName=w)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),s(d,{gutter:24},{default:o(()=>[s(u,{span:22},{default:o(()=>[s(k,{field:"remark",label:"备注"},{default:o(()=>[s(l,{modelValue:$(f).remark,"onUpdate:modelValue":v[1]||(v[1]=w=>$(f).remark=w)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])}}},be={style:{display:"flex"}},Ce={__name:"PermissionConfigModal",props:{visible:Boolean,menu_list:{type:Array,default:()=>[]},record:Object},emits:["getActiveTab","close","ok"],setup(i,{emit:x}){const f=i,{visible:g,menu_list:v,record:G}=L(f),k=x,u=c(["0"]),d=c([]),l=c([]),M=(h,n)=>{const a=n.node,y={menuId:a.menuId,menuName:a.menuName,children:a.children};if(n.checked){let p=function(m){l.value.push(m),m.children&&Array.isArray(m.children)&&m.children.forEach(I=>{p(I)})};p(y)}else{let m=function(I,_){I.children&&I.children.length>0&&I.children.forEach(b=>{const P=_.findIndex(A=>A.menuId===b.menuId);P!==-1&&(_.splice(P,1),m(b,_))})};const p=l.value.findIndex(I=>I.menuId===n.node.menuId);l.value.splice(p,1),m(n.node,l.value)}},w=()=>{k("cancel")},D=()=>{k("ok",d.value)};return J(()=>f.record,h=>{h!=null&&h.resources?h.resources.forEach(n=>{l.value.push({menuId:n.menuId,menuName:n.menuName}),d.value.push(n.menuId),u.value.push(n.menuId)}):(l.value=[],d.value=[],u.value=["0"])}),(h,n)=>{const a=r("a-tree"),y=r("a-card"),p=r("a-tag"),m=r("a-space"),I=r("a-modal");return C(),S(I,{width:"50%",visible:$(g),"onUpdate:visible":n[2]||(n[2]=_=>Z(g)?g.value=_:null),title:"权限配置",onCancel:w,onOk:D},{default:o(()=>[F("div",be,[s(y,{class:"card-body",title:h.getCurrentTabTitle,hoverable:""},{default:o(()=>[s(a,{data:$(v),"checked-keys":d.value,"onUpdate:checkedKeys":n[0]||(n[0]=_=>d.value=_),"expanded-keys":u.value,"onUpdate:expandedKeys":n[1]||(n[1]=_=>u.value=_),checkable:!0,"show-line":!0,onCheck:M,fieldNames:{key:"menuId",title:"menuName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1},8,["title"]),s(y,{class:"card-body",title:"角色菜单权限"},{default:o(()=>[n[3]||(n[3]=F("div",{style:{margin:"8px 0"}},"菜单功能:",-1)),s(m,{wrap:""},{default:o(()=>[(C(!0),q(H,null,X(l.value,_=>(C(),S(p,{key:_.menuId},{default:o(()=>[U(Y(_.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])}}},Ne=V(Ce,[["__scopeId","data-v-8d3cadc4"]]),ge={style:{display:"flex"}},Te={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},record:{type:Object,default:!1}},emits:["close","ok"],setup(i,{emit:x}){const f=i,{visible:g,dept_list:v,record:G}=L(f),k=x,u=c([]),d=c(["0"]),l=c([]),M=(n,a)=>{n.children&&n.children.length>0&&n.children.forEach(y=>{const p=a.findIndex(m=>m.deptId===y.deptId);p!==-1&&(a.splice(p,1),M(y,a))})},w=(n,a)=>{const y={deptId:a.node.deptId,deptName:a.node.deptName};if(a.checked)l.value.push(y);else{const p=l.value.findIndex(m=>m.deptId===a.node.deptId);l.value.splice(p,1),M(a.node,l.value)}},D=()=>{g.value=!1,k("close")},h=()=>{k("ok",u.value)};return J(()=>f.record,n=>{n!=null&&n.dept&&n.dept.forEach(a=>{l.value.push({deptId:a.deptId,deptName:a.deptName}),u.value.push(a.deptId),d.value.push(a.deptId)})}),(n,a)=>{const y=r("a-tree"),p=r("a-card"),m=r("a-tag"),I=r("a-space"),_=r("a-modal");return C(),S(_,{width:"50%",visible:$(g),"onUpdate:visible":a[2]||(a[2]=b=>Z(g)?g.value=b:null),title:"部门配置",onCancel:D,onOk:h},{default:o(()=>[F("div",ge,[s(p,{class:"card-body",title:"机构",hoverable:""},{default:o(()=>[s(y,{data:$(v),"checked-keys":u.value,"onUpdate:checkedKeys":a[0]||(a[0]=b=>u.value=b),"expanded-keys":d.value,"onUpdate:expandedKeys":a[1]||(a[1]=b=>d.value=b),checkable:!0,"show-line":!0,onCheck:w,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1}),s(p,{class:"card-body",title:"角色所属部门"},{default:o(()=>[s(I,{wrap:""},{default:o(()=>[(C(!0),q(H,null,X(l.value,b=>(C(),S(m,{key:b.deptId},{default:o(()=>[U(Y(b.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])}}},xe=V(Te,[["__scopeId","data-v-ce207420"]]),E="/api/role";function Me(i){return B({url:`${E}/list`,method:"get",params:i})}function we(i){return B({url:`${E}/add_role`,method:"post",data:i})}function Q(i){return B({url:`${E}/edit_role`,method:"put",data:i})}function Se(i){return B({url:`${E}/change_status`,method:"put",data:i})}function $e(i){return B({url:`${E}/delete_role/${i}`,method:"delete"})}const De={__name:"index",setup(i){const x=c(""),f=c([]),g=c([{title:"序号",slotName:"index"},{title:"角色名",dataIndex:"roleName",titleSlotName:"roleName"},{title:"状态",dataIndex:"status",slotName:"status"},{title:"操作",dataIndex:"operation",slotName:"operationSlot"}]),v=c({total:10,current:1,pageSize:12}),G=c("medium"),k=c(!1),u=c(!1),d=c(!1),l=_e({roleName:"",remark:""}),M=c(!1),w=c([]),D=c(!1),h=c(null),n=c([{address:null,children:[{address:"",children:[],code:null,createTime:"Thu, 12 Sep 2024 14:56:43 GMT",deptId:"2af7cb5e-1178-4adc-8abb-9780f7543081",deptName:"成都",email:"",iconCls:null,leader:"成都",orderNum:0,parentId:"0",parentName:"总部",phone:"成都",roles:[],status:"",updateTime:"Thu, 12 Sep 2024 14:56:43 GMT"},{address:null,children:[],code:null,createTime:"Sun, 22 May 2022 09:59:33 GMT",deptId:"5477d9a9-e41e-485f-bb08-697e8facef88",deptName:"南京分公司",email:"ss@ada.com",iconCls:null,leader:"dd",orderNum:0,parentId:"0",parentName:"总部",phone:"18905189016",roles:[],status:"0",updateTime:"Tue, 12 Nov 2024 03:05:10 GMT"},{address:null,children:[{address:"",children:[{address:"",children:[],code:null,createTime:"Tue, 12 Nov 2024 03:09:57 GMT",deptId:"c6ae93de-2436-4090-b567-ec4835c74112",deptName:"成都",email:"",iconCls:null,leader:"柔柔弱弱",orderNum:0,parentId:"f86724f0-94d9-445c-9d95-3ec2540da0f8",parentName:"太平洋派出所",phone:"1234242342",roles:[],status:"",updateTime:"Tue, 12 Nov 2024 06:58:15 GMT"}],code:null,createTime:"Thu, 05 Sep 2024 03:15:13 GMT",deptId:"f86724f0-94d9-445c-9d95-3ec2540da0f8",deptName:"太平洋派出所",email:"",iconCls:null,leader:"12",orderNum:0,parentId:"ce627e90-57d6-4ed4-a789-1f3dd467ae7d",parentName:"上海分公司",phone:"12",roles:[{deptId:"f86724f0-94d9-445c-9d95-3ec2540da0f8",roleId:"19f00d46-8f1b-45b5-b7b7-6197d7b8cb33",roleName:"管理员1"}],status:"0",updateTime:"Tue, 12 Nov 2024 06:58:07 GMT"}],code:null,createTime:"Tue, 24 May 2022 23:54:10 GMT",deptId:"ce627e90-57d6-4ed4-a789-1f3dd467ae7d",deptName:"上海分公司",email:null,iconCls:null,leader:"jack",orderNum:0,parentId:"0",parentName:"总部",phone:null,roles:[{deptId:"ce627e90-57d6-4ed4-a789-1f3dd467ae7d",roleId:"301ca518-2ed0-4092-a2ee-e46c24a42c8a",roleName:"普通"}],status:"0",updateTime:"Wed, 18 Sep 2024 09:58:16 GMT"}],code:null,createTime:"Mon, 28 Nov 2016 10:34:54 GMT",deptId:"0",deptName:"总部",email:null,iconCls:"ext-icon-bricks",leader:null,orderNum:100,parentId:"",parentName:"",phone:null,roles:[],status:"0",updateTime:"Mon, 28 Nov 2016 10:35:12 GMT"}]),a=async()=>{const e={keyword:x.value,current:v.value.current,pageSize:v.value.pageSize};k.value=!0;const{code:t,data:N}=await Me(e);t===200&&(v.value.total=N.total,f.value=N.rows),k.value=!1},y=e=>{x.value=e,a()},p=()=>{x.value="",a()},m=()=>{l.roleName="",l.remark="",d.value=!1,u.value=!0},I=()=>{console.log("刷新")},_=e=>{v.value.current=e,a()},b=async e=>{const t={roleId:e.roleId,status:e.status},{code:N}=await Se(t);N===200&&z.success({title:"成功",content:"状态切换成功."})},P=(e,t)=>{e&&(l.roleId=e.roleId,l.roleName=e.roleName,l.remark=e.remark,d.value=!0),u.value=t},A=async(e,t)=>{e&&(l.roleId=e.roleId,h.value=e),M.value=t},ee=async e=>{M.value=!1;const t={roleId:l.roleId,menuIds:e,editType:2},{code:N}=await Q(t);N===200&&z.success({title:"权限配置",content:"权限配置成功"})},W=async(e,t)=>{e&&(l.roleId=e.roleId,h.value=e),D.value=t},te=async e=>{D.value=!1;const t={roleId:l.roleId,depts:e,editType:3},{code:N}=await Q(t);N===200&&z.success({title:"部门配置",content:"部门配置成功"})},ae=async e=>{const{code:t}=await $e(e);t===200&&(z.success({title:"删除用户",content:"删除成功"}),a())},ne=async()=>{u.value=!1;const e={roleId:d.value?l.roleId:void 0,roleName:l.roleName,editType:d.value?1:void 0,remark:l.remark},t=d.value?Q:we,{code:N}=await t(e);if(N===200){const R=d.value?"编辑":"新增";z.success({title:`${R}用户`,content:`${R}成功`}),a()}},le=e=>{G.value=e},oe=async()=>{const{code:e,data:{rows:t}}=await ke();e===200&&(w.value=t)},se=async()=>{const{code:e,data:{rows:t}}=await ye();e==200&&(n.value=t)};return fe(()=>{he("system:role:list")&&(a(),oe(),se())}),(e,t)=>{const N=r("a-switch"),R=r("a-button"),de=r("a-popconfirm"),re=r("a-card"),j=ve("hasPermi");return C(),q(H,null,[s(re,{class:"account-page-card"},{default:o(()=>[s(me,{btn_text:"新建角色",btn_permission:"system:role:add",onSearchClick:y,onResetClick:p,onCreateClick:m,onSizeChange:le,onRefreshClick:I}),s(pe,{data:f.value,columns:g.value,"row-key":"roleId",size:G.value,loading:k.value,pagination:v.value,onPageChange:_},{status:o(({record:T})=>[s(N,{modelValue:T.status,"onUpdate:modelValue":O=>T.status=O,onChange:O=>b(T),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:o(({record:T})=>[K((C(),S(R,{type:"text",onClick:O=>P(T,!0)},{default:o(()=>t[3]||(t[3]=[U("编辑")])),_:2},1032,["onClick"])),[[j,"system:role:edit"]]),K((C(),S(R,{type:"text",onClick:O=>A(T,!0)},{default:o(()=>t[4]||(t[4]=[U("权限配置")])),_:2},1032,["onClick"])),[[j,"system:role:permissionEdit"]]),K((C(),S(R,{type:"text",onClick:O=>W(T,!0)},{default:o(()=>t[5]||(t[5]=[U("部门配置")])),_:2},1032,["onClick"])),[[j,"system:role:deptEdit"]]),s(de,{content:"确定删除该条数据吗?",type:"warning",onOk:O=>ae(T.roleId)},{default:o(()=>[K((C(),S(R,{type:"text",status:"warning"},{default:o(()=>t[6]||(t[6]=[U("删除")])),_:1})),[[j,"system:role:delete"]])]),_:2},1032,["onOk"])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),s(ie,{visible:u.value,onOk:ne,onCancel:t[0]||(t[0]=T=>P(null,!1)),title:d.value?"编辑":"新增"},{default:o(()=>[s(Ie,{edit_form:l,is_edit_mode:d.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),s(Ne,{visible:M.value,menu_list:w.value,record:h.value,onOk:ee,onCancel:t[1]||(t[1]=T=>A(null,!1))},null,8,["visible","menu_list","record"]),s(xe,{visible:D.value,dept_list:n.value,record:h.value,onOk:te,onCancel:t[2]||(t[2]=T=>W(null,!1))},null,8,["visible","dept_list","record"])],64)}}},Re=V(De,[["__scopeId","data-v-ea4c0d4d"]]),Ae={__name:"PermissionRole",setup(i){return(x,f)=>(C(),S(ce,null,{default:o(()=>[s(ue,{current_label:"角色"}),s(Re)]),_:1}))}};export{Ae as default};
|