RecipeLayoutSetReplacementViewModel.cs 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. using Aitex.Core.RT.SCCore;
  2. using Caliburn.Micro;
  3. using Caliburn.Micro.Core;
  4. using MECF.Framework.Common.DataCenter;
  5. using MECF.Framework.Common.RecipeCenter;
  6. using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Collections.ObjectModel;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using System.Windows;
  14. using FurnaceUI.Models;
  15. using FurnaceUI.Views.Parameter;
  16. using FurnaceUI.Views.Recipes;
  17. namespace FurnaceUI.Views.Editors
  18. {
  19. public class RecipeLayoutSetReplacementViewModel : FurnaceUIViewModelBase
  20. {
  21. private Dictionary<string, string> TitleDict = new Dictionary<string, string>();
  22. public bool IsSave { get; set; }
  23. public RecipeLayoutSetReplacementViewModel()
  24. {
  25. }
  26. private LayoutReplacement _dialogResultLayoutReplacement = LayoutReplacement.Upper;
  27. public LayoutReplacement DialogResultLayoutReplacement
  28. {
  29. get => _dialogResultLayoutReplacement;
  30. set
  31. {
  32. _dialogResultLayoutReplacement = value;
  33. NotifyOfPropertyChange(nameof(DialogResultLayoutReplacement));
  34. }
  35. }
  36. public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式
  37. private string _title;
  38. public string Title
  39. {
  40. get => _title;
  41. set
  42. {
  43. _title = value;
  44. NotifyOfPropertyChange(nameof(Title));
  45. }
  46. }
  47. public string RecipeType { get; set; }
  48. private LayoutReplacement _setLayoutReplacement = LayoutReplacement.Upper;
  49. public LayoutReplacement SetLayoutReplacement
  50. {
  51. get => _setLayoutReplacement;
  52. set
  53. {
  54. _setLayoutReplacement = value;
  55. NotifyOfPropertyChange(nameof(SetLayoutReplacement));
  56. }
  57. }
  58. protected override void OnViewLoaded(object view)
  59. {
  60. base.OnViewLoaded(view);
  61. LoadData();
  62. LoadSetDefaultOption(view);
  63. }
  64. private void LoadSetDefaultOption(object view)
  65. {
  66. var replacementView = (RecipeLayoutSetReplacementView)view;
  67. switch (DialogResultLayoutReplacement)
  68. {
  69. case LayoutReplacement.Upper:
  70. replacementView.RdoUpper.IsChecked = true;
  71. break;
  72. case LayoutReplacement.Center:
  73. replacementView.RdoCenter.IsChecked = true;
  74. break;
  75. case LayoutReplacement.Lower:
  76. replacementView.RdoLower.IsChecked = true;
  77. break;
  78. case LayoutReplacement.UpperProduct:
  79. replacementView.RdoUpperProduct.IsChecked = true;
  80. break;
  81. case LayoutReplacement.Fixed:
  82. replacementView.RdoFixed.IsChecked = true;
  83. break;
  84. default:
  85. break;
  86. }
  87. }
  88. private void LoadData()
  89. {
  90. TitleDict.Clear();
  91. TitleDict.Add("Upper", "All Product Wafers are arranged for upper side of theboat.");
  92. TitleDict.Add("Center", "All Product Wafers are arranged for center of the boat.");
  93. TitleDict.Add("Lower", "All Product Wafers are arranged for lower side of the boat.");
  94. TitleDict.Add("UpperProduct", "The shortage ofProduct Wafers are filled up to upperside in a basic unit of the carrier slot numbers.");
  95. TitleDict.Add("Fixed", "The shortage of Product Wafers are filled up to thefixed vacantocationinabasicunit of the carrierslot numbers.");
  96. Title = TitleDict["Upper"];
  97. }
  98. public void EditModeSelectClick(string cmd)
  99. {
  100. switch (cmd)
  101. {
  102. case "Before":
  103. SetBeforeEdit();
  104. break;
  105. case "After":
  106. SetAfterEdit();
  107. break;
  108. default:
  109. break;
  110. }
  111. }
  112. private void SetBeforeEdit()
  113. { }
  114. private void SetAfterEdit()
  115. { }
  116. private Visibility _upperVisibility = Visibility.Visible;
  117. public Visibility UpperVisibility
  118. {
  119. get => _upperVisibility;
  120. set
  121. {
  122. _upperVisibility = value;
  123. NotifyOfPropertyChange(nameof(UpperVisibility));
  124. }
  125. }
  126. private Visibility _centerVisibility = Visibility.Hidden;
  127. public Visibility CenterVisibility
  128. {
  129. get => _centerVisibility;
  130. set
  131. {
  132. _centerVisibility = value;
  133. NotifyOfPropertyChange(nameof(CenterVisibility));
  134. }
  135. }
  136. private Visibility _lowerVisibility = Visibility.Hidden;
  137. public Visibility LowerVisibility
  138. {
  139. get => _lowerVisibility;
  140. set
  141. {
  142. _lowerVisibility = value;
  143. NotifyOfPropertyChange(nameof(LowerVisibility));
  144. }
  145. }
  146. private Visibility _upperProductVisibility = Visibility.Hidden;
  147. public Visibility UpperProductVisibility
  148. {
  149. get => _upperProductVisibility;
  150. set
  151. {
  152. _upperProductVisibility = value;
  153. NotifyOfPropertyChange(nameof(UpperProductVisibility));
  154. }
  155. }
  156. private Visibility _fixedVisibility = Visibility.Hidden;
  157. public Visibility FixedVisibility
  158. {
  159. get => _fixedVisibility;
  160. set
  161. {
  162. _fixedVisibility = value;
  163. NotifyOfPropertyChange(nameof(FixedVisibility));
  164. }
  165. }
  166. public void WaferFillModeSelectClick(string cmd)
  167. {
  168. if (TitleDict.ContainsKey(cmd))
  169. {
  170. Title = TitleDict[cmd];
  171. }
  172. switch (cmd)
  173. {
  174. case "Upper":
  175. UpperVisibility = Visibility.Visible;
  176. CenterVisibility = Visibility.Hidden;
  177. LowerVisibility = Visibility.Hidden;
  178. UpperProductVisibility = Visibility.Hidden;
  179. FixedVisibility = Visibility.Hidden;
  180. DialogResultLayoutReplacement = LayoutReplacement.Upper;
  181. break;
  182. case "Center":
  183. UpperVisibility = Visibility.Hidden;
  184. CenterVisibility = Visibility.Visible;
  185. LowerVisibility = Visibility.Hidden;
  186. UpperProductVisibility = Visibility.Hidden;
  187. FixedVisibility = Visibility.Hidden;
  188. DialogResultLayoutReplacement = LayoutReplacement.Center;
  189. break;
  190. case "Lower":
  191. UpperVisibility = Visibility.Hidden;
  192. CenterVisibility = Visibility.Hidden;
  193. LowerVisibility = Visibility.Visible;
  194. UpperProductVisibility = Visibility.Hidden;
  195. FixedVisibility = Visibility.Hidden;
  196. DialogResultLayoutReplacement = LayoutReplacement.Lower;
  197. break;
  198. case "UpperProduct":
  199. UpperVisibility = Visibility.Hidden;
  200. CenterVisibility = Visibility.Hidden;
  201. LowerVisibility = Visibility.Hidden;
  202. UpperProductVisibility = Visibility.Visible;
  203. FixedVisibility = Visibility.Hidden;
  204. DialogResultLayoutReplacement = LayoutReplacement.UpperProduct;
  205. break;
  206. case "Fixed":
  207. UpperVisibility = Visibility.Hidden;
  208. CenterVisibility = Visibility.Hidden;
  209. LowerVisibility = Visibility.Hidden;
  210. UpperProductVisibility = Visibility.Hidden;
  211. FixedVisibility = Visibility.Visible;
  212. DialogResultLayoutReplacement = LayoutReplacement.Fixed;
  213. break;
  214. default:
  215. break;
  216. }
  217. }
  218. public void TempSetSave()
  219. {
  220. IsSave = true;
  221. ((Window)GetView()).DialogResult = true;
  222. }
  223. public void TempSetCancel()
  224. {
  225. IsSave = false;
  226. ((Window)GetView()).DialogResult = false;
  227. }
  228. }
  229. public enum LayoutReplacement
  230. {
  231. Upper,
  232. Center,
  233. Lower,
  234. UpperProduct,
  235. Fixed
  236. }
  237. }