ViewDView.axaml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:vm="using:YZWater.Core.ViewModels"
  4. x:Class="YZWater.Avalonia.Views.ViewDView"
  5. x:DataType="vm:ViewDViewModel">
  6. <UserControl.DataContext>
  7. <vm:ViewDViewModel/>
  8. </UserControl.DataContext>
  9. <Border Background="{DynamicResource AppBgBrush}">
  10. <Grid RowDefinitions="48,*,32">
  11. <!-- 椤堕儴 -->
  12. <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
  13. <Grid Margin="16,0">
  14. <StackPanel Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
  15. <Border Background="{DynamicResource DangerBrush}" Width="3" Height="20" CornerRadius="1"/>
  16. <TextBlock Text="ALARM LOG" FontFamily="{DynamicResource MonoFont}" FontSize="16" FontWeight="Bold"
  17. Foreground="{DynamicResource TextPrimaryBrush}" VerticalAlignment="Center"/>
  18. <TextBlock Text="鎶ヨ鍘嗗彶璁板綍" FontSize="12" Foreground="{DynamicResource TextTertiaryBrush}" VerticalAlignment="Center"/>
  19. <Border Background="{DynamicResource DangerBrush}" CornerRadius="10" Padding="8,2" Margin="8,0,0,0">
  20. <TextBlock Text="{Binding UnconfirmedCount, StringFormat='{}{0}'}" FontFamily="{DynamicResource MonoFont}" FontSize="11"
  21. Foreground="White"/>
  22. </Border>
  23. </StackPanel>
  24. </Grid>
  25. </Border>
  26. <!-- 鍐呭 -->
  27. <Grid Grid.Row="1" RowDefinitions="Auto,*,Auto" Margin="8,4">
  28. <!-- 鏌ヨ鏉′欢 -->
  29. <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2"
  30. BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Padding="12" Margin="0,0,0,4">
  31. <StackPanel Orientation="Horizontal" Spacing="16">
  32. <StackPanel Orientation="Horizontal" Spacing="6">
  33. <TextBlock Text="FROM" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}" VerticalAlignment="Center"/>
  34. <DatePicker SelectedDate="{Binding StartDate}" Width="150"/>
  35. </StackPanel>
  36. <StackPanel Orientation="Horizontal" Spacing="6">
  37. <TextBlock Text="TO" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}" VerticalAlignment="Center"/>
  38. <DatePicker SelectedDate="{Binding EndDate}" Width="150"/>
  39. </StackPanel>
  40. <Button Content="QUERY" Command="{Binding LoadAlarmRecordsCommand}" Classes="btn-info"/>
  41. <Button Content="EXPORT" Command="{Binding ExportAlarmsCommand}" Classes="btn-success"/>
  42. <Button Content="ACK ALL" Command="{Binding ConfirmAllAlarmsCommand}" Classes="btn-warning"/>
  43. <Button Content="PURGE" Command="{Binding ClearHistoryCommand}" Classes="btn-danger"/>
  44. </StackPanel>
  45. </Border>
  46. <!-- 鎶ヨ鍒楄〃 -->
  47. <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2"
  48. BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Padding="8" Margin="0,0,0,4">
  49. <DataGrid ItemsSource="{Binding AlarmRecords}" AutoGenerateColumns="False" IsReadOnly="True"
  50. SelectedItem="{Binding SelectedRecord}">
  51. <DataGrid.Columns>
  52. <DataGridTextColumn Header="TIME" Binding="{Binding AlarmTime, StringFormat='{}{0:yyyy-MM-dd HH:mm:ss}'}" Width="160"/>
  53. <DataGridTextColumn Header="TYPE" Binding="{Binding AlarmType}" Width="100"/>
  54. <DataGridTextColumn Header="MESSAGE" Binding="{Binding AlarmMessage}" Width="250"/>
  55. <DataGridTextColumn Header="VALUE" Binding="{Binding AlarmValue, StringFormat='{}{0:F1}'}" Width="80"/>
  56. <DataGridTextColumn Header="LEVEL" Binding="{Binding AlarmLevel}" Width="60"/>
  57. <DataGridCheckBoxColumn Header="ACK" Binding="{Binding IsConfirmed}" Width="60"/>
  58. <DataGridTextColumn Header="ACK TIME" Binding="{Binding ConfirmedTime, StringFormat='{}{0:yyyy-MM-dd HH:mm:ss}'}" Width="160"/>
  59. <DataGridTextColumn Header="ACK BY" Binding="{Binding ConfirmedBy}" Width="80"/>
  60. </DataGrid.Columns>
  61. </DataGrid>
  62. </Border>
  63. <!-- 鎶ヨ璇︽儏 -->
  64. <Border Grid.Row="1" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2"
  65. BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Padding="12"
  66. IsVisible="{Binding SelectedRecord, Converter={x:Static ObjectConverters.IsNotNull}}">
  67. <Grid ColumnDefinitions="80,*" RowDefinitions="Auto,Auto,Auto,Auto">
  68. <TextBlock Grid.Row="0" Grid.Column="0" Text="TIME" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
  69. <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding DetailTime}"
  70. FontFamily="{DynamicResource MonoFont}" FontSize="11" Foreground="{DynamicResource TextPrimaryBrush}"/>
  71. <TextBlock Grid.Row="1" Grid.Column="0" Text="TYPE" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
  72. <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding DetailType}"
  73. FontFamily="{DynamicResource MonoFont}" FontSize="11" Foreground="{DynamicResource WarningBrush}"/>
  74. <TextBlock Grid.Row="2" Grid.Column="0" Text="MESSAGE" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
  75. <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding DetailMessage}"
  76. FontFamily="{DynamicResource MonoFont}" FontSize="11" Foreground="{DynamicResource DangerBrush}"/>
  77. <TextBlock Grid.Row="3" Grid.Column="0" Text="LEVEL" FontFamily="{DynamicResource MonoFont}" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
  78. <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding DetailLevel}"
  79. FontFamily="{DynamicResource MonoFont}" FontSize="11" Foreground="{DynamicResource TextPrimaryBrush}"/>
  80. </Grid>
  81. </Border>
  82. </Grid>
  83. <!-- 搴曢儴 -->
  84. <Border Grid.Row="2" Background="{DynamicResource SurfaceBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,1,0,0">
  85. <TextBlock Text="ALARM SYSTEM v1.0" FontFamily="{DynamicResource MonoFont}" FontSize="10"
  86. Foreground="{DynamicResource TextDisabledBrush}" VerticalAlignment="Center" Margin="16,0"/>
  87. </Border>
  88. </Grid>
  89. </Border>
  90. </UserControl>