新增原料入场记录独立页面,更新导航和菜单配置以支持新功能。优化原料入场记录编辑对话框,增强物料选择和显示逻辑,提升用户体验。

This commit is contained in:
geht
2026-05-09 18:25:34 +08:00
parent 068d44c53e
commit 0e89648e8a
16 changed files with 1624 additions and 51 deletions

View File

@@ -31,30 +31,46 @@
<StackPanel x:Name="RootPanel" Margin="24,8,24,8">
<hc:Row Gutter="16">
<!-- 密炼物料选择(搜索下拉 -->
<!-- 密炼物料选择(弹窗 -->
<hc:Col Span="16">
<DockPanel Margin="0,0,0,8" LastChildFill="True">
<TextBlock DockPanel.Dock="Left" Text="密炼物料" Width="80"
VerticalAlignment="Center"
Foreground="{DynamicResource PrimaryTextBrush}"/>
<hc:ComboBox ItemsSource="{Binding MaterialOptions}"
SelectedItem="{Binding SelectedMaterial}"
IsEditable="True"
IsTextSearchEnabled="True"
TextSearch.TextPath="MaterialCode"
Height="34"
hc:InfoElement.Placeholder="输入物料编码搜索">
<hc:ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<Run Text="{Binding MaterialCode, Mode=OneWay}"/>
<Run Text=" — "/>
<Run Text="{Binding MaterialName, Mode=OneWay}"/>
</TextBlock>
</DataTemplate>
</hc:ComboBox.ItemTemplate>
</hc:ComboBox>
</DockPanel>
<Grid Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="32"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="密炼物料" VerticalAlignment="Center"
FontSize="14" Foreground="{DynamicResource PrimaryTextBrush}"/>
<Border Grid.Column="1" CornerRadius="4" Height="34"
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
Background="{DynamicResource ThirdlyRegionBrush}">
<TextBlock Text="{Binding SelectedMaterialDisplay}" VerticalAlignment="Center"
Margin="8,0" FontSize="13" TextTrimming="CharacterEllipsis">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{DynamicResource SecondaryTextBrush}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding HasSelectedMaterial}" Value="True">
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Border>
<Button Grid.Column="2" Content="选 择"
Command="{Binding OpenMaterialPickerCommand}"
Style="{StaticResource ButtonPrimary}"
Height="34" Margin="6,0,0,0" FontSize="12"/>
<Button Grid.Column="3"
Command="{Binding ClearMaterialCommand}"
Style="{StaticResource ButtonIcon}"
Height="34" Width="28" Margin="4,0,0,0" Padding="0"
ToolTip="清除物料"
Foreground="{DynamicResource SecondaryTextBrush}"
hc:IconElement.Geometry="{StaticResource ErrorGeometry}"/>
</Grid>
</hc:Col>
<!-- 物料名称(只读回显) -->
@@ -106,16 +122,36 @@
</DockPanel>
</hc:Col>
<!-- 榜单号 -->
<!-- 榜单号(弹窗选择) -->
<hc:Col Span="8">
<hc:TextBox Text="{Binding Entry.BillNo, UpdateSourceTrigger=PropertyChanged}"
Height="34"
hc:InfoElement.Title="榜单号"
hc:InfoElement.TitleWidth="80"
hc:InfoElement.TitlePlacement="Left"
hc:InfoElement.Placeholder="请输入榜单号"
hc:InfoElement.ShowClearButton="True"
Margin="0,0,0,8"/>
<Grid Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="32"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="榜单号" VerticalAlignment="Center"
FontSize="14" Foreground="{DynamicResource PrimaryTextBrush}"/>
<Border Grid.Column="1" CornerRadius="4" Height="34"
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
Background="{DynamicResource ThirdlyRegionBrush}">
<TextBlock Text="{Binding Entry.BillNo}" VerticalAlignment="Center"
Margin="8,0" FontSize="13" TextTrimming="CharacterEllipsis"
Foreground="{DynamicResource PrimaryTextBrush}"/>
</Border>
<Button Grid.Column="2" Content="选 择"
Command="{Binding OpenWeightRecordPickerCommand}"
Style="{StaticResource ButtonPrimary}"
Height="34" Margin="6,0,0,0" FontSize="12"/>
<Button Grid.Column="3"
Command="{Binding ClearWeightRecordCommand}"
Style="{StaticResource ButtonIcon}"
Height="34" Width="28" Margin="4,0,0,0" Padding="0"
ToolTip="清除榜单"
Foreground="{DynamicResource SecondaryTextBrush}"
hc:IconElement.Geometry="{StaticResource ErrorGeometry}"/>
</Grid>
</hc:Col>
<!-- 供料客户 -->
@@ -137,8 +173,9 @@
hc:InfoElement.Title="供应商名称"
hc:InfoElement.TitleWidth="80"
hc:InfoElement.TitlePlacement="Left"
hc:InfoElement.Placeholder="请输入供应商名称"
hc:InfoElement.Placeholder="根据榜单自动带出"
hc:InfoElement.ShowClearButton="True"
IsReadOnly="True"
Margin="0,0,0,8"/>
</hc:Col>
@@ -151,6 +188,7 @@
hc:InfoElement.TitlePlacement="Left"
hc:InfoElement.Placeholder="请输入厂家物料名称"
hc:InfoElement.ShowClearButton="True"
IsReadOnly="True"
Margin="0,0,0,8"/>
</hc:Col>
@@ -161,14 +199,15 @@
hc:InfoElement.Title="保质期"
hc:InfoElement.TitleWidth="80"
hc:InfoElement.TitlePlacement="Left"
hc:InfoElement.Placeholder="请输入保质期"
hc:InfoElement.Placeholder="自动计算到期日期"
hc:InfoElement.ShowClearButton="True"
IsReadOnly="True"
Margin="0,0,0,8"/>
</hc:Col>
<!-- 总重(KG) -->
<hc:Col Span="8">
<hc:NumericUpDown Value="{Binding Entry.TotalWeight}"
<hc:NumericUpDown Value="{Binding TotalWeightInput}"
Minimum="0"
DecimalPlaces="2"
Height="34"
@@ -182,7 +221,7 @@
<!-- 总份数 -->
<hc:Col Span="8">
<hc:NumericUpDown Value="{Binding Entry.TotalPortions}"
<hc:NumericUpDown Value="{Binding TotalPortionsInput}"
Minimum="0"
DecimalPlaces="0"
Height="34"
@@ -204,7 +243,8 @@
hc:InfoElement.Title="每份总重(KG)"
hc:InfoElement.TitleWidth="80"
hc:InfoElement.TitlePlacement="Left"
hc:InfoElement.Placeholder="请输入每份总重"
hc:InfoElement.Placeholder="自动按总重/总份数计算"
IsReadOnly="True"
Margin="0,0,0,8"/>
</hc:Col>