123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- 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 MECF.Framework.UI.Client.CenterViews.Dialogs;
- using System.Windows.Controls;
- using MECF.Framework.Common.Utilities;
- namespace FurnaceUI.Views.Editors
- {
- public class RecipeTempSetViewModel : FurnaceUIViewModelBase
- {
- public ObservableCollection<TempSetData> TemperatureValues { get; set; } = new ObservableCollection<TempSetData>();
- public Dictionary<string, ObservableCollection<RecipeTemplateColumnBase>> _recipeTemplate;
- public ObservableCollection<TempSetData> TempSetDataList { get; set; } = new ObservableCollection<TempSetData>();
- public ObservableCollection<TempSetData> OldTempSetDataList { get; set; } = new ObservableCollection<TempSetData>();
- public Dictionary<string, ObservableCollection<RecipeTemplateColumnBase>> RecipeTemplate
- {
- get => _recipeTemplate;
- set
- {
- _recipeTemplate = value;
- NotifyOfPropertyChange("RecipeTemplate");
- }
- }
- public bool IsSave { get; set; }
- public RecipeTempSetViewModel()
- {
- }
- public void RampngUnitClick(string RampngUnit, TempSetData tempSetData)
- {
- var windowManager = IoC.Get<IWindowManager>();
- RecipeButtonSelectViewModel recipeButtonSelectViewModel = new RecipeButtonSelectViewModel();
- recipeButtonSelectViewModel.UnitStr = RampngUnit;
- if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(recipeButtonSelectViewModel, null, "The Button Select"))
- {
- tempSetData.RampngUnit.Value = recipeButtonSelectViewModel.SelectButtonCommand;
- }
- }
- private string _strRampngAllUnit = "Time";
- public string StrRampngAllUnit
- {
- get => _strRampngAllUnit;
- set
- {
- _strRampngAllUnit = value;
- NotifyOfPropertyChange("StrRampngAllUnit");
- }
- }
- public void RampngAllUnitClick(object sender)
- {
- var windowManager = IoC.Get<IWindowManager>();
- RecipeButtonSelectViewModel recipeButtonSelectViewModel = new RecipeButtonSelectViewModel();
- recipeButtonSelectViewModel.UnitStr = StrRampngAllUnit;
- if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(recipeButtonSelectViewModel, null, "The Button Select"))
- {
- foreach (var item in TempSetDataList)
- {
- item.RampngUnit.Value = recipeButtonSelectViewModel.SelectButtonCommand;
- }
- StrRampngAllUnit = recipeButtonSelectViewModel.SelectButtonCommand;
- }
- }
- public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式
- public string StepType { get; set; }
- public bool IsShowStabilizeTable => StepType == "Standby";
- public string RecipeType { get; set; }
- protected override void OnViewLoaded(object view)
- {
- base.OnViewLoaded(view);
- LoadData();
- GetHeaderConfig();
- }
- private void LoadData()
- {
- OldTempSetDataList.Clear();
- TempSetDataList.ToList().ForEach(x => OldTempSetDataList.Add((TempSetData)CloneUtil.CloneObject(x)));
- }
- public void TempIsCheckChangedCmd(object zoneName)
- {
- var controlName = (string)zoneName;
- bool isCheck = TempSetDataList.Where(x => x.Name == controlName).FirstOrDefault().IsCheck.Value;
- TempSetDataList.Where(x => x.Name == controlName).FirstOrDefault().IsCheck.SetValue(!isCheck);
- }
- public void GetHeaderConfig()
- {
- TempSetDataList.Clear();
- int index = 1;
- foreach (var item in TemperatureValues)
- {
- item.No = index;
- TempSetDataList.Add(item);
- index++;
- }
- }
- public void TempSetSave()
- {
- IsSave = true;
- ((Window)GetView()).DialogResult = true;
- }
- public void TempSetCancel()
- {
- IsSave = false;
- foreach (var item in TempSetDataList)
- {
- var findTemp = OldTempSetDataList.FirstOrDefault(x => x.DisplayName == item.DisplayName);
- if (findTemp != null)
- {
- if (item.SetValue.IsSaved != findTemp.SetValue.IsSaved || item.RampngValue.IsSaved != findTemp.RampngValue.IsSaved)
- {
- item.UndoChanges();
- }
- }
- else
- {
- item.UndoChanges();
- }
- }
- ((Window)GetView()).DialogResult = false;
- }
- public void RecipeTempSetChick(string setName, object sender)
- {
- var windowManager = IoC.Get<IWindowManager>();
- switch (setName)
- {
- case "TempSet":
- string strRetValue = ShowNumberKeyboard(sender as Button, "");
- foreach (var item in TempSetDataList)
- {
- if (strRetValue.Equals("Cancel"))
- {
- continue;
- }
- item.SetValue.SetValue(strRetValue);
- }
- //TempAllZoneValueSetViewModel tempAllZoneValueSetViewModel = new TempAllZoneValueSetViewModel();
- //tempAllZoneValueSetViewModel.RecipeType = RecipeType;
- //var result1 = (windowManager as WindowManager)?.ShowDialogWithTitle(tempAllZoneValueSetViewModel, null, "Temperature All Zone Value Set");
- //if (tempAllZoneValueSetViewModel.IsSave)
- //{
- // string strTemp;
- // if (tempAllZoneValueSetViewModel.SelectedNode is null) return;
- // string strNodeName = tempAllZoneValueSetViewModel.SelectedNode.Name;
- // if (tempAllZoneValueSetViewModel.SelectedNode.Items.Count > 1)
- // {
- // for (int i = 0; i < tempAllZoneValueSetViewModel.SelectedNode.Items.Count; i++)
- // {
- // strTemp =tempAllZoneValueSetViewModel.SelectedNode.Items[i].CurrentValue;
- // if (strTemp.StartsWith(":")) strTemp = strTemp.Substring(1);
- // //TemperatureValues[TemperatureName[i]] = strTemp;
- // //SetViewData(i + 1, strTemp);
- // var tempData = TempSetDataList.FirstOrDefault(x => x.Name == tempAllZoneValueSetViewModel.SelectedNode.Items[i].Name);
- // if (tempData != null)
- // {
- // tempData.SetValue.SetValue(strTemp);
- // }
- // }
- // }
- //}
- break;
- case "RampSet":
- string strRetRamp = ShowNumberKeyboard(sender as Button, "");
- foreach (var item in TempSetDataList)
- {
- if (strRetRamp.Equals("Cancel"))
- {
- continue;
- }
- item.RampngValue.SetValue(strRetRamp);
- }
- break;
- case "Unit":
- break;
- case "Check":
- foreach (var item in TempSetDataList)
- {
- item.IsCheck.SetValue(true);
- }
- break;
- case "UpperSet":
- string strHighRamp = ShowNumberKeyboard(sender as Button, "");
- foreach (var item in TempSetDataList)
- {
- if (strHighRamp.Equals("Cancel"))
- {
- continue;
- }
- item.HighValue.SetValue(strHighRamp);
- }
- break;
- case "LowerSet":
- string strLowVRamp = ShowNumberKeyboard(sender as Button, "");
- foreach (var item in TempSetDataList)
- {
- if (strLowVRamp.Equals("Cancel"))
- {
- continue;
- }
- item.LowValue.SetValue(strLowVRamp);
- }
- break;
- default:
- break;
- }
- }
- private string ShowNumberKeyboard(Control control, string defaultValue)
- {
- NumberKeyboard numberKeyboard = new NumberKeyboard("", defaultValue);
- var point = control.PointFromScreen(new Point(0, 0));
- double wx = SystemParameters.WorkArea.Width;
- double hy = SystemParameters.WorkArea.Height;
- if (-point.Y + control.ActualHeight + 5 + numberKeyboard.Height < hy)
- {
- numberKeyboard.Top = -point.Y + control.ActualHeight + 5;
- }
- else
- {
- numberKeyboard.Top = -point.Y - numberKeyboard.Height - 5;
- }
- if (-point.X + numberKeyboard.Width < wx)
- {
- numberKeyboard.Left = -point.X;
- }
- else
- {
- numberKeyboard.Left = -point.X - (numberKeyboard.Width - control.ActualWidth);
- }
- if ((bool)numberKeyboard.ShowDialog())
- return numberKeyboard.ValueString;
- else
- return "Cancel";
- }
- }
- }
|