import{d as _e,r as c,w as pe,k as fe,Z as ve,j as ge,ai as i,o as r,M as x,O as t,U as s,a as n,S as v,T as S,c as d,a8 as g,F as b,P as A,V as K,a2 as be,R as he,u as h,D as E}from"./vue.86c1cb21.js";import{r as B,X as ye,F as Ve}from"./index.59c4c6ab.js";import{f as ke}from"./elementPlus.8e650391.js";import{_ as Ce}from"./_plugin-vue_export-helper.c27b6911.js";function we(k){return B({url:"/api/system/role_menu_button_permission/get_role_premission/",method:"get",params:k})}function xe(k,R){return B({url:`/api/system/role_menu_button_permission/${k}/set_role_premission/`,method:"put",data:R})}function De(){return B({url:"/api/system/role_menu_button_permission/data_scope/",method:"get"})}function Pe(){return B({url:"/api/system/role_menu_button_permission/role_to_dept_all/",method:"get"})}const Ue={class:"permission-com"},Ne={class:"pc-collapse-main"},Se={class:"pccm-item"},Be={class:"btn-item"},Re=["onClick"],Me={key:0,class:"pccm-item"},Te={class:"columns-list"},Ee={class:"columns-head"},Fe={class:"width-txt"},qe={class:"pc-dialog"},ze=_e({__name:"index",props:{roleId:{type:Number,default:-1},roleName:{type:String,default:""},drawerVisible:{type:Boolean,default:!1}},emits:["update:drawerVisible"],setup(k,{emit:R}){const D=k,L=R,M=c(!1);pe(()=>D.drawerVisible,l=>{M.value=l,G(),H()});const O=()=>{L("update:drawerVisible",!1)},Z={children:"children",label:"name",value:"id"};let P=c([]);c([]);let F=c({}),q=c(-1),y=c(!1),U=c([]);const $=fe(()=>function(l){const e=U.value.find(u=>u.value===l);return(e==null?void 0:e.label)||""});let z=c([]),m=c(),V=c([]);const G=async()=>{const l=await we({role:D.roleId});P.value=l.data},H=async()=>{try{const l=await De();(l==null?void 0:l.code)===2e3&&(U.value=l.data)}catch{return}},J=(l,e)=>{F.value=l,q.value=e,y.value=!0},Q=(l,e,u)=>{for(const p of e.columns)p[u]=l},W=async l=>{if(l===4){const e=await Pe(),u=ye.toArrayTree(e.data,{parentKey:"parent",strict:!1});z.value=u}},Y=()=>{if(m.value!==0&&!m.value){Ve("请选择");return}for(const l of P.value)for(const e of l.menus)if(e.id===F.value.id){for(const u of e.btns)if(u.id===q.value){const p=U.value.find(C=>C.value===m.value);u.data_range=(p==null?void 0:p.value)||0,u.data_range===4&&(u.dept=V.value)}}T()},T=()=>{y.value=!1,V.value=[],m.value=null},ee=()=>{xe(D.roleId,P.value).then(l=>{ke({message:l.msg,type:"success"})})},I=ve({header:[{value:"is_create",label:"新增可见"},{value:"is_update",label:"编辑可见"},{value:"is_query",label:"列表可见"}]});return ge(()=>{}),(l,e)=>{const u=i("el-tag"),p=i("el-col"),C=i("el-button"),le=i("el-row"),N=i("el-checkbox"),te=i("Setting"),ae=i("el-icon"),X=i("el-tab-pane"),j=i("el-tabs"),oe=i("el-option"),se=i("el-select"),ne=i("el-tree-select"),re=i("el-dialog"),ie=i("el-drawer");return r(),x(ie,{modelValue:M.value,"onUpdate:modelValue":e[3]||(e[3]=o=>M.value=o),title:"权限配置",direction:"rtl",size:"60%","close-on-click-modal":!1,"before-close":O,"destroy-on-close":!0},{header:t(()=>[s(le,null,{default:t(()=>[s(p,{span:4},{default:t(()=>[n("div",null,[e[4]||(e[4]=v("当前授权角色: ")),s(u,null,{default:t(()=>[v(S(D.roleName),1)]),_:1})])]),_:1}),s(p,{span:6},{default:t(()=>[n("div",null,[s(C,{size:"small",type:"primary",class:"pc-save-btn",onClick:ee},{default:t(()=>e[5]||(e[5]=[v("保存菜单授权 ")])),_:1})])]),_:1})]),_:1})]),default:t(()=>[n("div",Ue,[s(j,null,{default:t(()=>[(r(!0),d(b,null,g(h(P),(o,ue)=>(r(),x(X,{key:ue,label:o.name},{default:t(()=>[s(j,{"tab-position":"left"},{default:t(()=>[(r(!0),d(b,null,g(o.menus,(_,de)=>(r(),x(X,{key:de,label:_.name},{default:t(()=>[s(N,{modelValue:_.isCheck,"onUpdate:modelValue":a=>_.isCheck=a},{default:t(()=>e[6]||(e[6]=[v("页面显示权限")])),_:2},1032,["modelValue","onUpdate:modelValue"]),n("div",Ne,[n("div",Se,[e[7]||(e[7]=n("div",{class:"menu-form-alert"}," 配置操作功能接口权限,配置数据权限点击小齿轮 ",-1)),(r(!0),d(b,null,g(_.btns,(a,w)=>(r(),x(N,{key:w,modelValue:a.isCheck,"onUpdate:modelValue":f=>a.isCheck=f,label:a.value},{default:t(()=>[n("div",Be,[v(S(a.data_range!==null?`${a.name}(${$.value(a.data_range)})`:a.name)+" ",1),A(n("span",{onClick:be(f=>J(_,a.id),["stop","prevent"])},[s(ae,null,{default:t(()=>[s(te)]),_:1})],8,Re),[[K,a.isCheck]])])]),_:2},1032,["modelValue","onUpdate:modelValue","label"]))),128))]),_.columns&&_.columns.length>0?(r(),d("div",Me,[e[9]||(e[9]=n("div",{class:"menu-form-alert"}," 配置数据列字段权限 ",-1)),n("ul",Te,[n("li",Ee,[e[8]||(e[8]=n("div",{class:"width-txt"},[n("span",null,"字段")],-1)),(r(!0),d(b,null,g(I.header,(a,w)=>(r(),d("div",{key:w,class:"width-check"},[s(N,{label:a.value,onChange:f=>Q(f,_,a.value)},{default:t(()=>[n("span",null,S(a.label),1)]),_:2},1032,["label","onChange"])]))),128))]),(r(!0),d(b,null,g(_.columns,(a,w)=>(r(),d("li",{key:w,class:"columns-item"},[n("div",Fe,S(a.title),1),(r(!0),d(b,null,g(I.header,(f,ce)=>(r(),d("div",{key:ce,class:"width-check"},[s(N,{modelValue:a[f.value],"onUpdate:modelValue":me=>a[f.value]=me,class:"ci-checkout"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]))),128))])])):he("",!0)])]),_:2},1032,["label"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1}),s(re,{modelValue:h(y),"onUpdate:modelValue":e[2]||(e[2]=o=>E(y)?y.value=o:y=o),title:"数据权限配置",width:"400px","close-on-click-modal":!1,"before-close":T},{footer:t(()=>[n("div",null,[s(C,{type:"primary",onClick:Y},{default:t(()=>e[10]||(e[10]=[v(" 确定")])),_:1}),s(C,{onClick:T},{default:t(()=>e[11]||(e[11]=[v(" 取消")])),_:1})])]),default:t(()=>[n("div",qe,[s(se,{modelValue:h(m),"onUpdate:modelValue":e[0]||(e[0]=o=>E(m)?m.value=o:m=o),onChange:W,class:"dialog-select",placeholder:"请选择"},{default:t(()=>[(r(!0),d(b,null,g(h(U),o=>(r(),x(oe,{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),A(s(ne,{"node-key":"id",modelValue:h(V),"onUpdate:modelValue":e[1]||(e[1]=o=>E(V)?V.value=o:V=o),props:Z,data:h(z),multiple:"","check-strictly":"","render-after-expand":!1,"show-checkbox":"",class:"dialog-tree"},null,8,["modelValue","data"]),[[K,h(m)===4]])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"])}}});const Ke=Ce(ze,[["__scopeId","data-v-4053e473"]]);export{Ke as default};