WaferAssociationUnit.xaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <UserControl x:Class="VirgoUI.Client.Models.Operate.WaferAssociation.WaferAssociationUnit"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:sys="clr-namespace:System;assembly=mscorlib"
  7. xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
  8. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  9. xmlns:cal="http://www.caliburn.org">
  10. <Grid VerticalAlignment="Top">
  11. <Grid.RowDefinitions>
  12. <RowDefinition Height="Auto"></RowDefinition>
  13. <RowDefinition></RowDefinition>
  14. </Grid.RowDefinitions>
  15. <Grid>
  16. <Grid.RowDefinitions>
  17. <RowDefinition Height="24"></RowDefinition>
  18. <RowDefinition Height="24"></RowDefinition>
  19. <RowDefinition Height="30"></RowDefinition>
  20. <RowDefinition Height="20"></RowDefinition>
  21. <RowDefinition Height="Auto"></RowDefinition>
  22. <RowDefinition Height="Auto"></RowDefinition>
  23. </Grid.RowDefinitions>
  24. <StackPanel Grid.Row="0" Orientation="Horizontal">
  25. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">
  26. <TextBlock Text="Lot ID" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  27. </Border>
  28. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="210" Padding="5,1">
  29. <StackPanel Orientation="Horizontal">
  30. <ctrl:TextBoxEx Text="{Binding WAInfo.LotId, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextSaved="{Binding WAInfo.LotIdSaved, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Mode=TwoWay}" Width="138" ></ctrl:TextBoxEx>
  31. </StackPanel>
  32. </Border>
  33. </StackPanel>
  34. <StackPanel Grid.Row="1" Orientation="Horizontal">
  35. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">
  36. <TextBlock Text="Sequence" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  37. </Border>
  38. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="210" Padding="5,1">
  39. <StackPanel Orientation="Horizontal">
  40. <TextBox Text="{Binding WAInfo.SequenceName, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" IsReadOnly="True" Width="140" ></TextBox>
  41. <Button Content="选择" Width="50" Margin="5,0,0,0">
  42. <i:Interaction.Triggers>
  43. <i:EventTrigger EventName="Click">
  44. <cal:ActionMessage MethodName="SelectSequence">
  45. <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>
  46. </cal:ActionMessage>
  47. </i:EventTrigger>
  48. </i:Interaction.Triggers>
  49. </Button>
  50. </StackPanel>
  51. </Border>
  52. </StackPanel>
  53. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,0" HorizontalAlignment="Left" VerticalAlignment="Center">
  54. <Button Content="全选" Width="70" Height="25" Margin="5,0,0,0">
  55. <i:Interaction.Triggers>
  56. <i:EventTrigger EventName="Click">
  57. <cal:ActionMessage MethodName="SetAll">
  58. <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>
  59. </cal:ActionMessage>
  60. </i:EventTrigger>
  61. </i:Interaction.Triggers>
  62. </Button>
  63. <Button Content="全不选" Width="70" Height="25" Margin="5,0,0,0">
  64. <i:Interaction.Triggers>
  65. <i:EventTrigger EventName="Click">
  66. <cal:ActionMessage MethodName="DeselectAll">
  67. <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>
  68. </cal:ActionMessage>
  69. </i:EventTrigger>
  70. </i:Interaction.Triggers>
  71. </Button>
  72. </StackPanel>
  73. <StackPanel Grid.Row="3" Orientation="Horizontal">
  74. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="45" Padding="5,1">
  75. <TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  76. </Border>
  77. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="90" Padding="5,1">
  78. <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>
  79. </Border>
  80. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="50" Padding="5,1">
  81. <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  82. </Border>
  83. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="110" Padding="5,1">
  84. <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>
  85. </Border>
  86. </StackPanel>
  87. <StackPanel Grid.Row="4" Orientation="Horizontal" Margin="0,0" HorizontalAlignment="Left" VerticalAlignment="Center">
  88. <Button Content="创建作业" Width="145" Height="25" >
  89. <i:Interaction.Triggers>
  90. <i:EventTrigger EventName="Click">
  91. <cal:ActionMessage MethodName="CreateJob">
  92. <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>
  93. </cal:ActionMessage>
  94. </i:EventTrigger>
  95. </i:Interaction.Triggers>
  96. </Button>
  97. <Button Content="终止作业" Margin="5,0,0,0" Width="145" Height="25">
  98. <i:Interaction.Triggers>
  99. <i:EventTrigger EventName="Click">
  100. <cal:ActionMessage MethodName="AbortJob">
  101. <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>
  102. </cal:ActionMessage>
  103. </i:EventTrigger>
  104. </i:Interaction.Triggers>
  105. </Button>
  106. </StackPanel>
  107. <StackPanel Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
  108. <Button Content="开始" Width="93" Height="25">
  109. <i:Interaction.Triggers>
  110. <i:EventTrigger EventName="Click">
  111. <cal:ActionMessage MethodName="Start">
  112. <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>
  113. </cal:ActionMessage>
  114. </i:EventTrigger>
  115. </i:Interaction.Triggers>
  116. </Button>
  117. <Button Content="暂停" Width="93" Height="25" Margin="5,0,0,0">
  118. <i:Interaction.Triggers>
  119. <i:EventTrigger EventName="Click">
  120. <cal:ActionMessage MethodName="Pause">
  121. <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>
  122. </cal:ActionMessage>
  123. </i:EventTrigger>
  124. </i:Interaction.Triggers>
  125. </Button>
  126. <Button Content="继续" Width="93" Height="25" Margin="5,0,0,0">
  127. <i:Interaction.Triggers>
  128. <i:EventTrigger EventName="Click">
  129. <cal:ActionMessage MethodName="Resume">
  130. <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>
  131. </cal:ActionMessage>
  132. </i:EventTrigger>
  133. </i:Interaction.Triggers>
  134. </Button>
  135. </StackPanel>
  136. </Grid>
  137. <ListBox Grid.Row="1" Focusable="False" IsEnabled="{Binding WAInfo.EnableEditSlot, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
  138. ItemsSource="{Binding WAInfo.ModuleData.WaferManager.Wafers, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Margin="0,0">
  139. <ListBox.Resources>
  140. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  141. <Setter Property="Rectangle.StrokeThickness" Value="0"/>
  142. </Style>
  143. </ListBox.Resources>
  144. <ListBox.ItemTemplate>
  145. <DataTemplate>
  146. <Grid Height="18">
  147. <Grid.ColumnDefinitions>
  148. <ColumnDefinition Width="Auto"></ColumnDefinition>
  149. <!--<ColumnDefinition Width="Auto"></ColumnDefinition>-->
  150. <ColumnDefinition Width="Auto"></ColumnDefinition>
  151. <ColumnDefinition Width="Auto"></ColumnDefinition>
  152. </Grid.ColumnDefinitions>
  153. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="40" Padding="5,1">
  154. <TextBlock Name="txtSlotIndex" Text="{Binding SlotIndex}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  155. </Border>
  156. <!--<Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="50" Padding="5,1">
  157. <TextBlock Text="{Binding WaferID}" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  158. </Border>-->
  159. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Width="145" Padding="5,1">
  160. <Border.Style>
  161. <Style>
  162. <Style.Triggers>
  163. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  164. <Setter Property="Border.Background" Value="{DynamicResource Table_BG_Content_Highlight}"/>
  165. </DataTrigger>
  166. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  167. <Setter Property="Border.Background" Value="SkyBlue"/>
  168. </DataTrigger>
  169. </Style.Triggers>
  170. </Style>
  171. </Border.Style>
  172. <TextBlock Name="txtSeqName" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
  173. </Border>
  174. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="110" Padding="5,1">
  175. <Button Width="60" Height="14">
  176. <i:Interaction.Triggers>
  177. <i:EventTrigger EventName="Click">
  178. <cal:ActionMessage MethodName="SetSequence">
  179. <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>
  180. <cal:Parameter Value="{Binding SlotIndex}"></cal:Parameter>
  181. <cal:Parameter Value="{Binding SequenceName}"></cal:Parameter>
  182. </cal:ActionMessage>
  183. </i:EventTrigger>
  184. </i:Interaction.Triggers>
  185. <Button.Style>
  186. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  187. <Setter Property="Button.Content" Value="Remove"/>
  188. <Setter Property="FontSize" Value="10" />
  189. <Style.Triggers>
  190. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  191. <Setter Property="Button.Content" Value="Set"/>
  192. </DataTrigger>
  193. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  194. <Setter Property="Button.IsEnabled" Value="False"/>
  195. </DataTrigger>
  196. </Style.Triggers>
  197. </Style>
  198. </Button.Style>
  199. </Button>
  200. </Border>
  201. </Grid>
  202. </DataTemplate>
  203. </ListBox.ItemTemplate>
  204. </ListBox>
  205. <Grid>
  206. <Grid.Style>
  207. <Style>
  208. <Style.Triggers>
  209. <DataTrigger Binding="{Binding WAInfo.ModuleData.IsInstalled, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="false">
  210. <Setter Property="Grid.Visibility" Value="Collapsed"/>
  211. </DataTrigger>
  212. </Style.Triggers>
  213. </Style>
  214. </Grid.Style>
  215. </Grid>
  216. </Grid>
  217. </UserControl>