Browse Source

完善UI 拖片 LP的job显示效果、传参 修改Robot槽位显示效果 TM数据绑定 return wafer等

zhouhr 1 year ago
parent
commit
f56f80e34a

+ 8 - 0
Venus/Venus_MainPages/Venus_MainPages.csproj

@@ -191,6 +191,7 @@
     <Compile Include="ViewModels\TMViewModel.cs" />
     <Compile Include="ViewModels\TopViewModel.cs" />
     <Compile Include="ViewModels\VATPerformanceViewModel.cs" />
+    <Compile Include="ViewModels\WaferDialogViewModel.cs" />
     <Compile Include="ViewModels\WaferHistoryDBViewModel.cs" />
     <Compile Include="Views\ButterflyValveView.xaml.cs">
       <DependentUpon>ButterflyValveView.xaml</DependentUpon>
@@ -282,6 +283,9 @@
     <Compile Include="Views\WaferAssociationUnit.xaml.cs">
       <DependentUpon>WaferAssociationUnit.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Views\WaferDialog.xaml.cs">
+      <DependentUpon>WaferDialog.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Views\WaferHistoryDBView.xaml.cs">
       <DependentUpon>WaferHistoryDBView.xaml</DependentUpon>
     </Compile>
@@ -429,6 +433,10 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
+    <Page Include="Views\WaferDialog.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Views\WaferHistoryDBView.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>

+ 53 - 4
Venus/Venus_MainPages/ViewModels/OperationOverViewModel.cs

@@ -23,8 +23,12 @@ namespace Venus_MainPages.ViewModels
         private bool m_TabIsChecked=true;
         private ModuleInfo m_LP1ModuleInfo;
         private ModuleInfo m_LP2ModuleInfo;
+        private ModuleInfo m_LLAModuleInfo;
+        private ModuleInfo m_LLBModuleInfo;
 
         private ModuleInfo m_LP3ModuleInfo;
+        private ModuleInfo m_EFEMModuleInfo;
+        private ModuleInfo m_TMModuleInfo;
         private WaferRobotTAction m_Robot1TAction;
         private WaferRobotXAction m_Robot1XAction;
         private WaferRobotTAction m_Robot2TAction;
@@ -76,6 +80,28 @@ namespace Venus_MainPages.ViewModels
             get { return m_LP1ModuleInfo; }
             set { SetProperty(ref m_LP1ModuleInfo, value); }
         }
+
+        public ModuleInfo LLAModuleInfo
+        {
+            get { return m_LLAModuleInfo; }
+            set { SetProperty(ref m_LLAModuleInfo, value); }
+        }
+        public ModuleInfo LLBModuleInfo
+        {
+            get { return m_LLBModuleInfo; }
+            set { SetProperty(ref m_LLBModuleInfo, value); }
+        }
+
+        public ModuleInfo EFEMModuleInfo
+        {
+            get { return m_EFEMModuleInfo; }
+            set { SetProperty(ref m_EFEMModuleInfo, value); }
+        }
+        public ModuleInfo TMModuleInfo
+        {
+            get { return m_TMModuleInfo; }
+            set { SetProperty(ref m_TMModuleInfo, value); }
+        }
         public ModuleInfo LP2ModuleInfo
         {
             get { return m_LP2ModuleInfo; }
@@ -246,6 +272,7 @@ namespace Venus_MainPages.ViewModels
             get { return _lp3WaferAssociation; }
             set { SetProperty(ref _lp3WaferAssociation, value); }
         }
+        
         #endregion
 
         #region 命令
@@ -333,6 +360,7 @@ namespace Venus_MainPages.ViewModels
             LLAIsInstalled = allModules.Contains("LLA");
             LLBIsInstalled = allModules.Contains("LLB");
             EFEMIsInstalled = allModules.Contains("EFEM");
+            TMIsInstalled = allModules.Contains("TM");
             UIEvents.PMDoorRaiseChangedEvent += UIEvents_PMDoorRaiseChangedEvent;
 
             UIEvents.LLTDoorRaiseChangedEvent += UIEvents_LLTDoorRaiseChangedEvent;
@@ -377,7 +405,9 @@ namespace Venus_MainPages.ViewModels
         }
         private void OnStart(object obj)
         {
-            InvokeClient.Instance.Service.DoOperation("System.StartJob", obj.ToString());
+            var info = obj as WaferAssociationInfo;
+            
+            InvokeClient.Instance.Service.DoOperation("System.StartJob", info.LotId);
         }
         private void OnStop(object obj)
         {
@@ -404,7 +434,8 @@ namespace Venus_MainPages.ViewModels
         }
         private void OnReturnAllWafer()
         {
-            InvokeClient.Instance.Service.DoOperation("System.Abort");
+
+            InvokeClient.Instance.Service.DoOperation("ReturnWafer");
         }
         private void OnSetSequence()
         {
@@ -420,6 +451,8 @@ namespace Venus_MainPages.ViewModels
             if (string.IsNullOrEmpty(jobId))
                 jobId = "CJ_Local_" + info.ModuleData.ModuleID;
             info.LotId = jobId;
+            info.JobID = jobId;
+            info.JobStatus = "WaitingForStart";
             info.LotIdSaved = true;
 
             Dictionary<string, object> param = new Dictionary<string, object>()
@@ -430,7 +463,6 @@ namespace Venus_MainPages.ViewModels
                 {"AutoStart", true},
             };
             InvokeClient.Instance.Service.DoOperation("System.CreateJob", param);
-
         }
         private void OnEnableAuto()
         {
@@ -449,14 +481,17 @@ namespace Venus_MainPages.ViewModels
             LP1ModuleInfo = ModuleManager.ModuleInfos["LP1"];
             LP2ModuleInfo = ModuleManager.ModuleInfos["LP2"];
             LP3ModuleInfo = ModuleManager.ModuleInfos["LP3"];
-
+            EFEMModuleInfo = ModuleManager.ModuleInfos["EfemRobot"];
+            TMModuleInfo = ModuleManager.ModuleInfos["TMRobot"];
 
             if (LLAIsInstalled == true)
             {
+                LLAModuleInfo = ModuleManager.ModuleInfos["LLA"];
                 LLAWafer = ModuleManager.ModuleInfos["LLA"].WaferManager.Wafers.FirstOrDefault(x => x.WaferStatus != 0);           
             }
             if (LLBIsInstalled == true)
             {
+                LLBModuleInfo = ModuleManager.ModuleInfos["LLB"];
                 LLBWafer = ModuleManager.ModuleInfos["LLB"].WaferManager.Wafers.FirstOrDefault(x => x.WaferStatus != 0);
             }
             if (PMAIsInstalled == true)
@@ -618,6 +653,7 @@ namespace Venus_MainPages.ViewModels
         private void AssociateSequence(WaferAssociationInfo info, bool flag, int slot = -1)
         {
             List<WaferInfo> wafers = info.ModuleData.WaferManager.Wafers;
+              
             if (slot >= 0) //by wafer
             {
                 int index = wafers.Count - slot - 1;
@@ -643,6 +679,19 @@ namespace Venus_MainPages.ViewModels
                     }
                 }
             }
+
+            switch (info.ModuleData.ModuleID)
+            {
+                case "LP1":
+                    LP1WaferAssociation = info;
+                    break;
+                case "LP2":
+                    LP2WaferAssociation = info;
+                    break;
+                case "LP3":
+                    LP3WaferAssociation = info;
+                    break;
+            }
         }
         private bool HasWaferOnSlot(List<WaferInfo> wafers, int index)
         {

+ 21 - 0
Venus/Venus_MainPages/ViewModels/WaferDialogViewModel.cs

@@ -0,0 +1,21 @@
+using Prism.Mvvm;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Venus_MainPages.ViewModels
+{
+    internal class WaferDialogViewModel : BindableBase
+    {
+        private string m_title;
+
+        public string Title { get { return m_title; } set { SetProperty(ref m_title,value); } }
+
+        WaferDialogViewModel()
+        {
+            Title = "你好";
+        }
+    }
+}

+ 14 - 10
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -37,8 +37,8 @@
 
 
 
-                    <userControls:LoadLockLeft  Width="150" Height="150" Canvas.Top="310" Canvas.Left="358"  DoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLAWafer}"/>
-                    <userControls:LoadLockRight Width="150" Height="150" Canvas.Top="309" Canvas.Left="519"  DoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLBWafer}"/>
+                    <userControls:LoadLockLeft  Width="150" Height="150" Canvas.Top="310" Canvas.Left="358"  DoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLAWafer}" IsEnabled="False"/>
+                    <userControls:LoadLockRight Width="150" Height="150" Canvas.Top="309" Canvas.Left="519"  DoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLBWafer}" IsEnabled="False"/>
 
 
                     <userControls:TMChamber ModuleName="PMA" x:Name="PMA" Canvas.Top="302"  Canvas.Left="233" Width="140" Height="140" RotateTransformValue="-90"  DoorIsOpen="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMAWafer}" PMVisibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMAIsInstalled}"/>
@@ -55,7 +55,7 @@
 
             <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="310" Canvas.Top="453"   Width="160" Height="240"    RobotTAction="{Binding Robot3TAction}" RobotXAction="{Binding Robot3XAction}"  RobotWafer="{Binding EFEMBladeAWafer}"/>
             <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="310" Canvas.Top="453"   Width="160" Height="240"    RobotTAction="{Binding Robot4TAction}" RobotXAction="{Binding Robot4XAction}"  RobotWafer="{Binding EFEMBladeBWafer}"/>
-            
+
             <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="310" Canvas.Top="160"   Width="160" Height="240"     RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}"  RobotWafer="{Binding TMBladeAWafer}"/>
             <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="310" Canvas.Top="160"   Width="160" Height="240"     RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding TMBladeBWafer}"/>
         </Canvas>
@@ -259,10 +259,14 @@
                 </TextBlock.Text>
             </TextBlock>
         </Grid>
+        <TextBlock Canvas.Top="465" Canvas.Left="200" Text="LLA" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>
+        <TextBlock Canvas.Top="465" Canvas.Left="880" Text="LLB" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>
+        <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="150" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True"/>
+        <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="830" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True"/>
+        
+        <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot"  Canvas.Top="600" Canvas.Left="140" />
 
-        <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot"  Canvas.Top="460" Canvas.Left="140"/>
-
-        <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot"      Canvas.Top="460" Canvas.Left="820"/>
+        <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot"      Canvas.Top="600" Canvas.Left="820"/>
 
 
 
@@ -448,12 +452,12 @@
 
                         </Button>
                     </Grid>
-                    <Grid Margin="0,8,0,0" Visibility="Collapsed">
+                    <Grid Margin="0,8,0,0">
                         <Grid.ColumnDefinitions>
                             <ColumnDefinition Width="0"/>
                             <ColumnDefinition />
                         </Grid.ColumnDefinitions>
-                        <Button  Grid.Column="1" Content="晶圆返回" Width="120" Height="25" Command="{Binding ReturnAllWaferCommand}">
+                        <Button  Grid.Column="1" Content="Return  Wafer" Width="120" Height="25" Command="{Binding ReturnAllWaferCommand}">
 
                         </Button>
                     </Grid>
@@ -466,11 +470,11 @@
             <Border Grid.Row="5" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1">
                 <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5">
 
-                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin ="5" Content="Auto"  Width="80" Height="25" Command="{Binding EnableAutoCommand}">
+                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin ="5" Content="Auto"  Width="80" Height="25" Command="{Binding EnableAutoCommand}">
 
                     </Button>
 
-                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin ="5" Content="Manusl" Width="80" Height="25" Command="{Binding EnableManualCommand}">
+                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin ="5" Content="Manual" Width="80" Height="25" Command="{Binding EnableManualCommand}">
 
                     </Button>
 

+ 3 - 0
Venus/Venus_MainPages/Views/OperationOverView.xaml.cs

@@ -25,6 +25,9 @@ namespace Venus_MainPages.Views
         {
             InitializeComponent();
         }
+
+
+
         //public WaferAssociationInfo WAInfo
         //{
         //    get { return (WaferAssociationInfo)GetValue(WAInfoProperty); }

+ 20 - 16
Venus/Venus_MainPages/Views/WaferAssociationUnit.xaml

@@ -28,11 +28,13 @@
                     <RowDefinition Height="Auto"></RowDefinition>
                 </Grid.RowDefinitions>
 
-                <TextBlock Grid.Row="0" Text="Lot ID" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="200"></TextBlock>
-
+                <StackPanel Grid.Row="0" Orientation="Horizontal">
+                    <TextBlock Text="Lot ID:" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="75"></TextBlock>
+                    <TextBox Text="{Binding WAInfo.LotId, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="200" IsEnabled="False"></TextBox>
+                </StackPanel>
                 <StackPanel Grid.Row="1" Orientation="Horizontal">
                     
-                    <TextBlock Text="Sequence:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
+                    <TextBlock Text="Sequence:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="75"></TextBlock>
 
                     <ComboBox Width="240" x:Name="cb"  DropDownOpened="cb_DropDownOpened"  SelectionChanged="cb_SelectionChanged"/>
 
@@ -43,20 +45,22 @@
                     <Button Content="Select All"    Height="25"    Command="{Binding SelectAllCommand}"   CommandParameter="{Binding ElementName=WaferUnit,Path=WAInfo}" Width="125"/>
                     <Button Content="DeSelect All"  Height="25"    Command="{Binding UnSelectAllCommand}" CommandParameter="{Binding ElementName=WaferUnit,Path=WAInfo}" Width="125" />
                 </StackPanel>
-                <StackPanel Grid.Row="3" Orientation="Horizontal" >
-                    
-                        <TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
+                <Grid Grid.Row="3">
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition Width="1*"/>
+                        <ColumnDefinition Width="2*"/>
+                        <ColumnDefinition Width="1*"/>
+                        <ColumnDefinition Width="2*"/>
+                    </Grid.ColumnDefinitions>
+                    <TextBlock Grid.Column="0" Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
 
-                  
-                        <TextBlock x:Name="txtJobID" Foreground="{DynamicResource FG_Black}"  Text="{Binding WAInfo.JobID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" VerticalAlignment="Center" FontSize="12" FontFamily="Arial"  Width="Auto" Height="20"></TextBlock>
-                   
-                 
-                        <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
-              
-                  
-                        <TextBlock   VerticalAlignment="Center" Foreground="{DynamicResource FG_Black}" Text="{Binding WAInfo.JobStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"  FontSize="12" FontFamily="Arial"  Width="Auto" Height="20"></TextBlock>
+                    <TextBox Grid.Column="1" IsEnabled="False" Text="{Binding WAInfo.JobID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextAlignment="Center" VerticalContentAlignment="Center"/>
+
+                    <TextBox Grid.Column="3" IsEnabled="False" Text="{Binding WAInfo.JobStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextAlignment="Center" VerticalContentAlignment="Center"/>
+
+                    <TextBlock Text="Status" Grid.Column="2" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
                    
-                </StackPanel>
+                </Grid>
                 <StackPanel Grid.Row="4" Orientation="Horizontal"  HorizontalAlignment="Center" VerticalAlignment="Center">
                     <Button Content="Create Job" Width="120" Height="25" Command="{Binding CreateJobCommand}" CommandParameter="{Binding ElementName=WaferUnit,Path=WAInfo}">
                         <!--<i:Interaction.Triggers>
@@ -78,7 +82,7 @@
                     </Button>
                 </StackPanel>
                 <StackPanel Grid.Row="5" Orientation="Horizontal"  VerticalAlignment="Center" HorizontalAlignment="Center">
-                    <Button Content="Start" Width="100" Height="25" Command="{Binding StartCommand}" CommandParameter="{Binding ElementName=txtJobID,Path=Text}">
+                    <Button Content="Start" Width="100" Height="25" Command="{Binding StartCommand}"  CommandParameter="{Binding ElementName=WaferUnit,Path=WAInfo}">
                         <!--<i:Interaction.Triggers>
                                     <i:EventTrigger EventName="Click">
                                         <cal:ActionMessage MethodName="Start">

+ 43 - 0
Venus/Venus_MainPages/Views/WaferDialog.xaml

@@ -0,0 +1,43 @@
+<UserControl x:Class="Venus_MainPages.Views.WaferDialog"
+             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:prism="http://prismlibrary.com/"
+             prism:ViewModelLocator.AutoWireViewModel="True"
+             xmlns:local="clr-namespace:Venus_MainPages.Views"
+             mc:Ignorable="d" 
+             d:DesignHeight="300" d:DesignWidth="450">
+    <Border BorderBrush="#006bb1" BorderThickness="5">
+        <Grid Background="#dcf3f5">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="1*"></RowDefinition>
+                <RowDefinition Height="1*"></RowDefinition>
+                <RowDefinition Height=".5*"></RowDefinition>
+                <RowDefinition Height=".5*"></RowDefinition>
+                <RowDefinition Height="1*"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="1*"/>
+                <ColumnDefinition Width="1*"/>
+                <ColumnDefinition Width="1*"/>
+            </Grid.ColumnDefinitions>
+            <TextBlock Grid.ColumnSpan="3" Text="{Binding Title}"></TextBlock>
+            <StackPanel Grid.Row="2" Grid.ColumnSpan="3" Orientation="Horizontal" VerticalAlignment="Center">
+                <CheckBox Content="Need Cooling" Width="120"></CheckBox>
+                <TextBlock Text="Cooling Time"  Width="80"/>
+                <TextBox Width="50"></TextBox>
+                <TextBlock Text="s"  Margin="5,0"/>
+            </StackPanel>
+            <StackPanel Grid.Row="3" Grid.ColumnSpan="3" Orientation="Horizontal" VerticalAlignment="Center">
+                <CheckBox Content="Need Align"   Width="120"></CheckBox>
+                <TextBlock Text="Align Angel"  Width="80"/>
+                <TextBox Width="50"></TextBox>
+                <TextBlock Text="D"  Margin="5,0"/>
+            </StackPanel>
+
+            <Button Grid.Row="4" Grid.Column="1" Content="Return" Margin="18"></Button>
+            <Button Grid.Row="4" Grid.Column="2" Content="cancel" Margin="18"></Button>
+        </Grid>
+    </Border>
+</UserControl>

+ 29 - 0
Venus/Venus_MainPages/Views/WaferDialog.xaml.cs

@@ -0,0 +1,29 @@
+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 Venus_MainPages.Views
+{
+    /// <summary>
+    /// WaferDialog.xaml 的交互逻辑
+    /// </summary>
+    public partial class WaferDialog : UserControl
+    {
+        public WaferDialog()
+        {
+            InitializeComponent();
+        }
+
+    }
+}

+ 2 - 2
Venus/Venus_Themes/Themes/Generic.xaml

@@ -25,7 +25,7 @@
     </LinearGradientBrush>
 
     <Style TargetType="{x:Type customControls:WaferRobotControl}" >
-        <Setter Property="Cursor" Value="Hand" />
+        <!--<Setter Property="Cursor" Value="Hand" />-->
         <Setter Property="Width" Value="200"/>
         <Setter Property="Height" Value="250"/>
         <Setter Property="Template">
@@ -379,7 +379,7 @@
                                             <Ellipse Width="12" Height="12" Stroke="#030303" StrokeThickness="2"  Fill="Transparent" 
                                              Canvas.Top="14" Canvas.Left="44"/>
                                         <Viewbox Canvas.Left="-64" Canvas.Top="-21" Width="85" Height="85">
-                                            <userControls:WaferCtrl WaferData="{Binding RobotWafer,RelativeSource={RelativeSource TemplatedParent}}"/>
+                                            <userControls:WaferCtrl WaferData="{Binding RobotWafer,RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="False"/>
                                         </Viewbox>
 
                                         </Canvas>

+ 7 - 7
Venus/Venus_Themes/UserControls/EFEMFrontView.xaml

@@ -26,8 +26,8 @@
                 </Style>
             </TextBlock.Style>
         </TextBlock>
-        <Border Grid.Row="1" BorderThickness="1" BorderBrush="{DynamicResource FOUP_OuterBD}" Background="{DynamicResource FOUP_OuterBG}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="170" Margin="0,5"  CornerRadius="4">
-            <Grid Height="82">
+        <Border Grid.Row="1" BorderThickness="1" BorderBrush="{DynamicResource FOUP_OuterBD}" Background="{DynamicResource FOUP_OuterBG}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="150" Margin="0,5"  CornerRadius="4">
+            <Grid Height="60">
                 <Rectangle Fill="{DynamicResource FOUP_InnerBG}" Margin="5" RadiusX="2" RadiusY="2"/>
                 <Rectangle Fill="{DynamicResource FOUP_OuterBG}" Margin="5,38,5,66" RadiusX="0" RadiusY="1"/>
                 <Rectangle Fill="{DynamicResource FOUP_InnerGrow}" Margin="8,8,8,76" RadiusX="2" RadiusY="2">
@@ -35,15 +35,15 @@
                         <BlurEffect Radius="15"/>
                     </Rectangle.Effect>
                 </Rectangle>
-                <Rectangle Fill="{DynamicResource FOUP_InnerGrow}" Margin="8,46,8,8" RadiusX="2" RadiusY="2">
+                <Rectangle Fill="{DynamicResource FOUP_InnerGrow}" Margin="8,38,8,8" RadiusX="2" RadiusY="2">
                     <Rectangle.Effect>
                         <BlurEffect Radius="15"/>
                     </Rectangle.Effect>
                 </Rectangle>
-                <Grid Margin="0,10">
+                <Grid Margin="0,5">
                     <Grid.RowDefinitions>
                         <RowDefinition Height="30"/>
-                        <RowDefinition Height="30"/>
+                        <RowDefinition Height="15"/>
                     </Grid.RowDefinitions>
                     <Grid.ColumnDefinitions>
                         <ColumnDefinition Width="42"/>
@@ -60,8 +60,8 @@
                             </Rectangle.Effect>
                         </Rectangle>
                     </StackPanel>
-                    <TextBlock Grid.Row="1" Text="Lower" FontFamily="Arial" FontSize="12" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,10,0,7"/>
-                    <StackPanel Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="0,0,5,0">
+                    <TextBlock Grid.Row="1" Text="Lower" FontFamily="Arial" FontSize="12" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,0,7"/>
+                    <StackPanel Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="0,-5,5,0">
                         <ctrl:Slot ViewType="Front" AllowDrop="True" Cursor="Hand" x:Name="EFEMLower" DataContext="{Binding UnitData.WaferManager.Wafers[0],RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}" SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Top" WaferTransferStarted="Slot_WaferTransferStarted">
        
                         </ctrl:Slot>

+ 8 - 1
Venus/Venus_Themes/UserControls/EFEMFrontView.xaml.cs

@@ -83,7 +83,14 @@ namespace Venus_Themes.UserControls
         }
         private void Slot_WaferTransferStarted(object sender, DragDropEventArgs e)
         {
-
+            try
+            {
+                VenusGlobalEvents.OnSlotWaferTransfer(e);
+            }
+            catch (Exception ex)
+            {
+                Trace.WriteLine(ex);
+            }
         }
     }
 }

+ 1 - 1
Venus/Venus_Themes/UserControls/FOUPFrontView.xaml

@@ -14,7 +14,7 @@
     </UserControl.Resources>
     <Grid>
         <StackPanel>
-            <TextBlock Text="{Binding UnitData.ModuleID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontFamily="Arial" Width="90" Height="16" TextAlignment="Center" FontSize="14" 
+            <TextBlock Text="{Binding UnitData.ModuleData.ModuleID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontFamily="Arial" Width="90" Height="16" TextAlignment="Center" FontSize="14" 
                        TextWrapping="Wrap" FontWeight="{Binding UnitData.UnitFontWeight, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" 
                        Foreground="{Binding UnitData.UnitNameForeground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding ShowTitle, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}},Converter={StaticResource bool2VisibilityConverter}}">
             </TextBlock>

+ 2 - 0
Venus/Venus_UI/Views/ShellView.xaml.cs

@@ -62,6 +62,8 @@ namespace Venus_UI.Views
         {
             InvokeClient.Instance.Service.DoOperation("System.MoveWafer",
                 e.TranferFrom.ModuleID,e.TranferFrom.SlotID, e.TranferTo.ModuleID, e.TranferTo.SlotID,false,1,false,1,"");
+            e.TranferFrom.ClearDragDropStatus();
+            e.TranferTo.ClearDragDropStatus();
         }
 
         private void CustomWnd_Loaded(object sender, RoutedEventArgs e)