302 lines
20 KiB
Plaintext
302 lines
20 KiB
Plaintext
|
|
<UserControl x:Class="YY.Admin.Views.RubberQuickTest.RubberQuickTestOperationView"
|
|||
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|||
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|||
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|||
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|||
|
|
xmlns:hc="https://handyorg.github.io/handycontrol"
|
|||
|
|
xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes"
|
|||
|
|
xmlns:prism="http://prismlibrary.com/"
|
|||
|
|
xmlns:lvc="clr-namespace:LiveChartsCore.SkiaSharpView.WPF;assembly=LiveChartsCore.SkiaSharpView.WPF"
|
|||
|
|
prism:ViewModelLocator.AutoWireViewModel="True"
|
|||
|
|
mc:Ignorable="d">
|
|||
|
|
|
|||
|
|
<UserControl.Resources>
|
|||
|
|
<Style x:Key="SectionBorderStyle" TargetType="Border">
|
|||
|
|
<Setter Property="CornerRadius" Value="8"/>
|
|||
|
|
<Setter Property="Background" Value="{DynamicResource ThirdlyRegionBrush}"/>
|
|||
|
|
<Setter Property="Padding" Value="12"/>
|
|||
|
|
<Setter Property="Margin" Value="0,0,0,10"/>
|
|||
|
|
</Style>
|
|||
|
|
<Style x:Key="SectionTitleStyle" TargetType="TextBlock">
|
|||
|
|
<Setter Property="FontSize" Value="14"/>
|
|||
|
|
<Setter Property="FontWeight" Value="SemiBold"/>
|
|||
|
|
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
|
|||
|
|
<Setter Property="Margin" Value="8,0,0,0"/>
|
|||
|
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
|||
|
|
</Style>
|
|||
|
|
</UserControl.Resources>
|
|||
|
|
|
|||
|
|
<Grid Margin="12">
|
|||
|
|
<Grid.RowDefinitions>
|
|||
|
|
<RowDefinition Height="64"/>
|
|||
|
|
<RowDefinition Height="*"/>
|
|||
|
|
<RowDefinition Height="56"/>
|
|||
|
|
</Grid.RowDefinitions>
|
|||
|
|
|
|||
|
|
<!-- 标题 -->
|
|||
|
|
<Border Grid.Row="0" Background="{DynamicResource RegionBrush}"
|
|||
|
|
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1" Margin="-12,0,-12,8">
|
|||
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="20,0">
|
|||
|
|
<Border Width="40" Height="40" CornerRadius="8" Background="{DynamicResource PrimaryBrush}" Margin="0,0,12,0">
|
|||
|
|
<md:PackIcon Kind="Flask" Width="22" Height="22" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|||
|
|
</Border>
|
|||
|
|
<StackPanel>
|
|||
|
|
<TextBlock Text="快检记录" FontSize="18" FontWeight="Bold"/>
|
|||
|
|
<TextBlock Text="密炼快检试验操作台" FontSize="12" Foreground="{DynamicResource SecondaryTextBrush}"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
|
|||
|
|
<!-- 主体 2:1 -->
|
|||
|
|
<Grid Grid.Row="1">
|
|||
|
|
<Grid.ColumnDefinitions>
|
|||
|
|
<ColumnDefinition Width="2*"/>
|
|||
|
|
<ColumnDefinition Width="12"/>
|
|||
|
|
<ColumnDefinition Width="*"/>
|
|||
|
|
</Grid.ColumnDefinitions>
|
|||
|
|
|
|||
|
|
<!-- 左侧:曲线 + 试验结果 -->
|
|||
|
|
<ScrollViewer Grid.Column="0" VerticalScrollBarVisibility="Auto">
|
|||
|
|
<StackPanel>
|
|||
|
|
<Border Style="{StaticResource SectionBorderStyle}">
|
|||
|
|
<StackPanel>
|
|||
|
|
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
|
|||
|
|
<Border Width="4" Height="18" CornerRadius="2" Background="#1890ff"/>
|
|||
|
|
<TextBlock Text="温度(℃)曲线" Style="{StaticResource SectionTitleStyle}"/>
|
|||
|
|
<Button Content="刷新演示" Command="{Binding RefreshChartDemoCommand}" Style="{StaticResource ButtonDefault}" Height="28" Padding="10,0" Margin="12,0,0,0"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
<TextBlock Text="{Binding ChartDemoHint}" FontSize="11" Foreground="{DynamicResource SecondaryTextBrush}" Margin="0,0,0,6"/>
|
|||
|
|
<Border Height="220" CornerRadius="4">
|
|||
|
|
<lvc:CartesianChart Series="{Binding TemperatureSeries}"
|
|||
|
|
XAxes="{Binding TemperatureXAxes}"
|
|||
|
|
YAxes="{Binding TemperatureYAxes}"
|
|||
|
|
LegendPosition="Top"/>
|
|||
|
|
</Border>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
|
|||
|
|
<Border Style="{StaticResource SectionBorderStyle}">
|
|||
|
|
<StackPanel>
|
|||
|
|
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
|
|||
|
|
<Border Width="4" Height="18" CornerRadius="2" Background="#1890ff"/>
|
|||
|
|
<TextBlock Text="S'(dNm)曲线" Style="{StaticResource SectionTitleStyle}"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
<Border Height="200" CornerRadius="4">
|
|||
|
|
<lvc:CartesianChart Series="{Binding TorqueSeries}"
|
|||
|
|
XAxes="{Binding TorqueXAxes}"
|
|||
|
|
YAxes="{Binding TorqueYAxes}"
|
|||
|
|
LegendPosition="Top"/>
|
|||
|
|
</Border>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
|
|||
|
|
<Border Style="{StaticResource SectionBorderStyle}">
|
|||
|
|
<StackPanel>
|
|||
|
|
<Grid Margin="0,0,0,8">
|
|||
|
|
<StackPanel Orientation="Horizontal">
|
|||
|
|
<Border Width="4" Height="18" CornerRadius="2" Background="#1890ff"/>
|
|||
|
|
<TextBlock Text="试验结果" Style="{StaticResource SectionTitleStyle}"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
|||
|
|
<Button Content="新增检验行" Command="{Binding AddInspectRowCommand}" Style="{StaticResource ButtonPrimary}" Height="28" Padding="10,0" Margin="0,0,8,0"/>
|
|||
|
|
<Button Content="删除选中行" Command="{Binding RemoveInspectRowCommand}" Style="{StaticResource ButtonDanger}" Height="28" Padding="10,0"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Grid>
|
|||
|
|
<DataGrid x:Name="InspectResultGrid"
|
|||
|
|
ItemsSource="{Binding InspectRows}"
|
|||
|
|
AutoGenerateColumns="False"
|
|||
|
|
CanUserAddRows="False"
|
|||
|
|
CanUserDeleteRows="False"
|
|||
|
|
HeadersVisibility="Column"
|
|||
|
|
MinHeight="160"
|
|||
|
|
SelectionMode="Single"
|
|||
|
|
IsReadOnly="False"
|
|||
|
|
SelectionChanged="InspectResultGrid_SelectionChanged">
|
|||
|
|
</DataGrid>
|
|||
|
|
<TextBlock Text="请手填各数据点检测值,系统将根据数据标准上下限自动判定合格/不合格" FontSize="11" Foreground="{DynamicResource SecondaryTextBrush}" Margin="0,6,0,0"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
</StackPanel>
|
|||
|
|
</ScrollViewer>
|
|||
|
|
|
|||
|
|
<!-- 右侧 -->
|
|||
|
|
<ScrollViewer Grid.Column="2" VerticalScrollBarVisibility="Auto">
|
|||
|
|
<StackPanel>
|
|||
|
|
<!-- 实时数据 -->
|
|||
|
|
<Border Style="{StaticResource SectionBorderStyle}">
|
|||
|
|
<StackPanel>
|
|||
|
|
<StackPanel Orientation="Horizontal" Margin="0,0,0,12">
|
|||
|
|
<Border Width="4" Height="18" CornerRadius="2" Background="#52c41a"/>
|
|||
|
|
<TextBlock Text="实时数据" Style="{StaticResource SectionTitleStyle}"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
<Grid>
|
|||
|
|
<Grid.RowDefinitions>
|
|||
|
|
<RowDefinition/>
|
|||
|
|
<RowDefinition/>
|
|||
|
|
<RowDefinition/>
|
|||
|
|
</Grid.RowDefinitions>
|
|||
|
|
<Grid.ColumnDefinitions>
|
|||
|
|
<ColumnDefinition Width="*"/>
|
|||
|
|
<ColumnDefinition Width="*"/>
|
|||
|
|
</Grid.ColumnDefinitions>
|
|||
|
|
<TextBlock Text="上模温度(℃)" Foreground="{DynamicResource SecondaryTextBrush}" Margin="0,0,0,4"/>
|
|||
|
|
<TextBlock Grid.Row="1" Text="{Binding UpperMoldTemp, StringFormat={}{0:N2}}" FontSize="28" FontWeight="Bold" FontFamily="Consolas"/>
|
|||
|
|
<TextBlock Grid.Column="1" Text="下模温度(℃)" Foreground="{DynamicResource SecondaryTextBrush}" Margin="0,0,0,4"/>
|
|||
|
|
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding LowerMoldTemp, StringFormat={}{0:N2}}" FontSize="28" FontWeight="Bold" FontFamily="Consolas"/>
|
|||
|
|
<TextBlock Grid.Row="2" Grid.Column="0" Text="S'(dNm)" Foreground="{DynamicResource SecondaryTextBrush}" Margin="0,12,0,4"/>
|
|||
|
|
<TextBlock Grid.Row="2" Grid.Column="0" Margin="0,32,0,0" Text="{Binding TorqueS, StringFormat={}{0:N2}}" FontSize="28" FontWeight="Bold" FontFamily="Consolas"/>
|
|||
|
|
</Grid>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
|
|||
|
|
<!-- 试验信息 -->
|
|||
|
|
<Border Style="{StaticResource SectionBorderStyle}">
|
|||
|
|
<StackPanel>
|
|||
|
|
<Grid Margin="0,0,0,12">
|
|||
|
|
<StackPanel Orientation="Horizontal">
|
|||
|
|
<Border Width="4" Height="18" CornerRadius="2" Background="#1890ff"/>
|
|||
|
|
<TextBlock Text="试验信息" Style="{StaticResource SectionTitleStyle}"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
<Button Content="刷新计划" Command="{Binding RefreshPlansCommand}"
|
|||
|
|
Style="{StaticResource ButtonDefault}" Height="26" Padding="8,0"
|
|||
|
|
HorizontalAlignment="Right" VerticalAlignment="Center"/>
|
|||
|
|
</Grid>
|
|||
|
|
|
|||
|
|
<hc:Row Gutter="10">
|
|||
|
|
<!-- 密炼日期 -->
|
|||
|
|
<hc:Col Span="12">
|
|||
|
|
<hc:DatePicker SelectedDate="{Binding MixingDate}"
|
|||
|
|
hc:InfoElement.Title="密炼日期"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Necessary="True"
|
|||
|
|
hc:InfoElement.Symbol="*"
|
|||
|
|
Margin="0,0,0,8"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
<!-- 密炼机台 -->
|
|||
|
|
<hc:Col Span="12">
|
|||
|
|
<hc:ComboBox ItemsSource="{Binding MachineOptions}"
|
|||
|
|
SelectedItem="{Binding SelectedMachine}"
|
|||
|
|
hc:InfoElement.Title="密炼机台"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Placeholder="请先选择密炼日期"
|
|||
|
|
hc:InfoElement.Necessary="True"
|
|||
|
|
hc:InfoElement.Symbol="*"
|
|||
|
|
Margin="0,0,0,8"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
<!-- 班次 -->
|
|||
|
|
<hc:Col Span="12">
|
|||
|
|
<hc:ComboBox ItemsSource="{Binding ShiftOptions}"
|
|||
|
|
SelectedItem="{Binding SelectedShift}"
|
|||
|
|
DisplayMemberPath="Name"
|
|||
|
|
hc:InfoElement.Title="班次"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Placeholder="请先选择机台"
|
|||
|
|
hc:InfoElement.Necessary="True"
|
|||
|
|
hc:InfoElement.Symbol="*"
|
|||
|
|
Margin="0,0,0,8"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
<!-- 密炼生产计划 -->
|
|||
|
|
<hc:Col Span="24">
|
|||
|
|
<hc:ComboBox ItemsSource="{Binding PlanOptions}"
|
|||
|
|
SelectedItem="{Binding SelectedPlan}"
|
|||
|
|
DisplayMemberPath="DisplayText"
|
|||
|
|
hc:InfoElement.Title="密炼计划"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Placeholder="按日期、机台、班次筛选后选择"
|
|||
|
|
hc:InfoElement.Necessary="True"
|
|||
|
|
hc:InfoElement.Symbol="*"
|
|||
|
|
Margin="0,0,0,8"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
<!-- 生产订单号 -->
|
|||
|
|
<hc:Col Span="12">
|
|||
|
|
<hc:TextBox Text="{Binding ProductionOrderNo, Mode=OneWay}"
|
|||
|
|
IsReadOnly="True"
|
|||
|
|
hc:InfoElement.Title="生产订单号"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Placeholder="选择计划后自动带出"
|
|||
|
|
hc:InfoElement.Necessary="True"
|
|||
|
|
hc:InfoElement.Symbol="*"
|
|||
|
|
Margin="0,0,0,8"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
<!-- 胶料名称 -->
|
|||
|
|
<hc:Col Span="12">
|
|||
|
|
<hc:TextBox Text="{Binding RubberMaterialName, Mode=OneWay}"
|
|||
|
|
IsReadOnly="True"
|
|||
|
|
hc:InfoElement.Title="胶料名称"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Placeholder="选择计划后自动带出"
|
|||
|
|
Margin="0,0,0,8"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
<!-- 车次 -->
|
|||
|
|
<hc:Col Span="12">
|
|||
|
|
<hc:TextBox Text="{Binding TrainNo, UpdateSourceTrigger=PropertyChanged}"
|
|||
|
|
hc:InfoElement.Title="车次"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Placeholder="手填车次"
|
|||
|
|
hc:InfoElement.Necessary="True"
|
|||
|
|
hc:InfoElement.Symbol="*"
|
|||
|
|
hc:InfoElement.ShowClearButton="True"
|
|||
|
|
Margin="0,0,0,8"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
<!-- 试验次数 -->
|
|||
|
|
<hc:Col Span="12">
|
|||
|
|
<hc:TextBox Text="{Binding InspectTimesText, UpdateSourceTrigger=PropertyChanged}"
|
|||
|
|
hc:InfoElement.Title="试验次数"
|
|||
|
|
hc:InfoElement.TitleWidth="90"
|
|||
|
|
hc:InfoElement.TitlePlacement="Left"
|
|||
|
|
hc:InfoElement.Placeholder="默认 1,可修改"
|
|||
|
|
hc:InfoElement.Necessary="True"
|
|||
|
|
hc:InfoElement.Symbol="*"
|
|||
|
|
hc:InfoElement.ShowClearButton="True"
|
|||
|
|
Margin="0,0,0,0"/>
|
|||
|
|
</hc:Col>
|
|||
|
|
</hc:Row>
|
|||
|
|
|
|||
|
|
<TextBlock Text="按密炼日期 → 机台 → 班次筛选生产计划;胶料名称用于匹配快检实验标准"
|
|||
|
|
FontSize="11"
|
|||
|
|
Foreground="{DynamicResource SecondaryTextBrush}"
|
|||
|
|
Margin="0,8,0,0"
|
|||
|
|
TextWrapping="Wrap"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
|
|||
|
|
<!-- 数据标准 -->
|
|||
|
|
<Border Style="{StaticResource SectionBorderStyle}">
|
|||
|
|
<StackPanel>
|
|||
|
|
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
|
|||
|
|
<Border Width="4" Height="18" CornerRadius="2" Background="#faad14"/>
|
|||
|
|
<TextBlock Text="数据标准" Style="{StaticResource SectionTitleStyle}"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
<DataGrid ItemsSource="{Binding DataPointColumns}"
|
|||
|
|
AutoGenerateColumns="False"
|
|||
|
|
IsReadOnly="True"
|
|||
|
|
HeadersVisibility="Column"
|
|||
|
|
MaxHeight="240">
|
|||
|
|
<DataGrid.Columns>
|
|||
|
|
<DataGridTextColumn Header="数据点" Binding="{Binding PointName}" Width="*"/>
|
|||
|
|
<DataGridTextColumn Header="下限值" Binding="{Binding LowerLimit}" Width="70"/>
|
|||
|
|
<DataGridTextColumn Header="上限值" Binding="{Binding UpperLimit}" Width="70"/>
|
|||
|
|
</DataGrid.Columns>
|
|||
|
|
</DataGrid>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
</StackPanel>
|
|||
|
|
</ScrollViewer>
|
|||
|
|
</Grid>
|
|||
|
|
|
|||
|
|
<!-- 底部操作 -->
|
|||
|
|
<Border Grid.Row="2" Background="{DynamicResource RegionBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,1,0,0" Margin="-12,8,-12,-12">
|
|||
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="20,0">
|
|||
|
|
<Button Content="保存快检记录" Command="{Binding SaveCommand}" Style="{StaticResource ButtonPrimary}" Height="36" Width="140"/>
|
|||
|
|
</StackPanel>
|
|||
|
|
</Border>
|
|||
|
|
</Grid>
|
|||
|
|
</UserControl>
|