hsun 1 year ago
parent
commit
95483a515f
1 changed files with 18 additions and 3 deletions
  1. 18 3
      controllers/sys_department.go

+ 18 - 3
controllers/sys_department.go

@@ -274,7 +274,8 @@ func (this *SysDepartmentController) DepartmentUserTree() {
 		return
 	}
 
-	// 分组及用户
+	// 用户map
+	departmentAdmins := make(map[int][]*system.DepartmentUserTree, 0)
 	groupAdmins := make(map[int][]*system.DepartmentUserTree, 0)
 	for _, v := range admins {
 		t := new(system.DepartmentUserTree)
@@ -286,6 +287,14 @@ func (this *SysDepartmentController) DepartmentUserTree() {
 			groupAdmins[v.GroupId] = make([]*system.DepartmentUserTree, 0)
 		}
 		groupAdmins[v.GroupId] = append(groupAdmins[v.GroupId], t)
+
+		// 直属于部门
+		if v.GroupId == 0 {
+			if departmentAdmins[v.DepartmentId] == nil {
+				departmentAdmins[v.DepartmentId] = make([]*system.DepartmentUserTree, 0)
+			}
+			departmentAdmins[v.DepartmentId] = append(departmentAdmins[v.DepartmentId], t)
+		}
 	}
 
 	// 小组
@@ -341,14 +350,20 @@ func (this *SysDepartmentController) DepartmentUserTree() {
 	list := make([]*system.DepartmentUserTree, 0)
 	for _, v := range departments {
 		// 关键词查询时不显示空部门
-		if keywords != "" && departmentGroups[v.DepartmentId] == nil {
+		if keywords != "" && departmentGroups[v.DepartmentId] == nil && departmentAdmins[v.DepartmentId] == nil {
 			continue
 		}
 		t := new(system.DepartmentUserTree)
 		t.NodeId = v.DepartmentId
 		t.NodeType = 1
 		t.NodeName = v.DepartmentName
-		t.Children = departmentGroups[v.DepartmentId]
+		t.Children = make([]*system.DepartmentUserTree, 0)
+		if departmentGroups[v.DepartmentId] != nil {
+			t.Children = append(t.Children, departmentGroups[v.DepartmentId]...)
+		}
+		if departmentAdmins[v.DepartmentId] != nil {
+			t.Children = append(t.Children, departmentAdmins[v.DepartmentId]...)
+		}
 		list = append(list, t)
 	}