From dba151304d5e9f441bb03cf10010045ad87066dc Mon Sep 17 00:00:00 2001 From: MoYue Date: Wed, 27 Mar 2024 17:27:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=86=E9=A1=B5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Styles/DataGridStyle.xaml | 8 +- InSituLaboratory.Controls/Pagination.xaml | 271 ++++++++++++++++++ InSituLaboratory.Controls/Pagination.xaml.cs | 28 ++ InSituLaboratory.Controls/PaginationModel.cs | 185 ++++++++++++ .../History/ICavityBatteryLevelService.cs | 2 +- .../History/ICavityEnergyConversionService.cs | 2 +- .../History/ICavityEnvironmentService.cs | 2 +- .../History/ICavityOperationService.cs | 2 +- .../History/ICavityOtputFeedBackService.cs | 2 +- .../History/ICavityOtputStatusService.cs | 2 +- .../History/ICavityOutputCurrentService.cs | 2 +- .../History/CavityBatteryLevelService.cs | 9 +- .../History/CavityEnergyConversionService.cs | 9 +- .../History/CavityEnvironmentService.cs | 10 +- .../History/CavityOperationService.cs | 11 +- .../History/CavityOtputFeedBackService.cs | 10 +- .../History/CavityOtputStatusService.cs | 11 +- .../History/CavityOutputCurrentService.cs | 9 +- .../History/CavityBatteryLevelViewModel.cs | 29 +- .../CavityEnergyConversionViewModel.cs | 28 +- .../History/CavityEnvironmentViewModel.cs | 27 +- .../Pages/History/CavityOperationViewModel.cs | 27 +- .../History/CavityOtputFeedBackViewModel.cs | 28 +- .../History/CavityOutputCurrentViewModel.cs | 27 +- .../History/CavityOutputStatusViewModel.cs | 26 +- .../Pages/History/CavityBatteryLevelView.xaml | 8 + .../History/CavityEnergyConversionView.xaml | 7 + .../Pages/History/CavityEnvironmentView.xaml | 9 +- .../Pages/History/CavityOperationView.xaml | 9 +- .../Pages/History/CavityOtputCurrentView.xaml | 8 + .../History/CavityOtputFeedBackView.xaml | 8 + .../Pages/History/CavityOutputStatusView.xaml | 8 + 32 files changed, 741 insertions(+), 83 deletions(-) create mode 100644 InSituLaboratory.Controls/Pagination.xaml create mode 100644 InSituLaboratory.Controls/Pagination.xaml.cs create mode 100644 InSituLaboratory.Controls/PaginationModel.cs diff --git a/InSituLaboratory.Assets/Styles/DataGridStyle.xaml b/InSituLaboratory.Assets/Styles/DataGridStyle.xaml index c5677f0..ca02233 100644 --- a/InSituLaboratory.Assets/Styles/DataGridStyle.xaml +++ b/InSituLaboratory.Assets/Styles/DataGridStyle.xaml @@ -48,7 +48,7 @@ - + - + diff --git a/InSituLaboratory.Controls/Pagination.xaml b/InSituLaboratory.Controls/Pagination.xaml new file mode 100644 index 0000000..d706bfe --- /dev/null +++ b/InSituLaboratory.Controls/Pagination.xaml @@ -0,0 +1,271 @@ + + + + 10 + 15 + 20 + 30 + 50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/InSituLaboratory.Controls/Pagination.xaml.cs b/InSituLaboratory.Controls/Pagination.xaml.cs new file mode 100644 index 0000000..3e58e22 --- /dev/null +++ b/InSituLaboratory.Controls/Pagination.xaml.cs @@ -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.Controls +{ + /// + /// Pagination.xaml 的交互逻辑 + /// + public partial class Pagination : UserControl + { + public Pagination() + { + InitializeComponent(); + } + } +} diff --git a/InSituLaboratory.Controls/PaginationModel.cs b/InSituLaboratory.Controls/PaginationModel.cs new file mode 100644 index 0000000..011ca5d --- /dev/null +++ b/InSituLaboratory.Controls/PaginationModel.cs @@ -0,0 +1,185 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Input; + +namespace InSituLaboratory.Controls +{ + public class PaginationModel : INotifyPropertyChanged + { + public event PropertyChangedEventHandler? PropertyChanged; + + + public ICommand NavCommand { get; set; } + + public ObservableCollection PageNumList { get; set; } = + new ObservableCollection(); + + //public int PerPageCount { get; set; } = 20; + private int _pageSize = 20; + + public int PageSize + { + get { return _pageSize; } + set + { + _pageSize = value; + NavCommand?.Execute(PageIndex); + } + } + + + private int _pageIndex = 1; + + public int PageIndex + { + get { return _pageIndex; } + set + { + if (value <= 0) + _pageIndex = 1; + else + _pageIndex = value; + } + } + + + + private bool _isCanPrevious = true; + public bool IsCanPrevious + { + get => _isCanPrevious; + set + { + this._isCanPrevious = value; + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("IsCanPrevious")); + } + } + + private bool _isCanNext = true; + public bool IsCanNext + { + get => _isCanNext; + set + { + this._isCanNext = value; + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("IsCanNext")); + } + } + + private int _previousIndex; + /// + /// 前一条数据的Index 如果当前Index=2 1 3 + /// + public int PreviousIndex + { + get => _previousIndex; + set + { + this._previousIndex = value; + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("PreviousIndex")); + } + } + + private int _nextIndex; + public int NextIndex + { + get => _nextIndex; + set + { + this._nextIndex = value; + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("NextIndex")); + } + } + + /// + /// 填充刷新页码 + /// + /// 数据总条目数 + public void FillPageNumbers(int sumCount) + { + // 总条目数:100 per 20 num=5 + // 第一次刷新:pageIndex=1 + // 第二次刷新:点击了页码:5 + // 第三次刷新:因为重新选择了每页数量 per 30 num=4 + // 简单点的话:当重新选择了每页数量后,直接从1页开始 + // 算法处理一下的话:页码超出范围,显示最后一页 + + + // 这里进行PageNumList的修改 3.0 2 =1.5 == 2 + int num_count = (int)Math.Ceiling(sumCount * 1.0 / PageSize); + if (PageIndex > num_count) PageIndex = num_count; + + this.PreviousIndex = PageIndex - 1; + this.NextIndex = PageIndex + 1; + + // 处理前一页和后一页按钮的可用性 + //if (PageIndex == 1) + IsCanPrevious = PageIndex != 1; + //if (PageIndex == num_count) + IsCanNext = PageIndex != num_count; + + + // 页面的显示 + // 20 30 40 导致页面显示不了 + // 1 2 3 4 5 6 ... 16 + // 1 ... 7 8 9 10 11 12 13 ... 16 + // 1 ... 11 12 13 14 15 16 + + int min = PageIndex - 4; + if (min <= 1) min = 1; + else min = PageIndex - 3; + + int max = PageIndex + 4; + if (PageIndex <= 5) + max = Math.Min(9, num_count); + else + { + if (max >= num_count) max = num_count; + else max = PageIndex + 3; + } + + if (PageIndex >= num_count - 4) + min = Math.Max(1, num_count - 8); + + + List temp = new List(); + if (min > 1) + { + temp.Add("1"); + temp.Add("···"); + } + for (int i = min; i <= max; i++) + temp.Add(i.ToString()); + if (max < num_count) + { + temp.Add("···"); + temp.Add(num_count.ToString()); + } + + PageNumList.Clear(); + //for (int i = 1; i <= num_count; i++) + foreach (string str in temp) + { + bool state = int.TryParse(str, out int index); + PageNumList.Add(new PageNumberModel + { + Index = str, + IsCurrent = (index == PageIndex), + IsEnabled = state + }); + } + } + + public class PageNumberModel + { + public string Index { get; set; } + public bool IsEnabled { get; set; } = true; + public bool IsCurrent { get; set; } + } + } +} diff --git a/InSituLaboratory.IService/History/ICavityBatteryLevelService.cs b/InSituLaboratory.IService/History/ICavityBatteryLevelService.cs index 7a56360..0f87396 100644 --- a/InSituLaboratory.IService/History/ICavityBatteryLevelService.cs +++ b/InSituLaboratory.IService/History/ICavityBatteryLevelService.cs @@ -12,6 +12,6 @@ namespace InSituLaboratory.IService.History /// public interface ICavityBatteryLevelService : IBaseService { - IEnumerable GetCavityBatteryLevel(string key); + IEnumerable GetCavityBatteryLevel(string key, int pageSize, int pageIndex, out int totalCount); } } diff --git a/InSituLaboratory.IService/History/ICavityEnergyConversionService.cs b/InSituLaboratory.IService/History/ICavityEnergyConversionService.cs index b512b9d..912cd18 100644 --- a/InSituLaboratory.IService/History/ICavityEnergyConversionService.cs +++ b/InSituLaboratory.IService/History/ICavityEnergyConversionService.cs @@ -12,6 +12,6 @@ namespace InSituLaboratory.IService.History /// public interface ICavityEnergyConversionService : IBaseService { - IEnumerable GetCavityEnergyConversion(string key); + IEnumerable GetCavityEnergyConversion(string key, int pageSize, int pageIndex, out int totalCount); } } diff --git a/InSituLaboratory.IService/History/ICavityEnvironmentService.cs b/InSituLaboratory.IService/History/ICavityEnvironmentService.cs index 300ab5b..3885255 100644 --- a/InSituLaboratory.IService/History/ICavityEnvironmentService.cs +++ b/InSituLaboratory.IService/History/ICavityEnvironmentService.cs @@ -9,6 +9,6 @@ namespace InSituLaboratory.IService.History { public interface ICavityEnvironmentService : IBaseService { - IEnumerable GetCavityEnvironment(string key); + IEnumerable GetCavityEnvironment(string key, int pageSize, int pageIndex, out int totalCount); } } diff --git a/InSituLaboratory.IService/History/ICavityOperationService.cs b/InSituLaboratory.IService/History/ICavityOperationService.cs index 14d1c22..edddfef 100644 --- a/InSituLaboratory.IService/History/ICavityOperationService.cs +++ b/InSituLaboratory.IService/History/ICavityOperationService.cs @@ -12,6 +12,6 @@ namespace InSituLaboratory.IService.History /// public interface ICavityOperationService : IBaseService { - IEnumerable GetCavityOperationStatus(string key); + IEnumerable GetCavityOperationStatus(string key, int pageSize, int pageIndex, out int totalCount); } } diff --git a/InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs b/InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs index d775fba..aeb3f51 100644 --- a/InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs +++ b/InSituLaboratory.IService/History/ICavityOtputFeedBackService.cs @@ -12,6 +12,6 @@ namespace InSituLaboratory.IService.History /// public interface ICavityOtputFeedBackService : IBaseService { - IEnumerable GetCavityOtputFeedBack(string key); + IEnumerable GetCavityOtputFeedBack(string key, int pageSize, int pageIndex, out int totalCount); } } diff --git a/InSituLaboratory.IService/History/ICavityOtputStatusService.cs b/InSituLaboratory.IService/History/ICavityOtputStatusService.cs index 2c864fa..c31e578 100644 --- a/InSituLaboratory.IService/History/ICavityOtputStatusService.cs +++ b/InSituLaboratory.IService/History/ICavityOtputStatusService.cs @@ -12,6 +12,6 @@ namespace InSituLaboratory.IService.History /// public interface ICavityOtputStatusService : IBaseService { - IEnumerable GetCavityOtputStatus(string key); + IEnumerable GetCavityOtputStatus(string key, int pageSize, int pageIndex, out int totalCount); } } diff --git a/InSituLaboratory.IService/History/ICavityOutputCurrentService.cs b/InSituLaboratory.IService/History/ICavityOutputCurrentService.cs index ab3d036..6c96d6d 100644 --- a/InSituLaboratory.IService/History/ICavityOutputCurrentService.cs +++ b/InSituLaboratory.IService/History/ICavityOutputCurrentService.cs @@ -12,6 +12,6 @@ namespace InSituLaboratory.IService.History /// public interface ICavityOutputCurrentService : IBaseService { - IEnumerable GetCavityOtputCurrent(string key); + IEnumerable GetCavityOtputCurrent(string key, int pageSize, int pageIndex, out int totalCount); } } diff --git a/InSituLaboratory.Service/History/CavityBatteryLevelService.cs b/InSituLaboratory.Service/History/CavityBatteryLevelService.cs index d62659b..4730d51 100644 --- a/InSituLaboratory.Service/History/CavityBatteryLevelService.cs +++ b/InSituLaboratory.Service/History/CavityBatteryLevelService.cs @@ -16,10 +16,13 @@ namespace InSituLaboratory.Service.History { public CavityBatteryLevelService(DbContext context) : base(context) { } - public IEnumerable GetCavityBatteryLevel(string key) + public IEnumerable GetCavityBatteryLevel(string key, int pageSize, int pageIndex, out int totalCount) { - return Set().OrderByDescending(p => p.RecordTime) - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + var pResult = this.QueryPage(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key), pageSize, pageIndex, order => order.RecordTime.ToString(), false); + + totalCount = pResult.TotalCount; + + return pResult.DataList; } } diff --git a/InSituLaboratory.Service/History/CavityEnergyConversionService.cs b/InSituLaboratory.Service/History/CavityEnergyConversionService.cs index ea592fa..79a296f 100644 --- a/InSituLaboratory.Service/History/CavityEnergyConversionService.cs +++ b/InSituLaboratory.Service/History/CavityEnergyConversionService.cs @@ -16,10 +16,13 @@ namespace InSituLaboratory.Service.History { public CavityEnergyConversionService(DbContext context) : base(context) { } - public IEnumerable GetCavityEnergyConversion(string key) + public IEnumerable GetCavityEnergyConversion(string key, int pageSize, int pageIndex, out int totalCount) { - return Set().OrderByDescending(p => p.RecordTime) - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + var pResult = this.QueryPage(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key), pageSize, pageIndex, order => order.RecordTime.ToString(), false); + + totalCount = pResult.TotalCount; + + return pResult.DataList; } } diff --git a/InSituLaboratory.Service/History/CavityEnvironmentService.cs b/InSituLaboratory.Service/History/CavityEnvironmentService.cs index 0a840f6..a3a5e53 100644 --- a/InSituLaboratory.Service/History/CavityEnvironmentService.cs +++ b/InSituLaboratory.Service/History/CavityEnvironmentService.cs @@ -16,11 +16,13 @@ namespace InSituLaboratory.Service.History { public CavityEnvironmentService(DbContext context) : base(context) { } - public IEnumerable GetCavityEnvironment(string key) + public IEnumerable GetCavityEnvironment(string key, int pageSize, int pageIndex, out int totalCount) { - return Set().OrderByDescending(p => p.RecordTime) - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); - } + var pResult = this.QueryPage(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key), pageSize, pageIndex, order => order.RecordTime.ToString(), false); + totalCount = pResult.TotalCount; + + return pResult.DataList; + } } } diff --git a/InSituLaboratory.Service/History/CavityOperationService.cs b/InSituLaboratory.Service/History/CavityOperationService.cs index f5d3598..e46c31a 100644 --- a/InSituLaboratory.Service/History/CavityOperationService.cs +++ b/InSituLaboratory.Service/History/CavityOperationService.cs @@ -13,10 +13,15 @@ namespace InSituLaboratory.Service.History { public CavityOperationService(DbContext context) : base(context) { } - public IEnumerable GetCavityOperationStatus(string key) + public IEnumerable GetCavityOperationStatus(string key, int pageSize, int pageIndex, out int totalCount) { - return Set().OrderByDescending(p => p.RecordTime) - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + + var pResult = this.QueryPage(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key), pageSize,pageIndex, order => order.RecordTime.ToString(), false ); + + totalCount = pResult.TotalCount; + + return pResult.DataList; + } } diff --git a/InSituLaboratory.Service/History/CavityOtputFeedBackService.cs b/InSituLaboratory.Service/History/CavityOtputFeedBackService.cs index 005c097..c26abfd 100644 --- a/InSituLaboratory.Service/History/CavityOtputFeedBackService.cs +++ b/InSituLaboratory.Service/History/CavityOtputFeedBackService.cs @@ -13,11 +13,13 @@ namespace InSituLaboratory.Service.History { public CavityOtputFeedBackService(DbContext context) : base(context) { } - public IEnumerable GetCavityOtputFeedBack(string key) + public IEnumerable GetCavityOtputFeedBack(string key, int pageSize, int pageIndex, out int totalCount) { - return Set().OrderByDescending(p => p.RecordTime) - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); - } + var pResult = this.QueryPage(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key), pageSize, pageIndex, order => order.RecordTime.ToString(), false); + totalCount = pResult.TotalCount; + + return pResult.DataList; + } } } diff --git a/InSituLaboratory.Service/History/CavityOtputStatusService.cs b/InSituLaboratory.Service/History/CavityOtputStatusService.cs index a963ee6..83b83ad 100644 --- a/InSituLaboratory.Service/History/CavityOtputStatusService.cs +++ b/InSituLaboratory.Service/History/CavityOtputStatusService.cs @@ -13,11 +13,14 @@ namespace InSituLaboratory.Service.History { public CavityOtputStatusService(DbContext context) : base(context) { } - public IEnumerable GetCavityOtputStatus(string key) + public IEnumerable GetCavityOtputStatus(string key, int pageSize, int pageIndex, out int totalCount) { - return Set().OrderByDescending(p => p.RecordTime) - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); - } + var pResult = this.QueryPage(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key), pageSize, pageIndex, order => order.RecordTime.ToString(), false); + totalCount = pResult.TotalCount; + + return pResult.DataList; + + } } } diff --git a/InSituLaboratory.Service/History/CavityOutputCurrentService.cs b/InSituLaboratory.Service/History/CavityOutputCurrentService.cs index 5654757..277957f 100644 --- a/InSituLaboratory.Service/History/CavityOutputCurrentService.cs +++ b/InSituLaboratory.Service/History/CavityOutputCurrentService.cs @@ -13,10 +13,13 @@ namespace InSituLaboratory.Service.History { public CavityOutputCurrentService(DbContext context) : base(context) { } - public IEnumerable GetCavityOtputCurrent(string key) + public IEnumerable GetCavityOtputCurrent(string key, int pageSize, int pageIndex, out int totalCount) { - return Set().OrderByDescending(p => p.RecordTime) - .Where(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key)); + var pResult = this.QueryPage(m => string.IsNullOrEmpty(key) || m.RecordTime.ToString().Contains(key), pageSize, pageIndex, order => order.RecordTime.ToString(), false); + + totalCount = pResult.TotalCount; + + return pResult.DataList; } } diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs index 31d7255..31ec6ef 100644 --- a/InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityBatteryLevelViewModel.cs @@ -1,6 +1,9 @@ -using InSituLaboratory.Entities; +using InSituLaboratory.Controls; +using InSituLaboratory.Entities; using InSituLaboratory.IService.History; using InSituLaboratory.Service; +using Microsoft.EntityFrameworkCore.Metadata.Internal; +using Prism.Commands; using Prism.Regions; using Prism.Services.Dialogs; using System; @@ -15,8 +18,10 @@ namespace InSituLaboratory.ViewModels.Pages.History /// /// 电池电量 /// - public class CavityBatteryLevelViewModel : ViewModelBase + public class CavityBatteryLevelViewModel : ViewModelBase { + public PaginationModel PaginationModel { get; set; } = new PaginationModel(); + IDialogService _dialogService; ICavityBatteryLevelService _cavityBatteryLevelService; @@ -27,6 +32,12 @@ namespace InSituLaboratory.ViewModels.Pages.History _dialogService = dialogService; _cavityBatteryLevelService = icavityBatteryLevelService; + PaginationModel.NavCommand = new DelegateCommand(index => + { + PaginationModel.PageIndex = int.Parse(index.ToString()); + this.Refresh(); + }); + this.Refresh(); } @@ -35,19 +46,23 @@ namespace InSituLaboratory.ViewModels.Pages.History public override void Refresh() { cavitybatterylevel.Clear(); - var cavitybatterylevellist = _cavityBatteryLevelService.GetCavityBatteryLevel(SearchKey).ToList(); + var cavitybatterylevellist = _cavityBatteryLevelService.GetCavityBatteryLevel(SearchKey, PaginationModel.PageSize, PaginationModel.PageIndex, out int totalCount); + int index = 0; foreach (var item in cavitybatterylevellist) { - cavitybatterylevel model = new cavitybatterylevel + index++; + cavitybatterylevel.Add(new cavitybatterylevel { - DataIdNum = item.DataIdNum, + DataIdNum = index + (PaginationModel.PageIndex - 1) * PaginationModel.PageSize, RecordTime = item.RecordTime, CavityPIN = item.CavityPIN, Voltage = item.Voltage - }; - cavitybatterylevel.Add(model); + }); } + + // 刷新分页组件的页码 + PaginationModel.FillPageNumbers(totalCount); } } } diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs index f496c91..1700048 100644 --- a/InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityEnergyConversionViewModel.cs @@ -1,5 +1,7 @@ -using InSituLaboratory.Entities; +using InSituLaboratory.Controls; +using InSituLaboratory.Entities; using InSituLaboratory.IService.History; +using Prism.Commands; using Prism.Regions; using Prism.Services.Dialogs; using System; @@ -16,6 +18,8 @@ namespace InSituLaboratory.ViewModels.Pages.History /// public class CavityEnergyConversionViewModel : ViewModelBase { + public PaginationModel PaginationModel { get; set; } = new PaginationModel(); + IDialogService _dialogService; ICavityEnergyConversionService _cavityEnergyConversionService; @@ -27,6 +31,12 @@ namespace InSituLaboratory.ViewModels.Pages.History _dialogService = dialogService; _cavityEnergyConversionService = icavityEnergyConversion; + PaginationModel.NavCommand = new DelegateCommand(index => + { + PaginationModel.PageIndex = int.Parse(index.ToString()); + this.Refresh(); + }); + this.Refresh(); } @@ -35,13 +45,15 @@ namespace InSituLaboratory.ViewModels.Pages.History public override void Refresh() { cavityenergyconversion.Clear(); - var cavityenergyconversionlist = _cavityEnergyConversionService.GetCavityEnergyConversion(SearchKey).ToList(); + var cavityenergyconversionlist = _cavityEnergyConversionService.GetCavityEnergyConversion(SearchKey, PaginationModel.PageSize, PaginationModel.PageIndex, out int totalCount); + int index = 0; foreach (var item in cavityenergyconversionlist) { - cavityenergyconversion model = new cavityenergyconversion + index++; + cavityenergyconversion.Add(new cavityenergyconversion { - DataIdNum = item.DataIdNum, + DataIdNum = index + (PaginationModel.PageIndex - 1) * PaginationModel.PageSize, RecordTime = item.RecordTime, CavityPIN = item.CavityPIN, Enable1Of24V = item.Enable1Of24V, @@ -52,11 +64,11 @@ namespace InSituLaboratory.ViewModels.Pages.History Enable3Of12V = item.Enable3Of12V, Enable4Of24V = item.Enable4Of24V, Enable4Of12V = item.Enable4Of12V - }; - cavityenergyconversion.Add(model); + }); } + + // 刷新分页组件的页码 + PaginationModel.FillPageNumbers(totalCount); } - - } } diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityEnvironmentViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityEnvironmentViewModel.cs index 9071d65..8d6f54d 100644 --- a/InSituLaboratory/ViewModels/Pages/History/CavityEnvironmentViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityEnvironmentViewModel.cs @@ -1,7 +1,9 @@  +using InSituLaboratory.Controls; using InSituLaboratory.Entities; using InSituLaboratory.IService.History; using InSituLaboratory.Service; +using Prism.Commands; using Prism.Regions; using Prism.Services.Dialogs; using System; @@ -18,6 +20,9 @@ namespace InSituLaboratory.ViewModels.Pages.History /// public class CavityEnvironmentViewModel : ViewModelBase { + public PaginationModel PaginationModel { get; set; } = new PaginationModel(); + + ICavityEnvironmentService _icavityEnvironment; IDialogService _dialogService; public CavityEnvironmentViewModel(IRegionManager regionManager, ICavityEnvironmentService icavityEnvironment, IDialogService dialogService) : base(regionManager) @@ -27,6 +32,12 @@ namespace InSituLaboratory.ViewModels.Pages.History _dialogService = dialogService; _icavityEnvironment = icavityEnvironment; + PaginationModel.NavCommand = new DelegateCommand(index => + { + PaginationModel.PageIndex = int.Parse(index.ToString()); + this.Refresh(); + }); + this.Refresh(); } @@ -35,12 +46,16 @@ namespace InSituLaboratory.ViewModels.Pages.History public override void Refresh() { cavityenvironment.Clear(); - var cavityenvironmentlist = _icavityEnvironment.GetCavityEnvironment(SearchKey).ToList(); + var cavityenvironmentlist = _icavityEnvironment.GetCavityEnvironment(SearchKey, PaginationModel.PageSize, PaginationModel.PageIndex, out int totalCount); + + int index = 0; foreach (var item in cavityenvironmentlist) { - cavityenvironment model = new cavityenvironment + index++; + + cavityenvironment.Add(new cavityenvironment { - DataIdNum = item.DataIdNum, + DataIdNum = index + (PaginationModel.PageIndex - 1) * PaginationModel.PageSize, RecordTime = item.RecordTime, CavityPIN = item.CavityPIN, Temperature1 = item.Temperature1, @@ -49,9 +64,11 @@ namespace InSituLaboratory.ViewModels.Pages.History HumDataIdNumity2 = item.HumDataIdNumity2, Leak1 = item.Leak1, Leak2 = item.Leak2, - }; - cavityenvironment.Add(model); + }); } + + // 刷新分页组件的页码 + PaginationModel.FillPageNumbers(totalCount); } } } diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityOperationViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOperationViewModel.cs index 84807c4..bae2b3f 100644 --- a/InSituLaboratory/ViewModels/Pages/History/CavityOperationViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOperationViewModel.cs @@ -1,4 +1,5 @@ -using InSituLaboratory.Entities; +using InSituLaboratory.Controls; +using InSituLaboratory.Entities; using InSituLaboratory.IService.History; using InSituLaboratory.Models; using InSituLaboratory.Service; @@ -21,6 +22,8 @@ namespace InSituLaboratory.ViewModels.Pages.History /// public class CavityOperationViewModel : ViewModelBase { + public PaginationModel PaginationModel { get; set; } = new PaginationModel(); + ICavityOperationService _cavityOperationService; IDialogService _dialogService; public CavityOperationViewModel(IRegionManager regionManager, IDialogService dialogService, ICavityOperationService cavityOperationService) @@ -32,6 +35,12 @@ namespace InSituLaboratory.ViewModels.Pages.History _dialogService = dialogService; _cavityOperationService= cavityOperationService; + PaginationModel.NavCommand = new DelegateCommand(index => + { + PaginationModel.PageIndex = int.Parse(index.ToString()); + this.Refresh(); + }); + this.Refresh(); } @@ -40,12 +49,16 @@ namespace InSituLaboratory.ViewModels.Pages.History public override void Refresh() { cavityoperationstatus.Clear(); - var cavityoperationslist = _cavityOperationService.GetCavityOperationStatus(SearchKey).ToList(); + + var cavityoperationslist = _cavityOperationService.GetCavityOperationStatus(SearchKey, PaginationModel.PageSize, PaginationModel.PageIndex, out int totalCount); + + int index = 0; foreach (var item in cavityoperationslist) { - cavityoperationstatus model = new cavityoperationstatus + index++; + cavityoperationstatus.Add( new cavityoperationstatus { - DataIdNum = item.DataIdNum, + DataIdNum = index + (PaginationModel.PageIndex - 1) * PaginationModel.PageSize, RecordTime = item.RecordTime, CavityPIN = item.CavityPIN, Voltage48V1 = item.Voltage48V1, @@ -61,9 +74,11 @@ namespace InSituLaboratory.ViewModels.Pages.History LeakageCurrent2 = item.LeakageCurrent2, LeakageCurrent3 = item.LeakageCurrent3, LeakageCurrent4 = item.LeakageCurrent4 - }; - cavityoperationstatus.Add(model); + }); } + + // 刷新分页组件的页码 + PaginationModel.FillPageNumbers(totalCount); } } } diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs index a02f051..2c3a475 100644 --- a/InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOtputFeedBackViewModel.cs @@ -1,6 +1,8 @@ -using InSituLaboratory.Entities; +using InSituLaboratory.Controls; +using InSituLaboratory.Entities; using InSituLaboratory.IService.History; using InSituLaboratory.Service; +using Prism.Commands; using Prism.Regions; using Prism.Services.Dialogs; using System; @@ -17,6 +19,8 @@ namespace InSituLaboratory.ViewModels.Pages.History /// public class CavityOtputFeedBackViewModel : ViewModelBase { + public PaginationModel PaginationModel { get; set; } = new PaginationModel(); + IDialogService _dialogService; ICavityOtputFeedBackService _cavityOtputFeedBackService; public CavityOtputFeedBackViewModel(IRegionManager regionManager, ICavityOtputFeedBackService cavityOtputFeedBackService, IDialogService dialogService) : base(regionManager) @@ -26,6 +30,12 @@ namespace InSituLaboratory.ViewModels.Pages.History _dialogService = dialogService; _cavityOtputFeedBackService = cavityOtputFeedBackService; + PaginationModel.NavCommand = new DelegateCommand(index => + { + PaginationModel.PageIndex = int.Parse(index.ToString()); + this.Refresh(); + }); + Refresh(); } @@ -34,10 +44,14 @@ namespace InSituLaboratory.ViewModels.Pages.History public override void Refresh() { cavityoutputfeedback.Clear(); - var cavityoutputfeedbacklist = _cavityOtputFeedBackService.GetCavityOtputFeedBack(SearchKey).ToList(); + var cavityoutputfeedbacklist = _cavityOtputFeedBackService.GetCavityOtputFeedBack(SearchKey, PaginationModel.PageSize, PaginationModel.PageIndex, out int totalCount); + + int index = 0; foreach (var item in cavityoutputfeedbacklist) { - cavityoutputfeedback model = new cavityoutputfeedback + index++; + + cavityoutputfeedback.Add(new cavityoutputfeedback { DataIdNum = item.DataIdNum, RecordTime = item.RecordTime, @@ -60,11 +74,11 @@ namespace InSituLaboratory.ViewModels.Pages.History OutputFeedbackOfVDataIdNumeo1 = item.OutputFeedbackOfVDataIdNumeo1, OutputFeedbackOfVDataIdNumeo2 = item.OutputFeedbackOfVDataIdNumeo2, OutputFeedbackOfSwichBoard = item.OutputFeedbackOfSwichBoard - }; - cavityoutputfeedback.Add(model); + }); } + + // 刷新分页组件的页码 + PaginationModel.FillPageNumbers(totalCount); } - - } } diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs index dac6a13..e24ea47 100644 --- a/InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOutputCurrentViewModel.cs @@ -1,5 +1,7 @@ -using InSituLaboratory.Entities; +using InSituLaboratory.Controls; +using InSituLaboratory.Entities; using InSituLaboratory.IService.History; +using Prism.Commands; using Prism.Regions; using Prism.Services.Dialogs; using System; @@ -16,6 +18,8 @@ namespace InSituLaboratory.ViewModels.Pages.History /// public class CavityOtputCurrentViewModel : ViewModelBase { + public PaginationModel PaginationModel { get; set; } = new PaginationModel(); + IDialogService _dialogService; ICavityOutputCurrentService _cavityOutputCurrentService; public CavityOtputCurrentViewModel(IRegionManager regionManager,ICavityOutputCurrentService cavityOutputCurrentService, IDialogService dialogService) : base(regionManager) @@ -25,22 +29,29 @@ namespace InSituLaboratory.ViewModels.Pages.History _dialogService = dialogService; _cavityOutputCurrentService = cavityOutputCurrentService; + PaginationModel.NavCommand = new DelegateCommand(index => + { + PaginationModel.PageIndex = int.Parse(index.ToString()); + this.Refresh(); + }); + Refresh(); } public ObservableCollection cavityoutputcurrent { get; set; } = new ObservableCollection(); - public override void Refresh() { cavityoutputcurrent.Clear(); - var cavityoutputcurrentlist = _cavityOutputCurrentService.GetCavityOtputCurrent(SearchKey).ToList(); + var cavityoutputcurrentlist = _cavityOutputCurrentService.GetCavityOtputCurrent(SearchKey, PaginationModel.PageSize, PaginationModel.PageIndex, out int totalCount); + int index = 0; foreach (var item in cavityoutputcurrentlist) { - cavityoutputcurrent model = new cavityoutputcurrent + index++; + cavityoutputcurrent.Add(new cavityoutputcurrent { - DataIdNum = item.DataIdNum, + DataIdNum = index + (PaginationModel.PageIndex - 1) * PaginationModel.PageSize, RecordTime = item.RecordTime, CavityPIN = item.CavityPIN, CurrentOfGC_MS = item.CurrentOfGC_MS, @@ -61,9 +72,11 @@ namespace InSituLaboratory.ViewModels.Pages.History CurrrentOfVDataIdNumeo1 = item.CurrrentOfVDataIdNumeo1, CurrentOfVDataIdNumeo2 = item.CurrentOfVDataIdNumeo2, CurrentOfSwichBoard = item.CurrentOfSwichBoard - }; - cavityoutputcurrent.Add(model); + }); } + + // 刷新分页组件的页码 + PaginationModel.FillPageNumbers(totalCount); } } } diff --git a/InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs b/InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs index a96f9ff..9e8174c 100644 --- a/InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs +++ b/InSituLaboratory/ViewModels/Pages/History/CavityOutputStatusViewModel.cs @@ -1,5 +1,7 @@ -using InSituLaboratory.Entities; +using InSituLaboratory.Controls; +using InSituLaboratory.Entities; using InSituLaboratory.IService.History; +using Prism.Commands; using Prism.Regions; using Prism.Services.Dialogs; using System; @@ -16,6 +18,8 @@ namespace InSituLaboratory.ViewModels.Pages.History /// public class CavityOutputStatusViewModel : ViewModelBase { + public PaginationModel PaginationModel { get; set; } = new PaginationModel(); + IDialogService _dialogService; ICavityOtputStatusService _icavityOtputStatus; public CavityOutputStatusViewModel(IRegionManager regionManager, ICavityOtputStatusService icavityOtputStatusService, IDialogService dialogService) : base(regionManager) @@ -25,6 +29,12 @@ namespace InSituLaboratory.ViewModels.Pages.History _dialogService = dialogService; _icavityOtputStatus = icavityOtputStatusService; + PaginationModel.NavCommand = new DelegateCommand(index => + { + PaginationModel.PageIndex = int.Parse(index.ToString()); + this.Refresh(); + }); + Refresh(); } @@ -33,13 +43,15 @@ namespace InSituLaboratory.ViewModels.Pages.History public override void Refresh() { cavityoutputstatus.Clear(); - var cavityoutputstatuslist = _icavityOtputStatus.GetCavityOtputStatus(SearchKey).ToList(); + var cavityoutputstatuslist = _icavityOtputStatus.GetCavityOtputStatus(SearchKey, PaginationModel.PageSize, PaginationModel.PageIndex, out int totalCount); + int index = 0; foreach (var item in cavityoutputstatuslist) { - cavityoutputstatus model = new cavityoutputstatus + index++; + cavityoutputstatus.Add(new cavityoutputstatus { - DataIdNum = item.DataIdNum, + DataIdNum = index + (PaginationModel.PageIndex - 1) * PaginationModel.PageSize, RecordTime = item.RecordTime, CavityPIN = item.CavityPIN, OutputStateOfGC_MS = item.OutputStateOfGC_MS, @@ -60,9 +72,11 @@ namespace InSituLaboratory.ViewModels.Pages.History OutputStateOfVDataIdNumeo1 = item.OutputStateOfVDataIdNumeo1, OutputStateOfVDataIdNumeo2 = item.OutputStateOfVDataIdNumeo2, OutputStateOfSwichBoard = item.OutputStateOfSwichBoard - }; - cavityoutputstatus.Add(model); + }); } + + // 刷新分页组件的页码 + PaginationModel.FillPageNumbers(totalCount); } } } diff --git a/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml b/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml index 2ec65af..87acb77 100644 --- a/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityBatteryLevelView.xaml @@ -4,9 +4,15 @@ 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.History" + xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls" mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"> + + + + + @@ -17,5 +23,7 @@ + + diff --git a/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml b/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml index 6de83e6..038f68d 100644 --- a/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityEnergyConversionView.xaml @@ -4,9 +4,14 @@ 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.History" + xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls" mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"> + + + + @@ -24,5 +29,7 @@ + + diff --git a/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml b/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml index dc61ee5..8059000 100644 --- a/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityEnvironmentView.xaml @@ -4,10 +4,15 @@ 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.History" + xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls" mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"> - + + + + + @@ -23,5 +28,7 @@ + + diff --git a/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml b/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml index 3d401e2..4b3737e 100644 --- a/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityOperationView.xaml @@ -4,11 +4,16 @@ 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.History" + xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls" mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}" > + + + + - + @@ -29,5 +34,7 @@ + + diff --git a/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml b/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml index ea71638..3e7b545 100644 --- a/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityOtputCurrentView.xaml @@ -4,9 +4,15 @@ 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.History" + xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls" mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"> + + + + + @@ -34,5 +40,7 @@ + + diff --git a/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml b/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml index 2bc9682..e6624e5 100644 --- a/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityOtputFeedBackView.xaml @@ -4,9 +4,15 @@ 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.History" + xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls" mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"> + + + + + @@ -34,5 +40,7 @@ + + diff --git a/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml b/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml index a4603b2..bb9b6f3 100644 --- a/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml +++ b/InSituLaboratory/Views/Pages/History/CavityOutputStatusView.xaml @@ -4,9 +4,15 @@ 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.History" + xmlns:zxc="clr-namespace:InSituLaboratory.Controls;assembly=InSituLaboratory.Controls" mc:Ignorable="d" Template="{StaticResource PageSearchTempalte}"> + + + + + @@ -34,5 +40,7 @@ + +