添加腔体内部环境

This commit is contained in:
MoYue 2024-03-15 10:27:50 +08:00
parent ffa3e35060
commit c2b49a18ff
13 changed files with 324 additions and 22 deletions

View File

@ -88,6 +88,7 @@
</TextBox>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Right">
<TextBlock VerticalAlignment="Center" Text="{Binding PrimaryKey}" FontSize="12" Foreground=" #A52A2A" Margin="20,0" />
<!--刷新按钮-->
<Button Content="刷新" Style="{StaticResource NormalButtonStyle}"
Command="{Binding RefreshCommand}"

View File

@ -0,0 +1,14 @@
using InSituLaboratory.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.IService
{
public interface ICavityEnvironment : IBaseService
{
IEnumerable<cavityenvironment> GetCavityEnvironment(string key);
}
}

View File

@ -0,0 +1,17 @@
using InSituLaboratory.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.IService
{
/// <summary>
/// 腔体运行状态接口
/// </summary>
public interface ICavityOperationService : IBaseService
{
IEnumerable<cavityoperationstatus> GetCavityOperationStatus(string key);
}
}

View File

@ -0,0 +1,26 @@
using InSituLaboratory.Entities;
using InSituLaboratory.IService;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.Service
{
/// <summary>
/// 腔体内部环境
/// </summary>
public class CavityEnvironment : BaseService, ICavityEnvironment
{
public CavityEnvironment(DbContext context) : base(context) { }
public IEnumerable<cavityenvironment> GetCavityEnvironment(string key)
{
return this.Set<cavityenvironment>()
.Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key));
}
}
}

View File

@ -0,0 +1,23 @@
using InSituLaboratory.Entities;
using InSituLaboratory.IService;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.Service
{
public class CavityOperationService : BaseService, ICavityOperationService
{
public CavityOperationService(DbContext context) : base(context){ }
public IEnumerable<cavityoperationstatus> GetCavityOperationStatus(string key)
{
return this.Set<cavityoperationstatus>()
.Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key));
}
}
}

View File

@ -42,6 +42,8 @@ namespace InSituLaboratory
containerRegistry.Register<IUserService, UserService>();
containerRegistry.Register<IMenuService, MenuService>();
containerRegistry.Register<IRoleService, RoleService>();
containerRegistry.Register<ICavityOperationService, CavityOperationService>();
containerRegistry.Register<ICavityEnvironment, CavityEnvironment>();
containerRegistry.RegisterForNavigation<Views.Pages.DashboardView>();
@ -49,6 +51,7 @@ namespace InSituLaboratory
containerRegistry.RegisterForNavigation<Views.Pages.UserManagementView>();
containerRegistry.RegisterForNavigation<Views.Pages.RoleView>();
containerRegistry.RegisterForNavigation<Views.Pages.CavityOperationView>();
containerRegistry.RegisterForNavigation<Views.Pages.CavityEnvironmentView>();
containerRegistry.RegisterDialog<Views.Pages.Dialogs.ModifyMenuView>();

View File

@ -0,0 +1,56 @@
using InSituLaboratory.Entities;
using InSituLaboratory.IService;
using InSituLaboratory.Service;
using Prism.Regions;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.ViewModels.Pages
{
/// <summary>
/// 腔体内部环境
/// </summary>
public class CavityEnvironmentViewModel : ViewModelBase
{
ICavityEnvironment _icavityEnvironment;
IDialogService _dialogService;
public CavityEnvironmentViewModel(IRegionManager regionManager, ICavityEnvironment icavityEnvironment, IDialogService dialogService) : base(regionManager)
{
this.PageTitle = "腔体内部环境状态记录";
_dialogService = dialogService;
_icavityEnvironment = icavityEnvironment;
this.Refresh();
}
public ObservableCollection<cavityenvironment> cavityenvironment { get; set; } = new ObservableCollection<cavityenvironment>();
public override void Refresh()
{
cavityenvironment.Clear();
var cavityenvironmentlist = _icavityEnvironment.GetCavityEnvironment(SearchKey).ToList();
foreach (var item in cavityenvironmentlist)
{
cavityenvironment model = new cavityenvironment
{
DataIdNum = item.DataIdNum,
RecordTime = item.RecordTime,
CavityPIN = item.CavityPIN,
Temperature1 = item.Temperature1,
Temperature2 = item.Temperature2,
HumDataIdNumity1 = item.HumDataIdNumity1,
HumDataIdNumity2 = item.HumDataIdNumity2,
Leak1 = item.Leak1,
Leak2 = item.Leak2,
};
cavityenvironment.Add(model);
}
}
}
}

View File

@ -1,13 +1,18 @@
using InSituLaboratory.IService;
using InSituLaboratory.Entities;
using InSituLaboratory.IService;
using InSituLaboratory.Models;
using InSituLaboratory.Service;
using Prism.Commands;
using Prism.Regions;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Input;
namespace InSituLaboratory.ViewModels.Pages
{
@ -16,19 +21,49 @@ namespace InSituLaboratory.ViewModels.Pages
/// </summary>
public class CavityOperationViewModel : ViewModelBase
{
ICavityOperationService _cavityOperationService;
IDialogService _dialogService;
public CavityOperationViewModel(IRegionManager regionManager, IDialogService dialogService)
public CavityOperationViewModel(IRegionManager regionManager, IDialogService dialogService, ICavityOperationService cavityOperationService)
: base(regionManager)
{
this.PageTitle = "腔体运行状态记录";
PrimaryKey = "DN-电能转换板";
_dialogService = dialogService;
_cavityOperationService= cavityOperationService;
Refresh();
this.Refresh();
}
public ObservableCollection<cavityoperationstatus> cavityoperationstatus { get; set; } = new ObservableCollection<cavityoperationstatus>();
public override void Refresh()
{
cavityoperationstatus.Clear();
var cavityoperationslist = _cavityOperationService.GetCavityOperationStatus(SearchKey).ToList();
foreach (var item in cavityoperationslist)
{
cavityoperationstatus model = new cavityoperationstatus
{
DataIdNum = item.DataIdNum,
RecordTime = item.RecordTime,
CavityPIN = item.CavityPIN,
Voltage48V1 = item.Voltage48V1,
Current48V1 = item.Current48V1,
Current24V1 = item.Current24V1,
Current48V2 = item.Current48V2,
Current24V2 = item.Current24V2,
Current48V3 = item.Current48V3,
Current24V3 = item.Current24V3,
Current48V4 = item.Current48V4,
Current24V4 = item.Current24V4,
LeakageCurrent1 = item.LeakageCurrent1,
LeakageCurrent2 = item.LeakageCurrent2,
LeakageCurrent3 = item.LeakageCurrent3,
LeakageCurrent4 = item.LeakageCurrent4
};
cavityoperationstatus.Add(model);
}
}
}
}

View File

@ -15,6 +15,7 @@ namespace InSituLaboratory.ViewModels.Pages
public bool IsCanClose { get; set; } = true;
public string SearchKey { get; set; }
public string PrimaryKey { get; set; }
public DelegateCommand CloseCommand { get; set; }

View File

@ -0,0 +1,72 @@
<UserControl x:Class="InSituLaboratory.Views.Pages.CavityEnvironmentView"
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"
mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}">
<Grid Grid.IsSharedSizeScope="True" Margin="0,5,0,10">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Background="#EEE" Height="1" VerticalAlignment="Bottom"/>
<Grid TextBlock.FontSize="12" TextBlock.FontWeight="Bold" TextBlock.Foreground="#666">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>
<TextBlock Text="数据编号" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="记录时间" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="腔体识别码" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" />
<TextBlock Text="温度1" Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="温度2" Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="湿度1" Grid.Column="5" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="湿度2" Grid.Column="6" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="漏水1" Grid.Column="7" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="漏水2" Grid.Column="8" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<ListBox ItemsSource="{Binding cavityenvironment}" Grid.Row="1" BorderThickness="0" Background="Transparent" ItemContainerStyle="{StaticResource NoramalListBoxItemStyle}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent" Name="root">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding DataIdNum}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="{Binding RecordTime,StringFormat=yyyy-MM-dd HH:mm:ss}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="1"/>
<TextBlock Text="{Binding CavityPIN}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="2"/>
<TextBlock Text="{Binding Temperature1}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="3"/>
<TextBlock Text="{Binding Temperature2}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="4"/>
<TextBlock Text="{Binding HumDataIdNumity1}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="5"/>
<TextBlock Text="{Binding HumDataIdNumity2}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="6"/>
<TextBlock Text="{Binding Leak1}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="7"/>
<TextBlock Text="{Binding Leak2}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="8"/>
</Grid>
<DataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="root" Property="Background" Value="#F7F9FA"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</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
{
/// <summary>
/// CavityEnvironmentView.xaml 的交互逻辑
/// </summary>
public partial class CavityEnvironmentView : UserControl
{
public CavityEnvironmentView()
{
InitializeComponent();
}
}
}

View File

@ -7,25 +7,25 @@
mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"
>
<Grid Grid.IsSharedSizeScope="True" Margin="0,5,0,10">
<ScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" >
<DataGrid ItemsSource="{Binding}" FontSize="12" FontWeight="Bold" Foreground="#666" >
<ScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Hidden" x:Name="sv" CanContentScroll="False" PreviewMouseWheel="ScrollViewer_PreviewMouseWheel">
<DataGrid ItemsSource="{Binding cavityoperationstatus }" FontSize="12" FontWeight="Bold" IsReadOnly="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="序号" Width="40"/>
<DataGridTextColumn Header="记录时间" Width="120"/>
<DataGridTextColumn Header="腔体识别码" Width="70"/>
<DataGridTextColumn Header="DN1-48V电压" Width="120"/>
<DataGridTextColumn Header="DN1-48V电流" Width="120"/>
<DataGridTextColumn Header="DN1-24V电流" Width="120"/>
<DataGridTextColumn Header="DN2-48V电流" Width="120" />
<DataGridTextColumn Header="DN2-24V电流" Width="120"/>
<DataGridTextColumn Header="DN3-48V电流" Width="120"/>
<DataGridTextColumn Header="DN3-24V电流" Width="120"/>
<DataGridTextColumn Header="DN4-48V电流" Width="120"/>
<DataGridTextColumn Header="DN4-24V电流" Width="120"/>
<DataGridTextColumn Header="漏电流模块1" Width="120"/>
<DataGridTextColumn Header="漏电流模块2" Width="120"/>
<DataGridTextColumn Header="漏电流模块4" Width="120"/>
<DataGridTextColumn Header="序号" Width="40" Binding="{Binding DataIdNum}" />
<DataGridTextColumn Header="记录时间" Width="140" Binding="{Binding RecordTime,StringFormat=yyyy-MM-dd HH:mm:ss}"/>
<DataGridTextColumn Header="腔体识别码" Width="70" Binding="{Binding CavityPIN}"/>
<DataGridTextColumn Header="DN1-48V电压" Width="120" Binding="{Binding Voltage48V1}"/>
<DataGridTextColumn Header="DN1-48V电流" Width="120" Binding="{Binding Current48V1}"/>
<DataGridTextColumn Header="DN1-24V电流" Width="120" Binding="{Binding Current24V1}"/>
<DataGridTextColumn Header="DN2-48V电流" Width="120" Binding="{Binding Current48V2}" />
<DataGridTextColumn Header="DN2-24V电流" Width="120" Binding="{Binding Current24V2}"/>
<DataGridTextColumn Header="DN3-48V电流" Width="120" Binding="{Binding Current48V3}"/>
<DataGridTextColumn Header="DN3-24V电流" Width="120" Binding="{Binding Current24V3}"/>
<DataGridTextColumn Header="DN4-48V电流" Width="120" Binding="{Binding Current48V4}"/>
<DataGridTextColumn Header="DN4-24V电流" Width="120" Binding="{Binding Current24V4}"/>
<DataGridTextColumn Header="漏电流模块1" Width="120" Binding="{Binding LeakageCurrent1}"/>
<DataGridTextColumn Header="漏电流模块2" Width="120" Binding="{Binding LeakageCurrent2}"/>
<DataGridTextColumn Header="漏电流模块3" Width="120" Binding="{Binding LeakageCurrent3}"/>
<DataGridTextColumn Header="漏电流模块4" Width="120" Binding="{Binding LeakageCurrent4}"/>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>

View File

@ -24,5 +24,31 @@ namespace InSituLaboratory.Views.Pages
{
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;
}
}
}
}