using AntDesign; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using wispro.sp.entity; using wispro.sp.share; using wispro.sp.web.Services; namespace wispro.sp.web.Pages.Project { public partial class ProjectReviewer : ComponentBase { private List projectContents; private ProjectInfo projectInfo; private List waitingReviewProjects; private ViewProjectWorkContent editObj; // 新增:审核人历史记录相关字段 private List reviewerHistoryProjects; private bool _ShowReviewerHistory = false; private string projectNoSearchText = ""; // 专案编号搜索关键字 [Parameter] public string ProjectNo { get; set; } [Inject] IProjectService projectService { get; set; } [Inject] CalMonthServices calMonthServices { get; set; } [Inject] public MessageService _message { get; set; } [Inject] NavigationManager _NavigationManager { get; set; } protected override async Task OnInitializedAsync() { CalMonth cal = await calMonthServices.GetHandlingMonth(); if (!string.IsNullOrEmpty(ProjectNo)) { projectContents = await projectService.GetProjectCanReviewWorkContent(ProjectNo, cal); HistroyContents = await projectService.GetProjectHistroy(ProjectNo); } else { waitingReviewProjects = await projectService.GetWaitingReviewProjects(); } await base.OnInitializedAsync(); } void startEdit(ViewProjectWorkContent pp) { editObj = pp; } void stopEdit() { editObj = null; } void ContentChanged(ViewProjectWorkContent pp) { pp.modifyState = ModifyState.Modified; } void OnInput(ChangeEventArgs e) { if (editObj != null) { editObj.modifyState = ModifyState.Modified; } } async void Save() { var ret = await projectService.ReviewProjectWorkContent(projectContents); if (ret.Success) { _NavigationManager.NavigateTo("/Home"); await _message.Success("保存成功!"); } else { await _message.Error(ret.ErrorMessage); } } List HistroyContents; bool _ShowHistory = false; async Task ReviewHistory() { if (HistroyContents == null) { HistroyContents = await projectService.GetProjectHistroy(ProjectNo); } _ShowHistory = true; StateHasChanged(); } void CloseDetail() { _ShowHistory = false; } private List GetMonth(List projectContents) { List monthList = new List(); foreach (var projectContentsItem in projectContents) { CalMonth calMonth = projectContentsItem.ProjectContentRecord.CalMonth; var temMonth = monthList.FirstOrDefault(c => c.Month == calMonth.Month && c.Year == calMonth.Year); if (temMonth == null) { monthList.Add(calMonth); } } return monthList; } private List GetByMonth(CalMonth calMonth, List projectContents) { return projectContents.Where(p => p.ProjectContentRecord.CalMonthId == calMonth.Id).ToList(); } private string GetPointString(ProjectContentRecord record, string CaseXS) { if (record != null) { switch (CaseXS) { case "S": return record.PointS.HasValue ? record.PointS.Value.ToString() : "__"; break; case "A": return record.PointA.HasValue ? record.PointA.Value.ToString() : "__"; break; case "B": return record.PointB.HasValue ? record.PointB.Value.ToString() : "__"; break; case "C": return record.PointC.HasValue ? record.PointC.Value.ToString() : "__"; break; case "D": return record.PointD.HasValue ? record.PointD.Value.ToString() : "__"; break; } } return ""; } // 新增:显示审核人历史记录 async Task ShowReviewerHistory() { if (reviewerHistoryProjects == null) { reviewerHistoryProjects = await projectService.GetReviewerHistoryProjects(); } _ShowReviewerHistory = true; StateHasChanged(); } // 新增:关闭审核人历史记录抽屉 void CloseReviewerHistory() { _ShowReviewerHistory = false; } // 新增:获取过滤后的审核历史记录 private List GetFilteredReviewerHistory() { if (reviewerHistoryProjects == null || reviewerHistoryProjects.Count == 0) { return new List(); } if (string.IsNullOrWhiteSpace(projectNoSearchText)) { return reviewerHistoryProjects; } return reviewerHistoryProjects .Where(p => p.ProjectNo != null && p.ProjectNo.Contains(projectNoSearchText, StringComparison.OrdinalIgnoreCase)) .ToList(); } // 新增:搜索文本改变事件 void OnSearchTextChanged(string value) { projectNoSearchText = value ?? ""; StateHasChanged(); } } }