|
@@ -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)
|
|
|
}
|
|
|
|