//获取指标库
        public JsonResult GetSorts()
        {
            var root = new EasyuiTreeNode()
            {
                id = "0", text = CurrentTenant.TenantName
            };
            var sorts = _sortManager.GetSorts(CurrentUser.TenantId);

            foreach (var sort in sorts.Where(p => p.ParentId == 0))
            {
                var treeNode = new EasyuiTreeNode()
                {
                    id = sort.SortId.ToString(), text = sort.SortName
                };
                treeNode.attributes = new { isfirst = 1 };
                foreach (var indexSort in sorts.Where(p => p.ParentId == sort.SortId))
                {
                    treeNode.children.Add(new EasyuiTreeNode()
                    {
                        id = indexSort.SortId.ToString(), text = indexSort.SortName, attributes = new { isfirst = 0 }
                    });
                }
                root.children.Add(treeNode);
            }
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public JsonResult GetUserFields()
        {
            var root = new EasyuiTreeNode()
            {
                id   = "0",
                text = "用户字段"
            };
            var ps         = typeof(SysUser).GetProperties();
            var userFields = new Dictionary <string, string>();

            foreach (var info in ps)
            {
                var fieldDesc = FieldDescriptionAttribute.GetFieldDescriptionAttribute(info);
                if (fieldDesc != null)
                {
                    userFields.Add(info.Name, fieldDesc.FieldName);
                    root.children.Add(new EasyuiTreeNode()
                    {
                        id   = info.Name,
                        text = fieldDesc.FieldName
                    });
                }
            }
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #3
0
        public JsonResult GetSectionTree()
        {
            var mainSections = _bbsService.GetMainSectionList(CurrentTenant.TenantId);
            var subSections  = _bbsService.GetAllSubSections(CurrentTenant.TenantId);

            var root = new EasyuiTreeNode()
            {
                id = "0", text = CurrentTenant.TenantName, attributes = new { isM = -1 }
            };
            var roots = new EasyuiTreeNode[mainSections.Count];

            for (int i = 0; i < mainSections.Count; i++)
            {
                roots[i] = new EasyuiTreeNode()
                {
                    id         = mainSections[i].SectionId.ToString(),
                    text       = mainSections[i].SectionName,
                    attributes = new { isM = 1, sectId = mainSections[i].SectionId, subId = 0 }
                };
                var subs = subSections.Where(p => p.Sectionid == mainSections[i].SectionId);
                foreach (var section in subs)
                {
                    roots[i].children.Add(new EasyuiTreeNode()
                    {
                        id         = section.SubSectionId.ToString(),
                        text       = section.SubSectionName,
                        attributes = new { isM = 0, sectId = section.Sectionid, subId = section.SubSectionId }
                    });
                }
            }
            root.children.AddRange(roots);
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #4
0
        /// <summary>
        ///     获取树
        /// </summary>
        /// <returns></returns>
        public JsonResult GetAllSystemSortTree(int sortType = 0, int type = 0, int checkBoxFlag = 0, int radioFlag = 0,
                                               int arrow    = 0)
        {
            List <Sys_NotesSort> allNotesSortList =
                _notesManager.GetNotesSortList(" Type= " + sortType + " and TenantId = " + CurrentTenant.TenantId);
            EasyuiTreeNode rootNode = AddChild(new Sys_NotesSort {
                Id = 0, SortName = CurrentTenant.TenantName
            },
                                               allNotesSortList);

            return(Json(new[] { rootNode }, JsonRequestBehavior.AllowGet));
        }
Beispiel #5
0
        public JsonResult GetUserTree()
        {
            _tempUsers = SystemUsers.AsParallel();
            SysUser[] tops  = _tempUsers.Where(p => p.Leader == 0).ToArray();
            var       roots = new EasyuiTreeNode[tops.Count()];

            for (int i = 0; i < tops.Length; i++)
            {
                roots[i] = GetUserNode(tops[i]);
            }
            return(Json(roots, JsonRequestBehavior.AllowGet));
        }
Beispiel #6
0
        private EasyuiTreeNode GetChildSorts(EBookCategory category, List <EBookCategory> categorys)
        {
            var list = categorys.Where(p => p.ParentId == category.CategoryId);
            var cate = new EasyuiTreeNode()
            {
                id = category.CategoryId.ToString(), text = category.CategoryName
            };

            foreach (var c in list)
            {
                cate.children.Add(GetChildSorts(c, categorys));
            }
            return(cate);
        }
Beispiel #7
0
        public EasyuiTreeNode AddQuestionSortChild(tbQuestionSort sort, List <tbQuestionSort> list)
        {
            var node = new EasyuiTreeNode {
                id = sort._id.ToString(), text = sort.Title
            };
            var tmp = list.Where(p => p.FatherID == sort._id);

            if (tmp.Count() > 0)
            {
                foreach (var item in tmp)
                {
                    node.children.Add(AddQuestionSortChild(item, list));
                }
            }
            return(node);
        }
Beispiel #8
0
        /// <summary>
        /// 递归获取子节点
        /// </summary>
        /// <param name="dept"></param>
        /// <param name="all"></param>
        /// <returns></returns>
        private EasyuiTreeNode GetChildPosts(SysPost post, IEnumerable <SysPost> all, int showCheckBox, int[] postIds)
        {
            var node = new EasyuiTreeNode
            {
                id       = post.PostId + "_1",
                text     = post.PostName,
                @checked = showCheckBox == 1 && postIds.Contains(post.PostId)
            };
            var tmp = all.Where(p => p.ParentId == post.PostId);

            foreach (var item in tmp)
            {
                node.children.Add(GetChildPosts(item, all, showCheckBox, postIds));
            }
            return(node);
        }
Beispiel #9
0
        private EasyuiTreeNode GetChilds(ResCourseCategory category, IEnumerable <ResCourseCategory> all, int selectedId)
        {
            IEnumerable <ResCourseCategory> list = all.Where(p => p.ParentId == category.CategoryId);
            var cate = new EasyuiTreeNode {
                id = category.CategoryId.ToString(), text = category.CategoryName
            };

            if (category.CategoryId == selectedId)
            {
                cate.selected = true;
            }
            foreach (ResCourseCategory courseCategory in list)
            {
                cate.children.Add(GetChilds(courseCategory, all, selectedId));
            }
            return(cate);
        }
Beispiel #10
0
        private EasyuiTreeNode GetUserNode(SysUser user)
        {
            var treenode = new EasyuiTreeNode
            {
                id   = user.UserId.ToString(),
                text = user.Realname + "【" + user.DeptName + "】"
            };
            //   _tempUsers.Remove(user);

            ParallelQuery <SysUser> subusers = _tempUsers.Where(p => p.Leader == user.UserId);

            foreach (SysUser sysUser in subusers)
            {
                treenode.children.Add(GetUserNode(sysUser));
            }
            return(treenode);
        }
Beispiel #11
0
        public JsonResult GetCategoryTree()
        {
            List <EBookCategory> eBookCategory = _eBookManager.GetAllCategoryList(CurrentTenant.TenantId);
            var root = new EasyuiTreeNode()
            {
                id = "0", text = CurrentTenant.TenantName
            };
            var firstNodes = eBookCategory.Where(p => p.ParentId == 0);
            var nodes      = new List <EasyuiTreeNode>();

            foreach (var node in firstNodes)
            {
                nodes.Add(GetChildSorts(node, eBookCategory));
            }
            root.children.AddRange(nodes);
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="function"></param>
        /// <param name="roleRights"></param>
        /// <param name="selectRights">需要选中的</param>
        /// <param name="showCheckBox">是否选中  1:选;0:不选</param>
        /// <returns></returns>
        private EasyuiTreeNode GetChildRights(vTenantFunction function, IEnumerable <vTenantFunction> roleRights, IEnumerable <vTenantFunction> selectRights, int showCheckBox = 1)
        {
            var childrens = roleRights.Where(p => p.ParentId == function.PermissionId);
            var node      = new EasyuiTreeNode {
                id = function.PermissionId.ToString(), text = function.MenuLanguageName
            };

            if (showCheckBox == 1 && !childrens.Any() && selectRights.Any(p => p.PermissionId == function.PermissionId))
            {
                node.@checked = true;
            }
            foreach (var f in childrens)
            {
                node.children.Add(GetChildRights(f, roleRights, selectRights, showCheckBox));
            }
            return(node);
        }
Beispiel #13
0
        public JsonResult GetTenantTree()
        {
            var root = new EasyuiTreeNode()
            {
                id = "0", text = "公司站点"
            };

            foreach (var tenant in _tenants)
            {
                root.children.Add(new EasyuiTreeNode()
                {
                    id   = tenant.TenantId.ToString(),
                    text = tenant.ComName
                });
            }
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #14
0
        /// <summary>
        ///     递归获取子节点
        /// </summary>
        /// <param name="dept"></param>
        /// <param name="all"></param>
        /// <returns></returns>
        private EasyuiTreeNode AddChild(Sys_NotesSort notsSort, IEnumerable <Sys_NotesSort> all)
        {
            var node = new EasyuiTreeNode
            {
                id   = notsSort.Id.ToString(),
                text = notsSort.SortName
            };
            IEnumerable <Sys_NotesSort> tmp = all.Where(p => p.ParentID == notsSort.Id);

            if (tmp.Count() > 0)
            {
                foreach (Sys_NotesSort item in tmp)
                {
                    node.children.Add(AddChild(item, all));
                }
            }
            return(node);
        }
        private EasyuiTreeNode GetChildPermission(Models.SysPermission pm, IEnumerable <Models.SysPermission> ps, int selectedId)
        {
            var list = ps.Where(p => p.ParentId == pm.PermissionId);
            var node = new EasyuiTreeNode()
            {
                id = pm.PermissionId.ToString(), text = pm.MenuLanguageName
            };

            if (pm.PermissionId == selectedId)
            {
                node.selected = true;
            }
            foreach (var permission in list)
            {
                node.children.Add(GetChildPermission(permission, ps, selectedId));
            }
            return(node);
        }
Beispiel #16
0
        private EasyuiTreeNode GetChildSorts(KL_KnowledgeSort sort, List <KL_KnowledgeSort> sorts, int selectedId)
        {
            var list = sorts.Where(p => p.ParentId == sort.SortId);
            var cate = new EasyuiTreeNode()
            {
                id = sort.SortId.ToString(), text = sort.SortName
            };

            if (sort.SortId == selectedId)
            {
                cate.selected = true;
            }
            foreach (var so in list)
            {
                cate.children.Add(GetChildSorts(so, sorts, selectedId));
            }
            return(cate);
        }
Beispiel #17
0
        private EasyuiTreeNode GetChilds(Entities.QuestionSort category, IEnumerable <Entities.QuestionSort> all,
                                         int selected)
        {
            IEnumerable <Entities.QuestionSort> list = all.Where(p => p.ParentId == category.SortId);
            var cate = new EasyuiTreeNode {
                id = category.SortId.ToString(), text = category.SortName
            };

            if (category.SortId == selected)
            {
                cate.selected = true;
            }
            foreach (Entities.QuestionSort courseCategory in list)
            {
                cate.children.Add(GetChilds(courseCategory, all, selected));
            }
            return(cate);
        }
Beispiel #18
0
        public JsonResult GetCategoryTree(int selectedId = 0)
        {
            var categorys = qaService.GetAllSorts(CurrentTenant.TenantId);

            var root = new EasyuiTreeNode()
            {
                id = "0", text = CurrentTenant.TenantName
            };
            var firstNodes = categorys.Where(p => p.ParentId == 0);
            var nodes      = new List <EasyuiTreeNode>();

            foreach (var node in firstNodes)
            {
                nodes.Add(GetChilds(node, categorys, selectedId));
            }
            root.children.AddRange(nodes);
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #19
0
        /// <summary>
        ///     递归获取子节点
        /// </summary>
        /// <param name="dept"></param>
        /// <param name="all"></param>
        /// <returns></returns>
        private EasyuiTreeNode GetChildPosts(SysPost post, IEnumerable <SysPost> all, int showCheckBox, int[] postIds)
        {
            var node = new EasyuiTreeNode
            {
                id   = post.PostId + "_1",
                text =
                    "<input type='checkbox' value='" + post.PostId + "' id='post_id_" + post.PostId +
                    "'/><label for='post_id_" + post.PostId + "'>" + post.PostName + "</label>",
                @checked = showCheckBox == 1 && postIds.Contains(post.PostId)
            };
            IEnumerable <SysPost> tmp = all.Where(p => p.ParentId == post.PostId);

            foreach (SysPost item in tmp)
            {
                node.children.Add(GetChildPosts(item, all, showCheckBox, postIds));
            }
            return(node);
        }
Beispiel #20
0
        public JsonResult GetTenantTree()
        {
            var node = new EasyuiTreeNode {
                id = "0", text = "公司站点"
            };
            int total;
            var tenants = _tenantManager.GetTenants("", "", 1, int.MaxValue - 10, out total);

            foreach (var tenant in tenants)
            {
                node.children.Add(new EasyuiTreeNode()
                {
                    text = tenant.ComName,
                    id   = tenant.TenantId.ToString()
                });
            }
            return(Json(new[] { node }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult GetPermissionTree(int selectedId = 0)
        {
            var ps    = _permissionManager.GetAllPermissions();
            var proot = ps.Find(p => p.ParentId == 0);
            var root  = new EasyuiTreeNode()
            {
                id = proot.PermissionId.ToString(), text = proot.MenuLanguageName
            };
            var firstPs = ps.Where(p => p.ParentId == proot.PermissionId);
            var nodes   = new List <EasyuiTreeNode>();

            foreach (var firstP in firstPs)
            {
                nodes.Add(GetChildPermission(firstP, ps, selectedId));
            }
            root.children.AddRange(nodes);
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #22
0
        private EasyuiTreeNode GetChildDeptsByApprove(SysDepartment dept, IEnumerable <SysDepartment> all, int[] deptIds,
                                                      int parentDeptId, int wayType)
        {
            var node = new EasyuiTreeNode
            {
                id       = dept.DeptId.ToString(),
                @checked = false
            };
            int originalApprovedept;

            if (dept.DeptId == parentDeptId)
            {
                node.text = dept.DeptName;
            }
            else if (deptIds.Contains(dept.DeptId))
            {
                node.text = "<input type='checkbox' value='" + dept.DeptId + "' checked='checked' />" + dept.DeptName;
            }
            else if (_approveWayManager.CanSetApproveWay(parentDeptId, dept.DeptId, wayType, CurrentTenant.TenantId,
                                                         out originalApprovedept))
            {
                node.text = "<input type='checkbox' value='" + dept.DeptId + "' />" + dept.DeptName;
                if (originalApprovedept != -1)
                {
                    node.text += string.Format(RetechWing.LanguageResources.SystemManage.ApproveLang.String5, _deptManager.GetDeptById(originalApprovedept).DeptName);
                }
            }
            else
            {
                node.text = dept.DeptName + string.Format(RetechWing.LanguageResources.SystemManage.ApproveLang.String5, _deptManager.GetDeptById(originalApprovedept).DeptName);
            }


            var tmp = all.Where(p => p.ParentId == dept.DeptId);

            if (tmp.Any())
            {
                foreach (var item in tmp)
                {
                    node.children.Add(GetChildDeptsByApprove(item, all, deptIds, parentDeptId, wayType));
                }
            }
            return(node);
        }
Beispiel #23
0
        /// <summary>
        /// 递归获取子节点
        /// </summary>
        /// <param name="dept"></param>
        /// <param name="all"></param>
        /// <returns></returns>
        private EasyuiTreeNode GetChildDepts(SysDepartment dept, IEnumerable <SysDepartment> all, int showCheckBox, int[] deptIds)
        {
            var node = new EasyuiTreeNode
            {
                id       = dept.DeptId.ToString(),
                text     = dept.DeptName,
                @checked = showCheckBox == 1 && deptIds.Contains(dept.DeptId)
            };
            var tmp = all.Where(p => p.ParentId == dept.DeptId);

            if (tmp.Count() > 0)
            {
                foreach (var item in tmp)
                {
                    node.children.Add(GetChildDepts(item, all, showCheckBox, deptIds));
                }
            }
            return(node);
        }
Beispiel #24
0
        public ActionResult PromotionStage(int stageId, int applyId)
        {
            var stage = _promotionWayManager.GetPromotionStage(stageId, applyId);

            #region 技能分类树
            var root = new EasyuiTreeNode()
            {
                id = "0", text = RetechWing.LanguageResources.Common.All, attributes = new { tp = 0 }
            };
            //分类
            var cats = stage.StageCourses.Select(p => new { p.CategoryId, p.CategoryName }).Distinct().ToList();
            cats.AddRange(stage.StageKLs.Select(p => new { p.CategoryId, p.CategoryName }).Distinct());
            cats = cats.Distinct().ToList();
            foreach (var cat in cats)
            {
                var catnode = new EasyuiTreeNode()
                {
                    id         = cat.CategoryId.ToString(CultureInfo.InvariantCulture),
                    text       = cat.CategoryName,
                    attributes = new { tp = 1 }
                };
                //技能
                var abs = stage.StageCourses.Where(p => p.CategoryId == cat.CategoryId).Select(p => new { p.AbilityId, p.AbilityName, p.AbilityLevel }).Distinct().ToList();
                abs.AddRange(stage.StageKLs.Where(p => p.CategoryId == cat.CategoryId).Select(p => new { p.AbilityId, p.AbilityName, p.AbilityLevel }).Distinct());
                abs = abs.Distinct().ToList();
                foreach (var ab in abs)
                {
                    catnode.children.Add(new EasyuiTreeNode()
                    {
                        id         = ab.AbilityId.ToString(CultureInfo.InvariantCulture),
                        text       = ab.AbilityName + "-" + ab.AbilityLevel,
                        attributes = new { tp = 2 }
                    });
                }
                root.children.Add(catnode);
            }
            ViewBag.tree = new[] { root };
            #endregion

            ViewBag.applyId = applyId;
            return(View(stage));
        }
Beispiel #25
0
        /// <summary>
        ///     递归获取子节点
        /// </summary>
        /// <param name="dept"></param>
        /// <param name="all"></param>
        /// <returns></returns>
        private EasyuiTreeNode GetChildPostTree(SysDepartment dept, IEnumerable <SysDepartment> allDept,
                                                IEnumerable <SysPost> all, int showCheckBox, int[] postIds)
        {
            IEnumerable <SysPost>       postList = all.Where(p => p.DeptId == dept.DeptId && p.ParentId == 0);
            IEnumerable <SysDepartment> list     = allDept.Where(p => p.ParentId == dept.DeptId);
            var cate = new EasyuiTreeNode {
                id = dept.DeptId + "_0", text = dept.DeptName + "[" + Dept.Department + "]"
            };

            foreach (SysPost p in postList)
            {
                cate.children.Add(GetChildPosts(p, all, showCheckBox, postIds));
            }
            foreach (SysDepartment d in list)
            {
                cate.children.Add(GetChildPostTree(d, allDept, all, showCheckBox, postIds));
            }

            return(cate);
        }
Beispiel #26
0
        public JsonResult GetCourseCategorys(int selectedId = 0)
        {
            IEnumerable <ResCourseCategory> categroys = _courseManager.GetCategorys(CurrentTenant.TenantId);

            //根节点
            var root = new EasyuiTreeNode {
                id = "0", text = CurrentTenant.TenantName
            };

            IEnumerable <ResCourseCategory> firstNodes = categroys.Where(p => p.ParentId == 0);

            var nodes = new List <EasyuiTreeNode>();

            foreach (ResCourseCategory node in firstNodes)
            {
                nodes.Add(GetChilds(node, categroys, selectedId));
            }
            root.children.AddRange(nodes);
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #27
0
        public JsonResult GetKLSortTree(int selectedId = 0, int showCheckbox = 0)
        {
            List <KL_KnowledgeSort> klSort = _sortManager.GetAllSortList(CurrentTenant.TenantId);
            var root = new EasyuiTreeNode()
            {
                id = "0", text = CurrentTenant.TenantName
            };

            if (selectedId == 0)
            {
                root.selected = true;
            }
            var firstNodes = klSort.Where(p => p.ParentId == 0);
            var nodes      = new List <EasyuiTreeNode>();

            foreach (var node in firstNodes)
            {
                nodes.Add(GetChildSorts(node, klSort, selectedId));
            }
            root.children.AddRange(nodes);
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }
Beispiel #28
0
        /// <summary>
        ///     获取岗位树
        /// </summary>
        /// <returns></returns>
        public JsonResult GetPostCheckBoxTree(int deptId = -1, int showCheckBox = 0, string ids = "")
        {
            int[] postIds = ids.GetArray();
            IEnumerable <SysDepartment> allDept = _deptManager.GetAllDept(CurrentTenant.TenantId);
            IEnumerable <SysPost>       allPost = _postManager.GetAllPost(CurrentTenant.TenantId);
            var rootNode = new EasyuiTreeNode();

            if (deptId == -1)
            {
                rootNode = GetChildPostTree(new SysDepartment {
                    DeptId = 0, DeptName = CurrentTenant.TenantName
                }, allDept,
                                            allPost, showCheckBox, postIds);
            }
            else
            {
                //rootNode = GetDeptPostTreeNode(deptId, allDept, allPost);
                var dept = new SysDepartment {
                    DeptId = 0, DeptName = CurrentTenant.TenantName
                };
                if (deptId > 0)
                {
                    dept = allDept.FirstOrDefault(p => p.DeptId == deptId);
                }
                if (dept != null)
                {
                    rootNode = new EasyuiTreeNode
                    {
                        id   = dept.DeptId + "_0",
                        text = dept.DeptName + "[" + Dept.Department + "]"
                    };
                    foreach (SysPost item in allPost.Where(p => p.ParentId == 0 && p.DeptId == deptId))
                    {
                        rootNode.children.Add(GetChildPosts(item, allPost, showCheckBox, postIds));
                    }
                }
            }
            return(Json(new[] { rootNode }, JsonRequestBehavior.AllowGet));
        }
Beispiel #29
0
        private EasyuiTreeNode GetDeptPostTreeNode(int deptId, IEnumerable <SysDepartment> alldepts,
                                                   IEnumerable <SysPost> allposts)
        {
            var dept = alldepts.FirstOrDefault(p => p.DeptId == deptId);

            if (dept == null)
            {
                return(new EasyuiTreeNode()
                {
                    id = deptId.ToString(CultureInfo.InvariantCulture),
                    text = RetechWing.LanguageResources.TenantUI.TenantPost.DeptNotExist
                });
            }
            var node = new EasyuiTreeNode
            {
                id   = dept.DeptId.ToString(CultureInfo.InvariantCulture) + "_0",
                text = dept.DeptName + "[" + RetechWing.LanguageResources.Dept.Department + "]"
            };
            var ps = allposts.Where(p => p.DeptId == dept.DeptId && p.ParentId == 0);

            foreach (var sysPost in ps)
            {
                node.children.Add(GetChildPosts(sysPost, allposts, 0, new int[0]));
            }
            var tmp = alldepts.Where(p => p.ParentId == dept.DeptId);

            if (!tmp.Any())
            {
                return(node);
            }
            foreach (var item in tmp)
            {
                var child = GetDeptPostTreeNode(item.DeptId, alldepts, allposts);
                node.children.Add(child);
            }
            return(node);
        }
Beispiel #30
0
        public JsonResult CatalogsTree(int exid, int reportId = 0)
        {
            var        template  = _templateManager.GetById(reportId);
            List <int> selecteds = new List <int>();

            if (template != null)
            {
                selecteds.AddRange(template.Catalogs);
            }
            var list = new TalExaminationManager().GetExaminationQuestionIndexList(exid);

            var root = new EasyuiTreeNode()
            {
                id = "0", text = "目录", @checked = selecteds.Contains(0)
            };
            var leadNode = new EasyuiTreeNode()
            {
                id = "-1", text = "导语", @checked = true
            };

            leadNode.children.Add(new EasyuiTreeNode()
            {
                id = "-2", text = "简介", @checked = true
            });
            leadNode.children.Add(new EasyuiTreeNode()
            {
                id = "-3", text = "阅读建议", @checked = true
            });
            root.children.Add(leadNode);

            var result = new EasyuiTreeNode()
            {
                id = "-4", text = "测评结果", @checked = selecteds.Contains(-4)
            };

            result.children.Add(new EasyuiTreeNode()
            {
                id = "-5", text = "答题情况", @checked = selecteds.Contains(-5)
            });
            result.children.Add(new EasyuiTreeNode()
            {
                id = "-6", text = "一级指标数据图", @checked = selecteds.Contains(-6)
            });
            result.children.Add(new EasyuiTreeNode()
            {
                id = "-7", text = "二级指标数据图", @checked = selecteds.Contains(-7)
            });
            root.children.Add(result);

            root.children.Add(new EasyuiTreeNode()
            {
                id = "-8", text = "典型特征描述", @checked = selecteds.Contains(-8)
            });


            var explanation = new EasyuiTreeNode()
            {
                id = "-9", text = "详细解释", @checked = selecteds.Contains(-9)
            };

            foreach (var sort in list.Where(p => p.FatherID == 0))
            {
                explanation.children.Add(new EasyuiTreeNode()
                {
                    id = sort._id.ToString(), text = sort.Title, @checked = selecteds.Contains(sort._id)
                });
            }
            root.children.Add(explanation);
            root.children.Add(new EasyuiTreeNode()
            {
                id = "-10", text = "关于报告", @checked = true
            });
            return(Json(new[] { root }, JsonRequestBehavior.AllowGet));
        }