1 line
5.9 KiB
JavaScript
1 line
5.9 KiB
JavaScript
"use strict";(self["webpackChunkscui"]=self["webpackChunkscui"]||[]).push([[8762],{54989:function(e,i,t){t.r(i),t.d(i,{default:function(){return D}});var s=t(66252),c=t(3577);const a=e=>((0,s.dD)("data-v-478afb12"),e=e(),(0,s.Cn)(),e),l={class:"left-panel"},d=(0,s.Uk)("保存权限"),n={class:"right-panel"},h={class:"companyName"},o={class:"treeTable"},r={class:"tr"},m=a((()=>(0,s._)("div",{class:"th module"},"功能模块",-1))),u={class:"th check"},k=a((()=>(0,s._)("div",{class:"th thFlex"},[(0,s._)("div",{class:"menu name"},"菜单"),(0,s._)("div",{class:"th authority"},"数据操作权限")],-1))),p={class:"tableBody"},g={class:"td module"},f={class:"td check"},C={class:"td tdChild"},_={class:"tdName menu"},v={class:"tdName authority"},y={class:"childTr"};function w(e,i,t,a,w,z){const E=(0,s.up)("el-button"),V=(0,s.up)("el-header"),D=(0,s.up)("el-checkbox"),U=(0,s.up)("el-scrollbar"),b=(0,s.up)("el-main"),P=(0,s.up)("el-container");return(0,s.wg)(),(0,s.j4)(P,{class:"mainBox"},{default:(0,s.w5)((()=>[(0,s.Wm)(V,null,{default:(0,s.w5)((()=>[(0,s._)("div",l,[(0,s.Wm)(E,{type:"primary",size:w.size,onClick:z.savePermission},{default:(0,s.w5)((()=>[d])),_:1},8,["size","onClick"])]),(0,s._)("div",n,[(0,s._)("div",h,(0,c.toDisplayString)(w.name),1)])])),_:1}),(0,s.Wm)(b,{class:"nopadding"},{default:(0,s.w5)((()=>[(0,s.Wm)(U,null,{default:(0,s.w5)((()=>[(0,s._)("div",o,[(0,s._)("div",{class:(0,c.normalizeClass)(0===w.list.length?"thenTitle thenTitleBottom":"thenTitle")},[(0,s._)("div",r,[m,(0,s._)("div",u,[(0,s.Wm)(D,{indeterminate:z.isCheckFun,onChange:z.allCheckChange,modelValue:z.checkedFun,"onUpdate:modelValue":i[0]||(i[0]=e=>z.checkedFun=e),size:w.size},null,8,["indeterminate","onChange","modelValue","size"])]),k])],2),(0,s._)("div",p,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(w.list,((e,i)=>((0,s.wg)(),(0,s.iD)("div",{class:"tr",key:i},[(0,s._)("div",g,(0,c.toDisplayString)(e.meta.title),1),(0,s._)("div",f,[(0,s.Wm)(D,{modelValue:e.checked,"onUpdate:modelValue":i=>e.checked=i,indeterminate:e.isCheck,onChange:i=>z.menuCheckChange(e),size:w.size},null,8,["modelValue","onUpdate:modelValue","indeterminate","onChange","size"])]),(0,s._)("div",C,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.children,((i,t)=>((0,s.wg)(),(0,s.iD)("div",{class:"nextTd",key:t},[(0,s._)("div",_,[(0,s.Wm)(D,{onChange:t=>z.moduleCheckChange(e,i),indeterminate:i.isCheck,modelValue:i.checked,"onUpdate:modelValue":e=>i.checked=e,size:w.size},{default:(0,s.w5)((()=>[(0,s.Uk)((0,c.toDisplayString)(i.meta.title),1)])),_:2},1032,["onChange","indeterminate","modelValue","onUpdate:modelValue","size"])]),(0,s._)("div",v,[(0,s._)("div",y,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(i.meta.data_permission,((t,a)=>((0,s.wg)(),(0,s.iD)("div",{class:"preBox",key:a},[(0,s.Wm)(D,{onChange:t=>z.checkChange(e,i),modelValue:t.checked,"onUpdate:modelValue":e=>t.checked=e,size:w.size},{default:(0,s.w5)((()=>[(0,s.Uk)((0,c.toDisplayString)(t.title),1)])),_:2},1032,["onChange","modelValue","onUpdate:modelValue","size"])])))),128))])])])))),128))])])))),128))])])])),_:1})])),_:1})])),_:1})}t(57658);var z={name:"addPermission",data(){return{size:"default",id:this.$route.query.id,name:this.$route.query.name,list:[]}},computed:{isCheckFun(){let e=!1,i=this.list.length,t=this.list.filter((e=>e.checked)).length,s=this.list.filter((e=>e.isCheck)).length;return e=!(t>0&&t==i)&&(t>0||s>0),e},checkedFun(){let e=!1,i=this.list.length,t=this.list.filter((e=>e.checked)).length;return e=t>0&&t==i,e}},mounted(){this.getPermission()},methods:{async getPermission(){let e={company_id:this.id};const i=await this.$API.system.company.permission.post(e);i.data.forEach((e=>{if(e.children){e.children.forEach((e=>{if(e.meta.data_permission){let i=e.meta.data_permission.filter((e=>e.checked)).length,t=e.meta.data_permission.length;e.isCheck=i>0&&i!=t,t>0&&(e.checked=i>0&&i==t)}}));let i=e.children.filter((e=>e.checked)).length,t=e.children.filter((e=>e.isCheck)).length,s=e.children.length;e.isCheck=i>0&&i!=s||t>0&&i!=s,e.checked=i>0&&i==s}})),this.list=i.data},allCheckChange(e){this.list.forEach((i=>{i.checked=e,i.children&&(i.children.forEach((i=>{i.checked=e,i.meta.data_permission&&i.meta.data_permission.forEach((i=>{i.checked=e})),i.checked&&(i.isCheck=!1)})),i.checked&&(i.isCheck=!1))}))},menuCheckChange(e){this.list.forEach((i=>{e.id==i.id&&(i.children&&i.children.forEach((i=>{i.checked=e.checked,i.meta.data_permission&&i.meta.data_permission.forEach((i=>{i.checked=e.checked})),i.checked&&(i.isCheck=!1)})),i.checked&&(i.isCheck=!1))}))},moduleCheckChange(e,i){this.list.forEach((t=>{if(e.id==t.id&&t.children){t.children.forEach((e=>{e.id==i.id&&(e.meta.data_permission&&e.meta.data_permission.forEach((e=>{e.checked=i.checked})),i.checked&&(i.isCheck=!1))}));let e=t.children.filter((e=>e.checked)).length,s=t.children.filter((e=>e.isCheck)).length,c=t.children.length;t.checked=e>0&&e==c,t.isCheck=(e>0||s>0)&&c!=e}}))},checkChange(e,i){this.list.forEach((t=>{if(t.id==e.id){t.children&&t.children.forEach((e=>{if(i.id==e.id){let i=e.meta.data_permission.filter((e=>e.checked)).length,t=e.meta.data_permission.length;e.checked=i>0&&i==t,e.isCheck=i>0&&i!=t}}));let e=t.children.filter((e=>e.checked)).length,s=t.children.filter((e=>e.isCheck)).length,c=t.children.length;t.checked=e>0&&e==c,t.isCheck=(e>0||s>0)&&c!=e}}))},async savePermission(){let e=this.setList();const i=await this.$API.system.company.moduleAdd.post(e);200==i.code&&(this.$message.success("授权成功"),this.getPermission())},setList(){let e={company_id:this.id,menu_permission:[],data_permission:[]};return this.list.forEach((i=>{(i.checked||i.isCheck)&&e.menu_permission.push(i.meta.code),i.children&&i.children.forEach((i=>{if((i.checked||i.isCheck)&&e.menu_permission.push(i.meta.code),i.meta.data_permission){let t=i.meta.data_permission.filter((e=>e.checked)).map((e=>{let i={actions:e.actions,title:e.title};return i}));t.length>0&&e.data_permission.push({[i.meta.code]:t})}}))})),e}}},E=t(83744);const V=(0,E.Z)(z,[["render",w],["__scopeId","data-v-478afb12"]]);var D=V}}]); |