完善界面功能

master
mzhifa 1 year ago
parent 42b1a962bd
commit 1021e50f89

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
@ -8,7 +9,10 @@ namespace StartServerWPF.Modules.Main.Models
{
public class LogMessageModel
{
public int LogType { get; set; }
public string AppName { get; set; }
public string State { get; set; }
public DateTime OriginTime { get; set; }
public string message { get; set; }
public string Message { get; set; }
}
}

@ -5,6 +5,7 @@ using Prism.Events;
using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using StartServerWPF.Modules.Main.Models;
using System;
using System.Collections.Generic;
using System.IO;
@ -22,7 +23,6 @@ namespace StartServerWPF.Modules.Main.ViewModels
private readonly IDialogService _dialogService;
public LogManagementViewModel(
IRegionManager regionManager,
IEventAggregator ea, IDialogService dialogService)
{
@ -53,16 +53,23 @@ namespace StartServerWPF.Modules.Main.ViewModels
public void QueryData()
{
DataList = new List<LogMessageModel>();
string fileName = "";
// File.Exists("");
Task.Run(() =>
{
//this.ShowLoading();
//var logsDTO = _systemLogBLL.Query(StartTime, EndTime);
//int index = logsDTO.Count;
//MaxCountPage = (index % countPerPage == 0 ? index / countPerPage : index / countPerPage + 1);
//_totalDataList = logsDTO;
//DataList = _totalDataList.Take(countPerPage).ToList();
//this.HideLoading();
// var lines= File.ReadAllLines(fileName);
for (int i = 0; i < 10; i++)
{
DataList.Add(new LogMessageModel()
{
AppName = "app"+i,
LogType = 1,
Message = "start",
OriginTime = DateTime.Now.AddMinutes(i),
State = "启动中"
});
}
});
}
private void HFWarning()
@ -70,8 +77,6 @@ namespace StartServerWPF.Modules.Main.ViewModels
DialogParameters param = new DialogParameters();
param.Add("type", 0);
// param.Add("menu", currentMenu);
ShowEditDialog(param);
}
private void ShowEditDialog(DialogParameters param)
@ -125,13 +130,13 @@ namespace StartServerWPF.Modules.Main.ViewModels
get => _EndTime;
set => SetProperty(ref _EndTime, value);
}
//private List<SystemLogDTO> _DataList;
private List<LogMessageModel> _DataList;
//public List<SystemLogDTO> DataList
//{
// get { return _DataList; }
// set { SetProperty(ref _DataList, value); }
//}
public List<LogMessageModel> DataList
{
get { return _DataList; }
set { SetProperty(ref _DataList, value); }
}
///// <summary>
///// 所有数据
///// </summary>

@ -318,21 +318,6 @@ namespace StartServerWPF.Modules.Main.ViewModels
private void GetVPNStatus()
{
string str = "2022-10-23T18:34:48.828289 4031435.23810 38398062.54545 451.0909 ML -2.71 0.016 7 6 B";
var ms = new MsEventModel(str) { CurrentTime = DateTime.Now };
var data = ApmsEventSource.Where(f => f.OriginTime == ms.OriginTime).FirstOrDefault();
if (data == null)
{
AddItems(ApmsEventSource, ms);
CSDevicePublish cSDevicePublish = new CSDevicePublish()
{
type = CSMessage.publish,
message = str,
};
string jsonStr = JsonSerializer.Serialize(cSDevicePublish);
_websocket.SendMes(jsonStr);
}
if (vpn.CheckVpnStatus(sc.vpnInfo.VpnName))
{
MessageBox.Show("VPN已经连接!");

@ -6,68 +6,81 @@
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d"
mc:Ignorable="d" Background="Gray"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
<!--<ResourceDictionary Source="/Detection.platform.Assets;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="/Detection.platform.Assets;component/Styles/TextBoxStyle.xaml"/>-->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid Margin="20">
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Border Background="White">
<TextBlock Text="{Binding Title}" FontSize="16" FontWeight="Bold" VerticalAlignment="Center" Margin="10,0,10,0"/>
</Border>
<Border Background="White" Grid.Row="1" CornerRadius="5" Margin="10">
<Grid Margin="50,0">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="30"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="50"/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0" Margin="50,0" HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Left">
<TextBlock Text="日志分类:" VerticalAlignment="Center"/>
<ComboBox SelectedIndex="{Binding SelectIndexLogType}" VerticalAlignment="Center" Margin="0,0,50,0">
<ComboBoxItem Content="全部"/>
<ComboBoxItem Content="系统"/>
<ComboBoxItem Content="网络"/>
<ComboBoxItem Content="应用"/>
</ComboBox>
<TextBlock Text="启始时间:" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<hc:DateTimePicker Margin="0,0,10,0" SelectedDateTime="{Binding StartTime}" Height="30"></hc:DateTimePicker>
<hc:DatePicker Margin="0,0,10,0" SelectedDate="{Binding StartTime}" Height="30"></hc:DatePicker>
<TextBlock Text="结束时间:" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<hc:DateTimePicker SelectedDateTime="{Binding EndTime}" Height="30"></hc:DateTimePicker>
<hc:DatePicker SelectedDate="{Binding EndTime}" Height="30"></hc:DatePicker>
<Button Content="查看" Background="#FF009DFF" Foreground="White"
Width="70" Margin="5,0"
Command="{Binding QueryDataCommand}"/>
</StackPanel>
<Grid Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<Border Background="#EEE"/>
<Grid Background="#FF2A323B" >
<Grid Background="#FF2A323B" Grid.Row="1" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="应用" VerticalAlignment="Center" Grid.Column="0" Foreground="White" HorizontalAlignment="Center"/>
<TextBlock Text="状态" VerticalAlignment="Center" Grid.Column="1" Foreground="White"/>
<TextBlock Text="时间" VerticalAlignment="Center" Grid.Column="3" Foreground="White"/>
<TextBlock Text="操作" VerticalAlignment="Center" Grid.Column="4" Foreground="White"/>
<TextBlock Text="类别" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="0" Foreground="White" />
<TextBlock Text="应用" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="1" Foreground="White" />
<TextBlock Text="状态" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="2" Foreground="White"/>
<TextBlock Text="时间" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="3" Foreground="White"/>
<TextBlock Text="操作" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="4" Foreground="White"/>
</Grid>
<ItemsControl Grid.Row="1" ItemsSource="{Binding DataList}">
<ItemsControl Grid.Row="2" ItemsSource="{Binding DataList}">
<ItemsControl.ItemTemplate>
<DataTemplate >
<Border BorderBrush="#F7F9FA" BorderThickness="0,0,0,1" Background="Transparent">
<Grid Height="30" Background="Transparent" Name="root">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition />
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding CreateTime}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding UserName}" VerticalAlignment="Center" Grid.Column="1"/>
<TextBlock Text="{Binding Message}" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="2"/>
<TextBlock Grid.Column="0" Text="{Binding LogType}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="{Binding AppName}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding State}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="3" Text="{Binding OriginTime}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="4" Text="{Binding Message}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
</Border>
<DataTemplate.Triggers>
@ -78,7 +91,7 @@
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<hc:Pagination Grid.Row="2" HorizontalAlignment="Center" FontSize="15" MaxPageCount="{Binding MaxCountPage}" PageIndex="{Binding PageIndex}" IsJumpEnabled="True">
<hc:Pagination Grid.Row="3" HorizontalAlignment="Center" FontSize="15" MaxPageCount="{Binding MaxCountPage}" PageIndex="{Binding PageIndex}" IsJumpEnabled="True">
<hc:Interaction.Triggers>
<hc:EventTrigger EventName="PageUpdated">
<hc:EventToCommand Command="{Binding PageUpdatedCmd}" PassEventArgsToCommand="True" />
@ -86,5 +99,6 @@
</hc:Interaction.Triggers>
</hc:Pagination>
</Grid>
</Border>
</Grid>
</UserControl>

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace StartServerWPF.Modules.MseedChart.Converters
{
public class Bool2VisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool result = false;
if (value != null && bool.TryParse(value.ToString(), out result))
{
if (result)
return System.Windows.Visibility.Visible;
}
return System.Windows.Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

@ -106,6 +106,7 @@
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<Compile Include="Bool2VisibilityConverter.cs" />
<Compile Include="MseedChartModule.cs" />
<Compile Include="Models\CoordBase.cs" />
<Compile Include="Models\LineDatas.cs" />

@ -64,9 +64,26 @@ namespace StartServerWPF.Modules.MseedChart.ViewModels
#endregion
#region 属性
private string _title = "数据中心";
public string Title
{
get { return _title; }
set
{
SetProperty(ref _title, value);
}
}
private bool _isRealtimeData =false;
public bool IsRealtimeData
{
get { return _isRealtimeData; }
set
{
SetProperty(ref _isRealtimeData, value);
}
}
private bool _isMultFiles;
public bool IsMultFiles
{
get { return _isMultFiles; }
@ -283,7 +300,7 @@ namespace StartServerWPF.Modules.MseedChart.ViewModels
private void OtimeSort(object isCheck)
{
if (_lChartAll != null)
if (_lChartAll != null&& (_chartAxisY.Count!=0))
{
LChartALL.BeginUpdate();
bool yAxesVisible = ((bool)isCheck == true);
@ -793,7 +810,11 @@ namespace StartServerWPF.Modules.MseedChart.ViewModels
var str= navigationContext.Parameters.GetValue<string>("model");
if(str == "实时波形")
{
IsRealtimeData = true;
}
else
{
IsRealtimeData = false;
}
}

@ -3,13 +3,18 @@
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"
mc:Ignorable="d"
xmlns:converter="clr-namespace:StartServerWPF.Modules.MseedChart.Converters"
mc:Ignorable="d" Background="#FFEEF1F3"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
d:DesignHeight="450" d:DesignWidth="800"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True">
<UserControl.Resources>
<converter:Bool2VisibilityConverter x:Key="Bool2Visibility"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="50"/>
<RowDefinition Height="1000*"/>
</Grid.RowDefinitions>
@ -21,19 +26,26 @@
<i:InvokeCommandAction Command="{Binding Path=UnloadedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<TextBlock Text="{Binding Message}"
HorizontalAlignment="Center"
VerticalAlignment="Top" Margin="0,162,0,0" Grid.Row="1" />
<Border Background="White">
<TextBlock Text="{Binding Title}" FontSize="16" FontWeight="Bold" VerticalAlignment="Center" Margin="10,0,10,0"/>
</Border>
<Border Background="White" Grid.Row="1" Grid.RowSpan="2" CornerRadius="5" Margin="10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="1000*"/>
</Grid.RowDefinitions>
<!--波形回放-->
<StackPanel Orientation="Horizontal" >
<Button Grid.Column="1" Grid.Row="1" Command="{Binding FileSelectorCommand}" CommandParameter="false" Background="#FF66B1FF" HorizontalAlignment="Right">选择文件</Button>
<Button Grid.Column="1" Grid.Row="1" Command="{Binding FileSelectorCommand}" CommandParameter="true" Background="#FF66B1FF" HorizontalAlignment="Right" >选择目录</Button>
<CheckBox Content="单通道" x:Name="cBoxAll" IsChecked="{Binding SingleChannel}" VerticalAlignment="Center"/>
<ComboBox IsEnabled="{Binding ElementName=cBoxAll, Path=IsChecked}" Text="{Binding SelectChannel}" SelectedIndex="0">
<Button Grid.Column="1" Grid.Row="1" Command="{Binding FileSelectorCommand}" CommandParameter="false" Background="#FF3BB4FF" >选择文件</Button>
<Button Grid.Column="1" Grid.Row="1" Command="{Binding FileSelectorCommand}" CommandParameter="true" Background="#FFFFAF20" Margin="20,0,20,0">选择目录</Button>
<CheckBox Content="通道选择" x:Name="cBoxAll" IsChecked="{Binding SingleChannel}" VerticalAlignment="Center"/>
<ComboBox IsEnabled="{Binding ElementName=cBoxAll, Path=IsChecked}" Text="{Binding SelectChannel}" SelectedIndex="0" VerticalAlignment="Center">
<ComboBoxItem Content="SHZ"/>
<ComboBoxItem Content="SHN"/>
<ComboBoxItem Content="SHE"/>
</ComboBox>
<TextBlock VerticalAlignment="Center">X轴间隔:</TextBlock>
<TextBlock VerticalAlignment="Center" Margin="20,0,0,0">时间间隔:</TextBlock>
<TextBox Text="{Binding XaisInterval}" Width="60" VerticalAlignment="Center"/>
<Button Command="{Binding IntervalSureCommand}" Background="#FF66B1FF" HorizontalAlignment="Right">确认</Button>
<CheckBox Command="{Binding AxesYVisibleCommand}" Visibility="Collapsed" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self},Path=IsChecked}" Content="Y轴显示" VerticalContentAlignment="Center" IsChecked="True" FontSize="15" Foreground="Black" Margin="5,0,5,0" FontWeight="Bold" />
@ -47,12 +59,31 @@
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<CheckBox Command="{Binding OtimeSortCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self},Path=IsChecked}" Content="时间排序" VerticalContentAlignment="Center" FontSize="15" Foreground="Black" Margin="5,0,5,0" FontWeight="Bold"></CheckBox>
<CheckBox Command="{Binding RealTimeDataCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self},Path=IsChecked}" Content="实时" VerticalContentAlignment="Center" FontSize="15" Foreground="Black" FontWeight="Bold" DockPanel.Dock="Right"></CheckBox>
<TextBox Text="{Binding IntervalTime}" Width="60" VerticalAlignment="Center"></TextBox>
<CheckBox Command="{Binding OtimeSortCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self},Path=IsChecked}" Content="排序" VerticalContentAlignment="Center" FontSize="15" Foreground="Black" Margin="20,0,0,0" FontWeight="Bold"></CheckBox>
<CheckBox Command="{Binding RealTimeDataCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self},Path=IsChecked}" Visibility="Collapsed" Content="实时" VerticalContentAlignment="Center" FontSize="15" Foreground="Black" FontWeight="Bold" DockPanel.Dock="Right"></CheckBox>
<TextBox Text="{Binding IntervalTime}" Visibility="Collapsed" Width="60" VerticalAlignment="Center"></TextBox>
</StackPanel>
<!--实时波形-->
<StackPanel Orientation="Horizontal" Visibility="{Binding IsRealtimeData,Converter={StaticResource Bool2Visibility}}" Background="White">
<Button Grid.Column="1" Grid.Row="1" Command="{Binding RealTimeDataCommand}" CommandParameter="true" Background="#FF3BB4FF" >开始接收</Button>
<Button Grid.Column="1" Grid.Row="1" Command="{Binding FileSelectorCommand}" CommandParameter="false" Background="#FFFFAF20" Margin="20,0,20,0">停止接收</Button>
<CheckBox Content="通道选择" x:Name="cBoxAllChannel" IsChecked="{Binding SingleChannel}" VerticalAlignment="Center"/>
<ComboBox IsEnabled="{Binding ElementName=cBoxAllChannel, Path=IsChecked}" Text="{Binding SelectChannel}" SelectedIndex="0" VerticalAlignment="Center">
<ComboBoxItem Content="SHZ"/>
<ComboBoxItem Content="SHN"/>
<ComboBoxItem Content="SHE"/>
</ComboBox>
<TextBlock VerticalAlignment="Center" Margin="20,0,0,0">时间间隔:</TextBlock>
<TextBox Text="{Binding XaisInterval}" Width="60" VerticalAlignment="Center"/>
<Button Command="{Binding IntervalSureCommand}" Background="#FF66B1FF" HorizontalAlignment="Right">确认</Button>
<CheckBox Command="{Binding AxesYVisibleCommand}" Visibility="Collapsed" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self},Path=IsChecked}" Content="Y轴显示" VerticalContentAlignment="Center" IsChecked="True" FontSize="15" Foreground="Black" Margin="5,0,5,0" FontWeight="Bold" />
<CheckBox Command="{Binding RealTimeDataCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self},Path=IsChecked}" Visibility="Collapsed" Content="实时" VerticalContentAlignment="Center" FontSize="15" Foreground="Black" FontWeight="Bold" DockPanel.Dock="Right"></CheckBox>
<TextBox Text="{Binding IntervalTime}" Visibility="Collapsed" Width="60" VerticalAlignment="Center"></TextBox>
<!--<TextBox Text="{Binding IntervalTime}" Width="60" VerticalAlignment="Center"></TextBox>-->
</StackPanel>
<ContentControl x:Name="contentControl" Content="{Binding ChildContent}" Grid.Row="1"/>
<TextBlock Text="{Binding CurrentTime}" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="0,0,0,46"></TextBlock>
</Grid>
</Border>
</Grid>
</UserControl>

Loading…
Cancel
Save