public ActionResult Tree() { IEnumerable <SysDepartment> datalist = service.GetDepartments(); var root = DepartmentTree.Parse(datalist); return(View(root)); }
public async Task <MessageModel <DepartmentTree> > GetDepartmentTree(int pid = 0) { var departments = await _departmentServices.Query(d => d.IsDeleted == false); var departmentTrees = (from child in departments where child.IsDeleted == false orderby child.Id select new DepartmentTree { value = child.Id, label = child.Name, Pid = child.Pid, order = child.OrderSort, }).ToList(); DepartmentTree rootRoot = new DepartmentTree { value = 0, Pid = 0, label = "根节点" }; departmentTrees = departmentTrees.OrderBy(d => d.order).ToList(); RecursionHelper.LoopToAppendChildren(departmentTrees, rootRoot, pid); return(Success(rootRoot, "获取成功")); }
private List <DepartmentTree> process2TreeModel(List <DepartmentManageModel> source, DepartmentTree curRootNode) { List <DepartmentTree> resultlist = new List <DepartmentTree>(); if (source != null && source.Count() > 0)//出口1 { if (curRootNode == null) { return(resultlist);//出口2 } //当前节点的直接子节点list IEnumerable <DepartmentManageModel> sublist = source.Where(m => m.ParentID == curRootNode.id); if (sublist == null || sublist.Count() == 0) { return(resultlist); } // var pmodel=sublist.FirstOrDefault(); foreach (var dep in sublist)//出口3 { DepartmentTree t = new DepartmentTree() { id = dep.DepartmentID, text = dep.Name, children = process2TreeModel(source, dep) }; curRootNode.children.Add(t); } return(curRootNode.children); } return(new List <DepartmentTree>()); }
public ActionResult GetDepartment() { var result = new StandardJsonResult <List <DepartmentTree> >(); result.Try(() => { var service = ML.BC.Infrastructure.Ioc.GetService <IEnterpriseDepartmentManagementService>(); List <DepartmentDto> list = new List <DepartmentDto>(); if (HasFunction(Functions.Root_SystemSetting_OrganizationManagement_ShowAll)) { list = service.GetMyDepartment(BCSession.User.EnterpriseID); } else if (BCSession.User.DepartmentID.HasValue) { list = service.GetMyDepartment(BCSession.User.EnterpriseID, BCSession.User.DepartmentID); } if (list != null && list.Count > 0) { List <DepartmentManageModel> mylist = new List <DepartmentManageModel>(); foreach (var l in list) { if (l.Available) { DepartmentManageModel m = new DepartmentManageModel() { DepartmentID = l.DepartmentID, Description = l.Description, _parentId = l.ParentID, Deleted = l.Deleted, Available = l.Available, EnterpriseID = l.EnterpriseID, Name = l.Name, ParentID = l.ParentID }; mylist.Add(m); } } mylist[0]._parentId = 0;//不在根节点部门下的管理者不能显示 List <DepartmentTree> all = new List <DepartmentTree>(); foreach (var rot in mylist) { if (rot._parentId == 0) { DepartmentTree root = new DepartmentTree(); root.id = rot.DepartmentID; root.text = rot.Name; root.children = new List <DepartmentTree>(); root.children = process2TreeModel(mylist, root); all.Add(root); } } result.Value = new List <DepartmentTree>(); result.Value = all; } }); return(Json(result.Value, JsonRequestBehavior.AllowGet)); }
private DepartmentTree FindTree(Department root, List <Department> departList) { DepartmentTree tree = new DepartmentTree(); tree.ID = root.ID; tree.ParentName = departList.Find(m => m.ID == root.ParentID)?.Name; tree.label = root.Name; tree.children = new List <DepartmentTree>(); departList.FindAll(m => m.ParentID == root.ID).ForEach(m => { tree.children.Add(FindTree(m, departList)); }); return(tree); }
protected void Page_PreRender(object sender, EventArgs e) { if (!Page.IsPostBack) { //InitUserDepartment(); SetVisibilityReportButtons(); if (Session["Tree"] != null) { if (Session["CurrentSelectedDepartmentNode"] != null) { DepartmentTree.FillTree((CustomTreeNode)Session["Tree"], (CustomTreeNode)Session["CurrentSelectedDepartmentNode"]); } else { DepartmentTree.FillTree((CustomTreeNode)Session["Tree"], null); } } else { if (Session["CurrentUserDivision"] != null) { DepartmentTree.FillTreeByDivision(new Guid(Session["CurrentUserDivision"].ToString())); Session["CurrentSelectedDepartment"] = new Guid(Session["CurrentUserDivision"].ToString()); Session["CurrentSelectedDepartmentNode"] = DepartmentTree.CurrentSelectedNode; } else { DepartmentTree.FillTree(Guid.Empty); } } if (Session["Tree"] == null) { Session["Tree"] = DepartmentTree.Nodes[0]; } if (Session["SimpleSearch"] != null && !string.IsNullOrEmpty(Session["SimpleSearch"].ToString())) { SearchTextBox.Text = Session["SimpleSearch"].ToString(); EmployeesListView.DataSourceID = "FilteredEmployeesDataSource"; EmployeesListView.DataBind(); } else if (Session["CustomSearch"] != null && !string.IsNullOrEmpty(Session["CustomSearch"].ToString())) { var customSearchParams = (CustomSearchStorage)Session["CustomSearch"]; PositionTextBox.Text = customSearchParams.Position; DepartmentTextBox.Text = customSearchParams.Department; HasPhoneCheckBox.Checked = customSearchParams.HasPhone; RestoreBirthdayDates(customSearchParams.StartBirthday, customSearchParams.FinishBirthday); //BirthDayStartTextBox.Text = customSearchParams.StartBirthday.ToShortDateString(); //BirthDayFinishTextBox.Text = customSearchParams.FinishBirthday.ToShortDateString(); UpdateCustomSearchParametrs(); EmployeesListView.DataSourceID = "CustomFilteredEmployeesDataSource"; EmployeesListView.DataBind(); } if (Session["SelectedPage"] != null) { var pager = ((DataPager)EmployeesListView.FindControl("DataPager")); if (pager != null) { pager.SetPageProperties(int.Parse(Session["SelectedPage"].ToString()), pager.MaximumRows, true); } } } }