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 RecipeLayoutSetReplacementViewModel : FurnaceUIViewModelBase { private Dictionary TitleDict = new Dictionary(); public bool IsSave { get; set; } public RecipeLayoutSetReplacementViewModel() { } private LayoutReplacement _dialogResultLayoutReplacement = LayoutReplacement.Upper; public LayoutReplacement DialogResultLayoutReplacement { get => _dialogResultLayoutReplacement; set { _dialogResultLayoutReplacement = value; NotifyOfPropertyChange(nameof(DialogResultLayoutReplacement)); } } public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式 private string _title; public string Title { get => _title; set { _title = value; NotifyOfPropertyChange(nameof(Title)); } } public string RecipeType { get; set; } private LayoutReplacement _setLayoutReplacement = LayoutReplacement.Upper; public LayoutReplacement SetLayoutReplacement { get => _setLayoutReplacement; set { _setLayoutReplacement = value; NotifyOfPropertyChange(nameof(SetLayoutReplacement)); } } protected override void OnViewLoaded(object view) { base.OnViewLoaded(view); LoadData(); LoadSetDefaultOption(view); } private void LoadSetDefaultOption(object view) { var replacementView = (RecipeLayoutSetReplacementView)view; switch (DialogResultLayoutReplacement) { case LayoutReplacement.Upper: replacementView.RdoUpper.IsChecked = true; break; case LayoutReplacement.Center: replacementView.RdoCenter.IsChecked = true; break; case LayoutReplacement.Lower: replacementView.RdoLower.IsChecked = true; break; case LayoutReplacement.UpperProduct: replacementView.RdoUpperProduct.IsChecked = true; break; case LayoutReplacement.Fixed: replacementView.RdoFixed.IsChecked = true; break; default: break; } } private void LoadData() { TitleDict.Clear(); TitleDict.Add("Upper", "All Product Wafers are arranged for upper side of theboat."); TitleDict.Add("Center", "All Product Wafers are arranged for center of the boat."); TitleDict.Add("Lower", "All Product Wafers are arranged for lower side of the boat."); TitleDict.Add("UpperProduct", "The shortage ofProduct Wafers are filled up to upperside in a basic unit of the carrier slot numbers."); TitleDict.Add("Fixed", "The shortage of Product Wafers are filled up to thefixed vacantocationinabasicunit of the carrierslot numbers."); Title = TitleDict["Upper"]; } public void EditModeSelectClick(string cmd) { switch (cmd) { case "Before": SetBeforeEdit(); break; case "After": SetAfterEdit(); break; default: break; } } private void SetBeforeEdit() { } private void SetAfterEdit() { } private Visibility _upperVisibility = Visibility.Visible; public Visibility UpperVisibility { get => _upperVisibility; set { _upperVisibility = value; NotifyOfPropertyChange(nameof(UpperVisibility)); } } private Visibility _centerVisibility = Visibility.Hidden; public Visibility CenterVisibility { get => _centerVisibility; set { _centerVisibility = value; NotifyOfPropertyChange(nameof(CenterVisibility)); } } private Visibility _lowerVisibility = Visibility.Hidden; public Visibility LowerVisibility { get => _lowerVisibility; set { _lowerVisibility = value; NotifyOfPropertyChange(nameof(LowerVisibility)); } } private Visibility _upperProductVisibility = Visibility.Hidden; public Visibility UpperProductVisibility { get => _upperProductVisibility; set { _upperProductVisibility = value; NotifyOfPropertyChange(nameof(UpperProductVisibility)); } } private Visibility _fixedVisibility = Visibility.Hidden; public Visibility FixedVisibility { get => _fixedVisibility; set { _fixedVisibility = value; NotifyOfPropertyChange(nameof(FixedVisibility)); } } public void WaferFillModeSelectClick(string cmd) { if (TitleDict.ContainsKey(cmd)) { Title = TitleDict[cmd]; } switch (cmd) { case "Upper": UpperVisibility = Visibility.Visible; CenterVisibility = Visibility.Hidden; LowerVisibility = Visibility.Hidden; UpperProductVisibility = Visibility.Hidden; FixedVisibility = Visibility.Hidden; DialogResultLayoutReplacement = LayoutReplacement.Upper; break; case "Center": UpperVisibility = Visibility.Hidden; CenterVisibility = Visibility.Visible; LowerVisibility = Visibility.Hidden; UpperProductVisibility = Visibility.Hidden; FixedVisibility = Visibility.Hidden; DialogResultLayoutReplacement = LayoutReplacement.Center; break; case "Lower": UpperVisibility = Visibility.Hidden; CenterVisibility = Visibility.Hidden; LowerVisibility = Visibility.Visible; UpperProductVisibility = Visibility.Hidden; FixedVisibility = Visibility.Hidden; DialogResultLayoutReplacement = LayoutReplacement.Lower; break; case "UpperProduct": UpperVisibility = Visibility.Hidden; CenterVisibility = Visibility.Hidden; LowerVisibility = Visibility.Hidden; UpperProductVisibility = Visibility.Visible; FixedVisibility = Visibility.Hidden; DialogResultLayoutReplacement = LayoutReplacement.UpperProduct; break; case "Fixed": UpperVisibility = Visibility.Hidden; CenterVisibility = Visibility.Hidden; LowerVisibility = Visibility.Hidden; UpperProductVisibility = Visibility.Hidden; FixedVisibility = Visibility.Visible; DialogResultLayoutReplacement = LayoutReplacement.Fixed; break; default: break; } } public void TempSetSave() { IsSave = true; ((Window)GetView()).DialogResult = true; } public void TempSetCancel() { IsSave = false; ((Window)GetView()).DialogResult = false; } } public enum LayoutReplacement { Upper, Center, Lower, UpperProduct, Fixed } }