Files
FATrace/FATrace.WPLApp/Views/DashboardView.xaml
2026-01-29 22:15:34 +08:00

893 lines
34 KiB
XML

<UserControl
x:Class="FATrace.WPLApp.Views.DashboardView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:FATrace.WPLApp.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prism="http://prismlibrary.com/"
d:DesignHeight="720"
d:DesignWidth="1580"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d">
<Grid Margin="12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="2*" />
</Grid.RowDefinitions>
<!-- 顶部统计卡片 -->
<Grid Grid.Row="0" Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border
Grid.Column="0"
Margin="0,0,10,0"
Padding="12"
Background="#F3F6FA"
BorderBrush="#DDE3EB"
BorderThickness="1"
CornerRadius="6">
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="0,0,6,0"
FontFamily="/Assets/Fonts/#iconfont"
FontSize="16"
Text="&#xeb2c;" />
<TextBlock
FontSize="14"
Foreground="#55657E"
Text="本日称重总量" />
</StackPanel>
<TextBlock
FontSize="26"
FontWeight="Bold"
Text="{Binding TodayWeight, StringFormat={}{0:N2} g}" />
</StackPanel>
</Border>
<Border
Grid.Column="1"
Margin="0,0,10,0"
Padding="12"
Background="#F3F6FA"
BorderBrush="#DDE3EB"
BorderThickness="1"
CornerRadius="6">
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="0,0,6,0"
FontFamily="/Assets/Fonts/#iconfont"
FontSize="16"
Text="&#xeb08;" />
<TextBlock
FontSize="14"
Foreground="#55657E"
Text="本月称重总量" />
</StackPanel>
<TextBlock
FontSize="26"
FontWeight="Bold"
Text="{Binding MonthWeight, StringFormat={}{0:N2} g}" />
</StackPanel>
</Border>
<Border
Grid.Column="2"
Margin="0,0,10,0"
Padding="12"
Background="#F3F6FA"
BorderBrush="#DDE3EB"
BorderThickness="1"
CornerRadius="6">
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="0,0,6,0"
FontFamily="/Assets/Fonts/#iconfont"
FontSize="16"
Text="&#xeb1a;" />
<TextBlock
FontSize="14"
Foreground="#55657E"
Text="本年称重总量" />
</StackPanel>
<TextBlock
FontSize="26"
FontWeight="Bold"
Text="{Binding YearWeight, StringFormat={}{0:N2} g}" />
</StackPanel>
</Border>
<Border
Grid.Column="3"
Margin="0,0,10,0"
Padding="12"
Background="#F3F6FA"
BorderBrush="#DDE3EB"
BorderThickness="1"
CornerRadius="6">
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="0,0,6,0"
FontFamily="/Assets/Fonts/#iconfont"
FontSize="16"
Text="&#xec1f;" />
<TextBlock
FontSize="14"
Foreground="#55657E"
Text="累计称重总量" />
</StackPanel>
<TextBlock
FontSize="26"
FontWeight="Bold"
Text="{Binding TotalWeight, StringFormat={}{0:N2} g}" />
</StackPanel>
</Border>
</Grid>
<!-- 中部:实时运行信息 + 右侧状态 -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- 实时信息 -->
<Border
Grid.Column="0"
Margin="0,0,10,0"
Padding="8"
Background="White"
BorderBrush="#DDE3EB"
BorderThickness="1"
CornerRadius="6">
<DockPanel>
<TextBlock
Margin="2,0,0,6"
DockPanel.Dock="Top"
FontSize="14"
FontWeight="Bold"
Text="实时运行信息(扫码/喷码)" />
<ListBox ItemsSource="{Binding LiveMessages}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock
FontFamily="Consolas"
FontSize="13"
Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>
</Border>
<!-- 右侧状态 -->
<Border
Grid.Column="1"
Padding="12"
Background="White"
BorderBrush="#DDE3EB"
BorderThickness="1"
CornerRadius="6">
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="0,0,6,0"
FontFamily="/Assets/Fonts/#iconfont"
FontSize="16"
Text="&#xec98;" />
<TextBlock
FontSize="14"
FontWeight="Bold"
Text="设备/通信状态" />
</StackPanel>
<StackPanel
Margin="0,8,0,0"
VerticalAlignment="Center"
Orientation="Horizontal">
<Ellipse Width="14" Height="14">
<Ellipse.Style>
<Style TargetType="Ellipse">
<Setter Property="Fill" Value="#D9534F" />
<Style.Triggers>
<DataTrigger Binding="{Binding PlcConnected}" Value="True">
<Setter Property="Fill" Value="#5CB85C" />
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
<TextBlock VerticalAlignment="Center" Text=" PLC连接" />
</StackPanel>
<Separator Margin="0,10,0,10" />
<TextBlock Foreground="#55657E" Text="最近称重扫码" />
<TextBox
FontFamily="Consolas"
IsReadOnly="True"
Text="{Binding LatestWeightScanCode}" />
<TextBlock
Margin="0,8,0,0"
Foreground="#55657E"
Text="最近外箱扫码" />
<TextBox
FontFamily="Consolas"
IsReadOnly="True"
Text="{Binding LatestBoxScanCode}" />
</StackPanel>
</Border>
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<!-- 工艺图区域 -->
<Border
Grid.ColumnSpan="2"
Margin="0,10,0,0"
Padding="12"
Background="#F9FAFB"
BorderBrush="#DDE3EB"
BorderThickness="1"
CornerRadius="6" />
<Canvas Margin="0,0,0,0">
<Rectangle
Canvas.Left="53"
Canvas.Top="136"
Width="62"
Height="97"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="181.5"
Canvas.Top="321.709"
Width="62"
Height="11"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="181.5"
Canvas.Top="331.71"
Width="62"
Height="11"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="181.5"
Canvas.Top="341.711"
Width="62"
Height="11"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="181.5"
Canvas.Top="351.795"
Width="62"
Height="11"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="181.5"
Canvas.Top="361.713"
Width="62"
Height="11"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="175"
Canvas.Top="263.709"
Width="75"
Height="57"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="249"
Canvas.Top="278.959"
Width="10"
Height="26"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Label
Canvas.Left="185.63"
Canvas.Top="279.719"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="X光机器" />
<Rectangle
Canvas.Left="166"
Canvas.Top="278.959"
Width="10"
Height="26"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Path
Canvas.Left="239.5"
Canvas.Top="122.633"
Width="1"
Height="1"
Fill="#FFF4F4F5"
Stretch="Fill"
Stroke="Black">
<Path.Data>
<PathGeometry Figures="M239.5,122.63333" />
</Path.Data>
</Path>
<Rectangle
Canvas.Left="281.75"
Canvas.Top="132.959"
Width="144"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="290"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="299.001"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="308.002"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="317.003"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="326.004"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="335.01"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="344.011"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="353.003"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="362.004"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="371.005"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="380.006"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="389.007"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="398.013"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="407.014"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="424.751"
Canvas.Top="132.959"
Width="70"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="556.751"
Canvas.Top="132.959"
Width="297"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="493.742"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="502.743"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="511.744"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="520.75"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="529.751"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="538.744"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="547.75"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="564.992"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="573.993"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="582.994"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="592"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="601.001"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="609.994"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="619"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="627.993"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="636.5"
Canvas.Top="132.893"
Width="54"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="772.34"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="781.333"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="790.339"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="799.332"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="808.333"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="817.339"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="826.34"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="835.333"
Canvas.Top="132.959"
Width="10"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="511.744"
Canvas.Top="194.293"
Width="70"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="852.751"
Canvas.Top="132.959"
Width="70"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="852.751"
Canvas.Top="194.293"
Width="70"
Height="98"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Rectangle
Canvas.Left="929.5"
Canvas.Top="332.893"
Width="70"
Height="62"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Stroke="Black" />
<Path
Canvas.Left="174.996"
Canvas.Top="132.775"
Width="107"
Height="132"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Fill="#FFF4F4F5"
Stretch="Fill"
Stroke="Black">
<Path.Data>
<PathGeometry Figures="M173,151.13333 C173,151.13333 159,22.133665 278.5,19.633665" />
</Path.Data>
</Path>
<Path
Canvas.Left="248.24"
Canvas.Top="193.775"
Width="34"
Height="71"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Fill="#FFF4F4F5"
Stretch="Fill"
Stroke="Black">
<Path.Data>
<PathGeometry Figures="M247,150.63333 C247,150.63333 236,92.633665 279,80.633665" />
</Path.Data>
</Path>
<Label
Canvas.Left="437.5"
Canvas.Top="149.893"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="称重机" />
<Label
Canvas.Left="525.75"
Canvas.Top="216.655"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="控制柜" />
<Label
Canvas.Left="705.251"
Canvas.Top="151.339"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="封箱机" />
<Label
Canvas.Left="852.5"
Canvas.Top="233.893"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="喷码和扫码" />
<Label
Canvas.Left="61"
Canvas.Top="171"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Content="称重侧" />
<Label
Canvas.Left="943.744"
Canvas.Top="350.026"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="工作站" />
<Label
Canvas.Left="927.5"
Canvas.Top="191.893"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Background="SkyBlue"
Content="喷码数据"
FontSize="14"
FontWeight="Bold" />
<TextBlock
x:Name="喷码数据"
Canvas.Left="927.5"
Canvas.Top="222.893"
Padding="2"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Background="LimeGreen"
FontSize="12"
Text="{Binding LatestBoxSprayCode}"
TextWrapping="Wrap" />
<Label
Canvas.Left="928.5"
Canvas.Top="251.893"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Background="SkyBlue"
Content="外箱扫码数据"
FontSize="14"
FontWeight="Bold" />
<TextBlock
x:Name="外箱扫码数据"
Canvas.Left="929.5"
Canvas.Top="282.893"
Padding="2"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Background="LimeGreen"
FontSize="12"
Text="{Binding LatestBoxScanCode}"
TextWrapping="Wrap" />
<Label
Canvas.Left="634.5"
Canvas.Top="149.893"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="内包扫码" />
<Label
Canvas.Left="639.5"
Canvas.Top="71.893"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Background="SkyBlue"
Content="内包扫码数据"
FontSize="14"
FontWeight="Bold" />
<TextBlock
x:Name="内包扫码数据"
Canvas.Left="639.5"
Canvas.Top="103.893"
Padding="2"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Background="LimeGreen"
FontSize="12"
Text="{Binding LatestWeightScanCode}"
TextWrapping="Wrap" />
<TextBlock
Canvas.Left="33"
Canvas.Top="37"
HorizontalAlignment="Center"
VerticalAlignment="Top"
FontFamily="/Assets/Fonts/#iconfont"
FontSize="40"
Foreground="DeepSkyBlue"
Text="&#xe9f4;" />
<Label
Canvas.Left="83"
Canvas.Top="32"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Content="布局概要图"
FontSize="32"
FontWeight="Bold"
Foreground="Gray" />
</Canvas>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>
<StackPanel Margin="10" Orientation="Horizontal">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="/Assets/Fonts/#iconfont"
FontSize="40"
Foreground="DeepSkyBlue"
Text="&#xe636;" />
<Label
Margin="10,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="提示"
FontSize="32"
FontWeight="Bold"
Foreground="Gray" />
</StackPanel>
<StackPanel Grid.Row="1">
<TextBlock>
<Run
FontSize="30"
FontWeight="Bold"
Foreground="DeepSkyBlue">
常见检查事项:
</Run><LineBreak /><LineBreak />
<Run FontSize="24">1.检查产线电气柜上电</Run><LineBreak />
<Run FontSize="24">2.检查软件是否打开</Run><LineBreak />
<Run FontSize="24">3.检查软件底部的状态</Run><LineBreak />
<Run FontSize="24">4.检查喷码器状态</Run><LineBreak />
</TextBlock>
</StackPanel>
</Grid>
</Grid>
</Grid>
</UserControl>