```
layui.pagedone = function (d) {
//樹
var nodes = [];
// 思路: 使用對象屬性特性,緩存每個MenuID對應的節點對象,用于判斷對應的上級在不在,如果在,則可直接將節點掛接到其上級菜單節點下;不在則將節點放到根節點上
// rels 用于 建立MenuID 與 節點的關系
var tables = d.tables, len = tables.length, rels = {};
//for循環遍歷樹的級別
for (var i = 0; i < len; i++) {
//forEach遍歷級別里面的數據,然后push到一個數組里
tables[i].forEach(function (item) {
//debugger
var m = {
name: item.Name,
id: item.ID,
sex: item.Sex,
children: []
};
//看緩存的 MenuID 對象中是否有 對應節點
if (rels[item.PreID]) {
// 有則放到 對應節點的子節點中
rels[item.PreID].children.push(m);
} else { // 如果沒有對應節點, 放根節點
nodes.push(m);
}
// 給對象屬性賦值,建立 ID 與 節點之間的關系
rels[item.ID] = m;
});
}
var tree = layui.atree({
elem: '#admin-personnel-people' //指定元素
, skin: 'as' //設定皮膚
//,target: '_blank' //是否新選項卡打開(比如節點返回href才有效)
// drag: true,
, spreadAll: true
, props: {
addBtnLabel: '新增',
deleteBtnLabel: '刪除',
reviseBtnLabel: '修改',
name: 'name',
id: 'id',
children: 'children',
spread: 'spread'
}
, nodes: nodes
, click: function (item) {}
, addClick: function (item, elem, add) {}
, deleteClick: function (item, elem, done) {}
, reviseClick: function (item, elem, done) {}
})
}
```