AxisMinMaintainViewModel.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. namespace MaintainModule.ViewModels;
  2. internal partial class AxisMinMaintainViewModel(IBottomPopManager popManager) : ObservableObject
  3. {
  4. [RelayCommand]
  5. private void Pop(string para)
  6. {
  7. AxisSetting<int> axisSetting = new()
  8. {
  9. Title = para
  10. };
  11. for (int i = 1; i <= 8; i++)
  12. {
  13. axisSetting.Readonly.Add($"DI{i}");
  14. axisSetting.RW.Add($"DO{i}");
  15. }
  16. switch (para)
  17. {
  18. case "Load Port 1":
  19. case "Load Port 2":
  20. case "Load Port 3":
  21. case "Load Port 4":
  22. break;
  23. case "Fims 1":
  24. case "Fims 2":
  25. break;
  26. case "EX1":
  27. case "EX2":
  28. case "EX3":
  29. case "EX4":
  30. break;
  31. case "Buffer":
  32. break;
  33. case "R Axis":
  34. break;
  35. case "Wafer Robot":
  36. break;
  37. case "Carrier Loader":
  38. break;
  39. case "Shutter":
  40. break;
  41. case "Z Axis":
  42. break;
  43. case "Signal Light":
  44. break;
  45. case "APC CKD":
  46. break;
  47. case "VAT + VTG":
  48. popManager.ShowPop("AxisFloat", axisSetting);
  49. return;
  50. case "AGV Door":
  51. break;
  52. default:
  53. return;
  54. }
  55. popManager.ShowPop("AxisBool", axisSetting);
  56. }
  57. }
  58. internal class AxisSetting<T>
  59. {
  60. public string? Title { get; set; }
  61. public object? DisplayContent { get; set; }
  62. public ObservableCollection<string> Readonly { get; } = [];
  63. public ObservableCollection<string> RW { get; } = [];
  64. }