diff --git a/InSituLaboratory.Assets/Fonts/iconfont1.ttf b/InSituLaboratory.Assets/Fonts/iconfont1.ttf new file mode 100644 index 0000000..e9127bb Binary files /dev/null and b/InSituLaboratory.Assets/Fonts/iconfont1.ttf differ diff --git a/InSituLaboratory.Assets/InSituLaboratory.Assets.csproj b/InSituLaboratory.Assets/InSituLaboratory.Assets.csproj index f5bde88..3ff2e32 100644 --- a/InSituLaboratory.Assets/InSituLaboratory.Assets.csproj +++ b/InSituLaboratory.Assets/InSituLaboratory.Assets.csproj @@ -9,6 +9,7 @@ + @@ -28,6 +29,9 @@ + + Always + Always diff --git a/InSituLaboratory.Base/StateBackConvert.cs b/InSituLaboratory.Base/StateBackConvert.cs new file mode 100644 index 0000000..573f842 --- /dev/null +++ b/InSituLaboratory.Base/StateBackConvert.cs @@ -0,0 +1,51 @@ +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 +{ + /// + /// 告警类别转换器 + /// + public class StateBackConvert : 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(255, 128, 0)); + } + 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(); + } + } +} diff --git a/InSituLaboratory.IService/ISysStatusService.cs b/InSituLaboratory.IService/ISysStatusService.cs new file mode 100644 index 0000000..023eeeb --- /dev/null +++ b/InSituLaboratory.IService/ISysStatusService.cs @@ -0,0 +1,15 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.Entities.ExperimentalStationEntities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace InSituLaboratory.IService +{ + public interface ISysStatusService : IBaseService + { + IEnumerable GetSysStauts(); + } +} diff --git a/InSituLaboratory.Service/SysStatusService.cs b/InSituLaboratory.Service/SysStatusService.cs new file mode 100644 index 0000000..1b1591a --- /dev/null +++ b/InSituLaboratory.Service/SysStatusService.cs @@ -0,0 +1,27 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.Entities.ExperimentalStationEntities; +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 SysStatusService : BaseService, ISysStatusService + { + public SysStatusService(DbContext context) : base(context) { } + + + + public IEnumerable GetSysStauts() + { + return this.Set().OrderByDescending(n => n.CreateTime); + + } + + + } +} diff --git a/InSituLaboratory/App.xaml b/InSituLaboratory/App.xaml index 5beddc0..48b38f8 100644 --- a/InSituLaboratory/App.xaml +++ b/InSituLaboratory/App.xaml @@ -18,6 +18,7 @@ /InSituLaboratory.Assets;component/Fonts/iconfont.ttf#zx_icons + /InSituLaboratory.Assets;component/Fonts/iconfont1.ttf#iconfont /InSituLaboratory.Assets;component/Fonts/#方正楷体简体 diff --git a/InSituLaboratory/App.xaml.cs b/InSituLaboratory/App.xaml.cs index 0b13a01..dffcf00 100644 --- a/InSituLaboratory/App.xaml.cs +++ b/InSituLaboratory/App.xaml.cs @@ -53,6 +53,7 @@ namespace InSituLaboratory containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); + containerRegistry.Register(); containerRegistry.RegisterForNavigation(); diff --git a/InSituLaboratory/InSituLaboratory.csproj b/InSituLaboratory/InSituLaboratory.csproj index 07cb791..17f7937 100644 --- a/InSituLaboratory/InSituLaboratory.csproj +++ b/InSituLaboratory/InSituLaboratory.csproj @@ -15,6 +15,7 @@ + diff --git a/InSituLaboratory/ViewModels/Pages/DashboardViewModel.cs b/InSituLaboratory/ViewModels/Pages/DashboardViewModel.cs index 517e19e..eeac408 100644 --- a/InSituLaboratory/ViewModels/Pages/DashboardViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/DashboardViewModel.cs @@ -9,20 +9,80 @@ using System.Text; using System.Threading.Tasks; using InSituLaboratory.Models; using InSituLaboratory.Entities.ExperimentalStationEntities; +using Prism.Regions; +using InSituLaboratory.IService; namespace InSituLaboratory.ViewModels.Pages { public class DashboardViewModel : ViewModelBase { - public ObservableCollection SysStatusList { get; set; } = new ObservableCollection(); + #region 实体类 + /// + /// 组包时间 + /// + private DateTime? _packagingTime; + public DateTime? PackagingTime + { + get { return _packagingTime; } + set { SetProperty(ref _packagingTime, value); } + } - public DashboardViewModel() : base(null) + /// + /// 采样时间 + /// + private DateTime? _samplingTime; + public DateTime? SamplingTime + { + get { return _samplingTime; } + set { SetProperty(ref _samplingTime, value); } + } + + /// + /// 48V 电压 + /// + private float? _voltage48; + public float? Voltage48 + { + get { return _voltage48; } + set { SetProperty(ref _voltage48, value); } + } + + /// + /// 48V 电流 + /// + private float? _current48; + public float? Current48 + { + get { return _current48; } + set { SetProperty(ref _current48, value); } + } + + + + #endregion + + ISysStatusService _sysStatusService; + public DashboardViewModel(IRegionManager regionManager, ISysStatusService isysStatusService) : base(regionManager) { PageTitle = "数据中心"; IsCanClose = false; + _sysStatusService = isysStatusService; - + this.Refresh(); + } + public override void Refresh() + { + var sysStatuslist = _sysStatusService.GetSysStauts().ToList(); + if (sysStatuslist.Count() != 0) + { + var data = _sysStatusService.GetSysStauts().First(); + + PackagingTime = data.PackagingTime; + SamplingTime = data.SamplingTime; + Voltage48 = data.Voltage48; + Current48 = data.Current48; + } } } } diff --git a/InSituLaboratory/Views/Pages/DashboardView.xaml b/InSituLaboratory/Views/Pages/DashboardView.xaml index 8daa235..a4216a9 100644 --- a/InSituLaboratory/Views/Pages/DashboardView.xaml +++ b/InSituLaboratory/Views/Pages/DashboardView.xaml @@ -4,50 +4,217 @@ 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" + xmlns:converters="clr-namespace:InSituLaboratory.Base;assembly=InSituLaboratory.Base" mc:Ignorable="d" FontFamily="{StaticResource DigitalDisplay}" d:DesignHeight="450" d:DesignWidth="800"> + + + + + - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + - + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +