| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484 | 
							- using Aitex.Core.RT.SCCore;
 
- using Caliburn.Micro;
 
- using Caliburn.Micro.Core;
 
- using MECF.Framework.Common.DataCenter;
 
- using MECF.Framework.Common.RecipeCenter;
 
- using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Collections.ObjectModel;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows;
 
- using FurnaceUI.Models;
 
- using FurnaceUI.Views.Parameter;
 
- using FurnaceUI.Views.Recipes;
 
- namespace FurnaceUI.Views.Editors
 
- {
 
-     public class RecipeLayoutSetTotalWaferNumberViewModel : FurnaceUIViewModelBase
 
-     {
 
-         Dictionary<string, string> wapexPlain = new Dictionary<string, string>();
 
-         public TotalWaferNumberMode DialogResultTotalWaferNumberMode { get; set; }
 
-         private string _returnValue = "";
 
-         public string ReturnValue
 
-         {
 
-             get => _returnValue;
 
-             set
 
-             {
 
-                 _returnValue = value;
 
-                 SplitCharacter(value);
 
-                 NotifyOfPropertyChange(nameof(ReturnValue));
 
-             }
 
-         }
 
-         private void SplitCharacter(string value)
 
-         {
 
-             if (string.IsNullOrEmpty(value) || !value.Contains("|")) return;
 
-             string[] listStr = value.Split('|');
 
-             if (listStr.Length != 4) return;
 
-             NeedNum =int.Parse(listStr[0]);
 
-             AdditionalNum = int.Parse(listStr[1]);
 
-             ProductCarrierNum = int.Parse(listStr[2]);
 
-             LowerSD = int.Parse(listStr[3]);
 
-         }
 
-         public bool IsSave { get; set; }
 
-         public RecipeLayoutSetTotalWaferNumberViewModel()
 
-         {
 
-         }
 
-         private int _needNum = 0;
 
-         public int NeedNum
 
-         {
 
-             get => _needNum;
 
-             set
 
-             {
 
-                 _needNum = value;
 
-                 NotifyOfPropertyChange(nameof(NeedNum));
 
-             }
 
-         }
 
-         private int _additionalNum = 0;
 
-         public int AdditionalNum
 
-         {
 
-             get => _additionalNum;
 
-             set
 
-             {
 
-                 _additionalNum = value;
 
-                 NotifyOfPropertyChange(nameof(AdditionalNum));
 
-             }
 
-         }
 
-         private int _productCarrierNum = 0;
 
-         public int ProductCarrierNum
 
-         {
 
-             get => _productCarrierNum;
 
-             set
 
-             {
 
-                 _productCarrierNum = value;
 
-                 NotifyOfPropertyChange(nameof(ProductCarrierNum));
 
-             }
 
-         }
 
-         private int _lowerSD = 0;
 
-         public int LowerSD
 
-         {
 
-             get => _lowerSD;
 
-             set
 
-             {
 
-                 _lowerSD = value;
 
-                 NotifyOfPropertyChange(nameof(LowerSD));
 
-             }
 
-         }
 
-         private TotalWaferNumberMode _totalWaferNumber = TotalWaferNumberMode.Total;
 
-         public TotalWaferNumberMode TotalWaferNumber
 
-         {
 
-             get => _totalWaferNumber;
 
-             set
 
-             {
 
-                 _totalWaferNumber = value;
 
-                 NotifyOfPropertyChange(nameof(TotalWaferNumber));
 
-             }
 
-         }
 
-         public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式
 
-         public string RecipeType { get; set; }
 
-         protected override void OnViewLoaded(object view)
 
-         {
 
-             base.OnViewLoaded(view);
 
-             LoadData();
 
-             LoadSetDefaultOption(view);
 
-         }
 
-         private string _titleText;
 
-         public string TitleText
 
-         {
 
-             get => _titleText;
 
-             set
 
-             {
 
-                 _titleText = value;
 
-                 NotifyOfPropertyChange(nameof(TitleText));
 
-             }
 
-         }
 
-         private void LoadData()
 
-         {
 
-             wapexPlain.Clear();
 
-             wapexPlain.Add("Total", "Set the number of Product wafers .(include Fill Dummy wafers)");
 
-             wapexPlain.Add("Carrier", "Set the number of Product carriers. The number oftransferring Product wafers to the boat is the carriernumber times the carrier slot number .");
 
-             wapexPlain.Add("Carrierx", "The number of transferring Product wafers to the boat isthe entered-batch carrier number times the carrier slot number.");
 
-             wapexPlain.Add("Minimum", "Set the minimum wafer number in process and additionalwafer number in case of going beyond the minimum.");
 
-             wapexPlain.Add("Fixed", "Set the lowest slot No. of Lower Side-Dummy. The area ofProduct and FillDummy wafers is decided according tothe area of Side Dummy.");
 
-             wapexPlain.Add("Upper", "Product wafers are arranged the upper area on the boatFill Dummy isn't transferred regardless of Product wafer number.");
 
-             wapexPlain.Add("Lower", "Product wafers are arranged the lower area on the boat. Fill Dummy isn’t transferred regardless of Product wafer number .");
 
-             TitleText = wapexPlain["Total"];
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Total;
 
-         }
 
-         private void LoadSetDefaultOption(object view)
 
-         {
 
-             var totalWaferNumberView = (RecipeLayoutSetTotalWaferNumberView)view;
 
-             switch (_totalWaferNumber)
 
-             {
 
-                 case TotalWaferNumberMode.Total:
 
-                     totalWaferNumberView.RdoTotal.IsChecked = true;
 
-                     break;
 
-                 case TotalWaferNumberMode.Carrier:
 
-                     totalWaferNumberView.RdoCarrier.IsChecked = true;
 
-                     break;
 
-                 case TotalWaferNumberMode.Carrierx:
 
-                     totalWaferNumberView.RdoCarrierx.IsChecked = true;
 
-                     break;
 
-                 case TotalWaferNumberMode.Minimum:
 
-                     totalWaferNumberView.RdoMinimum.IsChecked = true;
 
-                     break;
 
-                 case TotalWaferNumberMode.Fixed:
 
-                     totalWaferNumberView.RdoFixed.IsChecked = true;
 
-                     break;
 
-                 case TotalWaferNumberMode.Upper:
 
-                     totalWaferNumberView.RdoUpper.IsChecked = true;
 
-                     break;
 
-                 case TotalWaferNumberMode.Lower:
 
-                     totalWaferNumberView.RdoLower.IsChecked = true;
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         public void EditModeSelectClick(string cmd)
 
-         {
 
-             switch (cmd)
 
-             {
 
-                 case "Before":
 
-                     SetBeforeEdit();
 
-                     break;
 
-                 case "After":
 
-                     SetAfterEdit();
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         private void SetBeforeEdit()
 
-         { }
 
-         private void SetAfterEdit()
 
-         { }
 
-         public void WapLogicSelectClick(string cmd)
 
-         {
 
-             if (wapexPlain.ContainsKey(cmd))
 
-             {
 
-                 TitleText = wapexPlain[cmd];
 
-             }
 
-             switch (cmd)
 
-             {
 
-                 case "Total":
 
-                     SetWapLogicSelectTotal();
 
-                     break;
 
-                 case "Carrier":
 
-                     SetWapLogicSelectCarrier();
 
-                     break;
 
-                 case "Carrierx":
 
-                     SetWapLogicSelectCarrierx();
 
-                     break;
 
-                 case "Minimum":
 
-                     SetWapLogicSelectMinimum();
 
-                     break;
 
-                 case "Fixed":
 
-                     SetWapLogicSelectFixed();
 
-                     break;
 
-                 case "Upper":
 
-                     SetWapLogicSelectUpper();
 
-                     break;
 
-                 case "Lower":
 
-                     SetWapLogicSelectLower();
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         private bool _totalWaferIsEnabled = true;
 
-         public bool TotalWaferIsEnabled
 
-         {
 
-             get => _totalWaferIsEnabled;
 
-             set
 
-             {
 
-                 _totalWaferIsEnabled = value;
 
-                 NotifyOfPropertyChange(nameof(TotalWaferIsEnabled));
 
-             }
 
-         }
 
-         private Visibility _totalVisibility = Visibility.Visible;
 
-         public Visibility TotalVisibility
 
-         {
 
-             get => _totalVisibility;
 
-             set
 
-             {
 
-                 _totalVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(TotalVisibility));
 
-             }
 
-         }
 
-         private Visibility _carrierVisibility = Visibility.Hidden;
 
-         public Visibility CarrierVisibility
 
-         {
 
-             get => _carrierVisibility;
 
-             set
 
-             {
 
-                 _carrierVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(CarrierVisibility));
 
-             }
 
-         }
 
-         private Visibility _carrierXVisibility = Visibility.Hidden;
 
-         public Visibility CarrierXVisibility
 
-         {
 
-             get => _carrierXVisibility;
 
-             set
 
-             {
 
-                 _carrierXVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(CarrierXVisibility));
 
-             }
 
-         }
 
-         private Visibility _minimumVisibility = Visibility.Hidden;
 
-         public Visibility MinimumVisibility
 
-         {
 
-             get => _minimumVisibility;
 
-             set
 
-             {
 
-                 _minimumVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(MinimumVisibility));
 
-             }
 
-         }
 
-         private Visibility _fixedVisibility = Visibility.Hidden;
 
-         public Visibility FixedVisibility
 
-         {
 
-             get => _fixedVisibility;
 
-             set
 
-             {
 
-                 _fixedVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(FixedVisibility));
 
-             }
 
-         }
 
-         private Visibility _allWaferVisibility = Visibility.Visible;
 
-         public Visibility AllWaferVisibility
 
-         {
 
-             get => _allWaferVisibility;
 
-             set
 
-             {
 
-                 _allWaferVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(AllWaferVisibility));
 
-             }
 
-         }
 
-         private Visibility _upperAreaVisibility = Visibility.Hidden;
 
-         public Visibility UpperAreaVisibility
 
-         {
 
-             get => _upperAreaVisibility;
 
-             set
 
-             {
 
-                 _upperAreaVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(UpperAreaVisibility));
 
-             }
 
-         }
 
-         private Visibility _lowerAreaVisibility = Visibility.Hidden;
 
-         public Visibility LowerAreaVisibility
 
-         {
 
-             get => _lowerAreaVisibility;
 
-             set
 
-             {
 
-                 _lowerAreaVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(LowerAreaVisibility));
 
-             }
 
-         }
 
-         private Visibility _foupVisibilityVisibility = Visibility.Visible;
 
-         public Visibility FoupVisibilityVisibility
 
-         {
 
-             get => _foupVisibilityVisibility;
 
-             set
 
-             {
 
-                 _foupVisibilityVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(_foupVisibilityVisibility));
 
-             }
 
-         }
 
-         private void SetWapLogicSelectTotal()
 
-         {
 
-             TotalWaferIsEnabled = true;
 
-             AllWaferVisibility = Visibility.Visible;
 
-             TotalVisibility = Visibility.Visible;
 
-             CarrierVisibility = Visibility.Hidden;
 
-             CarrierXVisibility = Visibility.Hidden;
 
-             MinimumVisibility = Visibility.Hidden;
 
-             FixedVisibility = Visibility.Hidden;
 
-             UpperAreaVisibility = Visibility.Hidden;
 
-             LowerAreaVisibility = Visibility.Hidden;
 
-             FoupVisibilityVisibility = Visibility.Visible;
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Total;
 
-         }
 
-         private void SetWapLogicSelectCarrier()
 
-         {
 
-             TotalWaferIsEnabled = false;
 
-             AllWaferVisibility = Visibility.Visible;
 
-             TotalVisibility = Visibility.Visible;
 
-             CarrierVisibility = Visibility.Visible;
 
-             CarrierXVisibility = Visibility.Hidden;
 
-             MinimumVisibility = Visibility.Hidden;
 
-             FixedVisibility = Visibility.Hidden;
 
-             UpperAreaVisibility = Visibility.Hidden;
 
-             LowerAreaVisibility = Visibility.Hidden;
 
-             FoupVisibilityVisibility = Visibility.Visible;
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Carrier;
 
-         }
 
-         private void SetWapLogicSelectCarrierx()
 
-         {
 
-             AllWaferVisibility = Visibility.Visible;
 
-             TotalVisibility = Visibility.Hidden;
 
-             CarrierVisibility = Visibility.Hidden;
 
-             CarrierXVisibility = Visibility.Visible;
 
-             MinimumVisibility = Visibility.Hidden;
 
-             FixedVisibility = Visibility.Hidden;
 
-             UpperAreaVisibility = Visibility.Hidden;
 
-             LowerAreaVisibility = Visibility.Hidden;
 
-             FoupVisibilityVisibility = Visibility.Hidden;
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Carrierx;
 
-         }
 
-         private void SetWapLogicSelectMinimum()
 
-         {
 
-             AllWaferVisibility = Visibility.Visible;
 
-             TotalVisibility = Visibility.Hidden;
 
-             CarrierVisibility = Visibility.Hidden;
 
-             CarrierXVisibility = Visibility.Hidden;
 
-             MinimumVisibility = Visibility.Visible;
 
-             FixedVisibility = Visibility.Hidden;
 
-             UpperAreaVisibility = Visibility.Hidden;
 
-             LowerAreaVisibility = Visibility.Hidden;
 
-             FoupVisibilityVisibility = Visibility.Hidden;
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Minimum;
 
-         }
 
-         private void SetWapLogicSelectFixed()
 
-         {
 
-             AllWaferVisibility = Visibility.Visible;
 
-             TotalVisibility = Visibility.Hidden;
 
-             CarrierVisibility = Visibility.Hidden;
 
-             CarrierXVisibility = Visibility.Hidden;
 
-             MinimumVisibility = Visibility.Hidden;
 
-             FixedVisibility = Visibility.Visible;
 
-             UpperAreaVisibility = Visibility.Hidden;
 
-             LowerAreaVisibility = Visibility.Hidden;
 
-             FoupVisibilityVisibility = Visibility.Visible;
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Fixed;
 
-         }
 
-         private void SetWapLogicSelectUpper()
 
-         {
 
-             AllWaferVisibility = Visibility.Hidden;
 
-             UpperAreaVisibility = Visibility.Visible;
 
-             LowerAreaVisibility = Visibility.Hidden;
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Upper;
 
-         }
 
-         private void SetWapLogicSelectLower()
 
-         {
 
-             AllWaferVisibility = Visibility.Hidden;
 
-             UpperAreaVisibility = Visibility.Hidden;
 
-             LowerAreaVisibility = Visibility.Visible;
 
-             DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Lower;
 
-         }
 
-         public void TempSetSave()
 
-         {
 
-             IsSave = true;
 
-             GetValueToReturnValue();
 
-             ((Window)GetView()).DialogResult = true;
 
-         }
 
-         private void GetValueToReturnValue()
 
-         {
 
-             ReturnValue = $"{NeedNum}|{AdditionalNum}|{ProductCarrierNum}|{LowerSD}";
 
-         }
 
-         public void TempSetCancel()
 
-         {
 
-             IsSave = false;
 
-             ((Window)GetView()).DialogResult = false;
 
-         }
 
-     }
 
-     public enum TotalWaferNumberMode
 
-     {
 
-         Total,
 
-         Carrier,
 
-         Carrierx,
 
-         Minimum,
 
-         Fixed,
 
-         Upper,
 
-         Lower
 
-     }
 
- }
 
 
  |