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">