AlarmPageView.xaml.cs 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. using ivf_tl_CustomControls;
  2. using ivf_tl_Entity;
  3. using ivf_tl_Operate.Converts;
  4. using ivf_tl_Operate.CustomUserControls;
  5. using ivf_tl_Operate.ViewModel;
  6. using ivf_tl_Operate.Windows;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows;
  13. using System.Windows.Controls;
  14. using System.Windows.Data;
  15. using System.Windows.Documents;
  16. using System.Windows.Input;
  17. using System.Windows.Media;
  18. using System.Windows.Media.Imaging;
  19. using System.Windows.Navigation;
  20. using System.Windows.Shapes;
  21. using static log4net.Appender.RollingFileAppender;
  22. namespace ivf_tl_Operate.View
  23. {
  24. /// <summary>
  25. /// AlarmPageView.xaml 的交互逻辑
  26. /// </summary>
  27. public partial class AlarmPageView : UserControl
  28. {
  29. private AlarmPageViewModel vm;
  30. private bool isHis = false;
  31. public AlarmPageView()
  32. {
  33. InitializeComponent();
  34. Loaded += (s, e) =>
  35. {
  36. vm = this.DataContext as AlarmPageViewModel;
  37. if (vm == null) return;
  38. vm.RightDate = DateTime.Now;
  39. vm.LeftDate = DateTime.Now.AddDays(-1);
  40. SelectAlarm(false);
  41. };
  42. }
  43. private void CustomControlPagination_PageChangedEvent(int obj)
  44. {
  45. if (vm == null) return;
  46. var task = new Task(() =>
  47. {
  48. this.Dispatcher.Invoke(() =>
  49. {
  50. _container.Children.Clear();
  51. AlarmHistoryResult alarmHistoryResult = null;
  52. if (isHis)
  53. {
  54. //alarmHistoryResult = AppData.Instance.HttpHelper.SearchAlarmHistoryApi(new SearchAlarmResponse { current = obj, selectType = 3, size = vm.PageSize, tlSn = AppData.Instance.TlSn });
  55. alarmHistoryResult = AppData.Instance.HttpHelper.SearchAlarmHistoryApi(new SearchAlarmResponse { current = obj, selectType = 3, size = vm.PageSize, tlSn = AppData.Instance.TlSn, startTime = vm.LeftDate.ToString("yyyy-MM-dd HH:mm:ss"), endTime = vm.RightDate.ToString("yyyy-MM-dd HH:mm:ss") });
  56. }
  57. else
  58. {
  59. alarmHistoryResult = AppData.Instance.HttpHelper.SearchAlarmHistoryApi(new SearchAlarmResponse { current = obj, selectType = 2, size = vm.PageSize, tlSn = AppData.Instance.TlSn});
  60. }
  61. if (!alarmHistoryResult.IsSuccess) return;
  62. foreach (var item in alarmHistoryResult.records)
  63. {
  64. var alarmControl = new AlarmControl { Data = item };
  65. //alarmControl.OnMute += (alarm) =>
  66. //{
  67. // new AlarmProvider().Mute(alarm);
  68. //};
  69. _container.Children.Add(alarmControl);
  70. }
  71. });
  72. });
  73. task.Start();
  74. }
  75. private void Return_Click(object sender, RoutedEventArgs e)
  76. {
  77. AppData.Instance.BackMainPage();
  78. }
  79. private void Border_MouseUp_GetRightDate(object sender, MouseButtonEventArgs e)
  80. {
  81. GetDateWindow getDate = new GetDateWindow(AppData.Instance.MainWindow);
  82. getDate._dateControl.SetNYR(true);
  83. getDate.SetSelectTime(vm.RightDate);
  84. AppData.Instance.MainWindow.Mark(true);
  85. var result = getDate.ShowDialog();
  86. AppData.Instance.MainWindow.Mark(false);
  87. if (result.Value == true)
  88. {
  89. vm.RightDate = Convert.ToDateTime(getDate.Date).AddDays(1).Date.AddSeconds(-1);
  90. if (bool.Parse(Button_His.Tag.ToString())) SelectAlarm(true);
  91. }
  92. }
  93. private void Border_MouseUp(object sender, MouseButtonEventArgs e)
  94. {
  95. GetDateWindow getDate = new GetDateWindow(AppData.Instance.MainWindow);
  96. getDate._dateControl.SetNYR(true);
  97. getDate.SetSelectTime(vm.LeftDate);
  98. AppData.Instance.MainWindow.Mark(true);
  99. var result = getDate.ShowDialog();
  100. AppData.Instance.MainWindow.Mark(false);
  101. if (result.Value == true)
  102. {
  103. vm.LeftDate = Convert.ToDateTime(getDate.Date).Date;
  104. if (bool.Parse(Button_His.Tag.ToString())) SelectAlarm(true);
  105. }
  106. //if (result.Value == true)
  107. //{
  108. // vm.LeftDate = getDate.Date;
  109. // SelectAlarm(bool.Parse(_his_ButtonImage.Tag.ToString()));
  110. // ShowAlarm();
  111. //}
  112. }
  113. private void SelectAlarm(bool checkState)
  114. {
  115. if (vm == null) return;
  116. _container.Children.Clear();
  117. vm.DataCount = -1;
  118. if (checkState)
  119. {
  120. //vm.DataCount = AppData.Instance.HttpHelper.SearchAlarmHistoryNumApi(new SearchAlarmResponse { current = 1, selectType = 3, size = vm.PageSize, tlSn = AppData.Instance.TlSn}).history;
  121. //vm.DataCount = AppData.Instance.HttpHelper.SearchAlarmHistoryNumApi(new SearchAlarmResponse { current = 1, selectType = 3, size = vm.PageSize, tlSn = AppData.Instance.TlSn, startTime = vm.LeftDate.ToString("yyyy-MM-dd HH:mm:ss"), endTime = vm.RightDate.ToString("yyyy-MM-dd HH:mm:ss") }).history;
  122. vm.DataCount = AppData.Instance.HttpHelper.SearchAlarmHistoryApi(new SearchAlarmResponse { current = 1, selectType = 3, size = vm.PageSize, tlSn = AppData.Instance.TlSn, startTime = vm.LeftDate.ToString("yyyy-MM-dd HH:mm:ss"), endTime = vm.RightDate.ToString("yyyy-MM-dd HH:mm:ss") }).total;
  123. }
  124. else
  125. {
  126. vm.DataCount = AppData.Instance.HttpHelper.SearchAlarmHistoryNumApi(new SearchAlarmResponse { current = 1, selectType = 2, size = vm.PageSize, tlSn = AppData.Instance.TlSn}).current;
  127. }
  128. }
  129. private void ButtonImage_Click(object sender, RoutedEventArgs e)
  130. {
  131. if (!(sender is ButtonLeftImage buttonImage)) return;
  132. bool isHis = bool.Parse(buttonImage.Tag.ToString());
  133. if (!isHis)
  134. {
  135. //当前为实时记录
  136. //buttonImage.Content = "实时记录";
  137. buttonImage.Content = KeyToStringConvert.GetLanguageStringByKey("C0260");
  138. buttonImage.IconSource = new BitmapImage(new Uri("/ivf_tl_Operate;component/Resources/Image/AlarmRealTimeIcon.png", UriKind.RelativeOrAbsolute));
  139. isHis = true;
  140. }
  141. else
  142. {
  143. //当前为历史记录
  144. //buttonImage.Content = "历史记录";
  145. buttonImage.Content = KeyToStringConvert.GetLanguageStringByKey("C0156");
  146. buttonImage.IconSource = new BitmapImage(new Uri("/ivf_tl_Operate;component/Resources/Image/AlarmHistroyIcon.png", UriKind.RelativeOrAbsolute));
  147. isHis = false;
  148. }
  149. buttonImage.Tag = isHis;
  150. this.isHis = isHis;
  151. SelectAlarm(isHis);
  152. }
  153. }
  154. }