From 88fe6947b8a4d1f80e910f37091a09b33c313ccd Mon Sep 17 00:00:00 2001 From: MoYue Date: Tue, 26 Mar 2024 15:22:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE-=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=8A=B6=E6=80=81=E9=83=A8=E5=88=86=E5=AE=8C=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../History/ICavityBatteryLevelService.cs | 17 +++++ .../History/ICavityEnergyConversionService.cs | 17 +++++ .../ICavityEnvironmentService.cs} | 4 +- .../{ => History}/ICavityOperationService.cs | 2 +- .../History/ICavityOtputFeedBackService.cs | 17 +++++ .../History/ICavityOtputStatusService.cs | 17 +++++ .../History/ICavityOutputCurrentService.cs | 17 +++++ .../History/CavityBatteryLevelService.cs | 26 +++++++ .../History/CavityEnergyConversionService.cs | 26 +++++++ .../CavityEnvironmentService.cs} | 10 +-- .../{ => History}/CavityOperationService.cs | 10 +-- .../History/CavityOtputFeedBackService.cs | 23 ++++++ .../History/CavityOtputStatusService.cs | 23 ++++++ .../History/CavityOutputCurrentService.cs | 23 ++++++ InSituLaboratory/App.xaml.cs | 19 +++-- .../History/CavityBatteryLevelViewModel.cs | 53 ++++++++++++++ .../CavityEnergyConversionViewModel.cs | 62 ++++++++++++++++ .../CavityEnvironmentViewModel.cs | 11 +-- .../{ => History}/CavityOperationViewModel.cs | 4 +- .../History/CavityOtputFeedBackViewModel.cs | 70 +++++++++++++++++++ .../History/CavityOutputCurrentViewModel.cs | 69 ++++++++++++++++++ .../History/CavityOutputStatusViewModel.cs | 68 ++++++++++++++++++ .../Pages/History/CavityBatteryLevelView.xaml | 21 ++++++ .../History/CavityBatteryLevelView.xaml.cs | 55 +++++++++++++++ .../History/CavityEnergyConversionView.xaml | 28 ++++++++ .../CavityEnergyConversionView.xaml.cs | 54 ++++++++++++++ .../{ => History}/CavityEnvironmentView.xaml | 4 +- .../CavityEnvironmentView.xaml.cs | 2 +- .../{ => History}/CavityOperationView.xaml | 4 +- .../{ => History}/CavityOperationView.xaml.cs | 2 +- .../Pages/History/CavityOtputCurrentView.xaml | 38 ++++++++++ .../History/CavityOtputCurrentView.xaml.cs | 54 ++++++++++++++ .../History/CavityOtputFeedBackView.xaml | 38 ++++++++++ .../History/CavityOtputFeedBackView.xaml.cs | 55 +++++++++++++++ .../Pages/History/CavityOutputStatusView.xaml | 38 ++++++++++ .../History/CavityOutputStatusView.xaml.cs | 54 ++++++++++++++ 36 files changed, 1005 insertions(+), 30 deletions(-) create mode 100644 InSituLaboratory.IService/History/ICavityBatteryLevelService.cs create mode 100644 InSituLaboratory.IService/History/ICavityEnergyConversionService.cs rename InSituLaboratory.IService/{ICavityEnvironment.cs => History/ICavityEnvironmentService.cs} (69%) rename InSituLaboratory.IService/{ => History}/ICavityOperationService.cs (89%) create mode 100644 InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs create mode 100644 InSituLaboratory.IService/History/ICavityOtputStatusService.cs create mode 100644 InSituLaboratory.IService/History/ICavityOutputCurrentService.cs create mode 100644 InSituLaboratory.Service/History/CavityBatteryLevelService.cs create mode 100644 InSituLaboratory.Service/History/CavityEnergyConversionService.cs rename InSituLaboratory.Service/{CavityEnvironment.cs => History/CavityEnvironmentService.cs} (58%) rename InSituLaboratory.Service/{ => History}/CavityOperationService.cs (62%) create mode 100644 InSituLaboratory.Service/History/CavityOtputFeedBackService.cs create mode 100644 InSituLaboratory.Service/History/CavityOtputStatusService.cs create mode 100644 InSituLaboratory.Service/History/CavityOutputCurrentService.cs create mode 100644 InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs create mode 100644 InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs rename InSituLaboratory/ViewModels/Pages/{ => History}/CavityEnvironmentViewModel.cs (85%) rename InSituLaboratory/ViewModels/Pages/{ => History}/CavityOperationViewModel.cs (96%) create mode 100644 InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs create mode 100644 InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs create mode 100644 InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs create mode 100644 InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml create mode 100644 InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml.cs create mode 100644 InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml create mode 100644 InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml.cs rename InSituLaboratory/Views/Pages/{ => History}/CavityEnvironmentView.xaml (95%) rename InSituLaboratory/Views/Pages/{ => History}/CavityEnvironmentView.xaml.cs (97%) rename InSituLaboratory/Views/Pages/{ => History}/CavityOperationView.xaml (96%) rename InSituLaboratory/Views/Pages/{ => History}/CavityOperationView.xaml.cs (97%) create mode 100644 InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml create mode 100644 InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml.cs create mode 100644 InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml create mode 100644 InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml.cs create mode 100644 InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml create mode 100644 InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml.cs diff --git a/InSituLaboratory.IService/History/ICavityBatteryLevelService.cs b/InSituLaboratory.IService/History/ICavityBatteryLevelService.cs new file mode 100644 index 0000000..7a56360 --- /dev/null +++ b/InSituLaboratory.IService/History/ICavityBatteryLevelService.cs @@ -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.History +{ + /// + /// 电池电量接口 + /// + public interface ICavityBatteryLevelService : IBaseService + { + IEnumerable GetCavityBatteryLevel(string key); + } +} diff --git a/InSituLaboratory.IService/History/ICavityEnergyConversionService.cs b/InSituLaboratory.IService/History/ICavityEnergyConversionService.cs new file mode 100644 index 0000000..b512b9d --- /dev/null +++ b/InSituLaboratory.IService/History/ICavityEnergyConversionService.cs @@ -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.History +{ + /// + /// 腔体电能转换板使能状态 + /// + public interface ICavityEnergyConversionService : IBaseService + { + IEnumerable GetCavityEnergyConversion(string key); + } +} diff --git a/InSituLaboratory.IService/ICavityEnvironment.cs b/InSituLaboratory.IService/History/ICavityEnvironmentService.cs similarity index 69% rename from InSituLaboratory.IService/ICavityEnvironment.cs rename to InSituLaboratory.IService/History/ICavityEnvironmentService.cs index 2e78f4b..300ab5b 100644 --- a/InSituLaboratory.IService/ICavityEnvironment.cs +++ b/InSituLaboratory.IService/History/ICavityEnvironmentService.cs @@ -5,9 +5,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace InSituLaboratory.IService +namespace InSituLaboratory.IService.History { - public interface ICavityEnvironment : IBaseService + public interface ICavityEnvironmentService : IBaseService { IEnumerable GetCavityEnvironment(string key); } diff --git a/InSituLaboratory.IService/ICavityOperationService.cs b/InSituLaboratory.IService/History/ICavityOperationService.cs similarity index 89% rename from InSituLaboratory.IService/ICavityOperationService.cs rename to InSituLaboratory.IService/History/ICavityOperationService.cs index 834c781..14d1c22 100644 --- a/InSituLaboratory.IService/ICavityOperationService.cs +++ b/InSituLaboratory.IService/History/ICavityOperationService.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace InSituLaboratory.IService +namespace InSituLaboratory.IService.History { /// /// 腔体运行状态接口 diff --git a/InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs b/InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs new file mode 100644 index 0000000..d775fba --- /dev/null +++ b/InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs @@ -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.History +{ + /// + /// 腔体输出反馈接口 + /// + public interface ICavityOtputFeedBackService : IBaseService + { + IEnumerable GetCavityOtputFeedBack(string key); + } +} diff --git a/InSituLaboratory.IService/History/ICavityOtputStatusService.cs b/InSituLaboratory.IService/History/ICavityOtputStatusService.cs new file mode 100644 index 0000000..2c864fa --- /dev/null +++ b/InSituLaboratory.IService/History/ICavityOtputStatusService.cs @@ -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.History +{ + /// + /// 腔体输出状态接口 + /// + public interface ICavityOtputStatusService : IBaseService + { + IEnumerable GetCavityOtputStatus(string key); + } +} diff --git a/InSituLaboratory.IService/History/ICavityOutputCurrentService.cs b/InSituLaboratory.IService/History/ICavityOutputCurrentService.cs new file mode 100644 index 0000000..ab3d036 --- /dev/null +++ b/InSituLaboratory.IService/History/ICavityOutputCurrentService.cs @@ -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.History +{ + /// + /// 腔体输出电流表 + /// + public interface ICavityOutputCurrentService : IBaseService + { + IEnumerable GetCavityOtputCurrent(string key); + } +} diff --git a/InSituLaboratory.Service/History/CavityBatteryLevelService.cs b/InSituLaboratory.Service/History/CavityBatteryLevelService.cs new file mode 100644 index 0000000..d62659b --- /dev/null +++ b/InSituLaboratory.Service/History/CavityBatteryLevelService.cs @@ -0,0 +1,26 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace InSituLaboratory.Service.History +{ + /// + /// 电池电量服务层 + /// + public class CavityBatteryLevelService : BaseService, ICavityBatteryLevelService + { + public CavityBatteryLevelService(DbContext context) : base(context) { } + + public IEnumerable GetCavityBatteryLevel(string key) + { + return Set().OrderByDescending(p => p.RecordTime) + .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + } + + } +} diff --git a/InSituLaboratory.Service/History/CavityEnergyConversionService.cs b/InSituLaboratory.Service/History/CavityEnergyConversionService.cs new file mode 100644 index 0000000..ea592fa --- /dev/null +++ b/InSituLaboratory.Service/History/CavityEnergyConversionService.cs @@ -0,0 +1,26 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace InSituLaboratory.Service.History +{ + /// + /// 腔体电能转换板使能状态 + /// + public class CavityEnergyConversionService : BaseService, ICavityEnergyConversionService + { + public CavityEnergyConversionService(DbContext context) : base(context) { } + + public IEnumerable GetCavityEnergyConversion(string key) + { + return Set().OrderByDescending(p => p.RecordTime) + .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + } + + } +} diff --git a/InSituLaboratory.Service/CavityEnvironment.cs b/InSituLaboratory.Service/History/CavityEnvironmentService.cs similarity index 58% rename from InSituLaboratory.Service/CavityEnvironment.cs rename to InSituLaboratory.Service/History/CavityEnvironmentService.cs index eeaf0bc..0a840f6 100644 --- a/InSituLaboratory.Service/CavityEnvironment.cs +++ b/InSituLaboratory.Service/History/CavityEnvironmentService.cs @@ -1,5 +1,5 @@ using InSituLaboratory.Entities; -using InSituLaboratory.IService; +using InSituLaboratory.IService.History; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; @@ -7,18 +7,18 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace InSituLaboratory.Service +namespace InSituLaboratory.Service.History { /// /// 腔体内部环境 /// - public class CavityEnvironment : BaseService, ICavityEnvironment + public class CavityEnvironmentService : BaseService, ICavityEnvironmentService { - public CavityEnvironment(DbContext context) : base(context) { } + public CavityEnvironmentService(DbContext context) : base(context) { } public IEnumerable GetCavityEnvironment(string key) { - return this.Set() + return Set().OrderByDescending(p => p.RecordTime) .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); } diff --git a/InSituLaboratory.Service/CavityOperationService.cs b/InSituLaboratory.Service/History/CavityOperationService.cs similarity index 62% rename from InSituLaboratory.Service/CavityOperationService.cs rename to InSituLaboratory.Service/History/CavityOperationService.cs index f804684..f5d3598 100644 --- a/InSituLaboratory.Service/CavityOperationService.cs +++ b/InSituLaboratory.Service/History/CavityOperationService.cs @@ -1,5 +1,5 @@ using InSituLaboratory.Entities; -using InSituLaboratory.IService; +using InSituLaboratory.IService.History; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; @@ -7,16 +7,16 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace InSituLaboratory.Service +namespace InSituLaboratory.Service.History { public class CavityOperationService : BaseService, ICavityOperationService { - public CavityOperationService(DbContext context) : base(context){ } + public CavityOperationService(DbContext context) : base(context) { } public IEnumerable GetCavityOperationStatus(string key) { - return this.Set() - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + return Set().OrderByDescending(p => p.RecordTime) + .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); } } diff --git a/InSituLaboratory.Service/History/CavityOtputFeedBackService.cs b/InSituLaboratory.Service/History/CavityOtputFeedBackService.cs new file mode 100644 index 0000000..005c097 --- /dev/null +++ b/InSituLaboratory.Service/History/CavityOtputFeedBackService.cs @@ -0,0 +1,23 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace InSituLaboratory.Service.History +{ + public class CavityOtputFeedBackService : BaseService, ICavityOtputFeedBackService + { + public CavityOtputFeedBackService(DbContext context) : base(context) { } + + public IEnumerable GetCavityOtputFeedBack(string key) + { + return Set().OrderByDescending(p => p.RecordTime) + .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + } + + } +} diff --git a/InSituLaboratory.Service/History/CavityOtputStatusService.cs b/InSituLaboratory.Service/History/CavityOtputStatusService.cs new file mode 100644 index 0000000..a963ee6 --- /dev/null +++ b/InSituLaboratory.Service/History/CavityOtputStatusService.cs @@ -0,0 +1,23 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace InSituLaboratory.Service.History +{ + public class CavityOtputStatusService : BaseService, ICavityOtputStatusService + { + public CavityOtputStatusService(DbContext context) : base(context) { } + + public IEnumerable GetCavityOtputStatus(string key) + { + return Set().OrderByDescending(p => p.RecordTime) + .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + } + + } +} diff --git a/InSituLaboratory.Service/History/CavityOutputCurrentService.cs b/InSituLaboratory.Service/History/CavityOutputCurrentService.cs new file mode 100644 index 0000000..5654757 --- /dev/null +++ b/InSituLaboratory.Service/History/CavityOutputCurrentService.cs @@ -0,0 +1,23 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace InSituLaboratory.Service.History +{ + public class CavityOutputCurrentService : BaseService, ICavityOutputCurrentService + { + public CavityOutputCurrentService(DbContext context) : base(context) { } + + public IEnumerable GetCavityOtputCurrent(string key) + { + return Set().OrderByDescending(p => p.RecordTime) + .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + } + + } +} diff --git a/InSituLaboratory/App.xaml.cs b/InSituLaboratory/App.xaml.cs index b5ac4ce..6aee956 100644 --- a/InSituLaboratory/App.xaml.cs +++ b/InSituLaboratory/App.xaml.cs @@ -1,7 +1,9 @@ using InSituLaboratory.Base; using InSituLaboratory.IService; +using InSituLaboratory.IService.History; using InSituLaboratory.ORM; using InSituLaboratory.Service; +using InSituLaboratory.Service.History; using InSituLaboratory.Views; using Microsoft.EntityFrameworkCore; using Prism.Ioc; @@ -43,7 +45,12 @@ namespace InSituLaboratory containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); - containerRegistry.Register(); + containerRegistry.Register(); + containerRegistry.Register(); + containerRegistry.Register(); + containerRegistry.Register(); + containerRegistry.Register(); + containerRegistry.Register(); containerRegistry.RegisterForNavigation(); @@ -52,9 +59,13 @@ namespace InSituLaboratory containerRegistry.RegisterForNavigation(); - containerRegistry.RegisterForNavigation(); - containerRegistry.RegisterForNavigation(); - + containerRegistry.RegisterForNavigation(); + containerRegistry.RegisterForNavigation(); + containerRegistry.RegisterForNavigation(); + containerRegistry.RegisterForNavigation(); + containerRegistry.RegisterForNavigation(); + containerRegistry.RegisterForNavigation(); + containerRegistry.RegisterForNavigation(); containerRegistry.RegisterDialog(); containerRegistry.RegisterDialog(); diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs new file mode 100644 index 0000000..31d7255 --- /dev/null +++ b/InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs @@ -0,0 +1,53 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +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.History +{ + /// + /// 电池电量 + /// + public class CavityBatteryLevelViewModel : ViewModelBase + { + IDialogService _dialogService; + ICavityBatteryLevelService _cavityBatteryLevelService; + + public CavityBatteryLevelViewModel(IRegionManager regionManager, ICavityBatteryLevelService icavityBatteryLevelService, IDialogService dialogService) : base(regionManager) + { + this.PageTitle = "电池电量"; + + _dialogService = dialogService; + _cavityBatteryLevelService = icavityBatteryLevelService; + + this.Refresh(); + } + + public ObservableCollection cavitybatterylevel { get; set; } = new ObservableCollection(); + + public override void Refresh() + { + cavitybatterylevel.Clear(); + var cavitybatterylevellist = _cavityBatteryLevelService.GetCavityBatteryLevel(SearchKey).ToList(); + + foreach (var item in cavitybatterylevellist) + { + cavitybatterylevel model = new cavitybatterylevel + { + DataIdNum = item.DataIdNum, + RecordTime = item.RecordTime, + CavityPIN = item.CavityPIN, + Voltage = item.Voltage + }; + cavitybatterylevel.Add(model); + } + } + } +} diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs new file mode 100644 index 0000000..f496c91 --- /dev/null +++ b/InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs @@ -0,0 +1,62 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +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.History +{ + /// + /// 腔体电能转换板使能状态 + /// + public class CavityEnergyConversionViewModel : ViewModelBase + { + IDialogService _dialogService; + ICavityEnergyConversionService _cavityEnergyConversionService; + + public CavityEnergyConversionViewModel(IRegionManager regionManager, ICavityEnergyConversionService icavityEnergyConversion, IDialogService dialogService) : base(regionManager) + { + this.PageTitle = "腔体电能转换板使能状态"; + PrimaryKey = "DN-电能转换板"; + + _dialogService = dialogService; + _cavityEnergyConversionService = icavityEnergyConversion; + + this.Refresh(); + } + + public ObservableCollection cavityenergyconversion { get; set; } = new ObservableCollection(); + + public override void Refresh() + { + cavityenergyconversion.Clear(); + var cavityenergyconversionlist = _cavityEnergyConversionService.GetCavityEnergyConversion(SearchKey).ToList(); + + foreach (var item in cavityenergyconversionlist) + { + cavityenergyconversion model = new cavityenergyconversion + { + DataIdNum = item.DataIdNum, + RecordTime = item.RecordTime, + CavityPIN = item.CavityPIN, + Enable1Of24V = item.Enable1Of24V, + Enable1Of12V = item.Enable1Of12V, + Enable2Of24V = item.Enable2Of24V, + Enable2Of12V = item.Enable2Of12V, + Enable3Of24V = item.Enable3Of24V, + Enable3Of12V = item.Enable3Of12V, + Enable4Of24V = item.Enable4Of24V, + Enable4Of12V = item.Enable4Of12V + }; + cavityenergyconversion.Add(model); + } + } + + + } +} diff --git a/InSituLaboratory/ViewModels/Pages/CavityEnvironmentViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityEnvironmentViewModel.cs similarity index 85% rename from InSituLaboratory/ViewModels/Pages/CavityEnvironmentViewModel.cs rename to InSituLaboratory/ViewModels/Pages/History/CavityEnvironmentViewModel.cs index f1eec56..9071d65 100644 --- a/InSituLaboratory/ViewModels/Pages/CavityEnvironmentViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityEnvironmentViewModel.cs @@ -1,5 +1,6 @@ -using InSituLaboratory.Entities; -using InSituLaboratory.IService; + +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; using InSituLaboratory.Service; using Prism.Regions; using Prism.Services.Dialogs; @@ -10,16 +11,16 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace InSituLaboratory.ViewModels.Pages +namespace InSituLaboratory.ViewModels.Pages.History { /// /// 腔体内部环境 /// public class CavityEnvironmentViewModel : ViewModelBase { - ICavityEnvironment _icavityEnvironment; + ICavityEnvironmentService _icavityEnvironment; IDialogService _dialogService; - public CavityEnvironmentViewModel(IRegionManager regionManager, ICavityEnvironment icavityEnvironment, IDialogService dialogService) : base(regionManager) + public CavityEnvironmentViewModel(IRegionManager regionManager, ICavityEnvironmentService icavityEnvironment, IDialogService dialogService) : base(regionManager) { this.PageTitle = "腔体内部环境状态记录"; diff --git a/InSituLaboratory/ViewModels/Pages/CavityOperationViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOperationViewModel.cs similarity index 96% rename from InSituLaboratory/ViewModels/Pages/CavityOperationViewModel.cs rename to InSituLaboratory/ViewModels/Pages/History/CavityOperationViewModel.cs index 0275682..84807c4 100644 --- a/InSituLaboratory/ViewModels/Pages/CavityOperationViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOperationViewModel.cs @@ -1,5 +1,5 @@ using InSituLaboratory.Entities; -using InSituLaboratory.IService; +using InSituLaboratory.IService.History; using InSituLaboratory.Models; using InSituLaboratory.Service; using Prism.Commands; @@ -14,7 +14,7 @@ using System.Threading.Tasks; using System.Windows.Controls; using System.Windows.Input; -namespace InSituLaboratory.ViewModels.Pages +namespace InSituLaboratory.ViewModels.Pages.History { /// /// 腔体运行状态 diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs new file mode 100644 index 0000000..a02f051 --- /dev/null +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs @@ -0,0 +1,70 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +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.History +{ + /// + /// 腔体输出反馈 + /// + public class CavityOtputFeedBackViewModel : ViewModelBase + { + IDialogService _dialogService; + ICavityOtputFeedBackService _cavityOtputFeedBackService; + public CavityOtputFeedBackViewModel(IRegionManager regionManager, ICavityOtputFeedBackService cavityOtputFeedBackService, IDialogService dialogService) : base(regionManager) + { + PageTitle = "腔体输出反馈记录"; + + _dialogService = dialogService; + _cavityOtputFeedBackService = cavityOtputFeedBackService; + + Refresh(); + } + + public ObservableCollection cavityoutputfeedback { get; set; } = new ObservableCollection(); + + public override void Refresh() + { + cavityoutputfeedback.Clear(); + var cavityoutputfeedbacklist = _cavityOtputFeedBackService.GetCavityOtputFeedBack(SearchKey).ToList(); + foreach (var item in cavityoutputfeedbacklist) + { + cavityoutputfeedback model = new cavityoutputfeedback + { + DataIdNum = item.DataIdNum, + RecordTime = item.RecordTime, + CavityPIN = item.CavityPIN, + OutputFeedbackOfGC_MS = item.OutputFeedbackOfGC_MS, + OutputFeedback1OfSecondComPort = item.OutputFeedback1OfSecondComPort, + OutputFeedback2OfSecondComPort = item.OutputFeedback2OfSecondComPort, + OutputFeedbackOfOpticalComm = item.OutputFeedbackOfOpticalComm, + OutputFeedbackOfADCP = item.OutputFeedbackOfADCP, + OutputFeedbackOfCTD = item.OutputFeedbackOfCTD, + OutputFeedbackOfDC_ECD = item.OutputFeedbackOfDC_ECD, + OutputFeedbackOfCH4 = item.OutputFeedbackOfCH4, + OutputFeedbackOfCo2 = item.OutputFeedbackOfCo2, + OutputFeedbackOfSNetPort = item.OutputFeedbackOfSNetPort, + OutputFeedbackOfSerialServer = item.OutputFeedbackOfSerialServer, + OutputFeedbackOfIPC = item.OutputFeedbackOfIPC, + OutputFeedbackOfMicroRaman = item.OutputFeedbackOfMicroRaman, + OutputFeedbackOfMS = item.OutputFeedbackOfMS, + OutputFeedbackOfALD = item.OutputFeedbackOfALD, + OutputFeedbackOfVDataIdNumeo1 = item.OutputFeedbackOfVDataIdNumeo1, + OutputFeedbackOfVDataIdNumeo2 = item.OutputFeedbackOfVDataIdNumeo2, + OutputFeedbackOfSwichBoard = item.OutputFeedbackOfSwichBoard + }; + cavityoutputfeedback.Add(model); + } + } + + + } +} diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs new file mode 100644 index 0000000..dac6a13 --- /dev/null +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs @@ -0,0 +1,69 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +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.History +{ + /// + /// 腔体输出电流 + /// + public class CavityOtputCurrentViewModel : ViewModelBase + { + IDialogService _dialogService; + ICavityOutputCurrentService _cavityOutputCurrentService; + public CavityOtputCurrentViewModel(IRegionManager regionManager,ICavityOutputCurrentService cavityOutputCurrentService, IDialogService dialogService) : base(regionManager) + { + PageTitle = "腔体输出电流状态"; + + _dialogService = dialogService; + _cavityOutputCurrentService = cavityOutputCurrentService; + + Refresh(); + } + + public ObservableCollection cavityoutputcurrent { get; set; } = new ObservableCollection(); + + + public override void Refresh() + { + cavityoutputcurrent.Clear(); + var cavityoutputcurrentlist = _cavityOutputCurrentService.GetCavityOtputCurrent(SearchKey).ToList(); + + foreach (var item in cavityoutputcurrentlist) + { + cavityoutputcurrent model = new cavityoutputcurrent + { + DataIdNum = item.DataIdNum, + RecordTime = item.RecordTime, + CavityPIN = item.CavityPIN, + CurrentOfGC_MS = item.CurrentOfGC_MS, + CurrentOfSecondComPort1 = item.CurrentOfSecondComPort1, + CurrentOfSecondComPort2 = item.CurrentOfSecondComPort2, + CurrentOfOpticalComm = item.CurrentOfOpticalComm, + CurrentOfADCP = item.CurrentOfADCP, + CurrentOfCTD = item.CurrentOfCTD, + CurrentOfDC_ECD = item.CurrentOfDC_ECD, + CurrentOfCH4 = item.CurrentOfCH4, + CurrentOfCo2 = item.CurrentOfCo2, + CurrentOfSNetPort = item.CurrentOfSNetPort, + CurrentOfSerialServer = item.CurrentOfSerialServer, + CurrentOfIPC = item.CurrentOfIPC, + CurrentOfMicroRaman = item.CurrentOfMicroRaman, + CurrentOfMS = item.CurrentOfMS, + CurrentOfALD = item.CurrentOfALD, + CurrrentOfVDataIdNumeo1 = item.CurrrentOfVDataIdNumeo1, + CurrentOfVDataIdNumeo2 = item.CurrentOfVDataIdNumeo2, + CurrentOfSwichBoard = item.CurrentOfSwichBoard + }; + cavityoutputcurrent.Add(model); + } + } + } +} diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs new file mode 100644 index 0000000..a96f9ff --- /dev/null +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs @@ -0,0 +1,68 @@ +using InSituLaboratory.Entities; +using InSituLaboratory.IService.History; +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.History +{ + /// + /// 腔体输出状态--传感器电源状态 + /// + public class CavityOutputStatusViewModel : ViewModelBase + { + IDialogService _dialogService; + ICavityOtputStatusService _icavityOtputStatus; + public CavityOutputStatusViewModel(IRegionManager regionManager, ICavityOtputStatusService icavityOtputStatusService, IDialogService dialogService) : base(regionManager) + { + PageTitle = "腔体输出状态"; + + _dialogService = dialogService; + _icavityOtputStatus = icavityOtputStatusService; + + Refresh(); + } + + public ObservableCollection cavityoutputstatus { get; set; } = new ObservableCollection(); + + public override void Refresh() + { + cavityoutputstatus.Clear(); + var cavityoutputstatuslist = _icavityOtputStatus.GetCavityOtputStatus(SearchKey).ToList(); + + foreach (var item in cavityoutputstatuslist) + { + cavityoutputstatus model = new cavityoutputstatus + { + DataIdNum = item.DataIdNum, + RecordTime = item.RecordTime, + CavityPIN = item.CavityPIN, + OutputStateOfGC_MS = item.OutputStateOfGC_MS, + OutputStateOfSecondComPort1 = item.OutputStateOfSecondComPort1, + OutputStateOfSecondComPort2 = item.OutputStateOfSecondComPort2, + OutputStateOfOpticalComm = item.OutputStateOfOpticalComm, + OutputStateOfADCP = item.OutputStateOfADCP, + OutputStateOfCTD = item.OutputStateOfCTD, + OutputStateOfDC_ECD = item.OutputStateOfDC_ECD, + OutputStateOfCH4 = item.OutputStateOfCH4, + OutputStateOfCo2 = item.OutputStateOfCo2, + OutputStateOfSNetPort = item.OutputStateOfSNetPort, + OutputStateOfSerialServer = item.OutputStateOfSerialServer, + OutputStateOfIPC = item.OutputStateOfIPC, + OutputStateOfMicroRaman = item.OutputStateOfMicroRaman, + OutputStateOfMS = item.OutputStateOfMS, + OutputStateOfALD = item.OutputStateOfALD, + OutputStateOfVDataIdNumeo1 = item.OutputStateOfVDataIdNumeo1, + OutputStateOfVDataIdNumeo2 = item.OutputStateOfVDataIdNumeo2, + OutputStateOfSwichBoard = item.OutputStateOfSwichBoard + }; + cavityoutputstatus.Add(model); + } + } + } +} diff --git a/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml b/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml new file mode 100644 index 0000000..2ec65af --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + diff --git a/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml.cs b/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml.cs new file mode 100644 index 0000000..abc8dbd --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml.cs @@ -0,0 +1,55 @@ +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.History +{ + /// + /// CavityBatteryLevelView.xaml 的交互逻辑 + /// + public partial class CavityBatteryLevelView : UserControl + { + public CavityBatteryLevelView() + { + InitializeComponent(); + } + + + /// + /// 支持鼠标滚轮上下滚动 + /// + /// + /// + 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; + } + } + } +} diff --git a/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml b/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml new file mode 100644 index 0000000..6de83e6 --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml.cs b/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml.cs new file mode 100644 index 0000000..f836adf --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml.cs @@ -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.History +{ + /// + /// CavityEnergyConversionView.xaml 的交互逻辑 + /// + public partial class CavityEnergyConversionView : UserControl + { + public CavityEnergyConversionView() + { + InitializeComponent(); + } + + /// + /// 支持鼠标滚轮上下滚动 + /// + /// + /// + 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; + } + } + } +} diff --git a/InSituLaboratory/Views/Pages/CavityEnvironmentView.xaml b/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml similarity index 95% rename from InSituLaboratory/Views/Pages/CavityEnvironmentView.xaml rename to InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml index 5248cce..dc61ee5 100644 --- a/InSituLaboratory/Views/Pages/CavityEnvironmentView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml @@ -1,9 +1,9 @@ - diff --git a/InSituLaboratory/Views/Pages/CavityEnvironmentView.xaml.cs b/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml.cs similarity index 97% rename from InSituLaboratory/Views/Pages/CavityEnvironmentView.xaml.cs rename to InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml.cs index 690213e..789eacf 100644 --- a/InSituLaboratory/Views/Pages/CavityEnvironmentView.xaml.cs +++ b/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml.cs @@ -13,7 +13,7 @@ using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; -namespace InSituLaboratory.Views.Pages +namespace InSituLaboratory.Views.Pages.History { /// /// CavityEnvironmentView.xaml 的交互逻辑 diff --git a/InSituLaboratory/Views/Pages/CavityOperationView.xaml b/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml similarity index 96% rename from InSituLaboratory/Views/Pages/CavityOperationView.xaml rename to InSituLaboratory/Views/Pages/History/CavityOperationView.xaml index 7346872..3d401e2 100644 --- a/InSituLaboratory/Views/Pages/CavityOperationView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml @@ -1,9 +1,9 @@ - diff --git a/InSituLaboratory/Views/Pages/CavityOperationView.xaml.cs b/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml.cs similarity index 97% rename from InSituLaboratory/Views/Pages/CavityOperationView.xaml.cs rename to InSituLaboratory/Views/Pages/History/CavityOperationView.xaml.cs index de7ece5..2a85cb0 100644 --- a/InSituLaboratory/Views/Pages/CavityOperationView.xaml.cs +++ b/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml.cs @@ -13,7 +13,7 @@ using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; -namespace InSituLaboratory.Views.Pages +namespace InSituLaboratory.Views.Pages.History { /// /// CavityOperationView.xaml 的交互逻辑 diff --git a/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml b/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml new file mode 100644 index 0000000..ea71638 --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml.cs b/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml.cs new file mode 100644 index 0000000..7d9a615 --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml.cs @@ -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.History +{ + /// + /// CavityOtputCurrentView.xaml 的交互逻辑 + /// + public partial class CavityOtputCurrentView : UserControl + { + public CavityOtputCurrentView() + { + InitializeComponent(); + } + + /// + /// 支持鼠标滚轮上下滚动 + /// + /// + /// + 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; + } + } + } +} diff --git a/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml b/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml new file mode 100644 index 0000000..2bc9682 --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml.cs b/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml.cs new file mode 100644 index 0000000..5e04291 --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml.cs @@ -0,0 +1,55 @@ +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.History +{ + /// + /// CavityOtputFeedBackView.xaml 的交互逻辑 + /// + public partial class CavityOtputFeedBackView : UserControl + { + public CavityOtputFeedBackView() + { + InitializeComponent(); + } + + + /// + /// 支持鼠标滚轮上下滚动 + /// + /// + /// + 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; + } + } + } +} diff --git a/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml b/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml new file mode 100644 index 0000000..a4603b2 --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml.cs b/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml.cs new file mode 100644 index 0000000..6cd2be3 --- /dev/null +++ b/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml.cs @@ -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.History +{ + /// + /// CavityOutputStatusView.xaml 的交互逻辑 + /// + public partial class CavityOutputStatusView : UserControl + { + public CavityOutputStatusView() + { + InitializeComponent(); + } + + /// + /// 支持鼠标滚轮上下滚动 + /// + /// + /// + 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; + } + } + } +}