diff --git a/ZR.Admin.WebApi/Extensions/DbExtension.cs b/ZR.Admin.WebApi/Extensions/DbExtension.cs index 5e4af70..7228e83 100644 --- a/ZR.Admin.WebApi/Extensions/DbExtension.cs +++ b/ZR.Admin.WebApi/Extensions/DbExtension.cs @@ -48,7 +48,7 @@ namespace ZR.Admin.WebApi.Extensions SugarIocServices.ConfigurationSugar(db => { FilterData(0); - FilterData(1); + //FilterData(1); #region db0 db.GetConnection(0).Aop.OnLogExecuting = (sql, pars) => { @@ -114,12 +114,19 @@ namespace ZR.Admin.WebApi.Extensions } else if (DATA_SCOPE_DEPT.Equals(dataScope))//本部门数据 { - var filter1 = new TableFilterItem(it => it.DeptId == user.DeptId); + var filter1 = new TableFilterItem(it => it.DeptId == user.DeptId); db.QueryFilter.Add(filter1); } else if (DATA_SCOPE_DEPT_AND_CHILD.Equals(dataScope))//本部门及以下数据 { //SQl OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) ) + var allChildDepts = db.Queryable().ToChildList(it => it.ParentId, user.DeptId); + + var filter1 = new TableFilterItem(it => allChildDepts.Select(f => f.DeptId).ToList().Contains(it.DeptId)); + db.QueryFilter.Add(filter1); + + var filter2 = new TableFilterItem(it => allChildDepts.Select(f => f.DeptId).ToList().Contains(it.DeptId)); + db.QueryFilter.Add(filter2); } else if (DATA_SCOPE_SELF.Equals(dataScope))//仅本人数据 { diff --git a/ZR.Vue/src/views/system/role/index.vue b/ZR.Vue/src/views/system/role/index.vue index 18b0aee..5792ae9 100644 --- a/ZR.Vue/src/views/system/role/index.vue +++ b/ZR.Vue/src/views/system/role/index.vue @@ -211,10 +211,10 @@ export default { dictValue: '3', dictLabel: '本部门' }, - // { - // dictValue: "4", - // dictLabel: "本部门及以下数据权限", - // }, + { + dictValue: "4", + dictLabel: "本部门及以下数据权限", + }, { dictValue: '5', dictLabel: '仅本人'