HouseSettingPageView.xaml.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. using ivf_tl_Entity.DebugEntitys;
  2. using ivf_tl_Operate.Converts;
  3. using ivf_tl_Operate.ViewModel;
  4. using ivf_tl_Operate.Windows;
  5. using System.Text.RegularExpressions;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. namespace ivf_tl_Operate.View
  9. {
  10. /// <summary>
  11. /// HouseSettingPageView.xaml 的交互逻辑
  12. /// </summary>
  13. public partial class HouseSettingPageView : UserControl
  14. {
  15. private HouseSettingPageViewModel vm { get { return (HouseSettingPageViewModel)this.DataContext; } }
  16. public HouseSettingPageView()
  17. {
  18. InitializeComponent();
  19. TextBlock t = new TextBlock();
  20. t.FontWeight = FontWeights.Bold;
  21. }
  22. public void TestData()
  23. {
  24. int k = 1;
  25. HouseInfo houseDB = new HouseInfo();
  26. houseDB.xuHao = k;
  27. houseDB.tlSn = "tlSn";
  28. houseDB.houseSn = k;
  29. houseDB.houseName = "1号舱室";
  30. houseDB.housePort = "COM3";
  31. houseDB.ccdId = k;
  32. houseDB.ccdSn = "ccdSn";
  33. houseDB.ccdHeight = 1944;
  34. houseDB.ccdWidth = 2592;
  35. houseDB.targetHeight = 910;
  36. houseDB.targetWidth = 910;
  37. houseDB.verticalMotorSpacePulse = 128;
  38. houseDB.ccdExposure = 100;
  39. houseDB.autoFocusNumber = 40;
  40. houseDB.photographPictureNumber = 11;
  41. houseDB.updateFocusNumber = 5;
  42. houseDB.updateClearestNumber = 10;
  43. houseDB.openCcd = k;
  44. houseDB.openPort = k;
  45. houseDB.autoFocus = k;
  46. houseDB.noImagePreview = k;
  47. houseDB.inletValveOpeningTime = 40;
  48. houseDB.temperatureLowerHeatingPlate = 37.2m;
  49. vm.HouseInfoList.Add(houseDB);
  50. k = 2;
  51. HouseInfo houseDB1 = new HouseInfo();
  52. houseDB1.xuHao = k;
  53. houseDB1.tlSn = "tlSn";
  54. houseDB1.houseSn = k;
  55. houseDB1.houseName = "1号舱室";
  56. houseDB1.housePort = "COM3";
  57. houseDB1.ccdId = k;
  58. houseDB1.ccdSn = "ccdSn";
  59. houseDB1.ccdHeight = 1944;
  60. houseDB1.ccdWidth = 2592;
  61. houseDB1.targetHeight = 910;
  62. houseDB1.targetWidth = 910;
  63. houseDB1.verticalMotorSpacePulse = 128;
  64. houseDB1.ccdExposure = 100;
  65. houseDB1.autoFocusNumber = 40;
  66. houseDB1.photographPictureNumber = 11;
  67. houseDB1.updateFocusNumber = 5;
  68. houseDB1.updateClearestNumber = 10;
  69. houseDB1.openCcd = k;
  70. houseDB1.openPort = k;
  71. houseDB1.autoFocus = k;
  72. houseDB1.noImagePreview = k;
  73. houseDB1.inletValveOpeningTime = 40;
  74. houseDB1.temperatureLowerHeatingPlate = 37.3m;
  75. vm.HouseInfoList.Add(houseDB1);
  76. }
  77. private void Return_Click(object sender, RoutedEventArgs e)
  78. {
  79. SettingPageView settingPageView = new SettingPageView();
  80. AppData.Instance.MainWindow.LoadPage(settingPageView);
  81. }
  82. private void Save_Click(object sender, RoutedEventArgs e)
  83. {
  84. var a = vm.HouseInfoList;
  85. }
  86. private void SaveHouse_Click(object sender, RoutedEventArgs e)
  87. {
  88. // M8-G3-1:保存舱室设置命令入口埋点。
  89. using var _op = Aivfo.OperationLog.OperationLogger.Begin("舱室设置", "保存舱室设置");
  90. _op.Input(new { houseCount = vm.HouseInfoList?.Count ?? 0 });
  91. if (AppData.Instance.HttpHelper.HouseUpdateApi(vm.HouseInfoList))
  92. {
  93. _op.Success();
  94. //new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, "保存成功");
  95. new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0242"));
  96. }
  97. else
  98. {
  99. _op.Fail("HouseUpdateApi 返回 false:保存舱室设置失败");
  100. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "保存失败");
  101. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0243"));
  102. }
  103. }
  104. private void SettCheck_Click(object sender, RoutedEventArgs e)
  105. {
  106. //string newValueString = this._newValue_TextBox.Text.Trim();
  107. //if (string.IsNullOrEmpty(newValueString))
  108. //{
  109. // new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "请输入数字");
  110. // return;
  111. //}
  112. //if (int.TryParse(newValueString,out int newValue))
  113. //{
  114. // foreach (var item in vm.HouseInfoList)
  115. // {
  116. // if (this._autoFocusNumber_CheckBox.IsChecked == true) item.autoFocusNumber = newValue;
  117. // if (this._photographPictureNumber_CheckBox.IsChecked == true) item.photographPictureNumber = newValue;
  118. // if (this._updateClearestNumber_CheckBox.IsChecked == true) item.updateClearestNumber = newValue;
  119. // if (this._updateFocusNumber_CheckBox.IsChecked == true) item.updateFocusNumber = newValue;
  120. // }
  121. // if (this._autoFocusNumber_CheckBox.IsChecked == true) this._autoFocusNumber_CheckBox.IsChecked=false;
  122. // if (this._photographPictureNumber_CheckBox.IsChecked == true) this._photographPictureNumber_CheckBox.IsChecked = false;
  123. // if (this._updateClearestNumber_CheckBox.IsChecked == true) this._updateClearestNumber_CheckBox.IsChecked = false;
  124. // if (this._updateFocusNumber_CheckBox.IsChecked == true) this._updateFocusNumber_CheckBox.IsChecked = false;
  125. //}
  126. //else
  127. //{
  128. // new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "请输入正确的数字");
  129. // return;
  130. //}
  131. }
  132. private void SaveSetting_Click(object sender, RoutedEventArgs e)
  133. {
  134. // M8-G3-1:保存系统设置命令入口埋点(含本地校验计算)。
  135. using var _op = Aivfo.OperationLog.OperationLogger.Begin("舱室设置", "保存系统设置");
  136. _op.Input(new
  137. {
  138. pressureAlarmMax = this.TextBox_pressureAlarmMax.Text?.Trim(),
  139. pressureAlarmMin = this.TextBox_pressureAlarmMin.Text?.Trim(),
  140. temperatureAlarmMax = this.TextBox_temperatureAlarmMax.Text?.Trim(),
  141. temperatureAlarmMin = this.TextBox_temperatureAlarmMin.Text?.Trim()
  142. });
  143. decimal decimalValue;
  144. if (decimal.TryParse(this.TextBox_pressureAlarmMax.Text.Trim(), out decimalValue))
  145. {
  146. if (decimalValue < 0)
  147. {
  148. _op.Fail("校验失败:舱室压力上限小于0");
  149. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力上限请输入大于0的整数或者小数");
  150. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0244"));
  151. return;
  152. }
  153. }
  154. else
  155. {
  156. _op.Fail("校验失败:舱室压力上限非数字");
  157. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力上限请输入整数或者小数");
  158. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0244"));
  159. return;
  160. }
  161. if (decimal.TryParse(this.TextBox_pressureAlarmMin.Text.Trim(), out decimalValue))
  162. {
  163. if (decimalValue < 0)
  164. {
  165. _op.Fail("校验失败:舱室压力下限小于0");
  166. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力下限请输入大于0的整数或者小数");
  167. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0245"));
  168. return;
  169. }
  170. }
  171. else
  172. {
  173. _op.Fail("校验失败:舱室压力下限非数字");
  174. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力下限值请输入整数或者小数");
  175. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0245"));
  176. return;
  177. }
  178. if (decimal.TryParse(this.TextBox_temperatureAlarmMax.Text.Trim(), out decimalValue))
  179. {
  180. if (decimalValue < 0)
  181. {
  182. _op.Fail("校验失败:舱室温度上限小于0");
  183. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度上限请输入大于0的整数或者小数");
  184. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0246"));
  185. return;
  186. }
  187. }
  188. else
  189. {
  190. _op.Fail("校验失败:舱室温度上限非数字");
  191. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度上限请输入整数或者小数");
  192. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0246"));
  193. return;
  194. }
  195. if (decimal.TryParse(this.TextBox_temperatureAlarmMin.Text.Trim(), out decimalValue))
  196. {
  197. if (decimalValue < 0)
  198. {
  199. _op.Fail("校验失败:舱室温度下限小于0");
  200. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度下限请输入大于0的整数或者小数");
  201. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0247"));
  202. return;
  203. }
  204. }
  205. else
  206. {
  207. _op.Fail("校验失败:舱室温度下限非数字");
  208. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度下限请输入整数或者小数");
  209. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0247"));
  210. return;
  211. }
  212. string error = AppData.Instance.HttpHelper.SystemUpdateApi(vm.TLSettingModel);
  213. if (string.IsNullOrEmpty(error))
  214. {
  215. _op.Success();
  216. //new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, "保存成功");
  217. new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0242"));
  218. }
  219. else
  220. {
  221. _op.Fail("SystemUpdateApi 失败:" + error);
  222. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"保存失败:{error}");
  223. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"{KeyToStringConvert.GetLanguageStringByKey("C0243")}:{error}");
  224. }
  225. }
  226. private void TextBox_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
  227. {
  228. e.Handled = !Regex.IsMatch(e.Text, @"[0-9]");
  229. }
  230. private void TextBox_PreviewTextInput_1(object sender, System.Windows.Input.TextCompositionEventArgs e)
  231. {
  232. //^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
  233. e.Handled = !Regex.IsMatch(e.Text, @"^\d+(\.\d+)?$");
  234. }
  235. }
  236. }