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; using FurnaceUI.Client.Dialog; namespace FurnaceUI.Views.Editors { public class RecipePressureWaitViewModel : FurnaceUIViewModelBase { private Step _selectedStep; public Step SelectedStep { get => _selectedStep; set { _selectedStep = value; NotifyOfPropertyChange(nameof(SelectedStep)); } } private string _sensorName=""; public string SensorName { get => _sensorName; set { _sensorName = value; NotifyOfPropertyChange(nameof(SensorName)); } } public bool IsSave { get; set; } public RecipePressureWaitViewModel() { } public void PressIsWaitChangedCmd() { SelectedStep.PressIsWait.SetValue(!SelectedStep.PressIsWait.Value); } public void PressIsWaitUnitCmd() { var windowManager = IoC.Get(); RecipePressWaitValveAngleViewModel recipePressWaitValveAngleViewModel = new RecipePressWaitValveAngleViewModel(); recipePressWaitValveAngleViewModel.SelectedStep = SelectedStep; if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(recipePressWaitValveAngleViewModel, null, "Select")) { } } public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式 public string RecipeType { get; set; } private Visibility _textUnitVisibility = Visibility.Visible; public Visibility TextUnitVisibility { get => _textUnitVisibility; set { _textUnitVisibility = value; NotifyOfPropertyChange(nameof(TextUnitVisibility)); } } private Visibility _btnUnitVisibility = Visibility.Hidden; public Visibility BtnUnitVisibility { get => _btnUnitVisibility; set { _btnUnitVisibility = value; NotifyOfPropertyChange(nameof(BtnUnitVisibility)); } } protected override void OnViewLoaded(object view) { base.OnViewLoaded(view); LoadData(); } private void LoadData() { if (SelectedStep == null) return; switch (SelectedStep.PressCommand.Value) { case "Press": TextUnitVisibility = Visibility.Visible; BtnUnitVisibility = Visibility.Hidden; SelectedStep.PressWaitUnit.SetValue("Torr"); break; case "Press2": TextUnitVisibility = Visibility.Visible; BtnUnitVisibility = Visibility.Hidden; SelectedStep.PressWaitUnit.SetValue("Torr"); break; case "Valve Angle": TextUnitVisibility = Visibility.Hidden; BtnUnitVisibility = Visibility.Visible; if (SelectedStep.PressWaitUnit.Value != "%" && SelectedStep.PressWaitUnit.Value != "%d") { SelectedStep.PressWaitUnit.SetValue("%"); } break; default: TextUnitVisibility = Visibility.Visible; BtnUnitVisibility = Visibility.Hidden; SelectedStep.PressWaitUnit.SetValue(""); break; } } public void Save() { IsSave = true; ((Window)GetView()).DialogResult = true; } public void Cancel() { IsSave = false; ((Window)GetView()).DialogResult = false; } } }