Files
be.ems/src/framework/vo/treeselect.go
2023-10-16 17:10:38 +08:00

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
}