This commit is contained in:
GukSang.Jin
2026-06-03 19:02:23 +08:00
parent 9d55347ff3
commit fff560db5d

View File

@@ -15,7 +15,7 @@
WindowState="Maximized"
Width="1280"
Height="800"
MinWidth="1280"
MinWidth="1024"
MinHeight="720"
Title="鞋类 整鞋试验方法 防滑性能测定-GB/T 3903.6-2024"
Background="#F4F7FB"
@@ -62,7 +62,7 @@
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="Padding" Value="14"/>
<Setter Property="Padding" Value="10"/>
</Style>
<Style Selector="Border.header-panel">
@@ -82,7 +82,7 @@
</Style>
<Style Selector="TextBox, ComboBox">
<Setter Property="MinHeight" Value="38"/>
<Setter Property="MinHeight" Value="34"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="Background" Value="{StaticResource ControlFillBrush}"/>
<Setter Property="BorderBrush" Value="#C9D5E7"/>
@@ -130,6 +130,13 @@
<Setter Property="Padding" Value="10,6"/>
</Style>
<Style Selector="Button.side-action">
<Setter Property="MinHeight" Value="48"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Padding" Value="8,6"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
</Style>
<Style Selector="Button.title-icon">
<Setter Property="Width" Value="34"/>
<Setter Property="Height" Value="30"/>
@@ -187,11 +194,15 @@
</Style>
</suki:SukiWindow.Styles>
<Grid RowDefinitions="*" Margin="14">
<Grid Grid.Row="0" RowDefinitions="Auto,*" RowSpacing="14">
<Grid RowDefinitions="*"
Width="1264"
HorizontalAlignment="Left"
Margin="8"
ClipToBounds="True">
<Grid Grid.Row="0" RowDefinitions="Auto,Auto,*" RowSpacing="8">
<Border Classes="panel">
<Grid ColumnDefinitions="1.2*,1.15*" ColumnSpacing="18">
<Grid RowDefinitions="Auto,Auto,Auto" ColumnDefinitions="Auto,*,Auto,*" RowSpacing="10" ColumnSpacing="10">
<Grid ColumnDefinitions="1.2*,1.15*" ColumnSpacing="14">
<Grid RowDefinitions="Auto,Auto,Auto" ColumnDefinitions="Auto,*,Auto,*" RowSpacing="6" ColumnSpacing="8">
<TextBlock Text="试验编号" VerticalAlignment="Center" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBox Grid.Column="1" Text="{Binding TestNumber}"/>
<TextBlock Grid.Column="2" Text="操作人员" VerticalAlignment="Center" Foreground="{StaticResource TextSecondaryBrush}"/>
@@ -221,7 +232,7 @@
<TextBox Grid.Row="2" Grid.Column="3" Text="{Binding MethodName}"/>
</Grid>
<Grid Grid.Column="1" RowDefinitions="Auto,Auto,Auto" ColumnDefinitions="Auto,*" RowSpacing="10" ColumnSpacing="10">
<Grid Grid.Column="1" RowDefinitions="Auto,Auto,Auto" ColumnDefinitions="Auto,*" RowSpacing="6" ColumnSpacing="8">
<TextBlock Text="报告名称" VerticalAlignment="Center" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBox Grid.Column="1" Text="{Binding ReportName}" Watermark="例: 防滑性能报告"/>
<TextBlock Grid.Row="1" Text="样品特征" VerticalAlignment="Center" Foreground="{StaticResource TextSecondaryBrush}"/>
@@ -238,9 +249,59 @@
</Grid>
</Border>
<Grid Grid.Row="1" ColumnDefinitions="330,*,230" ColumnSpacing="14">
<Border Classes="panel">
<Grid RowDefinitions="Auto,Auto,Auto,*" RowSpacing="10">
<Border Grid.Row="1"
Background="{StaticResource PanelBrush}"
BorderBrush="{StaticResource LineBrush}"
BorderThickness="1"
CornerRadius="8"
Padding="8,4"
ClipToBounds="True">
<ScrollViewer HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Disabled"
ClipToBounds="True">
<StackPanel Orientation="Horizontal" Spacing="16">
<TextBlock Text="标准数据" FontWeight="SemiBold" VerticalAlignment="Center"/>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="设备状态" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding DeviceStatus}" FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="正压力(N)" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding VerticalPressure}" FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="摩擦力(N)" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding HorizontalForce}" FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="位移(mm)" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding Distance}" FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="实时系数" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding FrictionCoefficient}" FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="静摩擦系数" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding StaticCoefficient}" FontWeight="SemiBold" Foreground="#5B21B6" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="动摩擦系数" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding DynamicCoefficient}" FontWeight="SemiBold" Foreground="#047857" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBlock Text="结果" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding ResultSummary}" FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock Text="{Binding StandardReference}" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding CurrentStatus}" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center"/>
</StackPanel>
</ScrollViewer>
</Border>
<DockPanel Grid.Row="2" LastChildFill="True" MinHeight="0" ClipToBounds="True">
<Border DockPanel.Dock="Left" Width="280" Classes="panel" Margin="0,0,10,0">
<Grid RowDefinitions="Auto,Auto,*" RowSpacing="8">
<TextBlock Text="实时数据"
Classes="section-title"
HorizontalAlignment="Center"
@@ -251,8 +312,8 @@
BorderBrush="{StaticResource LineBrush}"
BorderThickness="1"
CornerRadius="8"
Padding="10">
<Grid ColumnDefinitions="*,92" ColumnSpacing="10">
Padding="8">
<Grid ColumnDefinitions="*,78" ColumnSpacing="8">
<Grid RowDefinitions="Auto,Auto" ColumnDefinitions="Auto,*,Auto" RowSpacing="8" ColumnSpacing="8">
<TextBlock Text="目标负荷" VerticalAlignment="Center" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Column="1" Text="{Binding TargetLoadText}" VerticalAlignment="Center" HorizontalAlignment="Right" FontWeight="SemiBold" Foreground="#1D4ED8"/>
@@ -263,131 +324,119 @@
<TextBlock Grid.Row="1" Grid.Column="2" Text="" VerticalAlignment="Center"/>
</Grid>
<Grid Grid.Column="1" RowDefinitions="Auto,Auto" ColumnDefinitions="Auto,*" RowSpacing="8" ColumnSpacing="8">
<Grid Grid.Column="1" RowDefinitions="Auto,Auto" ColumnDefinitions="Auto,*" RowSpacing="6" ColumnSpacing="6">
<Button Grid.ColumnSpan="2" Content="删除" Classes="danger compact" Command="{Binding DeleteSelectedSampleCommand}"/>
<TextBlock Grid.Row="1" Text="序号" VerticalAlignment="Center" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Row="1" Text="序号" VerticalAlignment="Center" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding SelectedSampleIndex}" MinHeight="34" FontSize="13" HorizontalContentAlignment="Center"/>
</Grid>
</Grid>
</Border>
<Grid Grid.Row="2" ColumnDefinitions="50,98,72,72" Background="#F0F5FB" Height="36">
<TextBlock Text="序号" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
<TextBlock Grid.Column="1" Text="时间" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
<TextBlock Grid.Column="2" Text="动系数" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
<TextBlock Grid.Column="3" Text="静系数" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
</Grid>
<ScrollViewer Grid.Row="2"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
ClipToBounds="True">
<StackPanel MinWidth="292">
<Grid ColumnDefinitions="50,98,72,72" Background="#F0F5FB" Height="36">
<TextBlock Text="序号" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
<TextBlock Grid.Column="1" Text="时间" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
<TextBlock Grid.Column="2" Text="动系数" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
<TextBlock Grid.Column="3" Text="静系数" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="SemiBold"/>
</Grid>
<ScrollViewer Grid.Row="3" VerticalScrollBarVisibility="Auto">
<ItemsControl ItemsSource="{Binding Samples}">
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="model:TestSample">
<Border BorderBrush="{StaticResource LineBrush}" BorderThickness="0,0,0,1" Padding="0,6">
<Grid ColumnDefinitions="50,98,72,72">
<TextBlock Text="{Binding Index}" HorizontalAlignment="Center" FontSize="15" Foreground="#334155"/>
<TextBlock Grid.Column="1" Text="{Binding Time}" HorizontalAlignment="Center" FontSize="15" Foreground="#1D4ED8"/>
<TextBlock Grid.Column="2" Text="{Binding DynamicCoefficient}" HorizontalAlignment="Center" FontSize="15" Foreground="#047857"/>
<TextBlock Grid.Column="3" Text="{Binding StaticCoefficient}" HorizontalAlignment="Center" FontSize="15" Foreground="#5B21B6"/>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<ItemsControl ItemsSource="{Binding Samples}">
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="model:TestSample">
<Border BorderBrush="{StaticResource LineBrush}" BorderThickness="0,0,0,1" Padding="0,6">
<Grid ColumnDefinitions="50,98,72,72">
<TextBlock Text="{Binding Index}" HorizontalAlignment="Center" FontSize="15" Foreground="#334155"/>
<TextBlock Grid.Column="1" Text="{Binding Time}" HorizontalAlignment="Center" FontSize="15" Foreground="#1D4ED8"/>
<TextBlock Grid.Column="2" Text="{Binding DynamicCoefficient}" HorizontalAlignment="Center" FontSize="15" Foreground="#047857"/>
<TextBlock Grid.Column="3" Text="{Binding StaticCoefficient}" HorizontalAlignment="Center" FontSize="15" Foreground="#5B21B6"/>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>
</Grid>
</Border>
<Border Grid.Column="1" Classes="panel" ClipToBounds="True">
<Grid RowDefinitions="32,*" RowSpacing="8">
<Grid ColumnDefinitions="*" ColumnSpacing="14" MinHeight="32" VerticalAlignment="Top">
<Border DockPanel.Dock="Right" Width="132" Classes="panel" ClipToBounds="True" Padding="8" Margin="10,0,0,0" MinHeight="0">
<ScrollViewer VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
ClipToBounds="True">
<StackPanel Spacing="8">
<TextBlock Text="控制"
Classes="section-title"
HorizontalAlignment="Center"
Margin="0,-2,0,0"/>
<Button Content="{Binding ResetButtonText}"
Classes="side-action"
Command="{Binding ClearCommand}"/>
<Button Content="{Binding TestButtonText}"
Classes="success side-action"
Command="{Binding StartTestCommand}"/>
<Button Content="停止"
Classes="danger side-action"
Command="{Binding StopTestCommand}"/>
<Button Content="导出"
Classes="primary side-action"
Command="{Binding ExportReportCommand}"/>
<Border Height="1" Background="{StaticResource LineBrush}" Margin="0,4"/>
<TextBlock Text="垂直架"
FontWeight="SemiBold"
HorizontalAlignment="Center"
Foreground="{StaticResource TextSecondaryBrush}"/>
<Button Content="提升"
Classes="motion side-action"
Command="{Binding LiftMotionCommand}"/>
<Button Content="下降"
Classes="motion side-action"
Command="{Binding LowerMotionCommand}"/>
<Border Height="1" Background="{StaticResource LineBrush}" Margin="0,4"/>
<TextBlock Text="水平板"
FontWeight="SemiBold"
HorizontalAlignment="Center"
Foreground="{StaticResource TextSecondaryBrush}"/>
<Button Content="左移"
Classes="motion side-action"
Command="{Binding MoveLeftMotionCommand}"/>
<Button Content="右移"
Classes="motion side-action"
Command="{Binding MoveRightMotionCommand}"/>
</StackPanel>
</ScrollViewer>
</Border>
<Border Classes="panel" ClipToBounds="True" MinHeight="0">
<Grid RowDefinitions="Auto,*" RowSpacing="8">
<Grid ColumnDefinitions="*" MinHeight="30" VerticalAlignment="Top">
<TextBlock Text="实时曲线" Classes="section-title" VerticalAlignment="Center"/>
</Grid>
<Border Grid.Row="1" Background="#FBFDFF" BorderBrush="{StaticResource LineBrush}" BorderThickness="1" CornerRadius="8" Padding="10" MinHeight="0">
<Border Grid.Row="1" Background="#FBFDFF" BorderBrush="{StaticResource LineBrush}" BorderThickness="1" CornerRadius="8" Padding="8" MinHeight="0">
<lvc:CartesianChart Series="{Binding Series}"
XAxes="{Binding XAxes}"
YAxes="{Binding YAxes}"
DrawMarginFrame="{Binding ChartFrame}"
LegendTextPaint="{Binding LegendTextPaint}"
LegendTextSize="10"
LegendPosition="Bottom"
DrawMarginFrame="{Binding ChartFrame}"
LegendTextPaint="{Binding LegendTextPaint}"
LegendTextSize="10"
LegendPosition="Bottom"
TooltipPosition="Top"
ZoomMode="X"/>
ZoomMode="X"
MinHeight="0"/>
</Border>
</Grid>
</Border>
<Border Grid.Column="2" Classes="panel">
<Grid RowDefinitions="Auto,Auto,Auto,Auto,*" RowSpacing="12">
<StackPanel Spacing="2">
<TextBlock Text="控制" Classes="section-title"/>
<TextBlock Text="试验执行与位置调整" Classes="caption"/>
</StackPanel>
<Grid Grid.Row="1" ColumnDefinitions="*,*" RowDefinitions="Auto,Auto" ColumnSpacing="10" RowSpacing="10">
<Button Content="{Binding ResetButtonText}" Classes="action" Command="{Binding ClearCommand}"/>
<Button Grid.Column="1" Content="{Binding TestButtonText}" Classes="success action" Command="{Binding StartTestCommand}"/>
<Button Grid.Row="1" Content="停止" Classes="danger action" Command="{Binding StopTestCommand}"/>
<Button Grid.Row="1" Grid.Column="1" Content="导出报告" Classes="primary action" Command="{Binding ExportReportCommand}"/>
</Grid>
<StackPanel Grid.Row="2" Spacing="8">
<TextBlock Text="垂直架" FontWeight="SemiBold"/>
<Grid ColumnDefinitions="*,*" ColumnSpacing="8">
<Button Content="提升"
Classes="motion compact"
Command="{Binding LiftMotionCommand}"/>
<Button Grid.Column="1"
Content="下降"
Classes="motion compact"
Command="{Binding LowerMotionCommand}"/>
</Grid>
</StackPanel>
<StackPanel Grid.Row="3" Spacing="8">
<TextBlock Text="水平板" FontWeight="SemiBold"/>
<Grid ColumnDefinitions="*,*" ColumnSpacing="8">
<Button Content="左移"
Classes="motion compact"
Command="{Binding MoveLeftMotionCommand}"/>
<Button Grid.Column="1"
Content="右移"
Classes="motion compact"
Command="{Binding MoveRightMotionCommand}"/>
</Grid>
</StackPanel>
<ScrollViewer Grid.Row="4"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
ClipToBounds="True">
<StackPanel Spacing="8">
<TextBlock Text="标准数据" FontWeight="SemiBold"/>
<Border Classes="metric">
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto" ColumnDefinitions="*,Auto" RowSpacing="7">
<TextBlock Text="设备状态" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Column="1" Text="{Binding DeviceStatus}" FontWeight="SemiBold"/>
<TextBlock Grid.Row="1" Text="正压力(N)" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding VerticalPressure}" FontWeight="SemiBold"/>
<TextBlock Grid.Row="2" Text="摩擦力(N)" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding HorizontalForce}" FontWeight="SemiBold"/>
<TextBlock Grid.Row="3" Text="位移(mm)" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding Distance}" FontWeight="SemiBold"/>
<TextBlock Grid.Row="4" Text="实时系数" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding FrictionCoefficient}" FontWeight="SemiBold"/>
<TextBlock Grid.Row="5" Text="静摩擦系数" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding StaticCoefficient}" FontWeight="SemiBold" Foreground="#5B21B6"/>
<TextBlock Grid.Row="6" Text="动摩擦系数" Foreground="{StaticResource TextSecondaryBrush}"/>
<TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding DynamicCoefficient}" FontWeight="SemiBold" Foreground="#047857"/>
</Grid>
</Border>
<TextBlock Text="{Binding ResultSummary}" TextWrapping="Wrap" Classes="caption"/>
</StackPanel>
</ScrollViewer>
</Grid>
</Border>
</Grid>
</DockPanel>
</Grid>
<Grid IsVisible="{Binding IsSettingsDialogOpen}"