From 6057a713151f30ec7cee25de8a51fe6834ef8b49 Mon Sep 17 00:00:00 2001 From: dengboling Date: Wed, 29 Jul 2026 09:58:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8A=A5=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E9=80=BB=E8=BE=91=E6=94=B9=E4=B8=BA=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E9=80=89=E4=B8=AD=E8=A1=8C=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ExportModule/ViewModels/ExportViewModel.cs | 28 ++++++++++++---------- ExportModule/Views/ExportView.xaml | 1 + 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ExportModule/ViewModels/ExportViewModel.cs b/ExportModule/ViewModels/ExportViewModel.cs index 10524d8..730beba 100644 --- a/ExportModule/ViewModels/ExportViewModel.cs +++ b/ExportModule/ViewModels/ExportViewModel.cs @@ -69,6 +69,13 @@ namespace ExportModule.ViewModels get => _totalCount; set => SetProperty(ref _totalCount, value); } + + private TestReportModel? _selectedTestReport; + public TestReportModel? SelectedTestReport + { + get => _selectedTestReport; + set => SetProperty(ref _selectedTestReport, value); + } #endregion #region 命令 @@ -144,24 +151,21 @@ namespace ExportModule.ViewModels } /// - /// 导出 Excel(根据当前筛选条件导出完整实体数据) + /// 导出 Excel:根据用户在表格中选中的 TestReportModel.TestRoundId 查询并导出完整步骤数据 /// private async Task OnExport() { - DateTime? queryEnd = EndTime; - if (queryEnd.HasValue) + if (SelectedTestReport == null) { - queryEnd = queryEnd.Value.Date.AddDays(1).AddSeconds(-1); + ShowErrorMessageBox("请先在列表中选择一条测试记录。", () => { }); + return; } - string? scope = SelectedScope == "全部" ? null : SelectedScope; - - // 查询全量实体数据 StatusMessage = "正在查询导出数据..."; - var entityResult = await _testReportService.GetEntitiesByFilter(StartTime, queryEnd, scope); + var entityResult = await _testReportService.GetByTestRoundIdAsync(SelectedTestReport.TestRoundId); if (!entityResult.IsSuccess || entityResult.Data == null || entityResult.Data.Count == 0) { - ShowErrorMessageBox("没有数据可导出,请先查询或调整筛选条件。", () => { }); + ShowErrorMessageBox("未找到该测试记录的详细步骤数据。", () => { }); return; } @@ -169,15 +173,15 @@ namespace ExportModule.ViewModels { Filter = "Excel 工作簿 (*.xlsx)|*.xlsx|所有文件 (*.*)|*.*", DefaultExt = ".xlsx", - FileName = $"测试报告_{DateTime.Now:yyyyMMdd_HHmmss}.xlsx" + FileName = $"测试报告_{SelectedTestReport.Scope}_{SelectedTestReport.StartTime:yyyyMMdd_HHmmss}.xlsx" }; if (dialog.ShowDialog() != true) return; var entities = entityResult.Data; - StatusMessage = $"正在导出 {entities.Count} 条记录..."; + StatusMessage = $"正在导出 {entities.Count} 条步骤记录..."; await Task.Run(() => ExportToExcel(dialog.FileName, entities)); - ShowInfoMessageBox($"导出完成,共 {entities.Count} 条记录,已保存至:{dialog.FileName}", () => { }); + ShowInfoMessageBox($"导出完成,共 {entities.Count} 条步骤记录,已保存至:{dialog.FileName}", () => { }); } #endregion diff --git a/ExportModule/Views/ExportView.xaml b/ExportModule/Views/ExportView.xaml index 023fcd6..ce5ac3a 100644 --- a/ExportModule/Views/ExportView.xaml +++ b/ExportModule/Views/ExportView.xaml @@ -135,6 +135,7 @@ Background="White" AlternatingRowBackground="#F5F7FA" SelectionMode="Single" + SelectedItem="{Binding SelectedTestReport}" Margin="8">