ScheduledMaitView.xaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. <UserControl
  2. x:Class="FurnaceUI.Views.Editors.ScheduledMaitView"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:cal="http://www.caliburn.org"
  6. xmlns:converter="clr-namespace:FurnaceUI.Converter"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  9. xmlns:local="clr-namespace:FurnaceUI.Views.Editors"
  10. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  11. Background="White"
  12. xmlns:converterTime="clr-namespace:MECF.Framework.UI.Client.Converter;assembly=MECF.Framework.UI.Client"
  13. xmlns:enumData="clr-namespace:MECF.Framework.Common.CommonData.EnumData;assembly=MECF.Framework.Common"
  14. FontFamily="Segoe"
  15. mc:Ignorable="d">
  16. <UserControl.Resources>
  17. <local:EnumToBoolConverter x:Key="EnumToBoolConverter" />
  18. <converter:IsCheckShowStringConverter x:Key="isCheckShowStringConverter" />
  19. <converterTime:SecondsToHourMinConverter x:Key="SecondsToHourMinConverter" />
  20. <Style BasedOn="{StaticResource ExOnlyVerticalScrollBar}" TargetType="ScrollBar" />
  21. </UserControl.Resources>
  22. <Grid>
  23. <Grid.RowDefinitions>
  24. <RowDefinition Height="120" />
  25. <RowDefinition Height="*" />
  26. </Grid.RowDefinitions>
  27. <Grid>
  28. <Grid.RowDefinitions>
  29. <RowDefinition />
  30. <RowDefinition />
  31. </Grid.RowDefinitions>
  32. <StackPanel Orientation="Horizontal">
  33. <RadioButton
  34. x:Name="Carrier"
  35. Width="150"
  36. Height="45"
  37. Margin="5,0"
  38. Content="Carrier/Wafer"
  39. FontSize="18"
  40. IsChecked="{Binding DataItemType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:DataItemEnum.CarrierWafer}}" />
  41. <RadioButton
  42. Width="150"
  43. Height="45"
  44. Margin="5,0"
  45. Content="Boat"
  46. FontSize="18"
  47. Visibility="Collapsed"
  48. IsChecked="{Binding DataItemType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:DataItemEnum.Boat}}" />
  49. <RadioButton
  50. Width="150"
  51. Height="45"
  52. Margin="5,0"
  53. Content="Conditioning"
  54. Visibility="Collapsed"
  55. FontSize="18"
  56. IsChecked="{Binding DataItemType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:DataItemEnum.Conditioning}}" />
  57. <RadioButton
  58. x:Name="Reactor"
  59. Width="150"
  60. Height="45"
  61. Margin="5,0"
  62. Content="Reactor"
  63. FontSize="18"
  64. IsChecked="{Binding DataItemType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:DataItemEnum.Reactor}}" />
  65. </StackPanel>
  66. <StackPanel Grid.Row="1" Orientation="Horizontal">
  67. <StackPanel Orientation="Horizontal" Visibility="{Binding ElementName=Carrier, Path=IsChecked, Converter={StaticResource bool2VisibilityConverter}}">
  68. <RadioButton
  69. Width="150"
  70. Height="45"
  71. Margin="5,0"
  72. Content="Side Dummy"
  73. FontSize="18"
  74. IsChecked="{Binding DummyType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:DummyEnum.SideDummy}}" />
  75. <RadioButton
  76. Width="150"
  77. Height="45"
  78. Margin="5,0"
  79. Content="Fill Dummy"
  80. FontSize="18"
  81. IsChecked="{Binding DummyType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:DummyEnum.FillDummy}}" />
  82. </StackPanel>
  83. <StackPanel Orientation="Horizontal" Visibility="{Binding ElementName=Reactor, Path=IsChecked, Converter={StaticResource bool2VisibilityConverter}}">
  84. <RadioButton
  85. Width="150"
  86. Height="45"
  87. Margin="5,0"
  88. Content="Recipe"
  89. FontSize="18"
  90. IsChecked="{Binding ReactorsType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:ReactorsEnum.Recipe}}" />
  91. <RadioButton
  92. Width="150"
  93. Height="45"
  94. Margin="5,0"
  95. Content="StepRunFreq"
  96. FontSize="18"
  97. IsChecked="{Binding ReactorsType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:ReactorsEnum.StepRunFreq}}" />
  98. <RadioButton
  99. Width="150"
  100. Height="45"
  101. Margin="5,0"
  102. Content="StepRunTime"
  103. FontSize="18"
  104. IsChecked="{Binding ReactorsType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:ReactorsEnum.StepRunTime}}" />
  105. <RadioButton
  106. Width="150"
  107. Height="45"
  108. Margin="5,0"
  109. Content="StepThickness"
  110. FontSize="18"
  111. IsChecked="{Binding ReactorsType, Converter={StaticResource EnumToBoolConverter}, ConverterParameter={x:Static enumData:ReactorsEnum.StepThickness}}" />
  112. </StackPanel>
  113. </StackPanel>
  114. </Grid>
  115. <ListView
  116. Name="OutLine"
  117. Grid.Row="1"
  118. Margin="10"
  119. HorizontalContentAlignment="Stretch"
  120. IsSynchronizedWithCurrentItem="True"
  121. ItemsSource="{Binding ScheduleMaintenanceDataItemListSource}">
  122. <ListView.ItemContainerStyle>
  123. <Style BasedOn="{StaticResource {x:Type ListViewItem}}" TargetType="{x:Type ListViewItem}">
  124. <Setter Property="cal:Message.Attach" Value="[Event PreviewMouseUp] = [Action SelectionChangedHandle($dataContext,OutLine.SelectedValue)]" />
  125. </Style>
  126. </ListView.ItemContainerStyle>
  127. <ListView.View>
  128. <GridView x:Name="GVOutLine">
  129. <GridView.Columns>
  130. <GridViewColumn Width="30">
  131. <GridViewColumn.CellTemplate>
  132. <DataTemplate>
  133. <Label
  134. Height="50"
  135. HorizontalContentAlignment="Center"
  136. VerticalContentAlignment="Center"
  137. Content="{Binding Number}" />
  138. </DataTemplate>
  139. </GridViewColumn.CellTemplate>
  140. <GridViewColumn.Header>
  141. <TextBlock Text="No" />
  142. </GridViewColumn.Header>
  143. </GridViewColumn>
  144. <GridViewColumn Width="200">
  145. <GridViewColumn.CellTemplate>
  146. <DataTemplate>
  147. <TextBlock
  148. HorizontalAlignment="Center"
  149. Text="{Binding Display}"
  150. TextBlock.TextAlignment="Center" />
  151. </DataTemplate>
  152. </GridViewColumn.CellTemplate>
  153. <GridViewColumn.Header>
  154. <TextBlock Text="Maintenance Name" />
  155. </GridViewColumn.Header>
  156. </GridViewColumn>
  157. <GridViewColumn Width="200">
  158. <GridViewColumn.CellTemplate>
  159. <DataTemplate>
  160. <TextBlock
  161. Margin="4"
  162. Text="{Binding Item}"
  163. TextBlock.TextAlignment="Center" />
  164. </DataTemplate>
  165. </GridViewColumn.CellTemplate>
  166. <GridViewColumn.Header>
  167. <TextBlock Text="Maintenance Item" />
  168. </GridViewColumn.Header>
  169. </GridViewColumn>
  170. <GridViewColumn Width="100">
  171. <GridViewColumn.CellTemplate>
  172. <DataTemplate>
  173. <TextBlock Width="132" Margin="4" HorizontalAlignment="Center" TextBlock.TextAlignment="Center" >
  174. <TextBlock.Style>
  175. <Style TargetType="TextBlock">
  176. <Setter Property="Text" Value="{Binding CurrentValue , Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  177. <Style.Triggers>
  178. <DataTrigger Binding="{Binding Unit}" Value="h:m:s">
  179. <Setter Property="Text" Value="{Binding CurrentValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,Converter={StaticResource SecondsToHourMinConverter}}"/>
  180. </DataTrigger>
  181. </Style.Triggers>
  182. </Style>
  183. </TextBlock.Style>
  184. </TextBlock>
  185. </DataTemplate>
  186. </GridViewColumn.CellTemplate>
  187. <GridViewColumn.Header>
  188. <TextBlock Text="Current Value" />
  189. </GridViewColumn.Header>
  190. </GridViewColumn>
  191. <GridViewColumn Width="200">
  192. <GridViewColumn.CellTemplate>
  193. <DataTemplate>
  194. <StackPanel>
  195. <TextBlock Width="132" Margin="4" HorizontalAlignment="Center" TextBlock.TextAlignment="Center" >
  196. <TextBlock.Style>
  197. <Style TargetType="TextBlock">
  198. <Setter Property="Text" Value="{Binding StartValue , Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  199. <Style.Triggers>
  200. <DataTrigger Binding="{Binding Unit}" Value="h:m:s">
  201. <Setter Property="Text" Value="{Binding StartValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,Converter={StaticResource SecondsToHourMinConverter}}"/>
  202. </DataTrigger>
  203. </Style.Triggers>
  204. </Style>
  205. </TextBlock.Style>
  206. </TextBlock>
  207. </StackPanel>
  208. </DataTemplate>
  209. </GridViewColumn.CellTemplate>
  210. <GridViewColumn.Header>
  211. <TextBlock
  212. Grid.Row="0"
  213. Grid.ColumnSpan="2"
  214. Text="Scheduling Start Value" />
  215. </GridViewColumn.Header>
  216. </GridViewColumn>
  217. <GridViewColumn Width="200">
  218. <GridViewColumn.CellTemplate>
  219. <DataTemplate>
  220. <StackPanel>
  221. <TextBlock Width="132" Margin="4" HorizontalAlignment="Center" TextBlock.TextAlignment="Center" >
  222. <TextBlock.Style>
  223. <Style TargetType="TextBlock">
  224. <Setter Property="Text" Value="{Binding LimitValue , Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  225. <Style.Triggers>
  226. <DataTrigger Binding="{Binding Unit}" Value="h:m:s">
  227. <Setter Property="Text" Value="{Binding LimitValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,Converter={StaticResource SecondsToHourMinConverter}}"/>
  228. </DataTrigger>
  229. </Style.Triggers>
  230. </Style>
  231. </TextBlock.Style>
  232. </TextBlock>
  233. </StackPanel>
  234. </DataTemplate>
  235. </GridViewColumn.CellTemplate>
  236. <GridViewColumn.Header>
  237. <TextBlock
  238. Grid.Row="0"
  239. Grid.ColumnSpan="2"
  240. Text="Scheduling Limit Value" />
  241. </GridViewColumn.Header>
  242. </GridViewColumn>
  243. <GridViewColumn Width="100">
  244. <GridViewColumn.CellTemplate>
  245. <DataTemplate>
  246. <Button
  247. Width="88"
  248. Height="50"
  249. Content="{Binding Unit, Mode=TwoWay}" />
  250. </DataTemplate>
  251. </GridViewColumn.CellTemplate>
  252. <GridViewColumn.Header>
  253. <TextBlock Text="Unit" />
  254. </GridViewColumn.Header>
  255. </GridViewColumn>
  256. <GridViewColumn Width="140">
  257. <GridViewColumn.CellTemplate>
  258. <DataTemplate>
  259. <TextBlock
  260. Width="140"
  261. HorizontalAlignment="Center"
  262. Text="{Binding MaintenanceProcessing, Mode=TwoWay}"
  263. TextBlock.TextAlignment="Center" />
  264. </DataTemplate>
  265. </GridViewColumn.CellTemplate>
  266. <GridViewColumn.Header>
  267. <TextBlock Text="Maintenance Processing" />
  268. </GridViewColumn.Header>
  269. </GridViewColumn>
  270. </GridView.Columns>
  271. </GridView>
  272. </ListView.View>
  273. </ListView>
  274. <!--<Border Grid.Row="2">
  275. <StackPanel
  276. HorizontalAlignment="Right"
  277. VerticalAlignment="Center"
  278. Orientation="Horizontal">
  279. <Button
  280. Width="130"
  281. Height="45"
  282. Content="Save"
  283. IsEnabled="{Binding IsEnable}"
  284. Style="{StaticResource CommandButton}">
  285. <i:Interaction.Triggers>
  286. <i:EventTrigger EventName="Click">
  287. <cal:ActionMessage MethodName="SetSave" />
  288. </i:EventTrigger>
  289. </i:Interaction.Triggers>
  290. </Button>
  291. <Button
  292. Width="130"
  293. Height="45"
  294. Margin="20,0,20,0"
  295. Content="Cancel"
  296. Style="{StaticResource CommandButton}">
  297. <i:Interaction.Triggers>
  298. <i:EventTrigger EventName="Click">
  299. <cal:ActionMessage MethodName="SetCancel" />
  300. </i:EventTrigger>
  301. </i:Interaction.Triggers>
  302. </Button>
  303. </StackPanel>
  304. </Border>-->
  305. </Grid>
  306. </UserControl>