Example #1
0
        /// <summary>
        /// 转换list数据为树形组件绑定结构
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        private List <LayTreeItem> GetDepartmentTreeData()
        {
            List <LayTreeItem> res     = new List <LayTreeItem>();
            List <Department>  depList = DepartmentMgr.GetList();
            List <Employee>    empList = EmployeeMgr.GetList();

            // 第一次遍历,插入一级部门
            foreach (var item in depList)
            {
                var node = new LayTreeItem();
                node.title = item.DepartmentName;
                node.field = item.DepartmentID.ToString();
                node.id    = $"dep_{item.DepartmentID.ToString()}";
                res.Add(node);
            }
            // 第二次遍历,在部门下插入员工
            foreach (var item in res)
            {
                // 找到对应部门下所有员工
                var emps = empList.Where(t => t.DepartmentID.ToString() == item.field);
                foreach (var empItem in emps)
                {
                    var empNode = new LayTreeItem();
                    empNode.title = empItem.EmployeeName;
                    empNode.field = empItem.EmployeeID.ToString();
                    empNode.id    = $"emp_{empItem.EmployeeID.ToString()}";

                    item.children.Add(empNode);
                }
            }

            return(res);
        }