| 1 |
- import{C as ce}from"./ContentContainer-BpAZiJfd.js";import{_ as re,B as ue}from"./Modal-CJpUAkiq.js";import{A as me,D as pe}from"./Action-5uV8np0U.js";import{a5 as V,c as i,o as I,g as D,w as l,f as s,j as R,_ as q,r,S as W,e as L,d as H,F as G,q as X,i as B,t as Y,a2 as Z,C as z,b as _e,p as fe,a6 as ve,T as ke,G as Q,M}from"./index-DUNwg4_j.js";import{Q as he}from"./resource-DWKh7tOY.js";import{a as ye}from"./common-BfWHS4HY.js";const ge={__name:"RoleForm",props:{edit_form:Object,is_edit_mode:Boolean,roles:Array},setup(u){const w=u,{edit_form:f}=V(w);return(x,v)=>{const P=i("a-input"),h=i("a-form-item"),c=i("a-col"),d=i("a-row"),n=i("a-textarea"),$=i("a-form");return I(),D($,{model:R(f),"auto-label-width":""},{default:l(()=>[s(d,{gutter:24},{default:l(()=>[s(c,{span:22},{default:l(()=>[s(h,{field:"roleName",label:"用户名",rules:[{required:!0,message:"用户名必填"}]},{default:l(()=>[s(P,{modelValue:R(f).roleName,"onUpdate:modelValue":v[0]||(v[0]=S=>R(f).roleName=S)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),s(d,{gutter:24},{default:l(()=>[s(c,{span:22},{default:l(()=>[s(h,{field:"remark",label:"备注"},{default:l(()=>[s(n,{modelValue:R(f).remark,"onUpdate:modelValue":v[1]||(v[1]=S=>R(f).remark=S)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])}}},Ce={style:{display:"flex"}},Ie={__name:"PermissionConfigModal",props:{visible:Boolean,menu_list:{type:Array,default:()=>[]},record:Object},emits:["getActiveTab","close","ok"],setup(u,{emit:w}){const f=u,{visible:x,menu_list:v,record:P}=V(f),h=w,c=r(["0"]),d=r([]),n=r([]),$=(k,o)=>{const e=o.node,y={menuId:e.menuId,menuName:e.menuName,children:e.children};if(o.checked){let p=function(m){n.value.push(m),m.children&&Array.isArray(m.children)&&m.children.forEach(g=>{p(g)})};p(y)}else{let m=function(g,_){g.children&&g.children.length>0&&g.children.forEach(C=>{const E=_.findIndex(j=>j.menuId===C.menuId);E!==-1&&(_.splice(E,1),m(C,_))})};const p=n.value.findIndex(g=>g.menuId===o.node.menuId);n.value.splice(p,1),m(o.node,n.value)}},S=()=>{h("cancel")},T=()=>{h("ok",d.value)};return W(()=>f.record,k=>{(k==null?void 0:k.resources.length)>0?(n.value=[],d.value=[],k.resources.forEach(o=>{n.value.push({menuId:o.menuId,menuName:o.menuName}),d.value.push(o.menuId),c.value.push(o.menuId)})):(n.value=[],d.value=[],c.value=["0"])}),(k,o)=>{const e=i("a-tree"),y=i("a-card"),p=i("a-tag"),m=i("a-space"),g=i("a-modal");return I(),D(g,{width:"50%",visible:R(x),"onUpdate:visible":o[2]||(o[2]=_=>Z(x)?x.value=_:null),title:"权限配置",onCancel:S,onOk:T},{default:l(()=>[L("div",Ce,[s(y,{class:"card-body",title:k.getCurrentTabTitle,hoverable:""},{default:l(()=>[s(e,{data:R(v),"checked-keys":d.value,"onUpdate:checkedKeys":o[0]||(o[0]=_=>d.value=_),"expanded-keys":c.value,"onUpdate:expandedKeys":o[1]||(o[1]=_=>c.value=_),checkable:!0,"show-line":!0,onCheck:$,fieldNames:{key:"menuId",title:"menuName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1},8,["title"]),s(y,{class:"card-body",title:"角色菜单权限"},{default:l(()=>[o[3]||(o[3]=L("div",{style:{margin:"8px 0"}},"菜单功能:",-1)),s(m,{wrap:""},{default:l(()=>[(I(!0),H(G,null,X(n.value,_=>(I(),D(p,{key:_.menuId},{default:l(()=>[B(Y(_.menuName),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])}}},be=q(Ie,[["__scopeId","data-v-87ba0404"]]),xe={style:{display:"flex"}},Ne={__name:"DeptConfigModal",props:{visible:Boolean,dept_list:{type:Array,default:()=>[]},record:{type:Object,default:!1}},emits:["close","ok"],setup(u,{emit:w}){const f=u,{visible:x,dept_list:v,record:P}=V(f),h=w,c=r([]),d=r(["0"]),n=r([]),$=(o,e)=>{o.children&&o.children.length>0&&o.children.forEach(y=>{const p=e.findIndex(m=>m.deptId===y.deptId);p!==-1&&(e.splice(p,1),$(y,e))})},S=(o,e)=>{const y={deptId:e.node.deptId,deptName:e.node.deptName};if(e.checked)n.value.push(y);else{const p=n.value.findIndex(m=>m.deptId===e.node.deptId);n.value.splice(p,1),$(e.node,n.value)}},T=()=>{x.value=!1,h("close")},k=()=>{h("ok",c.value)};return W(()=>f.record,o=>{(o==null?void 0:o.dept.length)>0?(n.value=[],c.value=[],o.dept.forEach(e=>{n.value.push({deptId:e.deptId,deptName:e.deptName}),c.value.push(e.deptId),d.value.push(e.deptId)})):(n.value=[],c.value=[],d.value=["0"])}),(o,e)=>{const y=i("a-tree"),p=i("a-card"),m=i("a-tag"),g=i("a-space"),_=i("a-modal");return I(),D(_,{width:"50%",visible:R(x),"onUpdate:visible":e[2]||(e[2]=C=>Z(x)?x.value=C:null),title:"部门配置",onCancel:T,onOk:k},{default:l(()=>[L("div",xe,[s(p,{class:"card-body",title:"机构",hoverable:""},{default:l(()=>[s(y,{data:R(v),"checked-keys":c.value,"onUpdate:checkedKeys":e[0]||(e[0]=C=>c.value=C),"expanded-keys":d.value,"onUpdate:expandedKeys":e[1]||(e[1]=C=>d.value=C),checkable:!0,"check-strictly":!0,"show-line":!0,onCheck:S,fieldNames:{key:"deptId",title:"deptName",children:"children"}},null,8,["data","checked-keys","expanded-keys"])]),_:1}),s(p,{class:"card-body",title:"角色所属部门"},{default:l(()=>[s(g,{wrap:""},{default:l(()=>[(I(!0),H(G,null,X(n.value,C=>(I(),D(m,{key:C.deptId},{default:l(()=>[B(Y(C.deptName),1)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1},8,["visible"])}}},we=q(Ne,[["__scopeId","data-v-aa1671ad"]]),A="/api/role";function $e(u){return z({url:`${A}/list`,method:"get",params:u})}function Se(u){return z({url:`${A}/add_role`,method:"post",data:u})}function F(u){return z({url:`${A}/edit_role`,method:"put",data:u})}function De(u){return z({url:`${A}/change_status`,method:"put",data:u})}function Re(u){return z({url:`${A}/delete_role/${u}`,method:"delete"})}const Te={__name:"index",setup(u){const w=r(""),f=r([]),x=r([{title:"序号",slotName:"index"},{title:"角色名",dataIndex:"roleName",titleSlotName:"roleName"},{title:"状态",dataIndex:"status",slotName:"status"},{title:"操作",dataIndex:"operation",slotName:"operationSlot"}]),v=r({total:10,current:1,pageSize:12}),P=r("medium"),h=r(!1),c=r(!1),d=r(!1),n=_e({roleName:"",remark:""}),$=r(!1),S=r([]),T=r(!1),k=r(null),o=r([]),e=async()=>{const t={keyword:w.value,current:v.value.current,pageSize:v.value.pageSize};h.value=!0;const{code:a,data:b}=await $e(t);a===200&&(v.value.total=b.total,f.value=b.rows),h.value=!1},y=t=>{w.value=t,e()},p=()=>{w.value="",e()},m=()=>{n.roleName="",n.remark="",d.value=!1,c.value=!0},g=()=>{console.log("刷新")},_=t=>{v.value.current=t,e()},C=async t=>{const a={roleId:t.roleId,status:t.status},{code:b}=await De(a);b===200&&M.success({title:"成功",content:"状态切换成功."})},E=(t,a)=>{t&&(n.roleId=t.roleId,n.roleName=t.roleName,n.remark=t.remark,d.value=!0),c.value=a},j=async(t,a)=>{t&&(n.roleId=t.roleId,k.value=t),$.value=a},ee=async t=>{$.value=!1;const a={roleId:n.roleId,resources:t,editType:2},{code:b}=await F(a);b===200&&(M.success({title:"权限配置",content:"权限配置成功"}),e())},J=async(t,a)=>{t&&(n.roleId=t.roleId,k.value=t),T.value=a},te=async t=>{T.value=!1;const a={roleId:n.roleId,depts:t,editType:3},{code:b}=await F(a);b===200&&(M.success({title:"部门配置",content:"部门配置成功"}),e())},ae=async t=>{const{code:a}=await Re(t);a===200&&(M.success({title:"删除用户",content:"删除成功"}),e())},ne=async()=>{c.value=!1;const t={roleId:d.value?n.roleId:void 0,roleName:n.roleName,editType:d.value?1:void 0,remark:n.remark},a=d.value?F:Se,{code:b}=await a(t);if(b===200){const O=d.value?"编辑":"新增";M.success({title:`${O}用户`,content:`${O}成功`}),e()}},oe=t=>{P.value=t},le=async()=>{const{code:t,data:{rows:a}}=await he();t===200&&(S.value=a)},se=async()=>{const{code:t,data:{rows:a}}=await ye();t==200&&(o.value=a)};return fe(()=>{ve("system:role:list")&&(e(),le(),se())}),(t,a)=>{const b=i("a-switch"),O=i("a-button"),de=i("a-popconfirm"),ie=i("a-card"),K=ke("hasPermi");return I(),H(G,null,[s(ie,{class:"account-page-card"},{default:l(()=>[s(me,{btn_text:"新建角色",btn_permission:"system:role:add",onSearchClick:y,onResetClick:p,onCreateClick:m,onSizeChange:oe,onRefreshClick:g}),s(pe,{data:f.value,columns:x.value,"row-key":"roleId",size:P.value,loading:h.value,pagination:v.value,onPageChange:_},{status:l(({record:N})=>[s(b,{modelValue:N.status,"onUpdate:modelValue":U=>N.status=U,onChange:U=>C(N),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue","onUpdate:modelValue","onChange"])]),operationSlot:l(({record:N})=>[Q((I(),D(O,{type:"text",onClick:U=>E(N,!0)},{default:l(()=>a[3]||(a[3]=[B("编辑")])),_:2},1032,["onClick"])),[[K,"system:role:edit"]]),Q((I(),D(O,{type:"text",onClick:U=>j(N,!0)},{default:l(()=>a[4]||(a[4]=[B("权限配置")])),_:2},1032,["onClick"])),[[K,"system:role:permissionEdit"]]),Q((I(),D(O,{type:"text",onClick:U=>J(N,!0)},{default:l(()=>a[5]||(a[5]=[B("部门配置")])),_:2},1032,["onClick"])),[[K,"system:role:deptEdit"]]),s(de,{content:"确定删除该条数据吗?",type:"warning",onOk:U=>ae(N.roleId)},{default:l(()=>[Q((I(),D(O,{type:"text",status:"warning"},{default:l(()=>a[6]||(a[6]=[B("删除")])),_:1})),[[K,"system:role:delete"]])]),_:2},1032,["onOk"])]),_:1},8,["data","columns","size","loading","pagination"])]),_:1}),s(re,{visible:c.value,onOk:ne,onCancel:a[0]||(a[0]=N=>E(null,!1)),title:d.value?"编辑":"新增"},{default:l(()=>[s(ge,{edit_form:n,is_edit_mode:d.value},null,8,["edit_form","is_edit_mode"])]),_:1},8,["visible","title"]),s(be,{visible:$.value,menu_list:S.value,record:k.value,onOk:ee,onCancel:a[1]||(a[1]=N=>j(null,!1))},null,8,["visible","menu_list","record"]),s(we,{visible:T.value,dept_list:o.value,record:k.value,onOk:te,onCancel:a[2]||(a[2]=N=>J(null,!1))},null,8,["visible","dept_list","record"])],64)}}},Oe=q(Te,[["__scopeId","data-v-c48981ff"]]),Ae={__name:"PermissionRole",setup(u){return(w,f)=>(I(),D(ce,null,{default:l(()=>[s(ue,{current_label:"角色"}),s(Oe)]),_:1}))}};export{Ae as default};
|