using MECF.Framework.UI.Client.CenterViews.Editors.Recipe; using MECF.Framework.UI.Client.ClientBase; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using FurnaceUI.Models; using FurnaceUI.Views.Recipes; namespace FurnaceUI.Views.Editors { public class RecipeWaferChargeRuleViewModel : FurnaceUIViewModelBase { public RecipeDataLayout CurrentRecipe { get; set; } = new RecipeDataLayout(); public RecipeLayoutEntityNormal NormalEntity { get; set; } public bool IsLeaveAsChecked { get; set; } public bool IsPackWholeChecked { get; set; } public bool IsMoveChecked { get; set; } public bool IsDoNotMoveChecked { get; set; } public bool IsWhenCassetteLeaveAsChecked { get; set; } public bool IsWhenCassetteSupplyEDChecked { get; set; } public bool IsWhenCassetteAbortWhenShortChecked { get; set; } public bool IsWhenWaferLeaveAsChecked { get; set; } public bool IsWhenWaferSupplyEDChecked { get; set; } public bool IsWhenWaferAbortWhenShortChecked { get; set; } public bool IsWhenEDLeaveAsChecked { get; set; } public bool IsWhenEDAbortWhenErrorChecked { get; set; } public bool IsWhenEDWarningAndContinueChecked { get; set; } public bool IsRuleOfSpaceLeaveAsChecked { get; set; } public bool IsRuleOfSpaceSupplyEDChecked { get; set; } public bool IsEnable => CGlobal.RecipeLayoutEditViewEnable;//是否是View模式 protected override void OnInitialize() { base.OnInitialize(); IsLeaveAsChecked = NormalEntity.WhenPWaferShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenPWaferShort); IsPackWholeChecked = !IsLeaveAsChecked; IsDoNotMoveChecked = NormalEntity.SDRule == "DonotMove" || string.IsNullOrEmpty(NormalEntity.SDRule); IsMoveChecked = !IsDoNotMoveChecked; IsRuleOfSpaceLeaveAsChecked = NormalEntity.RuleOfSpaceInBoat == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.RuleOfSpaceInBoat); IsRuleOfSpaceSupplyEDChecked = !IsRuleOfSpaceLeaveAsChecked; this.ThreeChecked(); } public void EndEdit() { NormalEntity.WhenPWaferShort = IsLeaveAsChecked ? "LeaveAs" : "PackWholeP+M"; NormalEntity.SDRule = IsMoveChecked ? "Move" : "DonotMove"; NormalEntity.RuleOfSpaceInBoat = IsRuleOfSpaceLeaveAsChecked ? "LeaveAs" : "SupplyED"; this.ThreeChose(); ((Window)GetView())?.Close(); } /// /// 三个选项选一保存 /// public void ThreeChose() { if (IsWhenCassetteLeaveAsChecked) { NormalEntity.WhenCassetteInBatchAreShort = "LeaveAs"; } if (IsWhenCassetteSupplyEDChecked) { NormalEntity.WhenCassetteInBatchAreShort = "SupplyED"; } if (IsWhenCassetteAbortWhenShortChecked) { NormalEntity.WhenCassetteInBatchAreShort = "AbortWhenShort"; } if (IsWhenWaferLeaveAsChecked) { NormalEntity.WhenWaferInCassetteAreShort = "LeaveAs"; } if (IsWhenWaferSupplyEDChecked) { NormalEntity.WhenWaferInCassetteAreShort = "SupplyED"; } if (IsWhenWaferAbortWhenShortChecked) { NormalEntity.WhenWaferInCassetteAreShort = "AbortWhenShort"; } if (IsWhenEDLeaveAsChecked) { NormalEntity.WhenEDAreShort = "LeaveAs"; } if (IsWhenEDAbortWhenErrorChecked) { NormalEntity.WhenEDAreShort = "AbortWhenError"; } if (IsWhenEDWarningAndContinueChecked) { NormalEntity.WhenEDAreShort = "WarningAndContinue"; } } /// /// 显示之前选中的值 /// public void ThreeChecked() { IsWhenCassetteLeaveAsChecked = NormalEntity.WhenCassetteInBatchAreShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenCassetteInBatchAreShort); IsWhenCassetteSupplyEDChecked = NormalEntity.WhenCassetteInBatchAreShort == "SupplyED"; IsWhenCassetteAbortWhenShortChecked = NormalEntity.WhenCassetteInBatchAreShort == "AbortWhenShort"; IsWhenWaferLeaveAsChecked = NormalEntity.WhenWaferInCassetteAreShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenWaferInCassetteAreShort); IsWhenWaferSupplyEDChecked = NormalEntity.WhenWaferInCassetteAreShort == "SupplyED"; IsWhenWaferAbortWhenShortChecked = NormalEntity.WhenWaferInCassetteAreShort == "AbortWhenShort"; IsWhenEDLeaveAsChecked = NormalEntity.WhenEDAreShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenEDAreShort); IsWhenEDAbortWhenErrorChecked = NormalEntity.WhenEDAreShort == "AbortWhenError"; IsWhenEDWarningAndContinueChecked = NormalEntity.WhenEDAreShort == "WarningAndContinue"; } public void Close() { ((Window)GetView())?.Close(); } } }