using ivf_tl_Operate.Converts; using ivf_tl_Operate.CustomUserControls; using ivf_tl_Operate.ViewModel; using ivf_tl_Operate.Windows; using OxyPlot.Series; using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; 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 ivf_tl_Operate.View { /// /// ChartPageView.xaml 的交互逻辑 /// public partial class ChartPageView : UserControl { private ChartPageViewModel vm; private List chartButtons = new List(); private DateTime lastSelectTime; public ChartPageView(int houseId) { InitializeComponent(); chartButtons.Add(_chartButton1); chartButtons.Add(_chartButton2); chartButtons.Add(_chartButton3); chartButtons.Add(_chartButton4); chartButtons.Add(_chartButton5); chartButtons.Add(_chartButton6); chartButtons.Add(_chartButton7); chartButtons.Add(_chartButton8); chartButtons.Add(_chartButton9); chartButtons.Add(_chartButton10); Loaded += (s, e) => { vm = this.DataContext as ChartPageViewModel; if (vm == null) return; vm.RightDate = DateTime.Now; vm.LeftDate = vm.RightDate.Date; //chartButtons.ForEach(item => //{ // item.IsSelected = false; // if (item.Tag == (object)houseId) item.IsSelected = true; //}); var aa = chartButtons.FirstOrDefault(x => x.Tag.ToString() == houseId.ToString()); if (aa == null) { vm.CurrentHouseId = 1; _chartButton1.IsSelected = true; } else { vm.CurrentHouseId = houseId; aa.IsSelected = true; } SelectHouseHistory(); }; Unloaded += (s, e) => { if (vm != null) { vm.isClose = true; vm = null; } this.DataContext = null; _root.Children.Clear(); }; } private void restHisPlot(object sender, MouseButtonEventArgs e) { } private void weekHis(object sender, MouseButtonEventArgs e) { var now = DateTime.Now; var span = now - lastSelectTime; if (span.TotalSeconds <= 1) return; lastSelectTime = DateTime.Now; vm.RightDate = DateTime.Now; vm.LeftDate = vm.RightDate.AddDays(-6); SelectHouseHistory(); } private void weekHis1(object sender, MouseButtonEventArgs e) { } private void ScrollViewer_ManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e) { e.Handled = true; } private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e) { } private void Return_Click(object sender, RoutedEventArgs e) { AppData.Instance.BackMainPage(); } private void Border_MouseUp(object sender, MouseButtonEventArgs e) { GetDateWindow getDate = new GetDateWindow(AppData.Instance.MainWindow); getDate.SetSelectTime(Convert.ToDateTime(vm.LeftDate)); AppData.Instance.MainWindow.Mark(true); var result = getDate.ShowDialog(); AppData.Instance.MainWindow.Mark(false); if (result.Value == true) { DateTime dateTime = Convert.ToDateTime(getDate.Date); if (dateTime > DateTime.Now) dateTime = DateTime.Now; vm.LeftDate = dateTime; } } private void Border_MouseUp_GetRightDate(object sender, MouseButtonEventArgs e) { GetDateWindow getDate = new GetDateWindow(AppData.Instance.MainWindow); getDate.SetSelectTime(Convert.ToDateTime(vm.RightDate)); AppData.Instance.MainWindow.Mark(true); var result = getDate.ShowDialog(); AppData.Instance.MainWindow.Mark(false); if (result.Value == true) { DateTime dateTime = Convert.ToDateTime(getDate.Date).AddDays(1).AddSeconds(-1); if (dateTime > DateTime.Now) dateTime = DateTime.Now; vm.RightDate = dateTime; } } private void Border_MouseUp_1(object sender, MouseButtonEventArgs e) { var now = DateTime.Now; var span = now - lastSelectTime; if (span.TotalSeconds <= 1) return; lastSelectTime = now; SelectHouseHistory(); } private void _chartButton1_MouseUp(object sender, MouseButtonEventArgs e) { if (!(sender is ChartButton button)) return; chartButtons.ForEach(item => item.IsSelected = false); button.IsSelected = true; if (button.Tag == null) return; if (int.TryParse(button.Tag.ToString(), out int id)) { var now = DateTime.Now; var span = now - lastSelectTime; if (span.TotalSeconds <= 1 || vm.CurrentHouseId == id) return; lastSelectTime = now; vm.CurrentHouseId = id; vm.TemperatureRealDataPoints.Clear(); vm.PressureRealDataPoints.Clear(); //LineSeries realTempratureSeries = vm.RealModel.Series[0] as LineSeries; //LineSeries realPressureSeries = vm.RealModel.Series[1] as LineSeries; //realTempratureSeries.Points.Clear(); //realPressureSeries.Points.Clear(); SelectHouseHistory(); } } private void SelectHouseHistory() { if (vm == null) return; Task.Run(() => { //vm.HistoryTitle = $"{vm.CurrentHouseId}号舱室温压历史曲线"; //vm.RealTitle = $"{vm.CurrentHouseId}号舱室温压实时曲线"; vm.HistoryTitle = $"{vm.CurrentHouseId}{KeyToStringConvert.GetLanguageStringByKey("C0255")}"; vm.RealTitle = $"{vm.CurrentHouseId}{KeyToStringConvert.GetLanguageStringByKey("C0256")}"; //var list = new HouseHistoryProvider().FindAllNoAir(vm.CurrentHouseId, vm.LeftDate, vm.RightDate); //if (list == null || list.Count < 5) //{ // App.Current.Dispatcher.BeginInvoke(new Action(() => // { // new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "暂无数据"); // })); // return; //} App.Current.Dispatcher.BeginInvoke(() => { if (vm.LeftDate > vm.RightDate) { //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "开始日期不能大于结束日期"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0257")); return; } vm.RefHistroy(); }); }); } } }