349 lines
20 KiB
Plaintext
Raw Normal View History

2025-03-16 03:17:36 +08:00
<Page x:Class="Seyounth.Hyosung.Views.Pages.VarietyPage"
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:Seyounth.Hyosung.Views.Pages"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
2025-03-17 22:17:28 +08:00
xmlns:viewConverter="clr-namespace:Seyounth.Hyosung.ViewConverter"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
xmlns:models="clr-namespace:Seyounth.Hyosung.Data.Models;assembly=Seyounth.Hyosung.Data"
xmlns:system="clr-namespace:System;assembly=System.Runtime"
2025-03-16 03:17:36 +08:00
mc:Ignorable="d"
2025-03-17 22:17:28 +08:00
x:Name="VarietyRoot"
2025-03-16 03:17:36 +08:00
Width="Auto"
Height="Auto"
d:DataContext="{d:DesignInstance local:VarietyPage,
IsDesignTimeCreatable=True}">
2025-03-17 22:17:28 +08:00
<Page.Resources>
<ObjectDataProvider x:Key="NeedType"
ObjectType="{x:Type system:Enum}"
MethodName="GetValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="models:NeedType" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<viewConverter:EnumDescriptionConverter x:Key="EnumDescriptionConverter" />
<viewConverter:PalletToStringConverter x:Key="PalletToStringConverter" />
</Page.Resources>
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ToolBarTray>
<ToolBar ClipToBounds="False"
Style="{StaticResource MaterialDesignToolBar}">
<ComboBox Margin="8"
FontSize="20"
VerticalAlignment="Center"
Width="400"
materialDesign:HintAssist.Hint="品类编号"
materialDesign:TextFieldAssist.HasClearButton="False"
IsEditable="False"
ItemsSource="{Binding ViewModel.Varieties}"
DisplayMemberPath="Code"
Style="{StaticResource MaterialDesignOutlinedComboBox}">
</ComboBox>
<Button Content="{materialDesign:PackIcon Kind=Search}" />
<Separator />
<TextBox Margin="8"
Width="100"
FontSize="20"
HorizontalContentAlignment="Left"
materialDesign:HintAssist.Hint="LOT"
Style="{StaticResource MaterialDesignOutlinedTextBox}" />
<Button Content="{materialDesign:PackIcon Kind=Search}" />
<Separator />
<Button x:Name="TrayManagerButton"
Content="{materialDesign:PackIcon Kind=ShippingPallet}"
Click="TrayManagerButton_OnClick"
ToolTip="托盘/隔板管理" />
</ToolBar>
</ToolBarTray>
2025-03-17 22:44:15 +08:00
<DataGrid Margin="16" Grid.Row="1" x:Name="VarietyDataGrid"
2025-03-17 22:17:28 +08:00
FontSize="20"
CanUserAddRows="True"
AutoGenerateColumns="False"
HeadersVisibility="All"
VerticalContentAlignment="Center"
2025-03-17 22:44:15 +08:00
ItemsSource="{Binding ViewModel.Varieties, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
CellEditEnding="DataGrid_CellEditEnding">
2025-03-17 22:17:28 +08:00
<DataGrid.Columns>
<DataGridTextColumn
Binding="{Binding Id}"
Header="ID"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding Code}"
Header="代码"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding Lot }"
Header="LOT"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding Specifications }"
Header="规格"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding InnerDiameter }"
Header="内径(D1)"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding OuterDiameter }"
Header="外径(D2)"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding YarnDiameter }"
Header="直径(D3)"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding PaperTubeHeight }"
Header="纸管高(H1)"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding YarnThickness }"
Header="纱线厚(H2)"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding SingleWeight }"
Header="单筒重"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding StackingLayers }"
Header="码层数"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding TotalCount }"
Header="个/托"
Width="Auto" />
<DataGridTemplateColumn Header="蜂窝板(中间)">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
2025-03-17 22:44:15 +08:00
<ComboBox
SelectedValue="{Binding Path=MiddlePallet,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=ViewModel.Pallets,RelativeSource={RelativeSource AncestorType={x:Type Page},Mode=FindAncestor}}"
DisplayMemberPath="Name">
2025-03-17 22:17:28 +08:00
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="蜂窝板(上下)">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
2025-03-17 22:44:15 +08:00
<ComboBox
SelectedValue="{Binding Path=TopAndBottomPallet,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=ViewModel.Pallets,RelativeSource={RelativeSource AncestorType={x:Type Page},Mode=FindAncestor}}"
DisplayMemberPath="Name"
materialDesign:TextFieldAssist.HasClearButton="True">
2025-03-17 22:17:28 +08:00
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="托盘">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
2025-03-17 22:44:15 +08:00
<ComboBox
SelectedValue="{Binding Path=Tray,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=ViewModel.Pallets,RelativeSource={RelativeSource AncestorType={x:Type Page},Mode=FindAncestor}}"
DisplayMemberPath="Name" materialDesign:TextFieldAssist.HasClearButton="True">
2025-03-17 22:17:28 +08:00
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="纸板">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
2025-03-17 22:44:15 +08:00
<ComboBox
SelectedValue="{Binding Path=PaperTray,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=ViewModel.Pallets,RelativeSource={RelativeSource AncestorType={x:Type Page},Mode=FindAncestor}}"
DisplayMemberPath="Name" materialDesign:TextFieldAssist.HasClearButton="True">
2025-03-17 22:17:28 +08:00
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn
Binding="{Binding StackHeadSpec }"
Header="垛头尺寸"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding StackHeadCount }"
Header="垛头数量"
Width="Auto" />
2025-03-17 22:44:15 +08:00
<DataGridComboBoxColumn Header="顶板" MinWidth="120"
ItemsSource="{Binding Source={StaticResource NeedType}}"
SelectedValueBinding="{Binding NeedTopBoard, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextBinding="{Binding NeedTopBoard}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridComboBoxColumn Header="护角" MinWidth="120"
ItemsSource="{Binding Source={StaticResource NeedType}}"
SelectedValueBinding="{Binding NeedAngleBeam, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextBinding="{Binding NeedAngleBeam}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridComboBoxColumn Header="打包带" MinWidth="120"
ItemsSource="{Binding Source={StaticResource NeedType}}"
SelectedValueBinding="{Binding NeedPackStrap, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextBinding="{Binding NeedPackStrap}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridComboBoxColumn Header="缠膜" MinWidth="120"
ItemsSource="{Binding Source={StaticResource NeedType}}"
SelectedValueBinding="{Binding NeedFilmWrapping, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextBinding="{Binding NeedFilmWrapping}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
2025-03-17 22:17:28 +08:00
<DataGridComboBoxColumn Header="覆膜" MinWidth="120"
ItemsSource="{Binding Source={StaticResource NeedType}}"
SelectedValueBinding="{Binding NeedFilmCoating, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextBinding="{Binding NeedFilmCoating}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock
Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridTextColumn
Binding="{Binding MasterLabelCount }"
Header="主标签数量"
Width="Auto" />
<DataGridTextColumn
Binding="{Binding SubLabelCount }"
Header="副标签数量"
Width="Auto" />
<DataGridTemplateColumn Header="操作">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Margin="0,0,10,0" Content="保存"
2025-03-18 20:42:05 +08:00
Command="{Binding ElementName=VarietyRoot, Path=DataContext.ViewModel.SaveVarietyCommand}"
2025-03-17 22:17:28 +08:00
CommandParameter="{Binding}"
Visibility="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Path=IsEditing, Converter={StaticResource BooleanToVisibilityConverter}}" />
<!-- 删除按钮 -->
<Button Content="删除"
Background="Red"
2025-03-18 20:42:05 +08:00
Command="{Binding ElementName=VarietyRoot, Path=DataContext.ViewModel.DeleteVarietyCommand}"
2025-03-17 22:17:28 +08:00
CommandParameter="{Binding}" />
<!-- 保存按钮,根据 DataGridRow 的 IsEditing 属性控制可见性 -->
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
2025-03-16 03:17:36 +08:00
</Page>