RecordPage.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <Page x:Class="SWRIS.Pages.RecordPage"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:SWRIS.Pages"
  7. FontFamily="{StaticResource PuHuiTiRegular}"
  8. xmlns:pu="https://opensource.panuon.com/wpf-ui"
  9. xmlns:cvt="clr-namespace:SWRIS.Converters"
  10. mc:Ignorable="d" Foreground="#FFFFFF"
  11. Height="1020" Width="1920" FontSize="20" KeepAlive="True"
  12. Title="RecordPage">
  13. <Page.Resources>
  14. <cvt:RiskLevelToColorConverter x:Key="RiskLevelToColorConverter"/>
  15. <cvt:RiskLevelToTextConverter x:Key="RiskLevelToTextConverter"/>
  16. </Page.Resources>
  17. <Grid Margin="25,20,25,7">
  18. <Grid.RowDefinitions>
  19. <RowDefinition Height="100"/>
  20. <RowDefinition Height="Auto"/>
  21. </Grid.RowDefinitions>
  22. <StackPanel Orientation="Vertical" Grid.Row="0" VerticalAlignment="Center">
  23. <StackPanel Orientation="Horizontal">
  24. <Label Content="钢丝绳" VerticalAlignment="Center" Foreground="#7886B2" Margin="5,0"/>
  25. <ComboBox ItemsSource="{Binding ViewModel.Ropes}" DisplayMemberPath="Value" SelectedValuePath="Key"
  26. SelectedValue="{Binding ViewModel.SearchInput.RopeNumber,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Margin="5,0"/>
  27. <Label Content="时间范围" VerticalAlignment="Center" Foreground="#7886B2"/>
  28. <pu:DateTimePicker SelectedDateTime="{Binding ViewModel.SearchInput.StartTime,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
  29. Margin="10,0,5,0" />
  30. <Rectangle Width="12" Height="3" Fill="#3B3B7B"/>
  31. <pu:DateTimePicker Margin="5,0" SelectedDateTime="{Binding ViewModel.SearchInput.EndTime,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"/>
  32. <Label Content="风险等级" VerticalAlignment="Center" Foreground="#7886B2" Margin="50,0,5,0"/>
  33. <ComboBox ItemsSource="{Binding ViewModel.RiskLevels}" DisplayMemberPath="Value" SelectedValuePath="Key"
  34. SelectedValue="{Binding ViewModel.SearchInput.RiskLevel,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Margin="5,0"/>
  35. <Button Content="查询" pu:ButtonHelper.CornerRadius="15" Margin="25,0" Click="Search_Click">
  36. <Button.Background>
  37. <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
  38. <GradientStop Color="#4E38F0 " Offset="0.6"/>
  39. <GradientStop Color="#736AFA " Offset="1.2"/>
  40. </LinearGradientBrush>
  41. </Button.Background>
  42. </Button>
  43. </StackPanel>
  44. <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="5,5">
  45. <Button Content="生成报告" Margin="5,0" Height="35" FontSize="18" pu:ButtonHelper.CornerRadius="12" Click="Batch_Report"/>
  46. <Button Content="批量删除" Margin="5,0" Height="35" FontSize="18" pu:ButtonHelper.CornerRadius="12" Click="Batch_Delete"/>
  47. <Button Content="批量导出" Margin="5,0" Height="35" FontSize="18" pu:ButtonHelper.CornerRadius="12" Click="Batch_Export"/>
  48. </StackPanel>
  49. </StackPanel>
  50. <StackPanel Grid.Row="1" Orientation="Vertical">
  51. <DataGrid Name="RecordDataGrid" Height="810" ItemsSource="{Binding ViewModel.Records,IsAsync=True}"
  52. AlternationCount="2" MouseDoubleClick="RecordDataGrid_MouseDoubleClick"
  53. pu:DataGridHelper.RowHeaderHoverBackground="Transparent">
  54. <DataGrid.RowStyle>
  55. <Style TargetType="DataGridRow">
  56. <Style.Triggers>
  57. <Trigger Property="AlternationIndex" Value="0">
  58. <Setter Property="Background" Value="#19183A"/>
  59. </Trigger>
  60. <Trigger Property="AlternationIndex" Value="1">
  61. <Setter Property="Background" Value="#202045"/>
  62. </Trigger>
  63. <Trigger Property="IsMouseOver" Value="True">
  64. <Setter Property="Background" Value="#29297b"/>
  65. </Trigger>
  66. <Trigger Property="IsSelected" Value="True">
  67. <Setter Property="Background" Value="#272771"/>
  68. </Trigger>
  69. </Style.Triggers>
  70. </Style>
  71. </DataGrid.RowStyle>
  72. <DataGrid.Columns>
  73. <!-- 添加复选框列 -->
  74. <DataGridTemplateColumn Width="50" IsReadOnly="True">
  75. <DataGridTemplateColumn.HeaderTemplate>
  76. <DataTemplate>
  77. <CheckBox x:Name="SelectAllCheckBox" HorizontalAlignment="Center" VerticalAlignment="Center"
  78. IsChecked="{Binding Path=DataContext.ViewModel.IsAllSelected,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}},Mode=TwoWay}"
  79. ToolTip="全选"/>
  80. </DataTemplate>
  81. </DataGridTemplateColumn.HeaderTemplate>
  82. <DataGridTemplateColumn.HeaderStyle>
  83. <Style TargetType="DataGridColumnHeader">
  84. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  85. <Setter Property="VerticalContentAlignment" Value="Center"/>
  86. <Setter Property="Background" Value="Transparent"/>
  87. <Setter Property="Height" Value="26"/>
  88. <Style.Triggers>
  89. <Trigger Property="IsMouseOver" Value="True">
  90. <Setter Property="Cursor" Value="Hand"/>
  91. </Trigger>
  92. </Style.Triggers>
  93. </Style>
  94. </DataGridTemplateColumn.HeaderStyle>
  95. <DataGridTemplateColumn.CellTemplate>
  96. <DataTemplate>
  97. <CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding IsSelected,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  98. </DataTemplate>
  99. </DataGridTemplateColumn.CellTemplate>
  100. </DataGridTemplateColumn>
  101. <DataGridTemplateColumn Width="250" IsReadOnly="True">
  102. <DataGridTemplateColumn.Header>
  103. <TextBlock Text="钢丝绳名称" />
  104. </DataGridTemplateColumn.Header>
  105. <DataGridTemplateColumn.CellTemplate>
  106. <DataTemplate>
  107. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0" FontWeight="Regular" Text="{Binding RopeName}"/>
  108. </DataTemplate>
  109. </DataGridTemplateColumn.CellTemplate>
  110. </DataGridTemplateColumn>
  111. <DataGridTemplateColumn Width="220" IsReadOnly="True">
  112. <DataGridTemplateColumn.Header>
  113. <TextBlock Text="开始时间"/>
  114. </DataGridTemplateColumn.Header>
  115. <DataGridTemplateColumn.CellTemplate>
  116. <DataTemplate>
  117. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0" FontWeight="Regular"
  118. Text="{Binding StartTime,StringFormat='{}{0:yyyy-MM-dd HH:mm:ss}'}"/>
  119. </DataTemplate>
  120. </DataGridTemplateColumn.CellTemplate>
  121. </DataGridTemplateColumn>
  122. <DataGridTemplateColumn Width="220" IsReadOnly="True">
  123. <DataGridTemplateColumn.Header>
  124. <TextBlock Text="结束时间"/>
  125. </DataGridTemplateColumn.Header>
  126. <DataGridTemplateColumn.CellTemplate>
  127. <DataTemplate>
  128. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0" FontWeight="Regular"
  129. Text="{Binding EndTime,StringFormat='{}{0:yyyy-MM-dd HH:mm:ss}'}"/>
  130. </DataTemplate>
  131. </DataGridTemplateColumn.CellTemplate>
  132. </DataGridTemplateColumn>
  133. <DataGridTemplateColumn Width="140" SortMemberPath="RiskLevel">
  134. <DataGridTemplateColumn.Header>
  135. <TextBlock Text="风险等级"/>
  136. </DataGridTemplateColumn.Header>
  137. <DataGridTemplateColumn.CellTemplate>
  138. <DataTemplate>
  139. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0"
  140. Text="{Binding RiskLevel,Converter={StaticResource RiskLevelToTextConverter}}"
  141. Foreground="{Binding RiskLevel,Converter={StaticResource RiskLevelToColorConverter}}"/>
  142. </DataTemplate>
  143. </DataGridTemplateColumn.CellTemplate>
  144. </DataGridTemplateColumn>
  145. <DataGridTemplateColumn Width="150" SortMemberPath="StartPoint">
  146. <DataGridTemplateColumn.Header>
  147. <TextBlock Text="检测起点"/>
  148. </DataGridTemplateColumn.Header>
  149. <DataGridTemplateColumn.CellTemplate>
  150. <DataTemplate>
  151. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0" FontWeight="Regular">
  152. <Run Text="{Binding StartPoint,StringFormat=#0.00}"/>
  153. <Run>米</Run>
  154. </TextBlock>
  155. </DataTemplate>
  156. </DataGridTemplateColumn.CellTemplate>
  157. </DataGridTemplateColumn>
  158. <DataGridTemplateColumn Width="150" SortMemberPath="DetectionLength">
  159. <DataGridTemplateColumn.Header>
  160. <TextBlock Text="检测长度"/>
  161. </DataGridTemplateColumn.Header>
  162. <DataGridTemplateColumn.CellTemplate>
  163. <DataTemplate>
  164. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0" FontWeight="Regular">
  165. <Run Text="{Binding DetectionLength,StringFormat=#0.00}" />
  166. <Run>米</Run>
  167. </TextBlock>
  168. </DataTemplate>
  169. </DataGridTemplateColumn.CellTemplate>
  170. </DataGridTemplateColumn>
  171. <DataGridTemplateColumn Width="150" SortMemberPath="LightAlarmCount">
  172. <DataGridTemplateColumn.Header>
  173. <TextBlock Text="检测速度" />
  174. </DataGridTemplateColumn.Header>
  175. <DataGridTemplateColumn.CellTemplate>
  176. <DataTemplate>
  177. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0" FontWeight="Regular">
  178. <Run Text="{Binding DetectedSpeed,StringFormat=#0.00}" />
  179. <Run>m/s</Run>
  180. </TextBlock>
  181. </DataTemplate>
  182. </DataGridTemplateColumn.CellTemplate>
  183. </DataGridTemplateColumn>
  184. <DataGridTemplateColumn Width="150" SortMemberPath="HeavyAlarmCount">
  185. <DataGridTemplateColumn.Header>
  186. <TextBlock Text="损伤数量"/>
  187. </DataGridTemplateColumn.Header>
  188. <DataGridTemplateColumn.CellTemplate>
  189. <DataTemplate>
  190. <TextBlock HorizontalAlignment="Center" Margin="0,0,10,0" FontWeight="Regular">
  191. <Run Text="{Binding DamageCount}" />
  192. <Run>处</Run>
  193. </TextBlock>
  194. </DataTemplate>
  195. </DataGridTemplateColumn.CellTemplate>
  196. </DataGridTemplateColumn>
  197. <DataGridTemplateColumn Width="350">
  198. <DataGridTemplateColumn.Header>
  199. <TextBlock Text="操作"/>
  200. </DataGridTemplateColumn.Header>
  201. <DataGridTemplateColumn.CellTemplate>
  202. <DataTemplate>
  203. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  204. <Button Content="生成报告" Background="Transparent" Tag="{Binding}" Foreground="#615CDD" Width="130"
  205. Click="Report_Click" FontWeight="Medium" FontFamily="{StaticResource PuHuiTiRegular}"
  206. VerticalAlignment="Center" pu:ButtonHelper.Icon="&#xe9c4;"
  207. pu:IconHelper.FontSize="17" pu:IconHelper.FontFamily="{StaticResource PanuonIconFont}"/>
  208. <Button Content="删除" Background="Transparent" Tag="{Binding Id}" Foreground="#615CDD" Width="80"
  209. Click="Delete_Click" Margin="10,0,0,0" FontWeight="Medium" FontFamily="{StaticResource PuHuiTiRegular}"
  210. VerticalAlignment="Center" pu:ButtonHelper.Icon="&#xe934;" pu:IconHelper.FontSize="17"
  211. pu:IconHelper.FontFamily="{StaticResource PanuonIconFont}"/>
  212. <Button Content="导出" Background="Transparent" Tag="{Binding}" Foreground="#615CDD" Width="80"
  213. Click="Export_Click" Margin="10,0,0,0" FontWeight="Medium" FontFamily="{StaticResource PuHuiTiRegular}"
  214. VerticalAlignment="Center" pu:ButtonHelper.Icon="&#xe9E2;" pu:IconHelper.FontSize="17"
  215. pu:IconHelper.FontFamily="{StaticResource PanuonIconFont}"/>
  216. </StackPanel>
  217. </DataTemplate>
  218. </DataGridTemplateColumn.CellTemplate>
  219. </DataGridTemplateColumn>
  220. </DataGrid.Columns>
  221. </DataGrid>
  222. </StackPanel>
  223. </Grid>
  224. </Page>