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