123456789101112131415161718192021222324252627282930313233343536 |
- package data
- import (
- "eta/eta_mobile/models/data_manage"
- )
- func chartClassifyHaveChild(allNode []*data_manage.ChartClassifyItems, node *data_manage.ChartClassifyItems) (childs []*data_manage.ChartClassifyItems, yes bool) {
- for _, v := range allNode {
- if v.ParentId == node.ChartClassifyId {
- childs = append(childs, v)
- }
- }
- if len(childs) > 0 {
- yes = true
- }
- return
- }
- func ChartClassifyItemsMakeTree(allNode []*data_manage.ChartClassifyItems, node *data_manage.ChartClassifyItems) {
- childs, _ := chartClassifyHaveChild(allNode, node) //判断节点是否有子节点并返回
- if len(childs) > 0 {
- node.Children = append(node.Children, childs[0:]...) //添加子节点
- for _, v := range childs { //查询子节点的子节点,并添加到子节点
- _, has := chartClassifyHaveChild(allNode, v)
- if has {
- ChartClassifyItemsMakeTree(allNode, v) //递归添加节点
- } else {
- childrenArr := make([]*data_manage.ChartClassifyItems, 0)
- v.Children = childrenArr
- }
- }
- } else {
- childrenArr := make([]*data_manage.ChartClassifyItems, 0)
- node.Children = childrenArr
- }
- }
|