using System.Threading.Tasks; using wispro.sp.web.Models; using wispro.sp.web.Services; using Microsoft.AspNetCore.Components; using wispro.sp.web.Components; using System.Collections.Generic; using wispro.sp.entity; using System.Text.Json; using AntDesign; using System; namespace wispro.sp.web.Pages { public partial class Welcome { private readonly EditableLink[] _links = { new EditableLink {Title = "Operation 1", Href = ""}, new EditableLink {Title = "Operation 2", Href = ""}, new EditableLink {Title = "Operation 3", Href = ""}, new EditableLink {Title = "Operation 4", Href = ""}, new EditableLink {Title = "Operation 5", Href = ""}, new EditableLink {Title = "Operation 6", Href = ""} }; private ActivitiesType[] _activities = { }; private NoticeType[] _projectNotice = { }; private CurrentUser _CurrentUser; private List AppealRecords = new List(); [Inject] public IProjectService ProjectService { get; set; } [Inject] public IUserService _userService { get; set; } [Inject] protected AppealTypeService _atService { get; set; } private ModalRef _modalRef; [Inject] ModalService _ModalService { get; set; } [Inject] MessageService _msgService { get; set; } private Models.CurrentUser _user; protected override async System.Threading.Tasks.Task OnInitializedAsync() { await base.OnInitializedAsync(); _CurrentUser =await _userService.GetUser(); if (_CurrentUser != null) { //_projectNotice = await ProjectService.GetProjectNoticeAsync(); //_activities = await ProjectService.GetActivitiesAsync(); AppealRecords = await _atService.GetUserAppeals(_CurrentUser.Userid); if (AppealRecords != null) { //try //{ // //_user = await _userService.GetUser(); // //AppealRecords.Sort((a, b) => // //{ // // var sd = (a.ReviewTime == null) ? a.ReviewTime : a.CreateTime; // // var ed = (b.ReviewTime == null) ? b.ReviewTime : b.CreateTime; // // if (ed > sd) // // { // // return 1; // // } // // else // // { // // return -1; // // } // //}); //} //catch { } } } else { //NavigationManager. } StateHasChanged(); } async Task ShowModel(AppealRecord appealRecord) { var templateOptions = new Models.ReviewerAppealModel(); await templateOptions.Init(_atService, appealRecord.Id); Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(templateOptions)); var modalConfig = new ModalOptions(); modalConfig.Title = $"{appealRecord.Type.Name}审核" ; modalConfig.Width = 650; //modalConfig.Footer = null; modalConfig.DestroyOnClose = true; _modalRef = await _ModalService .CreateModalAsync(modalConfig, templateOptions); _modalRef.OnOpen = () => { return Task.CompletedTask; }; _modalRef.OnOk = async () => { try { await _atService.ReviewerAppeal(templateOptions); await _modalRef.CloseAsync(); AppealRecords = await _atService.GetUserAppeals(_CurrentUser.Userid); //AppealRecords.Sort((a, b) => //{ // try // { // var sd = (a.ReviewTime == null) ? a.ReviewTime : a.CreateTime; // var ed = (b.ReviewTime == null) ? b.ReviewTime : b.CreateTime; // if (ed > sd) // { // return 1; // } // else // { // return -1; // } // } // catch // { // return 0; // } //}); StateHasChanged(); var SuccessConfig = new ConfirmOptions() { Content = @"审核成功!" }; //modalConfig.Footer = null; modalConfig.DestroyOnClose = true; _ModalService.Success(SuccessConfig); } catch (Exception ex) { _ModalService.Error(new ConfirmOptions() { Title = "审核错误", Content = ex.Message, }); } }; _modalRef.OnCancel = () => { return Task.CompletedTask; }; _modalRef.OnClose = () => { return Task.CompletedTask; }; StateHasChanged(); } } }