using AntDesign; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using System; using System.Collections.Generic; using System.Linq; using System.Text.Json; using System.Threading.Tasks; using wispro.sp.web.Services; namespace wispro.sp.web.Pages.Organization { public partial class Department { private List departments; Tree tree; string searchKey; bool _loading = false; entity.Department _editDepartment; [Inject] OrganizationService orgService { get; set; } protected override async System.Threading.Tasks.Task OnInitializedAsync() { _loading = true; departments =await orgService.GetDepartments(); _loading = false; } #region 部门操作 bool newModal = false; private void AddNew(entity.Department parentDept) { _editDepartment = new entity.Department(); if (parentDept != null) { _editDepartment.parentId = parentDept.Id; //if(!string.IsNullOrEmpty(parentDept.ancestors)) //{ // _editDepartment.ancestors = $"{parentDept.ancestors},{parentDept.Id}"; //} //else //{ // _editDepartment.ancestors = parentDept.Id.ToString(); //} //_editDepartment.order_num = GetChildren(parentDept).Count + 1; } newModal = true; } private void EditDept(entity.Department department) { _editDepartment = department; newModal = true; } private async Task DeleteDept(entity.Department department) { var result = await orgService.DeleteDept(department.Id); departments = await orgService.GetDepartments(); StateHasChanged(); } private async System.Threading.Tasks.Task NewOk(MouseEventArgs e) { newModal = false; Console.WriteLine(JsonSerializer.Serialize(_editDepartment)); var retObj = await orgService.SaveDept(_editDepartment); Console.WriteLine(JsonSerializer.Serialize(retObj)); departments = await orgService.GetDepartments(); StateHasChanged(); } private void NewCancel(MouseEventArgs e) { newModal = false; } #endregion void OnSelect(TreeEventArgs e) { _editDepartment = e.Node.DataItem; //Console.WriteLine(JsonSerializer.Serialize(e)); } private List GetChildren(wispro.sp.entity.Department dept) { if(dept == null) { var retList = departments.Where(x => x.parentId == null).OrderBy(x=>x.order_num).ToList(); Console.WriteLine(JsonSerializer.Serialize(retList)); return retList; } else { var retList = departments.Where(x => x.parentId == dept.Id).OrderBy(x => x.order_num).ToList(); Console.WriteLine(JsonSerializer.Serialize(retList)); return retList; } } void HandleRightClick(MouseEventArgs args) { if (args.Button == 2) Console.WriteLine("This is a right click"); } } }