diff --git a/kiisoo-ic-ui/src/pages/user/RoleManager.vue b/kiisoo-ic-ui/src/pages/user/RoleManager.vue index b27311c..02c9070 100644 --- a/kiisoo-ic-ui/src/pages/user/RoleManager.vue +++ b/kiisoo-ic-ui/src/pages/user/RoleManager.vue @@ -99,18 +99,18 @@
-
+
{{item.name}} + @click.prevent.native="handleItemCheckAll(item)" style="color:#697882;margin-right: 20px;">{{item.name}}
-
+
{{itemSon.name}} @@ -120,8 +120,8 @@
- - + {{itemGrandson.name}} @@ -296,8 +296,8 @@ }, methods: { //一级权限-点击事件 - handleCheckAll (index) { - let item = this.permissionList[index]; + handleItemCheckAll (item) { + // let item = this.permissionList[index]; if (item.indeterminate) { item.check = false; } else { @@ -307,38 +307,28 @@ //二级权限全选 if (item.check) { //全选 - item.checkArr = []; - for(let i = 0; i < item.sonPermissionList.length; i++) { - item.sonPermissionList[i].check = true; - item.checkArr.push(item.sonPermissionList[i].id); - } - } else { - //取消全部选择 - item.checkArr = []; - for(let i = 0; i < item.sonPermissionList.length; i++) { - item.sonPermissionList[i].check = false; - } - } - //三级权限全选 - let sonPermission = item.sonPermissionList; - if (item.check) { - //全选 - sonPermission.forEach(function (sonItem) { - let grandsonPermissionList = sonItem.sonPermissionList; - grandsonPermissionList.forEach(function (grandsonItem) { - sonItem.checkArr.push(grandsonItem.id); + item.sonPermissionList.forEach(function (itemSon) { + itemSon.check = true; + item.checkArr.push(itemSon.id); + //三级权限全选 + let itemGrandsonList = itemSon.sonPermissionList; + itemGrandsonList.forEach(function (grandson) { + itemSon.checkArr.push(grandson.id); }) - }) + }); } else { //取消全部选择 - sonPermission.checkArr = []; + item.checkArr = []; + item.sonPermissionList.forEach(function (itemSon) { + itemSon.check = false; + itemSon.checkArr = []; + }); } - // this.saveRolePermissionApi(); }, //二级权限-点击事件 - handleSonCheckAll(itemSonIndex, index) { - let item = this.permissionList[index]; - let itemSon = this.permissionList[index].sonPermissionList[itemSonIndex]; + handleItemSonCheckAll(itemSon, item) { + /*let item = this.permissionList[index]; + let itemSon = this.permissionList[index].sonPermissionList[itemSonIndex];*/ if (itemSon.indeterminate) { itemSon.check = false; } else { @@ -349,7 +339,6 @@ let sonPermission = itemSon.sonPermissionList; if (itemSon.check) { //全选 - itemSon.checkArr = []; sonPermission.forEach(function (sonItem) { if (itemSon.checkArr.indexOf(sonItem.id) < 0) { itemSon.checkArr.push(sonItem.id); @@ -359,10 +348,13 @@ item.checkArr.push(itemSon.id); } } else { - //取消全部选择 + //取消三级全部选择 itemSon.checkArr = []; + //从二级选中数组中移除当前二级权限 + let curItemSonIndex = item.checkArr.indexOf(itemSon.id); + item.checkArr.splice(curItemSonIndex, curItemSonIndex + 1); } - //处理一级权限勾选 + //处理一级权限勾选图标 let sonPermissionCount = this.permissionList.length; if (item.checkArr.length === sonPermissionCount) { item.indeterminate = false; @@ -379,13 +371,14 @@ console.log(item); }, //三级权限-点击事件 - handleGrandSonCheckChange (itemSonIndex, index) { - let item = this.permissionList[index]; - let itemSon = this.permissionList[index].sonPermissionList[itemSonIndex]; + handleGrandSonCheckChange (itemSon, item) { + /*let item = this.permissionList[index]; + let itemSon = this.permissionList[index].sonPermissionList[itemSonIndex];*/ let sonPermissionCount = itemSon.sonPermissionList.length; if (itemSon.checkArr.length === sonPermissionCount) { itemSon.indeterminate = false; itemSon.check = true; + item.checkArr.push(itemSon.id); } else if (itemSon.checkArr.length > 0) { itemSon.indeterminate = true; itemSon.check = false;