|
|
@@ -425,6 +425,9 @@ namespace FurnaceUI.Views.Recipes
|
|
|
{
|
|
|
|
|
|
IsVisibilityEdit = false;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
StepListA = new ObservableCollection<StepDataItem>();
|
|
|
ParamListA = new ObservableCollection<ParamDataItem>();
|
|
|
WholeListA = new ObservableCollection<LineDataItem>();
|
|
|
@@ -436,6 +439,7 @@ namespace FurnaceUI.Views.Recipes
|
|
|
if (showRecipeHistoryA != null && showRecipeHistoryB != null)
|
|
|
{
|
|
|
var recipeType = showRecipeHistoryA.Recipe_Type;
|
|
|
+
|
|
|
if (!string.IsNullOrEmpty(recipeType))
|
|
|
{
|
|
|
if (recipeType.EndsWith("sub") || recipeType.EndsWith("alarm") || recipeType.EndsWith("abort") || recipeType.EndsWith("idle") || recipeType.EndsWith("reset"))
|
|
|
@@ -2736,8 +2740,12 @@ namespace FurnaceUI.Views.Recipes
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
- public void SelectedRecipeTable()
|
|
|
+ //Modified by SSH,20250925,把Table选择分成两个,允许在sub等recipe的不同table之间比较
|
|
|
+ public string TableNameA { get; set; } = "1:";
|
|
|
+ public string TableNameB { get; set; } = "1:";
|
|
|
+ private int TableIndexA = 1;
|
|
|
+ private int TableIndexB = 1;
|
|
|
+ public void SelectedRecipeTableA()
|
|
|
{
|
|
|
ItemsSelectDialogViewModel itemsSelectDialogViewModel = new ItemsSelectDialogViewModel();
|
|
|
itemsSelectDialogViewModel.Items.Clear();
|
|
|
@@ -2768,7 +2776,51 @@ namespace FurnaceUI.Views.Recipes
|
|
|
var item = itemsSelectDialogViewModel.SelectedItem;
|
|
|
SelectedTwoTableData = item;
|
|
|
SelectTableIndex = item.Index;
|
|
|
- GetTableStepList(true, item.Index);
|
|
|
+ TableIndexA = SelectTableIndex;
|
|
|
+ TableIndexB = TableIndexA;
|
|
|
+ TableNameA = TableIndexA + ":";
|
|
|
+ TableNameB = TableIndexB + ":";
|
|
|
+ GetTableStepList(true, TableIndexA);
|
|
|
+ GetTableStepList(false, TableIndexB);
|
|
|
+ SyncShowDiffSteps(IsShowDiffSteps);
|
|
|
+ if (StepList != null && StepList.Count > 0)
|
|
|
+ SyncTableStepSelection(StepList[0]);
|
|
|
+ SyncShowDiffParams(_isShowDiffParams);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public void SelectedRecipeTableB()
|
|
|
+ {
|
|
|
+ ItemsSelectDialogViewModel itemsSelectDialogViewModel = new ItemsSelectDialogViewModel();
|
|
|
+ itemsSelectDialogViewModel.Items.Clear();
|
|
|
+ var tables = _mapTableStepParamB.Keys;
|
|
|
+ foreach (var item in tables)
|
|
|
+ {
|
|
|
+ TwoTableDataItem twoTableDataItem = new TwoTableDataItem();
|
|
|
+ int tableIndex = -1;
|
|
|
+ int.TryParse(item.TableIndex, out tableIndex);
|
|
|
+ if (tableIndex != -1)
|
|
|
+ {
|
|
|
+ twoTableDataItem.Index = tableIndex;
|
|
|
+ twoTableDataItem.ATableName = item.TableName;
|
|
|
+ var tablesB = _mapTableStepParamB.Keys;
|
|
|
+ var tableB = tablesB.FirstOrDefault(x => x.TableIndex == item.TableIndex);
|
|
|
+ if (tableB != null)
|
|
|
+ {
|
|
|
+ twoTableDataItem.BTableName = tableB.TableName;
|
|
|
+ twoTableDataItem.IsDiff = tableB.IsDiff;
|
|
|
+ }
|
|
|
+ itemsSelectDialogViewModel.Items.Add(twoTableDataItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ WindowManager wm = new WindowManager();
|
|
|
+ bool? bret = wm.ShowDialog(itemsSelectDialogViewModel);
|
|
|
+ if ((bool)bret)
|
|
|
+ {
|
|
|
+ var item = itemsSelectDialogViewModel.SelectedItem;
|
|
|
+ SelectedTwoTableData = item;
|
|
|
+ SelectTableIndex = item.Index;
|
|
|
+ TableIndexB = SelectTableIndex;
|
|
|
+ TableNameB = TableIndexB + ":";
|
|
|
GetTableStepList(false, item.Index);
|
|
|
SyncShowDiffSteps(IsShowDiffSteps);
|
|
|
if (StepList != null && StepList.Count > 0)
|
|
|
@@ -2777,7 +2829,6 @@ namespace FurnaceUI.Views.Recipes
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
private string getXmlText(XmlDocument xmlDocument)
|
|
|
{
|
|
|
(new RecipeProvider()).SaveRecipe("", "RecipeTemp", xmlDocument.InnerXml);
|