HouseSettingView.xaml.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. using ivf_tl_Manage.Converts;
  2. using ivf_tl_Manage.ViewModels;
  3. using ivf_tl_Manage.Win;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Diagnostics;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading;
  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. namespace ivf_tl_Manage.Views
  22. {
  23. /// <summary>
  24. /// HouseSettingView.xaml 的交互逻辑
  25. /// </summary>
  26. public partial class HouseSettingView : UserControl
  27. {
  28. private HouseSettingViewModel vm;
  29. public HouseSettingView()
  30. {
  31. InitializeComponent();
  32. List<int> sdf = new List<int>();
  33. for (int i = 0; i < 10; i++)
  34. {
  35. sdf.Add(i);
  36. }
  37. //this.te.ItemsSource= sdf;
  38. Loaded += HouseSettingView_Loaded;
  39. }
  40. private void HouseSettingView_Loaded(object sender, RoutedEventArgs e)
  41. {
  42. vm = (HouseSettingViewModel)this.DataContext;
  43. if (vm == null) return;
  44. Task.Run(() =>
  45. {
  46. vm.Init();
  47. Dispatcher.InvokeAsync(() =>
  48. {
  49. if (vm == null || vm.CurrentTlSettingCommon == null) return;
  50. if (!string.IsNullOrEmpty(vm.CurrentTlSettingCommon.reportHospitalLogoUrl))
  51. {
  52. this.logoImage.Source = AppData.Instance.StringToBitmapImage($"{AppData.Instance.BaseUrl}{vm.CurrentTlSettingCommon.reportHospitalLogoUrl}?token={AppData.Instance.HttpServiceCall.GetToken()}");
  53. }
  54. if (vm == null || vm.CurrentTlSettingCommon == null) return;
  55. this._autoTime_ComBox.SelectedItem = vm.CurrentTlSettingCommon.autoFocusTime;
  56. this._videoZhen_ComBox.SelectedItem = vm.CurrentTlSettingCommon.videoFps;
  57. });
  58. });
  59. }
  60. public void MessageShow(string message)
  61. {
  62. new ToastMessageWindow(AppData.Instance.MainWindow, 1920, 65, message).Show();
  63. }
  64. private void Toast(bool success)
  65. {
  66. new ToastWindow(AppData.Instance.MainWindow, 1920, 65, success).Show();
  67. }
  68. private void Button_Click(object sender, RoutedEventArgs e)
  69. {
  70. if (vm == null) return;
  71. AppData.Instance.MainWindowViewModel.CurrentViewModle = vm.ParentViewModel;
  72. }
  73. private void Button_Click_1(object sender, RoutedEventArgs e)
  74. {
  75. }
  76. private void checkKey_Checked(object sender, RoutedEventArgs e)
  77. {
  78. }
  79. private void ScrollViewer_ManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e)
  80. {
  81. e.Handled = true;
  82. }
  83. private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
  84. {
  85. if ((e.OriginalSource is Border s && (s.Name == "customControlBorder" || s.Name == "dropDownBorder")) || (e.OriginalSource is TextBlock t && t.TemplatedParent is ContentPresenter tc && tc.Name == "customControlTextBlock") || (e.OriginalSource is Grid gr && gr.TemplatedParent is ScrollViewer grc && grc.Name == "DropDownScrollViewer")) return;
  86. if (!(sender is ScrollViewer scrollViewer)) return;
  87. if (e.Delta > 0)
  88. {
  89. scrollViewer.LineLeft();
  90. scrollViewer.LineLeft();
  91. }
  92. else
  93. {
  94. scrollViewer.LineRight();
  95. scrollViewer.LineRight();
  96. }
  97. e.Handled = true;
  98. }
  99. const long FileLengthMax = 1048576;
  100. private void UpLoadLogo_Click(object sender, RoutedEventArgs e)
  101. {
  102. var dialog = new Microsoft.Win32.OpenFileDialog
  103. {
  104. Filter = $"{KeyToStringConvert.GetLanguageStringByKey("0608")}|*.jpg;*.png"
  105. };
  106. if (dialog.ShowDialog() != true) return;
  107. string filePath = dialog.FileName;
  108. FileInfo fileInfo = new FileInfo(filePath);
  109. if (fileInfo.Length > FileLengthMax)
  110. {
  111. //MessageShow("LOGO文件不能超过1M");
  112. MessageShow(KeyToStringConvert.GetLanguageStringByKey("0609"));
  113. return;
  114. }
  115. var fileByte = File.ReadAllBytes(filePath);
  116. if (!vm.UploadLogo(fileByte, System.IO.Path.GetFileName(filePath)))
  117. {
  118. //MessageShow("LOGO上传失败");
  119. MessageShow(KeyToStringConvert.GetLanguageStringByKey("0592"));
  120. return;
  121. }
  122. logoImage.Source = AppData.Instance.ByteToBitmapImage(fileByte);
  123. }
  124. private void ClearLogo_Click(object sender, RoutedEventArgs e)
  125. {
  126. if (vm == null) return;
  127. if (vm.ClearLogo())
  128. {
  129. this.logoImage.Source = null;
  130. Toast(true);
  131. return;
  132. }
  133. Toast(false);
  134. }
  135. private void UpdateSettingCommon_Click(object sender, RoutedEventArgs e)
  136. {
  137. if (vm == null) return;
  138. if (vm.CurrentTlSettingCommon.reportHospitalName.Length > 50)
  139. {
  140. //MessageShow("医院名称最大支持50个字符");
  141. MessageShow(KeyToStringConvert.GetLanguageStringByKey("0593"));
  142. return;
  143. }
  144. Toast(vm.UpdateSettingCommon());
  145. }
  146. private void SaveSetting_Click(object sender, RoutedEventArgs e)
  147. {
  148. if (vm == null) return;
  149. Toast(vm.UpdateSettingSystem());
  150. }
  151. }
  152. }