From 9ccf012ceca4ecaa760be849ba6adf8c9404dfac Mon Sep 17 00:00:00 2001 From: "GukSang.Jin" Date: Mon, 8 Jun 2026 18:08:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/MainWindowViewModel.cs | 46 ++++++++++++++++++- .../Views/MainWindow.axaml | 43 ++++++++++++++--- 2 files changed, 82 insertions(+), 7 deletions(-) diff --git a/Footwear Test methodsfor wholeshoe Slipresistanceperformance/ViewModels/MainWindowViewModel.cs b/Footwear Test methodsfor wholeshoe Slipresistanceperformance/ViewModels/MainWindowViewModel.cs index 756b7a8..46633e7 100644 --- a/Footwear Test methodsfor wholeshoe Slipresistanceperformance/ViewModels/MainWindowViewModel.cs +++ b/Footwear Test methodsfor wholeshoe Slipresistanceperformance/ViewModels/MainWindowViewModel.cs @@ -67,6 +67,7 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.ViewModel private double runStartDisplacementMm; private double slidingStartDisplacementMm; private double? slidingStartTimeSeconds; + private int activeRunLubricantIndex; [ObservableProperty] private string testNumber = $"SLIP-{DateTime.Now:yyyyMMdd-HHmm}"; @@ -167,6 +168,18 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.ViewModel [ObservableProperty] private string resetButtonText = "复位"; + [ObservableProperty] + private int completedTestCount; + + [ObservableProperty] + private int dryTestCount; + + [ObservableProperty] + private int wetTestCount; + + [ObservableProperty] + private int frostTestCount; + [ObservableProperty] private string staticCoefficient = "0.00"; @@ -689,6 +702,7 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.ViewModel runStartDisplacementMm = deviceService.CurrentSnapshot.DisplacementMm; slidingStartDisplacementMm = runStartDisplacementMm; slidingStartTimeSeconds = null; + activeRunLubricantIndex = SelectedLubricantIndex; runStopwatch.Restart(); UploadProgress = 0; lastRealtimeCurveTraceLoggedAt = DateTime.MinValue; @@ -746,6 +760,7 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.ViewModel { runStopwatch.Stop(); LogRealtimeCurveSummary("测试停止"); + RecordCompletedTest(); if (!slidingStartTimeSeconds.HasValue) { Log.Warning( @@ -871,6 +886,33 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.ViewModel verdict); } + private void RecordCompletedTest() + { + CompletedTestCount++; + switch (activeRunLubricantIndex) + { + case 1: + case 2: + WetTestCount++; + break; + case 3: + FrostTestCount++; + break; + default: + DryTestCount++; + break; + } + + Log.Information( + "完整测试次数已更新:TestNumber={TestNumber}, Lubricant={Lubricant}, CompletedTestCount={CompletedTestCount}, DryTestCount={DryTestCount}, WetTestCount={WetTestCount}, FrostTestCount={FrostTestCount}", + TestNumber, + CurrentLubricant(activeRunLubricantIndex), + CompletedTestCount, + DryTestCount, + WetTestCount, + FrostTestCount); + } + private void AbortRun(string message) { runStopwatch.Stop(); @@ -1386,7 +1428,9 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.ViewModel _ => "250(含)以上" }; - private string CurrentLubricant() => SelectedLubricantIndex switch + private string CurrentLubricant() => CurrentLubricant(SelectedLubricantIndex); + + private static string CurrentLubricant(int lubricantIndex) => lubricantIndex switch { 1 => "湿态 - 蒸馏水", 2 => "湿态 - 洗涤剂", diff --git a/Footwear Test methodsfor wholeshoe Slipresistanceperformance/Views/MainWindow.axaml b/Footwear Test methodsfor wholeshoe Slipresistanceperformance/Views/MainWindow.axaml index 3ca1fcb..57d4257 100644 --- a/Footwear Test methodsfor wholeshoe Slipresistanceperformance/Views/MainWindow.axaml +++ b/Footwear Test methodsfor wholeshoe Slipresistanceperformance/Views/MainWindow.axaml @@ -249,13 +249,44 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -