考核考试系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

40 lines
1.1 KiB

import { Injectable } from '@angular/core';
@Injectable()
export class TreeService {
toTree(olddata) {
let newdata = []
function getparentNode(parentId) {
return olddata.find((item) => {
return item.id == parentId
})
}
olddata.forEach(item => {
item.key = item.id
item.title = item.name
var parentNode = getparentNode(item.parentId);
if (parentNode) {
if (!parentNode.children) {
parentNode.children = []
}
if (parentNode.children.length == 0) {
item.isTop = true;
} else {
item.isTop = false;
parentNode.children[parentNode.children.length - 1].isBottom = false;
}
item.isBottom = true;
parentNode.children.push(item)
} else {
if (!item.parentId) {//如果parentId为null
newdata.push(item)
}
}
});
return newdata;
}
}