KeyPartManagementView.xaml 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <UserControl x:Class="LocalhostMES.Views.Tabs.KeyPartManagementView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:prism="http://prismlibrary.com/"
  7. xmlns:enums="clr-namespace:LocalhostMES.Enums"
  8. prism:ViewModelLocator.AutoWireViewModel="True"
  9. mc:Ignorable="d"
  10. d:DesignHeight="480" d:DesignWidth="780">
  11. <Grid Margin="12">
  12. <Grid.RowDefinitions>
  13. <RowDefinition Height="Auto" />
  14. <RowDefinition Height="Auto" />
  15. <RowDefinition Height="Auto" />
  16. <RowDefinition Height="Auto" />
  17. <RowDefinition Height="*" />
  18. <RowDefinition Height="Auto" />
  19. </Grid.RowDefinitions>
  20. <TextBlock Grid.Row="0" Text="关键件信息" FontSize="20" FontWeight="Bold" HorizontalAlignment="Center" Margin="0,0,0,12" />
  21. <Border Grid.Row="1"
  22. BorderBrush="{DynamicResource Win11BorderBrush}"
  23. BorderThickness="1"
  24. CornerRadius="10"
  25. Padding="10"
  26. Margin="0,0,0,8"
  27. Background="{DynamicResource Win11CardBrush}">
  28. <Grid>
  29. <Grid.ColumnDefinitions>
  30. <ColumnDefinition Width="Auto" />
  31. <ColumnDefinition Width="*" />
  32. <ColumnDefinition Width="Auto" />
  33. <ColumnDefinition Width="*" />
  34. <ColumnDefinition Width="Auto" />
  35. <ColumnDefinition Width="100" />
  36. </Grid.ColumnDefinitions>
  37. <Grid.RowDefinitions>
  38. <RowDefinition Height="Auto" />
  39. <RowDefinition Height="Auto" />
  40. <RowDefinition Height="Auto" />
  41. </Grid.RowDefinitions>
  42. <Label Grid.Row="0" Grid.Column="0">工站类型:</Label>
  43. <ComboBox Grid.Row="0" Grid.Column="1" Margin="4,0" MinWidth="120"
  44. ItemsSource="{enums:EnumBindingSource EnumType={x:Type enums:StationType}}"
  45. SelectedItem="{Binding NewPart.StationType}" />
  46. <Label Grid.Row="0" Grid.Column="2">关键件号:</Label>
  47. <TextBox Grid.Row="0" Grid.Column="3" Margin="4,0" MinWidth="160"
  48. Text="{Binding NewPart.PartNum, UpdateSourceTrigger=PropertyChanged}" />
  49. <Label Grid.Row="0" Grid.Column="4">数量:</Label>
  50. <TextBox Grid.Row="0" Grid.Column="5" Margin="4,0"
  51. Text="{Binding NewPart.PartQty, UpdateSourceTrigger=PropertyChanged}" />
  52. <Label Grid.Row="1" Grid.Column="0" Margin="0,8,0,0">物料编码:</Label>
  53. <TextBox Grid.Row="1" Grid.Column="1" Margin="4,8,4,0"
  54. Text="{Binding NewPart.MaterialCode, UpdateSourceTrigger=PropertyChanged}" />
  55. <Label Grid.Row="1" Grid.Column="2" Margin="0,8,0,0">工位编码:</Label>
  56. <TextBox Grid.Row="1" Grid.Column="3" Margin="4,8,4,0"
  57. Text="{Binding NewPart.StationCode, UpdateSourceTrigger=PropertyChanged}" />
  58. <Label Grid.Row="1" Grid.Column="4" Margin="0,8,0,0">站点编码:</Label>
  59. <TextBox Grid.Row="1" Grid.Column="5" Margin="4,8,4,0"
  60. Text="{Binding NewPart.PositionCode, UpdateSourceTrigger=PropertyChanged}" />
  61. <Label Grid.Row="2" Grid.Column="0" Margin="0,8,0,0">关键件名称:</Label>
  62. <TextBox Grid.Row="2" Grid.Column="1" Margin="4,8,4,0" Grid.ColumnSpan="5"
  63. Text="{Binding NewPart.PartInfoName, UpdateSourceTrigger=PropertyChanged}" />
  64. </Grid>
  65. </Border>
  66. <Border Grid.Row="2"
  67. BorderBrush="{DynamicResource Win11BorderBrush}"
  68. BorderThickness="1"
  69. CornerRadius="10"
  70. Padding="10"
  71. Margin="0,0,0,8"
  72. Background="{DynamicResource Win11CardBrush}">
  73. <Grid>
  74. <Grid.ColumnDefinitions>
  75. <ColumnDefinition Width="Auto" />
  76. <ColumnDefinition Width="*" />
  77. <ColumnDefinition Width="Auto" />
  78. </Grid.ColumnDefinitions>
  79. <Label Grid.Column="0" VerticalAlignment="Center">Excel路径:</Label>
  80. <TextBox Grid.Column="1" Margin="8,0"
  81. Text="{Binding ImportExcelPath, UpdateSourceTrigger=PropertyChanged}" />
  82. <Button Grid.Column="2" Content="导入表格" Style="{StaticResource SecondaryButtonStyle}" Command="{Binding ImportFromExcelCommand}" />
  83. </Grid>
  84. </Border>
  85. <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,8">
  86. <Button Content="添加" Style="{StaticResource SuccessButtonStyle}" Command="{Binding AddPartInfoCommand}" />
  87. <Button Content="刷新" Style="{StaticResource SecondaryButtonStyle}" Command="{Binding RefPartInfoCommand}" />
  88. <Button Content="删除所选" Style="{StaticResource DangerButtonStyle}" Command="{Binding DeletePartInfoCommand}" />
  89. </StackPanel>
  90. <DataGrid Grid.Row="4" ItemsSource="{Binding PartInfos}" SelectedItem="{Binding SelectPart}" SelectionMode="Single"
  91. AutoGenerateColumns="False" CanUserAddRows="False" IsReadOnly="True" GridLinesVisibility="None"
  92. HeadersVisibility="Column" Margin="0,0,0,8">
  93. <DataGrid.Resources>
  94. <Style TargetType="DataGridRow">
  95. <Style.Triggers>
  96. <Trigger Property="IsSelected" Value="True">
  97. <Setter Property="Background" Value="#E3F2FD" />
  98. <Setter Property="BorderBrush" Value="#2196F3" />
  99. </Trigger>
  100. </Style.Triggers>
  101. </Style>
  102. <Style TargetType="DataGridColumnHeader">
  103. <Setter Property="Background" Value="#2196F3" />
  104. <Setter Property="Foreground" Value="White" />
  105. <Setter Property="FontWeight" Value="Bold" />
  106. <Setter Property="Padding" Value="10,5" />
  107. <Setter Property="HorizontalContentAlignment" Value="Center" />
  108. </Style>
  109. </DataGrid.Resources>
  110. <DataGrid.Columns>
  111. <DataGridTextColumn Header="工站类型" Binding="{Binding StationType}" Width="100" />
  112. <DataGridTextColumn Header="关键件号" Binding="{Binding PartNum}" Width="*" MinWidth="160" />
  113. <DataGridTextColumn Header="关键件名称" Binding="{Binding PartInfoName}" Width="120" />
  114. <DataGridTextColumn Header="物料编码" Binding="{Binding MaterialCode}" Width="120" />
  115. <DataGridTextColumn Header="工位编码" Binding="{Binding StationCode}" Width="120" />
  116. <DataGridTextColumn Header="站点编码" Binding="{Binding PositionCode}" Width="120" />
  117. <DataGridTextColumn Header="数量" Binding="{Binding PartQty}" Width="80">
  118. <DataGridTextColumn.ElementStyle>
  119. <Style TargetType="TextBlock">
  120. <Setter Property="HorizontalAlignment" Value="Right" />
  121. <Setter Property="Margin" Value="0,0,10,0" />
  122. </Style>
  123. </DataGridTextColumn.ElementStyle>
  124. </DataGridTextColumn>
  125. <DataGridTemplateColumn Header="操作" Width="90">
  126. <DataGridTemplateColumn.CellTemplate>
  127. <DataTemplate>
  128. <Button Content="删除" Padding="5,2" Margin="2,0" Background="#F44336" Foreground="White"
  129. Command="{Binding DataContext.DeletePartRowCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
  130. CommandParameter="{Binding}" />
  131. </DataTemplate>
  132. </DataGridTemplateColumn.CellTemplate>
  133. </DataGridTemplateColumn>
  134. </DataGrid.Columns>
  135. </DataGrid>
  136. <StatusBar Grid.Row="5">
  137. <StatusBarItem>
  138. <TextBlock>
  139. <Run Text="记录总数:" />
  140. <Run Text="{Binding PartInfos.Count, Mode=OneWay}" />
  141. </TextBlock>
  142. </StatusBarItem>
  143. <StatusBarItem HorizontalAlignment="Right">
  144. <TextBlock Text="{Binding StatusMessage}" />
  145. </StatusBarItem>
  146. </StatusBar>
  147. </Grid>
  148. </UserControl>