save() {
const arr = [1, 5, 6, 7, 2, 10, 11]
var list = []
var list1 = []
var treeList = []
arr.forEach(item => {
this.data.forEach(ele => {
ele.children.forEach(item2 => {
if (item == item2.id) {
list1.push({
id: item2.id,
label: item2.label,
path: item2.path,
parentId: item2.parentId
})
}
})
if (item == ele.id) {
list.push({
id: ele.id,
label: ele.label,
path: ele.path,
parentId: ele.parentId
})
}
})
})
treeList = list.concat(list1)
var list3 = []
const flat2tree = list2 => {
treeList.forEach(item => {
const index = treeList.findIndex(_item => _item.id === item.parentId)
if (index !== -1) {
treeList[index].children = treeList[index].children || []
treeList[index].children.push(item)
}
})
return treeList.filter(item => item.parentId === 0)
}
const list2 = flat2tree(list3)
console.log(list2, 456)
},
var data = [
{
id: 1,
label: "系统配置",
parentId: 0,
children: [
{
id: 5,
label: "账号管理",
parentId: 1
},
{
id: 6,
label: "角色管理",
parentId: 1
},
{
id: 7,
label: "权限管理",
parentId: 1
},
{
id: 8,
label: "操作日志",
parentId: 1
},
{
id: 9,
label: "分类配置",
parentId: 1
},
],
},
{
id: 2,
label: "企业信息",
parentId: 0,
children: [
{
id: 10,
label: "企业管理",
parentId: 2
},
{
id: 11,
label: "企业监管",
parentId: 2
},
],
},
{
id: 3,
label: "数据中心",
parentId: 0,
children: [
{
id: 12,
label: "数据中心",
parentId: 3
},
{
id: 13,
label: "企业数据",
parentId: 3
},
],
},
{
id: 4,
label: "任务管理",
parentId: 0,
children: [
{
id: 14,
label: "税收任务",
parentId: 4
},
{
id: 15,
label: "固定资产投资",
parentId: 4
},
{
id: 16,
label: "社保参保",
parentId: 4
},
{
id: 17,
label: "服务性收入",
parentId: 4
},
],
},
],