const _data = [
{
"deptId": 100,
"parentId": 0,
"parentName": null,
"ancestors": "0",
"deptName": "晋商银行总行",
"orderNum": 0,
"leader": null,
"leaderName": null,
"phone": "15888888888",
"belongCity": null,
"belongCityCode": null,
"email": "",
"status": "0",
"createTime": "2024-01-08 08:16:52"
},
{
"deptId": 101,
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "太原并州支行",
"orderNum": 1,
"leader": null,
"leaderName": null,
"phone": "",
"belongCity": null,
"belongCityCode": null,
"email": "",
"status": "0",
"createTime": "2024-01-08 08:16:52"
},
{
"deptId": 102,
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "太原晋阳支行",
"orderNum": 2,
"leader": null,
"leaderName": null,
"phone": "",
"belongCity": null,
"belongCityCode": null,
"email": "",
"status": "0",
"createTime": "2024-01-08 08:16:52"
},
{
"deptId": "1782248996188536834",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "陕西地区",
"orderNum": 3,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-04-22 11:24:08"
},
{
"deptId": "1782249078224928769",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "贵州地区",
"orderNum": 4,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-04-22 11:24:27"
},
{
"deptId": "1793098108642652161",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "广州地区",
"orderNum": 6,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 09:54:38"
},
{
"deptId": "1793097948537679874",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "深圳地区",
"orderNum": 7,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 09:54:00"
},
{
"deptId": "1793101200436097025",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "福建地区",
"orderNum": 8,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:06:55"
},
{
"deptId": "1793101348776046594",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "上海地区",
"orderNum": 9,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:07:30"
},
{
"deptId": "1793101446578827265",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "福州地区",
"orderNum": 11,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:07:54"
},
{
"deptId": "1793101590699307009",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "香港地区",
"orderNum": 12,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:08:28"
},
{
"deptId": "1793101644411564033",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "澳门地区",
"orderNum": 13,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:08:41"
},
{
"deptId": "1793101688602750978",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "昆明地区",
"orderNum": 14,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:08:51"
},
{
"deptId": "1793101749676011521",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "西藏地区",
"orderNum": 15,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:09:06"
},
{
"deptId": "1793101796115345410",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "乌鲁木齐地区",
"orderNum": 16,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:09:17"
},
{
"deptId": "1793101894266253313",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "浙江杭州",
"orderNum": 16,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:09:40"
},
{
"deptId": "1793101944111362050",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "苏州地区",
"orderNum": 17,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:09:52"
},
{
"deptId": "1793101994883411970",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "昆山地区",
"orderNum": 18,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:10:04"
},
{
"deptId": "1793102033680723969",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "新加坡",
"orderNum": 19,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:10:14"
},
{
"deptId": "1792831609401196546",
"parentId": 100,
"parentName": null,
"ancestors": "0,100",
"deptName": "一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十",
"orderNum": 1234567901,
"leader": null,
"leaderName": null,
"phone": "13812345678",
"belongCity": null,
"belongCityCode": null,
"email": "13812345678@qq.com.cn",
"status": "1",
"createTime": "2024-05-21 16:15:40"
},
{
"deptId": "1796436328731189250",
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "营业部门",
"orderNum": 0,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 14:59:32"
},
{
"deptId": 103,
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "总行",
"orderNum": 1,
"leader": 1,
"leaderName": null,
"phone": "",
"belongCity": null,
"belongCityCode": null,
"email": "",
"status": "0",
"createTime": "2024-01-08 08:16:53"
},
{
"deptId": "1795327719270150145",
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "A部门",
"orderNum": 2,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-28 13:34:19"
},
{
"deptId": "1795327775939391489",
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "B部门",
"orderNum": 3,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-28 13:34:32"
},
{
"deptId": "1796435896919203841",
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "策划部门",
"orderNum": 5,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 14:57:49"
},
{
"deptId": "1796436836413939714",
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "财务部门",
"orderNum": 6,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 15:01:33"
},
{
"deptId": "1796437341559136257",
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "对公业务部",
"orderNum": 7,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 15:03:33"
},
{
"deptId": "1793174890632835073",
"parentId": 101,
"parentName": null,
"ancestors": "0,100,101",
"deptName": "销售部门",
"orderNum": 20,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 14:59:44"
},
{
"deptId": 108,
"parentId": 102,
"parentName": null,
"ancestors": "0,100,102",
"deptName": "市场部门",
"orderNum": 1,
"leader": null,
"leaderName": null,
"phone": "15888888888",
"belongCity": null,
"belongCityCode": null,
"email": "xxx@qq.com",
"status": "0",
"createTime": "2024-01-08 08:16:57"
},
{
"deptId": 109,
"parentId": 102,
"parentName": null,
"ancestors": "0,100,102",
"deptName": "财务部门",
"orderNum": 2,
"leader": null,
"leaderName": null,
"phone": "15888888888",
"belongCity": null,
"belongCityCode": null,
"email": "xxx@qq.com",
"status": "0",
"createTime": "2024-01-08 08:16:58"
},
{
"deptId": "1793102623315980289",
"parentId": "1793101200436097025",
"parentName": null,
"ancestors": "0,100,1793101200436097025",
"deptName": "厦门地区",
"orderNum": 0,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:12:34"
},
{
"deptId": "1793102663392555009",
"parentId": "1793101200436097025",
"parentName": null,
"ancestors": "0,100,1793101200436097025",
"deptName": "福州地区",
"orderNum": 1,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:12:44"
},
{
"deptId": "1793102700713472002",
"parentId": "1793101200436097025",
"parentName": null,
"ancestors": "0,100,1793101200436097025",
"deptName": "南平地区",
"orderNum": 2,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:12:53"
},
{
"deptId": "1793102746880176130",
"parentId": "1793101200436097025",
"parentName": null,
"ancestors": "0,100,1793101200436097025",
"deptName": "泉州地区",
"orderNum": 3,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-22 10:13:04"
},
{
"deptId": "1796433575975919618",
"parentId": "1793174890632835073",
"parentName": null,
"ancestors": "0,100,101,1793174890632835073",
"deptName": "子子目录",
"orderNum": 0,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 14:48:35"
},
{
"deptId": "1796433635782500354",
"parentId": "1796433575975919618",
"parentName": null,
"ancestors": "0,100,101,1793174890632835073,1796433575975919618",
"deptName": "子子子目录",
"orderNum": 0,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 14:48:50"
},
{
"deptId": "1796433699783385090",
"parentId": "1796433635782500354",
"parentName": null,
"ancestors": "0,100,101,1793174890632835073,1796433575975919618,1796433635782500354",
"deptName": "子子子子目录",
"orderNum": 0,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "1",
"createTime": "2024-05-31 14:49:05"
},
{
"deptId": "1796437087560474626",
"parentId": "1796433635782500354",
"parentName": null,
"ancestors": "0,100,101,1793174890632835073,1796433575975919618,1796433635782500354",
"deptName": "子子子子子目录",
"orderNum": 0,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 15:02:33"
},
{
"deptId": "1796437579753660417",
"parentId": "1796433635782500354",
"parentName": null,
"ancestors": "0,100,101,1793174890632835073,1796433575975919618,1796433635782500354",
"deptName": "验证角色自动勾选",
"orderNum": 1,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 15:04:30"
},
{
"deptId": "1796464483168755713",
"parentId": "1796433635782500354",
"parentName": null,
"ancestors": "0,100,101,1793174890632835073,1796433575975919618,1796433635782500354",
"deptName": "未全选勾选",
"orderNum": 3,
"leader": null,
"leaderName": null,
"phone": null,
"belongCity": null,
"belongCityCode": null,
"email": null,
"status": "0",
"createTime": "2024-05-31 16:51:24"
}
]
const tree = await toTree(_data)
console.log('shux====',tree)
}
function toTree(arrays:any) {
let result = [] as any[]
//判断拿到的数据是否是数组,如果值是Array,则为true; 否则为false。
if (!Array.isArray(arrays)) {
return result
}
//深拷贝,否则会影响原数组
let node = JSON.parse(JSON.stringify(arrays))
//根据父节点进行拼接子节点,先判断里面是否有子节点,如果已经有的话,先删了
node.forEach((item:any) => delete item.child)
let map:any = {}
let newNode = [] as any[]
//把每一项的引用放入map对象里
node.forEach((item:any) => map[item.deptId] = item)
node.forEach((dt:any) => {
let parents = map[dt.parentId]
if (parents) {
//如果 map[dt.pid] 有值 则 parents 为 dt 的父级
//判断 parents 里有无child 如果没有则创建 如果有则直接把 dt push到child里
((parents.child) || (parents.child = [])).push(dt)
//等同于:
// if (!parents.child) {
// parents.child = []
// }
// (parents.child).push(dt)
} else {
newNode.push(dt)
}
})
return newNode
}
数组集合通过id和parentId转换成树形结构
于 2024-06-09 10:46:47 首次发布