52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package vo
|
|
|
|
import systemModel "ems.agt/src/modules/system/model"
|
|
|
|
// TreeSelect 树结构实体类
|
|
type TreeSelect struct {
|
|
// ID 节点ID
|
|
ID string `json:"id"`
|
|
|
|
// Label 节点名称
|
|
Label string `json:"label"`
|
|
|
|
// Children 子节点
|
|
Children []TreeSelect `json:"children"`
|
|
}
|
|
|
|
// SysMenuTreeSelect 使用给定的 SysMenu 对象解析为 TreeSelect 对象
|
|
func SysMenuTreeSelect(sysMenu systemModel.SysMenu) TreeSelect {
|
|
t := TreeSelect{}
|
|
t.ID = sysMenu.MenuID
|
|
t.Label = sysMenu.MenuName
|
|
|
|
if len(sysMenu.Children) > 0 {
|
|
for _, menu := range sysMenu.Children {
|
|
child := SysMenuTreeSelect(menu)
|
|
t.Children = append(t.Children, child)
|
|
}
|
|
} else {
|
|
t.Children = []TreeSelect{}
|
|
}
|
|
|
|
return t
|
|
}
|
|
|
|
// SysDeptTreeSelect 使用给定的 SysDept 对象解析为 TreeSelect 对象
|
|
func SysDeptTreeSelect(sysDept systemModel.SysDept) TreeSelect {
|
|
t := TreeSelect{}
|
|
t.ID = sysDept.DeptID
|
|
t.Label = sysDept.DeptName
|
|
|
|
if len(sysDept.Children) > 0 {
|
|
for _, dept := range sysDept.Children {
|
|
child := SysDeptTreeSelect(dept)
|
|
t.Children = append(t.Children, child)
|
|
}
|
|
} else {
|
|
t.Children = []TreeSelect{}
|
|
}
|
|
|
|
return t
|
|
}
|