编写MEMS色谱仪数据展示页面

This commit is contained in:
MoYue 2024-05-08 18:01:39 +08:00
parent 6ff183ae55
commit e1a7daf339
56 changed files with 803 additions and 44 deletions

View File

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media;
namespace InSituLaboratory.Base
{
/// <summary>
/// 传感器故障状态监控
/// </summary>
public class SensorStateConvert : IValueConverter
{
public static object ConvertObject;
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Brush background = null;
if ((string)value == "正常")
{
//绿色
background = new SolidColorBrush(Color.FromRgb(0, 255, 0));
}
else if ((string)value == "警报")
{
//黄色
background = new SolidColorBrush(Color.FromRgb(255, 255, 0));
}
else if ((string)value == "未开启")
{
//灰色
background = new SolidColorBrush(Color.FromRgb(128, 128, 128));
}
else if ((string)value == "未监控")
{
//灰色
background = new SolidColorBrush(Color.FromRgb(128, 128, 128));
}
else if ((string)value == "未开启/未监控")
{
//灰色
background = new SolidColorBrush(Color.FromRgb(128, 128, 128));
}
else if ((string)value == "故障")
{
//红色
background = new SolidColorBrush(Color.FromRgb(255, 0, 0));
}
return background;
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.Entities.Sensor
{
/// <summary>
/// MEMS色谱仪
/// </summary>
public class MEMSSpModel
{
/// <summary>
/// 主键
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 采样时间
/// </summary>
public DateTime SamplingTime { get; set; }
/// <summary>
/// 记录时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 故障代码--设备温度 (未开启/未监控 正常 警报 故障)
/// </summary>
public string? Tem { get; set; }
/// <summary>
/// 故障代码--设备湿度 (未开启/未监控 正常 警报 故障)
/// </summary>
public string? Hum { get; set; }
/// <summary>
/// 故障代码--压力 (未开启/未监控 正常 警报 故障)
/// </summary>
public string? Pressure { get; set; }
/// <summary>
/// 故障代码--绝缘 (未开启/未监控 正常 警报 故障)
/// </summary>
public string? Insulation { get; set; }
/// <summary>
/// C2浓度
/// </summary>
public float? C2 { get; set; }
/// <summary>
/// C3浓度
/// </summary>
public float? C3 { get; set; }
/// <summary>
/// C4浓度
/// </summary>
public float? C4 { get; set; }
}
}

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
public class BaseCavity public class BaseCavity
{ {

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
/// <summary> /// <summary>
/// 电池电量表 /// 电池电量表

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
/// <summary> /// <summary>
/// 腔体电能转换板使能状态表 /// 腔体电能转换板使能状态表

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
/// <summary> /// <summary>
/// 腔体内部环境 /// 腔体内部环境

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
/// <summary> /// <summary>
/// 腔体运行状态表 /// 腔体运行状态表

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
/// <summary> /// <summary>
/// 腔体输出电流表 /// 腔体输出电流表

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
/// <summary> /// <summary>
/// 腔体输出反馈表 /// 腔体输出反馈表

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace InSituLaboratory.Entities namespace InSituLaboratory.Entities.SysData
{ {
/// <summary> /// <summary>
/// 腔体输出状态表 /// 腔体输出状态表

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -1,6 +1,7 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities;
using InSituLaboratory.Entities.ExperimentalStationEntities; using InSituLaboratory.Entities.ExperimentalStationEntities;
using InSituLaboratory.Entities.SysData;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using System.Globalization; using System.Globalization;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;

View File

@ -1,4 +1,4 @@
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;

View File

@ -62,7 +62,6 @@ namespace InSituLaboratory
containerRegistry.RegisterForNavigation<Views.Pages.RoleView>(); containerRegistry.RegisterForNavigation<Views.Pages.RoleView>();
containerRegistry.RegisterForNavigation<Views.Pages.SequentialDistributionView>(); containerRegistry.RegisterForNavigation<Views.Pages.SequentialDistributionView>();
containerRegistry.RegisterForNavigation<Views.Pages.History.CavityOperationView>(); containerRegistry.RegisterForNavigation<Views.Pages.History.CavityOperationView>();
containerRegistry.RegisterForNavigation<Views.Pages.History.CavityEnvironmentView>(); containerRegistry.RegisterForNavigation<Views.Pages.History.CavityEnvironmentView>();
containerRegistry.RegisterForNavigation<Views.Pages.History.CavityOtputFeedBackView>(); containerRegistry.RegisterForNavigation<Views.Pages.History.CavityOtputFeedBackView>();
@ -72,6 +71,14 @@ namespace InSituLaboratory
containerRegistry.RegisterForNavigation<Views.Pages.History.CavityBatteryLevelView>(); containerRegistry.RegisterForNavigation<Views.Pages.History.CavityBatteryLevelView>();
containerRegistry.RegisterForNavigation<Views.Pages.History.SequentialHistoryView>(); containerRegistry.RegisterForNavigation<Views.Pages.History.SequentialHistoryView>();
containerRegistry.RegisterForNavigation<Views.Pages.Sensor.MEMSSpView>();
containerRegistry.RegisterForNavigation<Views.Pages.Sensor.CH4IsotopeView>();
containerRegistry.RegisterForNavigation<Views.Pages.Sensor.CO2IsotopeView>();
containerRegistry.RegisterForNavigation<Views.Pages.Sensor.ColorMSView>();
containerRegistry.RegisterForNavigation<Views.Pages.Sensor.MEMSZpView>();
containerRegistry.RegisterForNavigation<Views.Pages.Sensor.ParticleAnalyzerView>();
containerRegistry.RegisterForNavigation<Views.Pages.Sensor.SequencerView>();
containerRegistry.RegisterDialog<Views.Pages.Dialogs.ModifyMenuView>(); containerRegistry.RegisterDialog<Views.Pages.Dialogs.ModifyMenuView>();
containerRegistry.RegisterDialog<Views.Pages.Dialogs.ModifyUserView>(); containerRegistry.RegisterDialog<Views.Pages.Dialogs.ModifyUserView>();
containerRegistry.RegisterDialog<Views.Pages.Dialogs.ModifyPasswordView>(); containerRegistry.RegisterDialog<Views.Pages.Dialogs.ModifyPasswordView>();

View File

@ -1,5 +1,5 @@
using InSituLaboratory.Controls; using InSituLaboratory.Controls;
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using InSituLaboratory.Service; using InSituLaboratory.Service;
using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Metadata.Internal;

View File

@ -1,5 +1,5 @@
using InSituLaboratory.Controls; using InSituLaboratory.Controls;
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Prism.Commands; using Prism.Commands;
using Prism.Regions; using Prism.Regions;

View File

@ -1,6 +1,6 @@
 
using InSituLaboratory.Controls; using InSituLaboratory.Controls;
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using InSituLaboratory.Service; using InSituLaboratory.Service;
using Prism.Commands; using Prism.Commands;

View File

@ -1,5 +1,5 @@
using InSituLaboratory.Controls; using InSituLaboratory.Controls;
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using InSituLaboratory.Models; using InSituLaboratory.Models;
using InSituLaboratory.Service; using InSituLaboratory.Service;

View File

@ -1,5 +1,5 @@
using InSituLaboratory.Controls; using InSituLaboratory.Controls;
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using InSituLaboratory.Service; using InSituLaboratory.Service;
using Prism.Commands; using Prism.Commands;

View File

@ -1,5 +1,5 @@
using InSituLaboratory.Controls; using InSituLaboratory.Controls;
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Prism.Commands; using Prism.Commands;
using Prism.Regions; using Prism.Regions;

View File

@ -1,5 +1,5 @@
using InSituLaboratory.Controls; using InSituLaboratory.Controls;
using InSituLaboratory.Entities; using InSituLaboratory.Entities.SysData;
using InSituLaboratory.IService.History; using InSituLaboratory.IService.History;
using Prism.Commands; using Prism.Commands;
using Prism.Regions; using Prism.Regions;

View File

@ -0,0 +1,20 @@
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages.Sensor
{
/// <summary>
/// 甲烷同位素分析仪
/// </summary>
public class CH4IsotopeViewModel : ViewModelBase
{
public CH4IsotopeViewModel(IRegionManager regionManager) : base(regionManager)
{
PageTitle = "甲烷同位素分析仪";
}
}
}

View File

@ -0,0 +1,20 @@
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages.Sensor
{
/// <summary>
/// 二氧化碳同位素分析仪
/// </summary>
public class CO2IsotopeViewModel : ViewModelBase
{
public CO2IsotopeViewModel(IRegionManager regionManager) : base(regionManager)
{
PageTitle = "二氧化碳同位素分析仪";
}
}
}

View File

@ -0,0 +1,20 @@
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages.Sensor
{
/// <summary>
/// 色质联用仪
/// </summary>
public class ColorMSViewModel : ViewModelBase
{
public ColorMSViewModel(IRegionManager regionManager) : base(regionManager)
{
PageTitle = "色质联用仪";
}
}
}

View File

@ -0,0 +1,24 @@
using Prism.Regions;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages.Sensor
{
/// <summary>
/// MEMS色谱仪
/// </summary>
public class MEMSSpViewModel : ViewModelBase
{
IDialogService _dialogService;
public MEMSSpViewModel(IRegionManager regionManager, IDialogService dialogService) : base(regionManager)
{
PageTitle = "MEMS色谱仪";
_dialogService = dialogService;
Refresh();
}
}
}

View File

@ -0,0 +1,20 @@
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages.Sensor
{
/// <summary>
/// 质谱仪
/// </summary>
public class MEMSZpViewModel : ViewModelBase
{
public MEMSZpViewModel(IRegionManager regionManager) : base(regionManager)
{
PageTitle = "MEMS质谱仪";
}
}
}

View File

@ -0,0 +1,20 @@
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages.Sensor
{
/// <summary>
/// 颗粒物分析仪
/// </summary>
public class ParticleAnalyzerViewModel : ViewModelBase
{
public ParticleAnalyzerViewModel(IRegionManager regionManager) : base(regionManager)
{
PageTitle = "颗粒物分析仪";
}
}
}

View File

@ -0,0 +1,20 @@
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages.Sensor
{
/// <summary>
/// 测序仪
/// </summary>
internal class SequencerViewModel : ViewModelBase
{
public SequencerViewModel(IRegionManager regionManager) : base(regionManager)
{
PageTitle = "测序仪";
}
}
}

View File

@ -13,7 +13,7 @@
Foreground="#333" Foreground="#333"
FontWeight="ExtraLight" FontWeight="ExtraLight"
Background="#FAFCFF" Background="#FAFCFF"
Title="原位实验室主控系统" Height="800" Width="1400"> Title="原位实验室主控系统" Height="900" Width="1600">
<WindowChrome.WindowChrome> <WindowChrome.WindowChrome>
<WindowChrome GlassFrameThickness="1" <WindowChrome GlassFrameThickness="1"
NonClientFrameEdges="None"/> NonClientFrameEdges="None"/>

View File

@ -251,14 +251,14 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid Grid.Row="0"> <Grid Grid.Row="0">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock Text="正常" Margin="10,5"/>
<Border Width="10" Height="10" Background="Green" CornerRadius="10" /> <Border Width="10" Height="10" Background="Green" CornerRadius="10" />
<TextBlock Text="一级报警" Margin="10,5"/> <TextBlock Text="正常" Margin="10,5"/>
<Border Width="10" Height="10" Background="Yellow" CornerRadius="10" /> <Border Width="10" Height="10" Background="Yellow" CornerRadius="10" />
<TextBlock Text="级报警" Margin="10,5"/> <TextBlock Text="级报警" Margin="10,5"/>
<Border Width="10" Height="10" Background="Orange" CornerRadius="10" /> <Border Width="10" Height="10" Background="Orange" CornerRadius="10" />
<TextBlock Text="故障" Margin="10,5"/> <TextBlock Text="二级报警" Margin="10,5"/>
<Border Width="10" Height="10" Background="red" CornerRadius="10" /> <Border Width="10" Height="10" Background="red" CornerRadius="10" />
<TextBlock Text="故障" Margin="10,5"/>
</StackPanel> </StackPanel>
</Grid> </Grid>
<Grid Grid.Row="1"> <Grid Grid.Row="1">
@ -306,7 +306,7 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid Grid.Column="0" Margin="0,14,0,-140" > <Grid Grid.Column="0" Margin="0,14,0,-140" >
<GroupBox Header="当前工作设备"> <GroupBox Header="主腔体当前工作设备">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition/>
@ -364,10 +364,10 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid Grid.Row="0"> <Grid Grid.Row="0">
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Center" Orientation="Horizontal" Margin="15,0"> <StackPanel HorizontalAlignment="Right" VerticalAlignment="Center" Orientation="Horizontal" Margin="15,0">
<TextBlock Text="待机" Margin="10,5"/>
<Border Width="10" Height="10" Background="Orange" CornerRadius="10" /> <Border Width="10" Height="10" Background="Orange" CornerRadius="10" />
<TextBlock Text="工作" Margin="10,5"/> <TextBlock Text="待机" Margin="10,5"/>
<Border Width="10" Height="10" Background="Green" CornerRadius="10" /> <Border Width="10" Height="10" Background="Green" CornerRadius="10" />
<TextBlock Text="工作" Margin="10,5"/>
</StackPanel> </StackPanel>
</Grid> </Grid>
<Grid Grid.Row="1"> <Grid Grid.Row="1">
@ -400,7 +400,7 @@
</Grid> </Grid>
<Grid Grid.Column="1" Margin="0,14,0,-140"> <Grid Grid.Column="1" Margin="0,14,0,-140">
<GroupBox Header="当前故障设备"> <GroupBox Header="主腔体当前故障设备">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition/>
@ -458,10 +458,10 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid Grid.Row="0"> <Grid Grid.Row="0">
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Center" Orientation="Horizontal" Margin="15,0"> <StackPanel HorizontalAlignment="Right" VerticalAlignment="Center" Orientation="Horizontal" Margin="15,0">
<TextBlock Text="故障" Margin="10,5"/>
<Border Width="10" Height="10" Background="Red" CornerRadius="10" /> <Border Width="10" Height="10" Background="Red" CornerRadius="10" />
<TextBlock Text="正常" Margin="10,5"/> <TextBlock Text="故障" Margin="10,5"/>
<Border Width="10" Height="10" Background="Green" CornerRadius="10" /> <Border Width="10" Height="10" Background="Green" CornerRadius="10" />
<TextBlock Text="正常" Margin="10,5"/>
</StackPanel> </StackPanel>
</Grid> </Grid>
<Grid Grid.Row="1"> <Grid Grid.Row="1">

View File

@ -0,0 +1,12 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.Sensor.CH4IsotopeView"
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:InSituLaboratory.Views.Pages.Sensor"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InSituLaboratory.Views.Pages.Sensor
{
/// <summary>
/// CH4IsotopeView.xaml 的交互逻辑
/// </summary>
public partial class CH4IsotopeView : UserControl
{
public CH4IsotopeView()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,12 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.Sensor.CO2IsotopeView"
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:InSituLaboratory.Views.Pages.Sensor"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InSituLaboratory.Views.Pages.Sensor
{
/// <summary>
/// CO2IsotopeView.xaml 的交互逻辑
/// </summary>
public partial class CO2IsotopeView : UserControl
{
public CO2IsotopeView()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,12 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.Sensor.ColorMSView"
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:InSituLaboratory.Views.Pages.Sensor"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InSituLaboratory.Views.Pages.Sensor
{
/// <summary>
/// ColorMSView.xaml 的交互逻辑
/// </summary>
public partial class ColorMSView : UserControl
{
public ColorMSView()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,186 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.Sensor.MEMSSpView"
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:converters="clr-namespace:InSituLaboratory.Base;assembly=InSituLaboratory.Base"
xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls"
xmlns:local="clr-namespace:InSituLaboratory.Views.Pages.Sensor"
mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"
FontFamily="{StaticResource DigitalDisplay}">
<UserControl.Resources>
<converters:SensorStateConvert x:Key="SensorStateConvert" />
<Style TargetType="GroupBox">
<Setter Property="Margin" Value="10,5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<!-- 左上角 -->
<Polyline HorizontalAlignment="Left" VerticalAlignment="Top" Points="0 30, 0 10, 10 0, 30 0" Stroke="#9918AABD" StrokeThickness="1" />
<!-- 左上角点 -->
<Ellipse Width="4" Height="4" Margin="24,-2,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Fill="#9918AABD" />
<Ellipse Width="4" Height="4" Margin="-2,24,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Fill="#9918AABD" />
<!-- 右上角 -->
<Path HorizontalAlignment="Right" VerticalAlignment="Top" Data="M0 0, 3 3, 30 3, 33 0, 68 0, 73 7,78 7, 78 10M8 0, 25 0" Stroke="#5518AABD" />
<!-- 左下角 -->
<Polyline HorizontalAlignment="Left" VerticalAlignment="Bottom" Points="0,0 0,15 10,15" Stroke="#5518AABD" />
<!-- 右下角 -->
<Polyline HorizontalAlignment="Right" VerticalAlignment="Bottom" Points="10,0 0,10" Stroke="#5518AABD" />
<!-- 右下角图标 -->
<Polygon HorizontalAlignment="Right" VerticalAlignment="Bottom" Fill="#9918AABD" Points="0,7 7 7 7 0" />
<Border Margin="30,-0.5,78,0" VerticalAlignment="Top" BorderBrush="#5518AABD" BorderThickness="0,1,0,0" />
<Border Margin="0,10" HorizontalAlignment="Right" BorderBrush="#5518AABD" BorderThickness="0,0,1,0" />
<Border Margin="10,0" VerticalAlignment="Bottom" BorderBrush="#5518AABD" BorderThickness="0,1,0,0" />
<Border Margin="-0.5,15" HorizontalAlignment="Left" BorderBrush="#5518AABD" BorderThickness="0,0,1,0" />
<!-- 箭头 -->
<Path Margin="10,13" HorizontalAlignment="Left" VerticalAlignment="Top" Data="M0 0,3 0,5 4,3 8,0 8,3 4" Fill="#9918AABD" />
<Path Margin="16,13" HorizontalAlignment="Left" VerticalAlignment="Top" Data="M0 0,3 0,5 4,3 8,0 8,3 4" Fill="#5518AABD" />
<!-- 字体 -->
<TextBlock Margin="25,8" HorizontalAlignment="Left" VerticalAlignment="Top" Foreground="#18AABD" Text="{TemplateBinding Header}" FontSize="18"/>
<!-- 占位对象 -->
<ContentPresenter />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition/>
</Grid.RowDefinitions>
<!--状态监控-->
<Grid >
<GroupBox Header="MEMS色谱仪状态监控" Margin="12,12,12,5">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="设备温度" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"/>
<Border Grid.Column="1" Width="20" Height="20" Background="Green" CornerRadius="10" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Grid>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="设备湿度" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"/>
<Border Grid.Column="1" Width="20" Height="20" Background="Red" CornerRadius="10" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Grid>
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="设备压力" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"/>
<Border Grid.Column="1" Width="20" Height="20" Background="Gray" CornerRadius="10" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Grid>
<Grid Grid.Column="3">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal">
<Border Width="10" Height="10" Background="Gray" CornerRadius="10" />
<TextBlock Text="未开启/未监控" Margin="10,5"/>
<Border Width="10" Height="10" Background="Green" CornerRadius="10" />
<TextBlock Text="正常" Margin="10,5"/>
<Border Width="10" Height="10" Background="Yellow" CornerRadius="10" />
<TextBlock Text="警报" Margin="10,5"/>
<Border Width="10" Height="10" Background="red" CornerRadius="10" />
<TextBlock Text="故障" Margin="10,5"/>
</StackPanel>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="绝缘" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"/>
<Border Grid.Column="1" Width="20" Height="20" Background="Yellow" CornerRadius="10" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Grid>
</Grid>
</GroupBox>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<!--状态数据展示-->
<Grid Grid.Column="0">
<GroupBox Header="MEMS色谱仪状态数据展示" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.IsSharedSizeScope="True" Margin="0,5,0,10" Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<ScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Hidden" x:Name="sv" CanContentScroll="False" PreviewMouseWheel="ScrollViewer_PreviewMouseWheel">
<DataGrid ItemsSource="{Binding cavityenergyconversion }" FontSize="15" FontWeight="Bold" IsReadOnly="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="序号" Width="60" Binding="{Binding DataIdNum}" />
<DataGridTextColumn Header="采样时间" Width="170" Binding="{Binding RecordTime,StringFormat=yyyy-MM-dd HH:mm:ss}"/>
<DataGridTextColumn Header="设备温度" Width="90" Binding="{Binding CavityPIN}"/>
<DataGridTextColumn Header="湿度" Width="130" Binding="{Binding Enable1Of24V}"/>
<DataGridTextColumn Header="压力" Width="130" Binding="{Binding Enable1Of12V}"/>
<DataGridTextColumn Header="绝缘" Width="130" Binding="{Binding Enable2Of24V}"/>
<DataGridTextColumn Header="C2浓度" Width="130" Binding="{Binding Enable2Of12V}" />
<DataGridTextColumn Header="C3浓度" Width="130" Binding="{Binding Enable3Of24V}"/>
<DataGridTextColumn Header="C4浓度" Width="130" Binding="{Binding Enable3Of12V}"/>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
<zxc:Pagination DataContext="{Binding PaginationModel}" Grid.Row="2" HorizontalAlignment="Center"/>
</Grid>
</Grid>
</GroupBox>
</Grid>
<!--状态数据折线图-->
<Grid Grid.Column="1">
<GroupBox Header="MEMS色谱仪状态数据折线图" Margin="12,3,12,20">
</GroupBox>
</Grid>
</Grid>
</Grid>
</UserControl>

View File

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InSituLaboratory.Views.Pages.Sensor
{
/// <summary>
/// MEMSSpView.xaml 的交互逻辑
/// </summary>
public partial class MEMSSpView : UserControl
{
public MEMSSpView()
{
InitializeComponent();
}
/// <summary>
/// 支持鼠标滚轮上下滚动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
ScrollViewer viewer = sv; //sv 为Scrollview的名字在Xaml文件中定义。
if (viewer == null) return;
double num = Math.Abs((int)(e.Delta / 2));
double offset = 0.0;
if (e.Delta > 0)
{
offset = Math.Max((double)0.0, (double)(viewer.VerticalOffset - num));//viewer.VerticalOffset获取包含滚动内容的垂直偏移量的值。
}
else
{
offset = Math.Min(viewer.ScrollableHeight, viewer.VerticalOffset + num);
}
if (offset != viewer.VerticalOffset)
{
viewer.ScrollToVerticalOffset(offset);//将 ScrollViewer 内的内容滚动到指定的垂直偏移量位置。
e.Handled = true;
}
}
}
}

View File

@ -0,0 +1,12 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.Sensor.MEMSZpView"
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:InSituLaboratory.Views.Pages.Sensor"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InSituLaboratory.Views.Pages.Sensor
{
/// <summary>
/// MEMSZpView.xaml 的交互逻辑
/// </summary>
public partial class MEMSZpView : UserControl
{
public MEMSZpView()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,12 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.Sensor.ParticleAnalyzerView"
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:InSituLaboratory.Views.Pages.Sensor"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InSituLaboratory.Views.Pages.Sensor
{
/// <summary>
/// ParticleAnalyzerView.xaml 的交互逻辑
/// </summary>
public partial class ParticleAnalyzerView : UserControl
{
public ParticleAnalyzerView()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,12 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.Sensor.SequencerView"
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:InSituLaboratory.Views.Pages.Sensor"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InSituLaboratory.Views.Pages.Sensor
{
/// <summary>
/// SequencerView.xaml 的交互逻辑
/// </summary>
public partial class SequencerView : UserControl
{
public SequencerView()
{
InitializeComponent();
}
}
}