WaferRobotPositionAxisEditViewModel.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using DocumentFormat.OpenXml.Wordprocessing;
  2. using MECF.Framework.Common.OperationCenter;
  3. using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;
  4. using OpenSEMI.ClientBase;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Collections.ObjectModel;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace FurnaceUI.Views.Maintenances
  12. {
  13. public class WaferRobotPositionAxisEditViewModel : DialogViewModel<string>
  14. {
  15. #region 页面构造函数及其重载方法
  16. protected override void OnInitialize()
  17. {
  18. base.OnInitialize();
  19. foreach (var item in TableNodeItems)
  20. {
  21. var key = $"{item.Path}.{item.Name}";
  22. ValueList.Add(new PageValue() { Path = key, CurrentValue = item.CurrentValue, Max = item.Max, Min = item.Min, Type = item.Type });
  23. OldValueList.Add(new PageValue() { Path = key, CurrentValue = item.CurrentValue, Max = item.Max, Min = item.Min, Type = item.Type });
  24. }
  25. _pName = TableNodeItems.FirstOrDefault().Path.Split('.').LastOrDefault();
  26. }
  27. #endregion
  28. #region 模型字段
  29. /// </summary>
  30. public string _pName;
  31. public string setValue;
  32. public string PName
  33. {
  34. get { return _pName; }
  35. set { _pName = value; this.NotifyOfPropertyChange(nameof(PName)); }
  36. }
  37. private bool _isModifyAll = false;
  38. public bool IsModifyAll
  39. {
  40. get { return _isModifyAll; }
  41. set { _isModifyAll = value; this.NotifyOfPropertyChange(nameof(IsModifyAll)); }
  42. }
  43. public List<ConfigItem> TableNodeItems { get; set; } = new List<ConfigItem>();
  44. public ObservableCollection<PageValue> ValueList { get; set; } = new ObservableCollection<PageValue>();
  45. public List<PageValue> OldValueList { get; set; } = new List<PageValue>();
  46. #endregion
  47. private void GetModifyValue()
  48. {
  49. IsModifyAll = true;
  50. }
  51. public void SaveBtnClick()
  52. {
  53. List<string> value = new List<string>();
  54. foreach (var item in ValueList)
  55. {
  56. if (item.Path.EndsWith("Type") )
  57. {
  58. continue;
  59. }
  60. value.Add((double.Parse(item.CurrentValue) * 1000).ToString().PadLeft(11, '0'));
  61. if (OldValueList.Where(a => a.Path.Equals(item.Path)).FirstOrDefault().CurrentValue.Equals(item.CurrentValue))
  62. {
  63. continue;
  64. }
  65. InvokeClient.Instance.Service.DoOperation("System.SetConfig", item.Path, item.CurrentValue);
  66. }
  67. setValue = string.Join(",", value.ToList());
  68. IsCancel = true;
  69. TryClose(true);
  70. }
  71. private bool IsInRange(double num, double min, double max)
  72. {
  73. return (num >= min && num <= max);
  74. }
  75. public void CancelBtnClick()
  76. {
  77. IsCancel = true;
  78. TryClose(false);
  79. }
  80. }
  81. }