123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- using Aitex.Core.Util;
- using Aitex.Core.Utilities;
- using Caliburn.Micro;
- using FurnaceUI.Models;
- using MECF.Framework.Common.CommonData.EnumData;
- using MECF.Framework.Common.DataCenter;
- using MECF.Framework.Common.Utilities;
- using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
- using MECF.Framework.UI.Client.CenterViews.Editors.Sequence;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Data;
- using System.Windows.Documents;
- namespace FurnaceUI.Views.Editors
- {
- public class ScheduledMaintenanceMonitorViewModel : FurnaceUIViewModelBase
- {
- #region 构造函数
- /// <summary>
- /// 构造函数
- /// </summary>
- /// <param name="dataItem"></param>
- public ScheduledMaintenanceMonitorViewModel(ScheduleMaintenanceDataItem dataItem)
- {
- EditModel = CloneUtil.CloneObject(dataItem) as ScheduleMaintenanceDataItem;
- EnumLoop<MaintenanceProcessingCommandEnum>.ForEach((item) =>
- {
- MaintenanceProcessingList.Add(item.ToString());
- });
- }
- private bool _jobAutoStartCommandVisibility = false;
- public bool JobAutoStartCommandVisibility
- {
- get => _jobAutoStartCommandVisibility;
- set
- {
- _jobAutoStartCommandVisibility = value;
- NotifyOfPropertyChange("JobAutoStartCommandVisibility");
- }
- }
-
- private List<string> _maintenanceProcessingList = new List<string>();
- public List<string> MaintenanceProcessingList
- {
- get => _maintenanceProcessingList;
- set
- {
- _maintenanceProcessingList = value;
- NotifyOfPropertyChange("MaintenanceProcessingList");
- }
- }
- #endregion
- #region 属性 EditModel
- /// <summary>
- /// EditModel
- /// </summary>
- public ScheduleMaintenanceDataItem EditModel { get; set; }
- #endregion
- public bool IsEnable
- {
- get { return _isEnable; }
- set
- {
- _isEnable = value;
- NotifyOfPropertyChange("IsEnable");
- }
- }
- private bool _isEnable;
- #region 方法 CurrentValueChange
- /// <summary>
- /// CurrentValueChange
- /// </summary>
- public void CurrentValueChange()
- {
- IsEnable = !IsEnable;
- }
- #endregion
- protected override void InvokeAfterUpdateProperty(Dictionary<string, object> data)
- {
- if (EditModel != null && !string.IsNullOrEmpty(EditModel.MaintenanceProcessing) && EditModel.MaintenanceProcessing == MaintenanceProcessingCommandEnum.JobAutoStart.ToString())
- {
- JobAutoStartCommandVisibility = true;
- }
- else
- {
- EditModel.AssociationProcessRecipeName = "";
- JobAutoStartCommandVisibility = false;
- }
- }
- public void SelectProcessRecipe()
- {
- RecipeSelectDialogViewModel dialog = new RecipeSelectDialogViewModel();
- dialog.DisplayName = "Select Recipe";
- var recipeProvider = new RecipeProvider();
- var processType = QueryDataClient.Instance.Service.GetConfig($"System.Recipe.SupportedProcessType");
- if (processType == null)
- {
- processType = "Process";
- }
- var ProcessTypeFileList = new ObservableCollection<ProcessTypeFileItem>();
- string[] recipeProcessType = ((string)processType).Split(',');
- var type = new ProcessTypeFileItem();
- type.ProcessType = recipeProcessType[0];
- var prefix = $"Furnace\\{recipeProcessType[0]}";
- var recipes = recipeProvider.GetXmlRecipeList(prefix);
- type.FileListByProcessType = RecipeSequenceTreeBuilder.BuildFileNode(prefix, "", false, recipes)[0].Files;
- ProcessTypeFileList.Add(type);
- dialog.ProcessTypeFileList = ProcessTypeFileList;
- WindowManager wm = new WindowManager();
- bool? bret = wm.ShowDialog(dialog);
- if ((bool)bret)
- {
- EditModel.AssociationProcessRecipeName = dialog.DialogResult;
- }
- }
- #region 方法 ClearCurrentValue
- /// <summary>
- /// ClearCurrentValue
- /// </summary>
- public void ClearCurrentValue()
- {
- if (EditModel != null)
- {
- EditModel.CurrentValue = 0;
- }
- }
- #endregion
- #region 方法 SetSave
- public void SetSave()
- {
- this.TryClose(true);
- }
- #endregion
- #region 方法 SetCancel
- public void SetCancel()
- {
- TryClose();
- }
- #endregion
- }
- }
|