You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

607 lines
34 KiB
Plaintext

<UserControl x:Class="Txgy.EWS.Client.PageModule.Views.ReportView"
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:local="clr-namespace:Txgy.EWS.Client.PageModule.Views"
xmlns:prism="http://prismlibrary.com/"
xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:converter="clr-namespace:Txgy.EWS.Client.Common.Converters;assembly=Txgy.EWS.Client.Common"
xmlns:oxy="http://oxyplot.org/wpf"
xmlns:myuc="clr-namespace:Txgy.Controls;assembly=Txgy.Controls"
x:Name="rView"
prism:ViewModelLocator.AutoWireViewModel="True"
d:DesignHeight="2000"
d:DesignWidth="1600"
Foreground="#FF673Ab7"
FontSize="14"
mc:Ignorable="d">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.DataGrid.xaml" />
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml" />
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml" />
</ResourceDictionary.MergedDictionaries>
<converter:EnumToCheckedConverter x:Key="EnumToCheckedConverter" />
<converter:RadioToBoolConverter x:Key="radioToBoolConverter" />
<converter:SourceCharaInt2StringConverter x:Key="sourecCharaIntToStringConverter" />
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="300" MinHeight="300" />
<RowDefinition />
</Grid.RowDefinitions>
<!-- 数据导出 -->
<md:Card Margin="5,0,5,5"
UniformCornerRadius="5"
Background="White">
<StackPanel Margin="10" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="10"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="起始日期"
FontSize="16" />
<!--<DatePicker Width="120" SelectedDate="{Binding ReportStartTime}">
<DatePicker.Resources>
<Style TargetType="DatePicker">
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBox x:Name="PART_TextBox" Text="{Binding Path=SelectedDate, StringFormat={}{0:yyyy年MM月dd日}, RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DatePicker.Resources>
</DatePicker>-->
<hc:DatePicker Width="140"
Height="36"
Margin="10,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
DisplayDate="{Binding ReportStartTime, StringFormat={}{0:yyyy-MM-dd}}"
SelectedDate="{Binding ReportStartTime, StringFormat={}{0:yyyy-MM-dd}}" />
<TextBlock Margin="10"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="结束日期"
FontSize="16" />
<hc:DatePicker Width="140"
Height="36"
Margin="10,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
DisplayDate="{Binding ReportEndTime, StringFormat={}{0:yyyy-MM-dd}}"
SelectedDate="{Binding ReportEndTime, StringFormat={}{0:yyyy-MM-dd}}">
</hc:DatePicker>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="10"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最小震级"
FontSize="16" />
<hc:NumericUpDown Width="78"
Margin="10"
VerticalAlignment="Center"
FontSize="12"
Foreground="#FF673Ab7"
DecimalPlaces="2"
Increment="0.1"
Maximum="0"
Minimum="-3.0"
Value="{Binding ReportMinML}" />
<TextBlock Margin="10,0,10,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最大震级"
FontSize="16" />
<hc:NumericUpDown Width="78"
Margin="10"
VerticalAlignment="Center"
FontSize="12"
Foreground="#FF673Ab7"
DecimalPlaces="2"
Increment="0.1"
Maximum="0"
Minimum="-3.0"
Value="{Binding ReportMaxML}" />
<TextBlock Margin="10,0,10,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="中等能量"
FontSize="16" />
<TextBox Width="60"
Margin="10,0,0,0"
VerticalAlignment="Center"
FontSize="12"
Foreground="#FF673Ab7"
Text="{Binding MiddleEnergy}"
TextAlignment="Right" />
<TextBlock VerticalAlignment="Center" Text="J" />
</StackPanel>
</StackPanel>
</md:Card>
<!-- 数据筛选 -->
<md:Card Margin="5,0"
UniformCornerRadius="5"
Background="White">
<StackPanel Margin="10">
<StackPanel Margin="15,5" Orientation="Horizontal">
<CheckBox HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="时间范围"
IsChecked="{Binding TimeFC.IsUse}" />
<TextBlock Margin="60,0,5,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="开始时间" />
<hc:DateTimePicker x:Name="dpStartTime"
Width="220"
Height="36"
HorizontalAlignment="Center"
VerticalAlignment="Center"
DisplayDateTime="{Binding TimeFC.Cond1}"
SelectedDateTime="{Binding TimeFC.Cond1}"
FontSize="14" />
<TextBlock Grid.Column="3"
Margin="74,0,5,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="结束时间" />
<hc:DateTimePicker x:Name="dpEntTime"
Grid.Column="4"
Width="220"
Height="36"
VerticalAlignment="Center"
DisplayDateTime="{Binding TimeFC.Cond2}"
SelectedDateTime="{Binding TimeFC.Cond2}"
FontSize="14" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Grid Margin="10,0">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
<ColumnDefinition Width="60" />
<ColumnDefinition Width="140" />
<ColumnDefinition Width="60" />
<ColumnDefinition Width="140" />
</Grid.ColumnDefinitions>
<CheckBox Grid.Row="0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="震级范围"
IsChecked="{Binding MLFC.IsUse}" />
<TextBlock Grid.Row="0"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text=" 最小值" />
<TextBox Grid.Row="0"
Grid.Column="2"
Width="100"
Height="36"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding MLFC.Cond2}" />
<TextBlock Grid.Row="0"
Grid.Column="3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最大值" />
<TextBox Grid.Row="0"
Grid.Column="4"
Width="100"
Height="36"
Margin="0,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding MLFC.Cond1}" />
<CheckBox Grid.Row="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsEnabled="False"
Content="能量范围"
IsChecked="{Binding EnergyFC.IsUse}" />
<TextBlock Grid.Row="1"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最小值" />
<TextBox Grid.Row="1"
Grid.Column="2"
Width="100"
Height="36"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding EnergyFC.Cond2}" />
<TextBlock Grid.Row="1"
Grid.Column="3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最大值" />
<TextBox Grid.Row="1"
Grid.Column="4"
Width="100"
Height="36"
Margin="0,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding EnergyFC.Cond1}" />
<CheckBox Grid.Row="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="深度限定"
IsChecked="{Binding DepthFC.IsUse}" />
<TextBlock Grid.Row="2"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最小值" />
<TextBox Grid.Row="2"
Grid.Column="2"
Width="100"
Height="36"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding DepthFC.Cond2}" />
<TextBlock Grid.Row="2"
Grid.Column="3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最大值" />
<TextBox Grid.Row="2"
Grid.Column="4"
Width="100"
Height="36"
Margin="0,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding DepthFC.Cond1}" />
<CheckBox Grid.Row="3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="东西限定"
IsChecked="{Binding EastFC.IsUse}" />
<TextBlock Grid.Row="3"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最小值" />
<TextBox Grid.Row="3"
Grid.Column="2"
Width="100"
Height="36"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding EastFC.Cond2}" />
<TextBlock Grid.Row="3"
Grid.Column="3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最大值" />
<TextBox Grid.Row="3"
Grid.Column="4"
Width="100"
Height="36"
Margin="0,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding EastFC.Cond1}" />
<CheckBox Grid.Row="4"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="南北限定"
IsChecked="{Binding NorthFC.IsUse}" />
<TextBlock Grid.Row="5"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最小值" />
<TextBox Grid.Row="4"
Grid.Column="2"
Width="100"
Height="36"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding NorthFC.Cond2}" />
<TextBlock Grid.Row="4"
Grid.Column="3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="最大值" />
<TextBox Grid.Row="4"
Grid.Column="4"
Width="100"
Height="36"
Margin="0,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Right"
Text="{Binding NorthFC.Cond1}" />
</Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0"
Grid.ColumnSpan="5"
Margin="0,5,0,5"
HorizontalAlignment="Left">
<Border Margin="0,0,0,0"
BorderBrush="LightGray"
BorderThickness="1">
<WrapPanel>
<TextBlock Margin="10" Text="排序参数:" />
<StackPanel>
<StackPanel Orientation="Horizontal">
<RadioButton Margin="10"
Content="时间"
GroupName="SelectSortMode"
IsChecked="{Binding SelectSortMode, Mode=TwoWay, ConverterParameter=Time, Converter={StaticResource EnumToCheckedConverter}}" />
<RadioButton Margin="10"
Content="震级"
GroupName="SelectSortMode"
IsChecked="{Binding SelectSortMode, Mode=TwoWay, ConverterParameter=ML, Converter={StaticResource EnumToCheckedConverter}}" />
<RadioButton Margin="10"
Content="能量"
GroupName="SelectSortMode"
IsChecked="{Binding SelectSortMode, Mode=TwoWay, ConverterParameter=Energy, Converter={StaticResource EnumToCheckedConverter}}" />
<RadioButton Margin="10,10,20,10"
Content="深度"
GroupName="SelectSortMode"
IsChecked="{Binding SelectSortMode, Mode=TwoWay, ConverterParameter=Depth, Converter={StaticResource EnumToCheckedConverter}}" />
</StackPanel>
</StackPanel>
</WrapPanel>
</Border>
</WrapPanel>
<WrapPanel Grid.Row="1"
Margin="0,5,0,5"
HorizontalAlignment="Left">
<Border BorderBrush="LightGray" BorderThickness="1">
<WrapPanel>
<TextBlock Margin="10" Text="排序模式:" />
<RadioButton Margin="20,0,0,0"
Content="升序"
GroupName="SortMode"
IsChecked="{Binding SortMode, Mode=TwoWay, ConverterParameter=1, Converter={StaticResource radioToBoolConverter}}" />
<RadioButton Margin="20,0,10,0"
Content="降序"
GroupName="SortMode"
IsChecked="{Binding SortMode, Mode=TwoWay, ConverterParameter=-1, Converter={StaticResource radioToBoolConverter}}" />
</WrapPanel>
</Border>
<WrapPanel VerticalAlignment="Center">
<TextBlock VerticalAlignment="Center"
Text="中等能量:"
FontSize="16" />
<TextBox Width="60"
Height="20"
VerticalContentAlignment="Bottom"
d:Text="99999"
Text="{Binding MiddleEnergy}"
FontSize="12"
TextAlignment="Right" />
<TextBlock VerticalAlignment="Center" Text="J" />
</WrapPanel>
</WrapPanel>
<Grid Grid.Row="2" Grid.RowSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Button Width="70"
Height="34"
Content="查询"
FontSize="16"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Command="{Binding SelectEventListCommand}"
CommandParameter="{Binding ElementName=rView}"
Cursor="Hand" />
<Button Grid.Column="1"
Width="70"
Height="34"
Content="日报"
FontSize="16"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Command="{Binding SelectDayCommand}"
CommandParameter="{Binding ElementName=rView}"
Cursor="Hand" />
<Button Grid.Column="2"
Width="70"
Height="34"
Content="查询"
FontSize="16"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Command="{Binding ExportDayFileExcelCmd}"
CommandParameter="{Binding ElementName=contentStereo}"
Cursor="Hand" />
<Button Grid.Column="2"
Width="70"
Height="34"
Content="周报"
FontSize="16"
Command="{Binding ExportWeekListFileExcelCmd}"
CommandParameter="{Binding ElementName=contentStereo}"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Cursor="Hand" />
<Button Grid.Column="3"
Width="70"
Height="34"
Content="月报"
FontSize="16"
Style="{StaticResource MaterialDesignRaisedDarkButton}" />
<StackPanel Grid.Row="1"
Grid.ColumnSpan="3"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock VerticalAlignment="Center"
Text="事件总数:"
FontSize="16" />
<TextBlock VerticalAlignment="Center"
d:Text="11142"
Foreground="Black"
Text="{Binding SearchCount}"
FontSize="16" />
<TextBlock Margin="10,0,0,0"
Text="中等能量事件:"
FontSize="16" />
<TextBlock d:Text="1000"
Foreground="Black"
FontSize="16"
Text="{Binding MiddleEventCount}"
Cursor="" />
</StackPanel>
<Button Grid.Row="1"
Grid.Column="3"
Width="70"
Height="34"
Content="导出"
FontSize="16"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Command="{Binding ExportEventListFileExcelCmd}"
CommandParameter="{Binding ElementName=rView}" />
</Grid>
</Grid>
</StackPanel>
</StackPanel>
</md:Card>
<!--#region 事件列表-->
<md:Card Grid.Row="2"
Margin="5"
UniformCornerRadius="5"
Background="AliceBlue">
<ScrollViewer x:Name="scrolls"
Margin="5"
VerticalScrollBarVisibility="Auto">
<ScrollViewer.Content>
<StackPanel Cursor="">
<ListView Name="lvUsers"
Height="500"
ItemsSource="{Binding SelectResult}"
Style="{StaticResource ListViewBaseStyle}"
Cursor="">
<ListView.View>
<GridView>
<GridViewColumn Width="40">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="60"
Header="ID"
DisplayMemberBinding="{Binding EventID}" />
<GridViewColumn Width="190"
Header="发震时刻"
DisplayMemberBinding="{Binding EventTime}" />
<GridViewColumn Width="150"
Header="东"
DisplayMemberBinding="{Binding X, StringFormat=0.00}" />
<GridViewColumn Width="150"
Header="北"
DisplayMemberBinding="{Binding Y, StringFormat=0.00}" />
<GridViewColumn Width="100"
Header="深度"
DisplayMemberBinding="{Binding Z, StringFormat=0.00}" />
<GridViewColumn Width="80"
Header="ML"
DisplayMemberBinding="{Binding ML, StringFormat=0.00}" />
<GridViewColumn Width="80"
Header="能量"
DisplayMemberBinding="{Binding Energy}" />
<GridViewColumn Width="100"
Header="震源机制"
DisplayMemberBinding="{Binding SourceChara, Converter={StaticResource sourecCharaIntToStringConverter}}" />
<GridViewColumn Width="60"
Header="主频"
DisplayMemberBinding="{Binding DominantFreq}" />
</GridView>
</ListView.View>
</ListView>
<oxy:PlotView x:Name="oxyplotDayFreq"
Height="400"
Model="{Binding FreqChart}"
IsMouseWheelEnabled="False" />
<Grid Height="500" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid x:Name="canvasMain"
Margin="0,5,30,5"
MouseRightButtonDown="canvasMain_MouseRightButtonDown"
MouseRightButtonUp="canvasMain_MouseRightButtonUp"
MouseLeftButtonDown="canvasMain_MouseLeftButtonDown"
MouseLeftButtonUp="canvasMain_MouseLeftButtonUp"
MouseMove="canvasMain_MouseMove"
ClipToBounds="True">
<Canvas x:Name="canvasPlan">
</Canvas>
</Grid>
<ContentControl x:Name="contentStereo"
Grid.Column="1"
Margin="30,5,5,5"
Background="AliceBlue"
Content="{Binding StereoChart}" />
<myuc:ColorMapBar x:Name="colorMap"
Grid.Column="1"
Width="48"
Height="120"
Margin="0,0,10,10"
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
TopDepth="200"
BottomDepth="900"
UcWidth="20"
FontSize="10" />
</Grid>
</StackPanel>
</ScrollViewer.Content>
</ScrollViewer>
</md:Card>
<!--#endregion-->
</Grid>
</UserControl>