后端返回的数据格式如下:
let data = [{
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1,
"c1": "基础环境",
"c2": "工厂相关业务"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 2,
"c1": "基础环境",
"c2": "终端业务"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 3,
"c1": "基础环境",
"c2": "信息安全"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 4,
"c1": "基础环境",
"c2": "基础应用"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 5,
"c1": "基础环境",
"c2": "中心机房相关业务"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 6,
"c1": "基础环境",
"c2": "网络通信"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 7,
"c1": "基础环境",
"c2": "计算及存储资源"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 8,
"c1": "基础环境",
"c2": "信息安全(标准变更)"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 9,
"c1": "基础环境",
"c2": "数据中心机房相关业务(标准变更)"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 10,
"c1": "基础环境",
"c2": "网络通信(标准变更)"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 11,
"c1": "基础环境",
"c2": "计算及存储资源(标准变更)"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 12,
"c1": "基础环境",
"c2": "流程监控(标准变更)"
}, {
"c3": "系统安装-系统升级",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 13,
"c1": "现场服务",
"c2": "操作系统"
}, {
"c3": "系统优化-运行速度优化",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 14,
"c1": "现场服务",
"c2": "操作系统"
}, {
"c3": "数据维护",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 296,
"c1": "业务系统",
"c2": "资金管理系统"
}, {
"c3": "操作指导",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 297,
"c1": "业务系统",
"c2": "资金管理系统"
}, {
"c3": "",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 644,
"c1": "网络及机房",
"c2": "核心区"
}, {
"c3": "外围单位",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 645,
"c1": "网络及机房",
"c2": "园区网络"
}, {
"c3": "电子化平台",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1250,
"c1": "应用系统",
"c2": "大营销"
}, {
"c3": "排班表",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1251,
"c1": "服务台",
"c2": "报表制作"
}, {
"c3": "录音、排班表",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1252,
"c1": "服务台",
"c2": "质量管理"
}, {
"c3": "接待用户来访咨询",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1253,
"c1": "服务台",
"c2": "SSC"
}, {
"c3": "巡检",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1258,
"c1": "服务台",
"c2": "日常巡检"
}, {
"c3": "疑难问题及投诉处理",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1261,
"c1": "服务台",
"c2": "业务管理"
}, {
"c3": "突发事件应对及宣导",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1262,
"c1": "服务台",
"c2": "业务管理"
}, {
"c3": "更新与发布",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1263,
"c1": "服务台",
"c2": "培训管理"
}, {
"c3": "知识",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1264,
"c1": "服务台",
"c2": "培训管理"
}, {
"c3": "业务培训",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1265,
"c1": "服务台",
"c2": "培训管理"
}, {
"c3": "其他",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1266,
"c1": "服务台",
"c2": "其他"
}, {
"c3": "临时交办任务",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1267,
"c1": "服务台",
"c2": "其他"
}, {
"c3": "日报",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1268,
"c1": "服务台",
"c2": "报表制作"
}, {
"c3": "月报",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1269,
"c1": "服务台",
"c2": "报表制作"
}, {
"c3": "员工回复吧",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1270,
"c1": "服务台",
"c2": "回复"
}, {
"c3": "钉钉解答",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1271,
"c1": "服务台",
"c2": "解答"
}, {
"c3": "咨询类",
"createtime": "2021-09-14 14:19:27",
"enable": 1,
"id": 1272,
"c1": "服务台",
"c2": "热线接听"
},];
想改为的类似格式:
[
{
text: '浙江',
children: [
{
text: '杭州',
children: [{ text: '西湖区' }, { text: '余杭区' }],
},
{
text: '温州',
children: [{ text: '鹿城区' }, { text: '瓯海区' }],
},
],
},
{
text: '福建',
children: [
{
text: '福州',
children: [{ text: '鼓楼区' }, { text: '台江区' }],
},
{
text: '福州2',
children: [{ text: '' }],
},
{
text: '厦门',
children: [{ text: '思明区' }, { text: '海沧区' }],
},
],
},
]
```bash
let list = data
let newData = {};
for (let item of list) { //用值遍历数据
if (newData[item.c1] == undefined) {
newData[item.c1] = {} //目录1 --- 1层
} else {
if (newData[item.c1][item.c2] == undefined) {
newData[item.c1][item.c2] = [] //目录2----2层
}
newData[item.c1][item.c2].push(item.c3); //目录3-----3层
}
}
// console.log('最终newData---',newData)
var col = []; //最终值
for (let item in newData) { //用键遍历刚才查重数据一级目录
let obj = { //定义一级目录
text: item, //文字
children: [] //子节点
}
for (let item_ in newData[item]) { //用键遍历刚才查重数据二级目录
let obj_ = { //定义二级目录,因为有些子节点没有
text: item_,
//新改
children:[]
}
if (newData[item][item_][0] != "") {//如果有子节点
for (let item__ of newData[item][item_]) { //用键遍历刚才查重数据三级目录
if(item__!=""){
let obj__ = { //最终节点
text: item__
}
obj_.children.push(obj__); //添加到二级目录子节点里
}
// console.log('item__',item__)
}
}
obj.children.push(obj_); //添加一级目录到子节点里
}
col.push(obj) //添加根节点里
for(let item1 of col){
if(item1.children.length==0){
let obj = {
text:"",
children:[]
}
let obj1 = {
text:""
}
item1.children.push(obj)
item1.children[0].children.push(obj1)
// console.log('item1',item1)
}
}
_this.columns = col
// console.log('_this.columns',_this.columns)
}})