Przeglądaj źródła

add shutDown相关逻辑

git-svn-id: http://10.4.3.168:50001/svn/Furnace@62 dbcde07d-dcf5-c148-8a84-ac3097b7778e
Jiangjinyuan 1 miesiąc temu
rodzic
commit
75f3ec840f

+ 89 - 0
FrameworkLocal/UIClient/CenterViews/Configs/SystemConfig/ShutDonwControlView.xaml

@@ -0,0 +1,89 @@
+<UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig.ShutDonwControlView"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig" 
+             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"    xmlns:micro="clr-namespace:Caliburn.Micro"
+             mc:Ignorable="d" 
+             Height="250" Width="500">
+    <Grid >
+        <Border Padding="10">
+            <StackPanel>
+                <StackPanel  Visibility="{Binding AllControlVisibility,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}">
+                    <Button  Height="50"  Content="Power Off (Turn off the power of the machine)">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="AllControlPowerOff">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                    <Button Height="50"  Margin="0,10,0,10"  Content="Restart Computer">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="RestartComputer">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                    <Button Height="50" Margin="0,0,0,10" Content="ReStart(Restart all UI and RT)">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="AllControlReStart">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                    <Button Height="50"  Content="ShutDown (Close all UI and RT)">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="AllControlShutDown">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                </StackPanel>
+                <StackPanel Visibility="{Binding UIControlVisibility,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}">
+                    <Button Height="50"  Content="ReStart">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="ReStartUI">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                    <Button Height="50"  Margin="0,10,0,10" Content="ShutDown">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="ShutDownUI">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                </StackPanel>
+                <StackPanel Visibility="{Binding UIAndRTControlVisibility,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}">
+                    <Button Height="50"  Content="ReStart">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="ReStartRTAndUI">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                    <Button Height="50"  Margin="0,10,0,10" Content="ShutDown">
+                        <i:Interaction.Triggers>
+                            <i:EventTrigger EventName="Click">
+                                <micro:ActionMessage MethodName="ShutDownUIAndRT">
+                                </micro:ActionMessage>
+                            </i:EventTrigger>
+                        </i:Interaction.Triggers>
+                    </Button>
+                </StackPanel>
+
+            </StackPanel>
+        </Border>
+            
+      
+    </Grid>
+</UserControl>

+ 28 - 0
FrameworkLocal/UIClient/CenterViews/Configs/SystemConfig/ShutDonwControlView.xaml.cs

@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
+{
+    /// <summary>
+    /// ShutDonwControlView.xaml 的交互逻辑
+    /// </summary>
+    public partial class ShutDonwControlView : UserControl
+    {
+        public ShutDonwControlView()
+        {
+            InitializeComponent();
+        }
+    }
+}

+ 122 - 0
FrameworkLocal/UIClient/CenterViews/Configs/SystemConfig/ShutDonwControlViewModel.cs

@@ -0,0 +1,122 @@
+using Aitex.Common.Util;
+using Aitex.Core.RT.Log;
+using Aitex.Core.Util;
+using MECF.Framework.Common.OperationCenter;
+using MECF.Framework.UI.Client.ClientBase;
+using OpenSEMI.ClientBase;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Windows;
+
+
+
+
+namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
+{
+    public class ShutDonwControlViewModel : UiViewModelBase
+    {
+
+
+        private bool _uIAndRTControlVisibility = false;
+        public bool UIAndRTControlVisibility
+        {
+            get => _uIAndRTControlVisibility;
+            set
+            {
+                _uIAndRTControlVisibility = value;
+                NotifyOfPropertyChange(nameof(UIAndRTControlVisibility));
+            }
+        }
+        private bool _uIControlVisibility = false;
+        public bool UIControlVisibility
+        {
+            get => _uIControlVisibility;
+            set
+            {
+                _uIControlVisibility = value;
+                NotifyOfPropertyChange(nameof(UIControlVisibility));
+            }
+        }
+        private bool _allControlVisibility = false;
+        public bool AllControlVisibility
+        {
+            get => _allControlVisibility;
+            set
+            {
+                _allControlVisibility = value;
+                NotifyOfPropertyChange(nameof(AllControlVisibility));
+            }
+        }
+
+        public void ReStartRTAndUI()
+        {
+            if (DialogBox.Confirm("Are you sure you want to Restart UI and RT?"))
+                Process.Start($"{Path.GetDirectoryName(PathManager.GetAppDir())}\\FurnaceBat\\startFurnace.bat");
+        }
+        public void ShutDownUIAndRT()
+        {
+            if (DialogBox.Confirm("Are you sure you want to shut down UI and RT?"))
+                Process.Start($"{Path.GetDirectoryName(PathManager.GetAppDir())}\\FurnaceBat\\stopFurnace.bat");
+        }
+        public void ReStartUI()
+        {
+            if (DialogBox.Confirm("Are you sure you want to ReStart UI?"))
+                Process.Start($"{Path.GetDirectoryName(PathManager.GetAppDir())}\\FurnaceBat\\restartUI.bat");
+        }
+        public void ShutDownUI()
+        {
+            if (DialogBox.Confirm("Are you sure you want to shut down UI?"))
+                Process.Start($"{Path.GetDirectoryName(PathManager.GetAppDir())}\\FurnaceBat\\shutDownUI.bat");
+        }
+        public void AllControlPowerOff()
+        {
+            if (DialogBox.Confirm("Are you sure you want to shut down your computer in 60 seconds?"))
+                ExecuteCommand("shutdown", "/s /f /t 60");
+        }
+
+        public void RestartComputer()
+        {
+            if (DialogBox.Confirm("Are you sure you want to restart your computer in 60 seconds?"))
+                ExecuteCommand("shutdown", "/r /f /t 60");
+        }
+        public void AllControlReStart()
+        {
+            if (DialogBox.Confirm("Are you sure you want to restart All Control ?"))
+            {
+                ReStartRTAndUI();
+            }
+
+        }
+        public void AllControlShutDown()
+        {
+            if (DialogBox.Confirm("Are you sure you want to restart All ShutDown ?"))
+            {
+                ShutDownUIAndRT();
+            }
+
+        }
+
+        private void ExecuteCommand(string fileName, string arguments)
+        {
+            LOG.Info($"{fileName} {arguments}");
+            try
+            {
+                System.Diagnostics.Process.Start(new ProcessStartInfo(fileName, arguments)
+                {
+                    UseShellExecute = false,
+                    RedirectStandardOutput = true,
+                    RedirectStandardError = true,
+                    CreateNoWindow = true,
+                });
+            }
+            catch (Exception ex)
+            {
+                LOG.Info($"{fileName} {arguments},An error occurred: {ex.Message}");
+            }
+        }
+
+    }
+}

+ 77 - 321
FrameworkLocal/UIClient/CenterViews/Configs/SystemConfig/SystemConfigView.xaml

@@ -280,367 +280,123 @@
                     </ListView.View>
                 </ListView>
             </ScrollViewer>
-            <Grid Grid.Row="1" Margin="0,30,0,0" Visibility="{Binding IsShowTable}">
+            <Grid Panel.ZIndex="12" Grid.Row="1" Margin="0,30,0,0" Visibility="{Binding IsShowShutDown}">
                 <Grid.RowDefinitions>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
-                    <RowDefinition Height="35"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
+                    <RowDefinition Height="55"></RowDefinition>
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
-                    <ColumnDefinition Width="220"></ColumnDefinition>
-                    <ColumnDefinition Width="110"></ColumnDefinition>
-                    <ColumnDefinition Width="120"></ColumnDefinition>
-                    <ColumnDefinition Width="140"></ColumnDefinition>
+                    <ColumnDefinition Width="220" ></ColumnDefinition>
+                    <ColumnDefinition Width="240"></ColumnDefinition>
                 </Grid.ColumnDefinitions>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1"  Grid.Row="0" Grid.Column="0">
+                <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1"  Grid.Row="0" Grid.Column="0">
                     <TextBlock Text="Name" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
                 </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="1">
-                    <TextBlock Text="Unit" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="2">
-                    <TextBlock Text="SetValue" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="3">
-                    <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="4">
-                    <TextBlock Text="Alarm" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="1" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[0].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[0].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
+
+                <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Grid.Row="0" Grid.Column="2">
+                    <TextBlock Text="Operation" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
                 </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[0].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
+                <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="1" Grid.Column="0">
+                    <TextBlock Text="All Control" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
                 </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="3">
-                    <!--<TextBlock Text="{Binding SDUseWarningLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
+
+                <Border Padding="5" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="2">
+                    <Button  Content="Please Click"  >
                         <i:Interaction.Triggers>
                             <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[0]}"/>
+                                <micro:ActionMessage MethodName="AllControl">
                                 </micro:ActionMessage>
                             </i:EventTrigger>
                         </i:Interaction.Triggers>
                     </Button>
                 </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="1" Grid.Column="4">
-                    <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="2" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[1].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[1].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
+                <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="2" Grid.Column="0">
+                    <TextBlock Text="UI Control" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
                 </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[1].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="3">
-                    <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
+
+                <Border Padding="5" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="2">
+                    <Button  Content="Please Click"  >
                         <i:Interaction.Triggers>
                             <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[1]}"/>
+                                <micro:ActionMessage MethodName="UIControl">
                                 </micro:ActionMessage>
                             </i:EventTrigger>
                         </i:Interaction.Triggers>
                     </Button>
                 </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="2" Grid.Column="4">
-                    <TextBlock Text="{Binding SDUseAlarmLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
                 <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="3" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[2].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[2].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[2].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
+                    <TextBlock Text="UI And RT Control" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
                 </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="3">
-                    <!--<TextBlock Text="{Binding SDUseWarningTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
+
+                <Border  Padding="5"  BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="2">
+                    <Button Content="Please Click"  >
                         <i:Interaction.Triggers>
                             <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[2]}"/>
+                                <micro:ActionMessage MethodName="UIAndRTControl">
                                 </micro:ActionMessage>
                             </i:EventTrigger>
                         </i:Interaction.Triggers>
                     </Button>
                 </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="3" Grid.Column="4">
-                    <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
                 <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="4" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[3].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[3].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[3].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
+                    <TextBlock Text="Robot Control" VerticalAlignment="Center" HorizontalAlignment="Center">
+                        
+                    </TextBlock>
                 </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="3">
-                    <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[3]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="4">
-                    <TextBlock Text="{Binding SDUseAlarmTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="5" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[4].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[4].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[4].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="3">
-                    <!--<TextBlock Text="{Binding SDUseWarningThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[4]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="5" Grid.Column="4">
-                    <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="6" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[5].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[5].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[5].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="3">
-                    <!--<TextBlock Text="{Binding ConfigItems[5].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[5]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="6" Grid.Column="4">
-                    <TextBlock Text="{Binding SDUseAlarmThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="7" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[6].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[6].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[6].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="3">
-                    <!--<TextBlock Text="{Binding EDUseWarningLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[6]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="7" Grid.Column="4">
-                    <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="8" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[7].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[7].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[7].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="3">
-                    <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[7]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="8" Grid.Column="4">
-                    <TextBlock Text="{Binding EDUseAlarmLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="9" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[8].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[8].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[8].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="3">
-                    <!--<TextBlock Text="{Binding EDUseWarningTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[8]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="9" Grid.Column="4">
-                    <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="10" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[9].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[9].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[9].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="3">
-                    <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[9]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="10" Grid.Column="4">
-                    <TextBlock Text="{Binding EDUseAlarmTimeLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="11" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[10].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[10].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[10].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="3">
-                    <!--<TextBlock Text="{Binding EDUseWarningThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[10]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
-                </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="11" Grid.Column="4">
-                    <TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1"  Grid.Row="12" Grid.Column="0">
-                    <TextBlock Text="{Binding ConfigItems[11].Name}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="1">
-                    <TextBlock Text="{Binding ConfigItems[11].Unit}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="2">
-                    <TextBlock Text="{Binding ConfigItems[11].CurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="5,0"/>
-                </Border>
-                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="3">
-                    <!--<TextBlock Text="" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>-->
-                    <Button Content="Set" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="3">
-                        <i:Interaction.Triggers>
-                            <i:EventTrigger EventName="Click">
-                                <micro:ActionMessage MethodName="SetValue">
-                                    <micro:Parameter Value="{Binding ConfigItems[11]}"/>
-                                </micro:ActionMessage>
-                            </i:EventTrigger>
-                        </i:Interaction.Triggers>
-                    </Button>
+
+                <Border  Padding="5"  BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="4" Grid.Column="2">
+                    <StackPanel Orientation="Horizontal">
+                        <Button Content="Online"  Width="110"></Button>
+                        <Button Content="Offline" Width="110" Margin="20,0,0,0"></Button>
+                    </StackPanel>
                 </Border>
-                <!--<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Grid.Row="12" Grid.Column="4">
-                    <TextBlock Text="{Binding EDUseAlarmThicknessLimit}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                </Border>-->
             </Grid>
 
-            <Grid Grid.Row="1" Visibility="{Binding IsShowAUX}">
+            <Grid  Margin="0,30,0,0" Grid.Row="1" Visibility="{Binding IsShowAUX}">
                 <Grid.RowDefinitions>
                     <RowDefinition/>
                     <RowDefinition Height="80"/>
                 </Grid.RowDefinitions>
-            <DataGrid  Margin="10,10,10,0"  Name="ShowAUX" VerticalAlignment="Top" ItemsSource="{Binding ConfigAUXItems,  UpdateSourceTrigger=PropertyChanged}"  Height="700" CanUserAddRows="False" AutoGenerateColumns="False">
-                <DataGrid.Columns>
-                    <DataGridTemplateColumn Width="40" Header="No">
-                        <DataGridTemplateColumn.CellTemplate>
-                            <DataTemplate>
-                                <Label Height="50"  Content="{Binding Unit}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
-                            </DataTemplate>
-                        </DataGridTemplateColumn.CellTemplate>
-                    </DataGridTemplateColumn>
-                    <DataGridTemplateColumn Width="200" Header="AUX Name">
-                        <DataGridTemplateColumn.CellTemplate>
-                            <DataTemplate>
-                                <TextBlock Width="200" Text="{Binding Description}" HorizontalAlignment="Center" VerticalAlignment="Center" TextBlock.TextAlignment="Center"/>
-                            </DataTemplate>
-                        </DataGridTemplateColumn.CellTemplate>
-                    </DataGridTemplateColumn>
-                    <DataGridTemplateColumn Width="180" Header="Set">
-                        <DataGridTemplateColumn.CellTemplate>
-                            <DataTemplate>
-                                <StackPanel Orientation="Horizontal">
+                <DataGrid  Margin="10,10,10,0"  Name="ShowAUX" VerticalAlignment="Top" ItemsSource="{Binding ConfigAUXItems,  UpdateSourceTrigger=PropertyChanged}"  Height="700" CanUserAddRows="False" AutoGenerateColumns="False">
+                    <DataGrid.Columns>
+                        <DataGridTemplateColumn Width="40" Header="No">
+                            <DataGridTemplateColumn.CellTemplate>
+                                <DataTemplate>
+                                    <Label Height="50"  Content="{Binding Unit}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
+                                </DataTemplate>
+                            </DataGridTemplateColumn.CellTemplate>
+                        </DataGridTemplateColumn>
+                        <DataGridTemplateColumn Width="200" Header="AUX Name">
+                            <DataGridTemplateColumn.CellTemplate>
+                                <DataTemplate>
+                                    <TextBlock Width="200" Text="{Binding Description}" HorizontalAlignment="Center" VerticalAlignment="Center" TextBlock.TextAlignment="Center"/>
+                                </DataTemplate>
+                            </DataGridTemplateColumn.CellTemplate>
+                        </DataGridTemplateColumn>
+                        <DataGridTemplateColumn Width="180" Header="Set">
+                            <DataGridTemplateColumn.CellTemplate>
+                                <DataTemplate>
+                                    <StackPanel Orientation="Horizontal">
                                         <controls:TextBoxEx Height="50" Cursor="Hand" EditBoxMode="SignInteger" TextSaved="{Binding CurrentValueParam.IsSaved, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ChangedColor="Yellow" Text="{Binding CurrentValueParam.Value, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" MinValue="{Binding Min}" MaxValue="{Binding Max}" Tag="Number"  HorizontalContentAlignment="Right" Margin="4"  Width="132" IsEnabled="{Binding IsEnable}">
-                                      
-                                    </controls:TextBoxEx>
-                                </StackPanel>
-                            </DataTemplate>
-                        </DataGridTemplateColumn.CellTemplate>
-                    </DataGridTemplateColumn>
-                </DataGrid.Columns>
-            </DataGrid>
+
+                                        </controls:TextBoxEx>
+                                    </StackPanel>
+                                </DataTemplate>
+                            </DataGridTemplateColumn.CellTemplate>
+                        </DataGridTemplateColumn>
+                    </DataGrid.Columns>
+                </DataGrid>
                 <Grid Grid.Row="1">
                     <Grid.ColumnDefinitions>
                         <ColumnDefinition/>
@@ -676,7 +432,7 @@
                 </Grid>
             </Grid>
 
-            <ListBox  Grid.Row="1" ItemsSource="{Binding NameList}" Margin="10" Visibility="{Binding IsListData}">
+            <ListBox  Grid.Row="1" ItemsSource="{Binding NameList}"  Margin="0,30,0,0" Visibility="{Binding IsListData}">
                 <ListBox.ItemTemplate>
                     <DataTemplate>
                         <StackPanel Orientation="Vertical">
@@ -699,7 +455,7 @@
                         </UniformGrid>
                     </ItemsPanelTemplate>
                 </ListBox.ItemsPanel>
-                </ListBox>
+            </ListBox>
         </Grid>
     </Grid>
 </UserControl>

+ 50 - 2
FrameworkLocal/UIClient/CenterViews/Configs/SystemConfig/SystemConfigViewModel.cs

@@ -26,6 +26,16 @@ namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
 
         private SystemConfigView view1;
 
+        private Visibility _isShowShutDown = Visibility.Hidden;
+        public Visibility IsShowShutDown
+        {
+            get => _isShowShutDown;
+            set
+            {
+                _isShowShutDown = value;
+                NotifyOfPropertyChange(nameof(IsShowShutDown));
+            }
+        }
         private Visibility _isShowTable = Visibility.Hidden;
         public Visibility IsShowTable
         {
@@ -36,7 +46,6 @@ namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
                 NotifyOfPropertyChange(nameof(IsShowTable));
             }
         }
-
         private Visibility _isListData = Visibility.Hidden;
         public Visibility IsListData
         {
@@ -164,12 +173,14 @@ namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
                     IsShowData = Visibility.Hidden;
                     IsListData = Visibility.Hidden;
                     IsShowAUX = Visibility.Hidden;
+                    IsShowShutDown = Visibility.Hidden;
                     break;
                 case "IsShowData":
                     IsShowTable = Visibility.Hidden;
                     IsShowData = Visibility.Visible;
                     IsListData = Visibility.Hidden;
                     IsShowAUX = Visibility.Hidden;
+                    IsShowShutDown = Visibility.Hidden;
                     if (view1 != null)
                     {
                         view1.ShowAUX.ItemsSource = null;
@@ -181,18 +192,27 @@ namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
                     IsShowData = Visibility.Hidden;
                     IsListData = Visibility.Visible;
                     IsShowAUX = Visibility.Hidden;
+                    IsShowShutDown = Visibility.Hidden;
                     break;
                 case "IsShowAUX":
                     IsShowTable = Visibility.Hidden;
                     IsShowData = Visibility.Hidden;
                     IsListData = Visibility.Hidden;
                     IsShowAUX = Visibility.Visible;
+                    IsShowShutDown = Visibility.Hidden;
                     if (view1 != null)
                     {
                         view1.ShowData.ItemsSource = null;
                         view1.ShowAUX.ItemsSource = ConfigItems;
                     }
                     break;
+                case "IsShowShutDown":
+                    IsShowShutDown = Visibility.Visible;
+                    IsShowTable = Visibility.Hidden;
+                    IsShowData = Visibility.Hidden;
+                    IsListData = Visibility.Hidden;
+                    IsShowAUX = Visibility.Hidden;
+                    break;
                 default:
                     break;
             }
@@ -204,7 +224,11 @@ namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
             _CurrentNodeName = string.IsNullOrEmpty(node.Path) ? node.Name : $"{node.Path}.{node.Name}";
             ConfigItems.Clear();
             node.Items.ForEach(x => ConfigItems.Add(x));
-            if (_CurrentNodeName.Contains("WaferCycleTime"))
+            if (_CurrentNodeName.EndsWith("ShutDown"))
+            {
+                SetShowView("IsShowShutDown");
+            }
+            else if (_CurrentNodeName.Contains("WaferCycleTime"))
             {
                 SetShowView("IsShowTable");
             }
@@ -480,6 +504,30 @@ namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
             SetExpand(ConfigNodes, true);
         }
 
+        public void AllControl()
+        {
+            var windowManager = IoC.Get<IWindowManager>();
+            ShutDonwControlViewModel shutDonwControlViewModel = new ShutDonwControlViewModel();
+            shutDonwControlViewModel.AllControlVisibility = true;
+            (windowManager as WindowManager)?.ShowDialogWithTitle(shutDonwControlViewModel, null, "All Control");
+
+        }
+        public void UIControl()
+        {
+            var windowManager = IoC.Get<IWindowManager>();
+            ShutDonwControlViewModel shutDonwControlViewModel = new ShutDonwControlViewModel();
+            shutDonwControlViewModel.UIControlVisibility = true;
+            (windowManager as WindowManager)?.ShowDialogWithTitle(shutDonwControlViewModel, null, "UI Control");
+
+        }
+        public void UIAndRTControl()
+        {
+            var windowManager = IoC.Get<IWindowManager>();
+            ShutDonwControlViewModel shutDonwControlViewModel = new ShutDonwControlViewModel();
+            shutDonwControlViewModel.UIAndRTControlVisibility = true;
+            (windowManager as WindowManager)?.ShowDialogWithTitle(shutDonwControlViewModel, null, "UI And RT Control");
+
+        }
         public void ClearFilter()
         {
             CurrentCriteria = "";

+ 9 - 0
FrameworkLocal/UIClient/UIClient.csproj

@@ -75,6 +75,7 @@
     <Reference Include="System.ComponentModel.DataAnnotations" />
     <Reference Include="System.Core" />
     <Reference Include="System.Drawing" />
+    <Reference Include="System.Management" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.Windows" />
     <Reference Include="System.Windows.Forms" />
@@ -205,6 +206,10 @@
       <DependentUpon>DataConfigView.xaml</DependentUpon>
     </Compile>
     <Compile Include="CenterViews\Configs\DataConfig\DataConfigViewModel.cs" />
+    <Compile Include="CenterViews\Configs\SystemConfig\ShutDonwControlView.xaml.cs">
+      <DependentUpon>ShutDonwControlView.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="CenterViews\Configs\SystemConfig\ShutDonwControlViewModel.cs" />
     <Compile Include="CenterViews\Controls\BoatWaferItem.cs" />
     <Compile Include="CenterViews\Controls\PaginationList.xaml.cs">
       <DependentUpon>PaginationList.xaml</DependentUpon>
@@ -1026,6 +1031,10 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
+    <Page Include="CenterViews\Configs\SystemConfig\ShutDonwControlView.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="CenterViews\Controls\PaginationList.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>

+ 7 - 0
Furnace/FurnaceRT/Config/Bats/restartUI.bat

@@ -0,0 +1,7 @@
+@echo off
+taskkill  /f /IM FurnaceUI.exe
+taskkill  /f /IM FurnaceGasPanelUI.exe
+
+start .\..\FurnaceUI\FurnaceUI.exe
+
+start .\..\FurnaceGasPanelUI\FurnaceGasPanelUI.exe

+ 3 - 0
Furnace/FurnaceRT/Config/Bats/shutDownUI.bat

@@ -0,0 +1,3 @@
+@echo off
+taskkill  /f /IM FurnaceUI.exe
+taskkill  /f /IM FurnaceGasPanelUI.exe

+ 23 - 0
Furnace/FurnaceRT/Config/Bats/startFurnace.bat

@@ -0,0 +1,23 @@
+@echo off
+
+setlocal enabledelayedexpansion
+
+:: 检查是否有Furnace*程序在运行
+tasklist /fi "imagename eq Furnace*" 2>nul | find /i "Furnace*" >nul
+if %errorlevel%==0 (
+    echo 找到Furnace*程序,正在终止...
+    taskkill /f /im Furnace*
+) 
+
+start .\..\FurnaceRT\FurnaceRT.exe
+
+REM 检测RT是否在端口8752监听
+:check_port
+timeout /t 1 >nul
+netstat -an | find "LISTENING" | find ":8752" >nul
+if %errorlevel% neq 0 goto :check_port
+
+start .\..\FurnaceUI\FurnaceUI.exe
+
+start  .\..\FurnaceGasPanelUI\FurnaceGasPanelUI.exe
+

+ 1 - 0
Furnace/FurnaceRT/Config/Bats/stopFurnace.bat

@@ -0,0 +1 @@
+taskkill /f /im Furnace*

+ 10 - 0
Furnace/FurnaceRT/Config/Bats/创建快捷方式.bat

@@ -0,0 +1,10 @@
+@echo off
+if "%1"=="h" goto begin
+start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
+:begin
+::以下为创建桌面快捷方式命令
+mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\Start.lnk""):b.TargetPath=""%~dp0startFurnace.bat"":b.IconLocation=""%~dp0..\FurnaceUI\FurnaceUI.exe"" :b.WorkingDirectory=""%~dp0"":b.Save:close")
+mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\Stop.lnk""):b.TargetPath=""%~dp0stopFurnace.bat"":b.IconLocation=""%~dp0..\FurnaceUI\FurnaceUI.exe"" :b.WorkingDirectory=""%~dp0"":b.Save:close")
+::以下一行为提示语句,如果不需要可以删除
+mshta vbscript:msgbox("恭喜,已成功在桌面创建快捷方式,请尽情使用!!!",0,"提示")
+pause

+ 29 - 1
Furnace/FurnaceRT/FurnaceRT.csproj

@@ -280,6 +280,21 @@
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
+    <None Include="Config\Bats\restartUI.bat">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="Config\Bats\shutDownUI.bat">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="Config\Bats\startFurnace.bat">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="Config\Bats\stopFurnace.bat">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="Config\Bats\创建快捷方式.bat">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Include="Config\ELK\System.sccfg" />
     <None Include="Config\NTP\System.sccfg" />
     <None Include="Config\SiBCN\System.sccfg" />
@@ -581,6 +596,15 @@ md "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\"
 echo 复制文件到安装目录,"$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\" 
 xcopy /e "$(TargetDir)*.*" "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\" /q
 
+
+
+
+if exist "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceBat" rd "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceBat"  /s /q
+md "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceBat\" 
+
+echo 复制文件到安装目录,"$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Config\Bats" 
+xcopy /e "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Config\Bats\*.*" "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceBat\" /q
+
 REM 配置文件Copy
 del "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\*.pdb"
 
@@ -588,6 +612,10 @@ if exist "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Objects" del "$(Projec
 
 if exist "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Logs" rd "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Logs"  /s /q
 if exist "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Recipes" rd "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Recipes"  /s /q
-if exist "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Parameters\Parameter" rd "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Parameters\Parameter"  /s /q</PostBuildEvent>
+if exist "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Parameters\Parameter" rd "$(ProjectDir)..\FurnaceSetup\Packages\FurnaceRT\Parameters\Parameter"  /s /q
+
+
+
+</PostBuildEvent>
   </PropertyGroup>
 </Project>

+ 1 - 1
Furnace/FurnaceSetup/Furnace_Setup/Furnace_Setup.csproj

@@ -95,7 +95,7 @@
 del "FurnaceSetupPackages.exe"
 del "Furnace_Setup*.exe"
 
-"$(ProjectDir)WinRAR.exe" a -z"$(ProjectDir)Format1.txt" -sfx   -iicon"$(ProjectDir)setup.ico"  -s "$(ProjectDir)..\Packages\FurnaceSetupPackages" "FurnaceRT" "FurnaceUI" "FurnaceGasPanelUI"
+"$(ProjectDir)WinRAR.exe" a -z"$(ProjectDir)Format1.txt" -sfx   -iicon"$(ProjectDir)setup.ico"  -s "$(ProjectDir)..\Packages\FurnaceSetupPackages" "FurnaceRT" "FurnaceUI" "FurnaceGasPanelUI" "FurnaceBat"
 
 </PreBuildEvent>
   </PropertyGroup>

+ 0 - 8
Furnace/FurnaceUI/FurnaceUI.csproj

@@ -2157,14 +2157,6 @@
       <Project>{1333f7c8-3db2-4783-8a37-3840f1be0cb0}</Project>
       <Name>UICore</Name>
     </ProjectReference>
-    <ProjectReference Include="..\FurnaceGasPanelUI\FurnaceGasPanelUI.csproj">
-      <Project>{72B10AB5-2B01-438F-9AE3-57163ECFB818}</Project>
-      <Name>FurnaceGasPanelUI</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\FurnaceRT\FurnaceRT.csproj">
-      <Project>{5EAFA05F-C2C0-40B3-9C8F-46D8559148D0}</Project>
-      <Name>FurnaceRT</Name>
-    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Resource Include="Resources\Images\Temp\PressureStabilize.png" />

+ 7 - 7
Furnace/FurnaceUI/MainViewModel.cs

@@ -651,13 +651,13 @@ namespace FurnaceUI.Client
             }
             //Reset();
 
-            var exeFilePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
-            var tempPath = exeFilePath.Substring(0, exeFilePath.LastIndexOf("\\"));
-            exeFilePath = tempPath.Substring(0, tempPath.LastIndexOf("\\")) + "\\FurnaceGasPanelUI\\" + "FurnaceGasPanelUI.exe";
-            if (File.Exists(exeFilePath))
-            {
-                System.Diagnostics.Process.Start(exeFilePath);
-            }
+            //var exeFilePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
+            //var tempPath = exeFilePath.Substring(0, exeFilePath.LastIndexOf("\\"));
+            //exeFilePath = tempPath.Substring(0, tempPath.LastIndexOf("\\")) + "\\FurnaceGasPanelUI\\" + "FurnaceGasPanelUI.exe";
+            //if (File.Exists(exeFilePath))
+            //{
+            //    System.Diagnostics.Process.Start(exeFilePath);
+            //}
         }
 
         //设置LockAndUnLock

+ 0 - 1
Furnace/FurnaceUI/Views/Operations/Maintenances/ManualSetViewModel.cs

@@ -4,7 +4,6 @@ using Aitex.Core.RT.Log;
 using Aitex.Core.Util;
 using Caliburn.Micro;
 using Caliburn.Micro.Core;
-using FurnaceGasPanelUI.Views.Maintenances;
 using FurnaceUI.Client;
 using FurnaceUI.Common;
 using FurnaceUI.Models;