diff --git a/src/views/setting/company/add-permission.vue b/src/views/setting/company/add-permission.vue index 518af1a..326988f 100644 --- a/src/views/setting/company/add-permission.vue +++ b/src/views/setting/company/add-permission.vue @@ -24,23 +24,41 @@
{{item.meta.title}}
-
- -
-
-
- - {{li.title}} - - - {{li.title}} - + +
@@ -109,6 +127,15 @@ export default { let ed = item.children.length; item.isCheck = (check>0 && check != ed) || (isCheck>0 && check!=ed)?true:false; item.checked = check>0 && check== ed?true:false; + }else{ + if(item.meta.data_permission && item.meta.data_permission.length>0){ + let check = item.meta.data_permission.filter((li)=>li.checked).length; + let ed = item.meta.data_permission.length; + item.isCheck = check>0 && check != ed?true:false; + if(ed>0){ + item.checked = check>0 && check== ed?true:false; + } + } } }) this.list = res.data; @@ -131,6 +158,12 @@ export default { if(item.checked){ item.isCheck = false; } + }else{ + if(item.meta.data_permission && item.meta.data_permission.length>0){ + item.meta.data_permission.forEach((li)=>{ + li.checked = e; + }) + } } }) }, @@ -149,6 +182,16 @@ export default { em.isCheck = false; } }) + }else{ + item.checked = e.checked; + if(item.meta.data_permission && item.meta.data_permission.length>0){ + item.meta.data_permission.forEach((li)=>{ + li.checked = e.checked; + }) + } + if(item.checked){ + item.isCheck = false; + } } if(item.checked){ item.isCheck = false; @@ -193,12 +236,19 @@ export default { em.isCheck = check>0 && check != ed?true:false; } }) + let check = item.children.filter((em)=>em.checked).length; + let isCheck = item.children.filter((em)=>em.isCheck).length; + let ed = item.children.length; + item.checked = check>0 && check == ed?true:false; + item.isCheck = (check>0 || isCheck>0) && ed!=check?true:false; + + }else{ + let check = item.meta.data_permission.filter((em)=>em.checked).length; + let ed = item.meta.data_permission.length; + item.checked = check>0 && check == ed?true:false; + item.isCheck = check>0 && check != ed?true:false; } - let check = item.children.filter((em)=>em.checked).length; - let isCheck = item.children.filter((em)=>em.isCheck).length; - let ed = item.children.length; - item.checked = check>0 && check == ed?true:false; - item.isCheck = (check>0 || isCheck>0) && ed!=check?true:false; + } }) }, @@ -245,6 +295,19 @@ export default { }) } }) + }else{ + if(item.meta.data_permission && item.meta.data_permission.length>0){ + let list = item.meta.data_permission.filter(e=>e.checked).map(u=>{ + let obj = { + actions:u.actions, + title:u.title + } + return obj + }); + if(list.length>0){ + obj.data_permission.push({[item.meta.code]:list}) + } + } } }) return obj @@ -340,6 +403,9 @@ export default { .tdName:last-child{ border-left: 1px solid var(--el-border-color-light); } + .tdNameNoneBorder{ + border-left: none !important; + } .tdName{ padding: 0 10px; min-height: 33px; diff --git a/src/views/setting/role/dataTree.vue b/src/views/setting/role/dataTree.vue index bc3d319..65d22f6 100644 --- a/src/views/setting/role/dataTree.vue +++ b/src/views/setting/role/dataTree.vue @@ -16,25 +16,43 @@
@@ -77,9 +95,17 @@ export default { item.isCheck = (check>0 && check != ed) || (isCheck>0 && check != ed)?true:false; item.checked = check>0 && check== ed?true:false; + }else{ + if(item.meta.data_permission && item.meta.data_permission.length>0){ + let check = item.meta.data_permission.filter((li)=>li.checked).length; + let ed = item.meta.data_permission.length; + item.isCheck = check>0 && check != ed?true:false; + if(ed>0){ + item.checked = check>0 && check== ed?true:false; + } + } } }) - this.list = JSON.parse(JSON.stringify(val)); } } @@ -103,6 +129,16 @@ export default { em.isCheck = false; } }) + }else{ + item.checked = e.checked; + if(item.meta.data_permission && item.meta.data_permission.length>0){ + item.meta.data_permission.forEach((li)=>{ + li.checked = e.checked; + }) + } + if(item.checked){ + item.isCheck = false; + } } if(item.checked){ item.isCheck = false; @@ -147,12 +183,17 @@ export default { em.isCheck = check>0 && check != ed?true:false; } }) + let check = item.children.filter((em)=>em.checked).length; + let isCheck = item.children.filter((em)=>em.isCheck).length; + let ed = item.children.length; + item.checked = check>0 && check == ed?true:false; + item.isCheck = (check>0 || isCheck>0) && ed!=check?true:false; + }else{ + let check = item.meta.data_permission.filter((em)=>em.checked).length; + let ed = item.meta.data_permission.length; + item.checked = check>0 && check == ed?true:false; + item.isCheck = check>0 && check != ed?true:false; } - let check = item.children.filter((em)=>em.checked).length; - let isCheck = item.children.filter((em)=>em.isCheck).length; - let ed = item.children.length; - item.checked = check>0 && check == ed?true:false; - item.isCheck = (check>0 || isCheck>0) && ed!=check?true:false; } }) }, diff --git a/src/views/setting/role/index.vue b/src/views/setting/role/index.vue index e96fb30..a320bdb 100644 --- a/src/views/setting/role/index.vue +++ b/src/views/setting/role/index.vue @@ -341,6 +341,19 @@ }) } }) + }else{ + if(item.meta.data_permission && item.meta.data_permission.length>0){ + let list = item.meta.data_permission.filter(e=>e.checked).map(u=>{ + let obj = { + actions:u.actions, + title:u.title + } + return obj + }); + if(list.length>0){ + obj.data_permission.push({[item.meta.code]:list}) + } + } } }) return obj diff --git a/src/views/setting/user/view-permission.vue b/src/views/setting/user/view-permission.vue index 69c9d63..0c9dce7 100644 --- a/src/views/setting/user/view-permission.vue +++ b/src/views/setting/user/view-permission.vue @@ -31,23 +31,41 @@
{{item.meta.title}}
-
- -
-
-
- - {{li.title}} - - - {{li.title}} - + +
@@ -120,6 +138,15 @@ export default { let ed = item.children.length; item.isCheck = (check>0 && check != ed) || (isCheck>0 && check !=ed)?true:false; item.checked = check>0 && check== ed?true:false; + }else{ + if(item.meta.data_permission && item.meta.data_permission.length>0){ + let check = item.meta.data_permission.filter((li)=>li.checked).length; + let ed = item.meta.data_permission.length; + item.isCheck = check>0 && check != ed?true:false; + if(ed>0){ + item.checked = check>0 && check== ed?true:false; + } + } } }) this.list = res.data.menu; @@ -231,6 +258,9 @@ export default { padding: 0 10px; min-height: 33px; } + .tdNameNoneBorder{ + border-left: none !important; + } .childTr{ display: flex; flex-wrap: wrap;