2026-05-09 18:25:34 +08:00
|
|
|
|
<UserControl x:Class="YY.Admin.Views.RawMaterialEntry.RawMaterialEntryOperationView"
|
|
|
|
|
|
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:hc="https://handyorg.github.io/handycontrol"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
xmlns:ctrls="clr-namespace:YY.Admin.Controls"
|
|
|
|
|
|
xmlns:core="clr-namespace:YY.Admin.Core.Entity;assembly=YY.Admin.Core"
|
2026-05-09 18:25:34 +08:00
|
|
|
|
xmlns:prism="http://prismlibrary.com/"
|
|
|
|
|
|
prism:ViewModelLocator.AutoWireViewModel="True"
|
|
|
|
|
|
mc:Ignorable="d">
|
|
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<UserControl.Resources>
|
|
|
|
|
|
<!-- 右侧今日列表:单选行选中态浅蓝背景 -->
|
|
|
|
|
|
<Style x:Key="TodayEntryListBoxItemStyle" TargetType="ListBoxItem">
|
|
|
|
|
|
<Setter Property="Padding" Value="0"/>
|
|
|
|
|
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
|
|
|
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
|
<ControlTemplate TargetType="ListBoxItem">
|
|
|
|
|
|
<Border x:Name="Bd" Background="{TemplateBinding Background}" Padding="6,4">
|
|
|
|
|
|
<ContentPresenter/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
|
<Setter TargetName="Bd" Property="Background" Value="#FFF5F5F5"/>
|
|
|
|
|
|
</Trigger>
|
|
|
|
|
|
<Trigger Property="IsSelected" Value="True">
|
|
|
|
|
|
<Setter TargetName="Bd" Property="Background" Value="#E3F2FD"/>
|
|
|
|
|
|
</Trigger>
|
|
|
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
|
</Setter>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</UserControl.Resources>
|
|
|
|
|
|
|
2026-05-09 18:25:34 +08:00
|
|
|
|
<Grid Style="{StaticResource BaseViewStyle}">
|
|
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
|
|
<RowDefinition Height="Auto"/>
|
|
|
|
|
|
<RowDefinition Height="*"/>
|
|
|
|
|
|
<RowDefinition Height="Auto"/>
|
|
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<Grid Grid.Row="0" Margin="24,16,24,12">
|
2026-05-09 18:25:34 +08:00
|
|
|
|
<TextBlock FontSize="18"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
Text="{Binding DialogTitle}"
|
2026-05-09 18:25:34 +08:00
|
|
|
|
HorizontalAlignment="Left"
|
|
|
|
|
|
VerticalAlignment="Center"/>
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- 收起/展开与右侧列表分离:置于页头右上,与标题同行 -->
|
|
|
|
|
|
<!-- 显式绑定 UserControl.DataContext:避免页眉 DataContext 非本页 ViewModel 时 Toggle 无效 -->
|
|
|
|
|
|
<Button HorizontalAlignment="Right"
|
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
|
Command="{Binding DataContext.ToggleRightPanelCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
|
|
|
|
|
|
Click="ToggleTodayPanelButton_OnClick"
|
|
|
|
|
|
Padding="12,6"
|
|
|
|
|
|
FontSize="12"
|
|
|
|
|
|
MinHeight="32">
|
|
|
|
|
|
<Button.Style>
|
|
|
|
|
|
<Style TargetType="Button" BasedOn="{StaticResource ButtonDefault}">
|
|
|
|
|
|
<Setter Property="Content" Value="收起"/>
|
|
|
|
|
|
<Setter Property="ToolTip" Value="收起右侧「今日入场」列表"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding DataContext.IsRightPanelExpanded, RelativeSource={RelativeSource AncestorType=UserControl}}" Value="False">
|
|
|
|
|
|
<Setter Property="Content" Value="展开"/>
|
|
|
|
|
|
<Setter Property="ToolTip" Value="展开右侧「今日入场」列表"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</Button.Style>
|
|
|
|
|
|
</Button>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
|
|
<Grid Grid.Row="1" x:Name="MainSplitRoot">
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="*" MinWidth="320"/>
|
|
|
|
|
|
<ColumnDefinition x:Name="SplitterCol" Width="4"/>
|
|
|
|
|
|
<ColumnDefinition x:Name="RightPaneCol" Width="280" MinWidth="0"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<hc:ScrollViewer Grid.Column="0" IsInertiaEnabled="True" HorizontalScrollBarVisibility="Disabled">
|
2026-05-09 18:25:34 +08:00
|
|
|
|
<StackPanel x:Name="RootPanel" Margin="24,8,24,8">
|
2026-05-09 19:10:42 +08:00
|
|
|
|
<TextBlock Text="基础资料"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
FontSize="13"
|
2026-05-09 19:10:42 +08:00
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"
|
|
|
|
|
|
Margin="0,0,0,6"/>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- 带横竖线的表格式表单 -->
|
|
|
|
|
|
<Border BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}" Margin="0,0,0,8">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
|
|
<RowDefinition Height="36"/> <!-- 密炼物料 -->
|
|
|
|
|
|
<RowDefinition Height="38"/> <!-- 批次号 / 入场时间 -->
|
|
|
|
|
|
<RowDefinition Height="36"/> <!-- 榜单号 -->
|
|
|
|
|
|
<RowDefinition Height="36"/> <!-- 供料客户 / 供应商名称 -->
|
|
|
|
|
|
<RowDefinition Height="36"/> <!-- 厂家物料名称 / 保质期 -->
|
|
|
|
|
|
<RowDefinition Height="36"/> <!-- 总重 / 总份数 -->
|
|
|
|
|
|
<RowDefinition Height="36"/> <!-- 每份总重 / 每份包数 -->
|
|
|
|
|
|
<RowDefinition Height="36"/> <!-- 库位 / 卸货人 -->
|
|
|
|
|
|
<RowDefinition Height="60"/> <!-- 备注 -->
|
|
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="90"/>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="90"/>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ===== Row 0: 密炼物料 ===== -->
|
|
|
|
|
|
<Border Grid.Row="0" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="密炼物料" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<TextBlock Grid.Column="0" Text="{Binding SelectedMaterialDisplay}"
|
|
|
|
|
|
VerticalAlignment="Center" FontSize="13" TextTrimming="CharacterEllipsis">
|
2026-05-09 18:25:34 +08:00
|
|
|
|
<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>
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<Button Grid.Column="1" Content="选 择"
|
|
|
|
|
|
Command="{Binding OpenMaterialPickerCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonPrimary}"
|
|
|
|
|
|
Height="26" Margin="6,0,0,0" FontSize="12" Padding="10,0"/>
|
|
|
|
|
|
<Button Grid.Column="2"
|
|
|
|
|
|
Command="{Binding ClearMaterialCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonIcon}"
|
|
|
|
|
|
Height="26" Width="24" Margin="4,0,0,0" Padding="0"
|
|
|
|
|
|
ToolTip="清除物料"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}"
|
|
|
|
|
|
hc:IconElement.Geometry="{StaticResource ErrorGeometry}"/>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 1: 批次号 / 入场时间 ===== -->
|
|
|
|
|
|
<Border Grid.Row="1" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="批次号" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="1" Grid.Column="1"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<TextBlock Text="{Binding Entry.BatchNo}" VerticalAlignment="Center" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}" TextTrimming="CharacterEllipsis"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="1" Grid.Column="2"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="入场时间" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="1" Grid.Column="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="4,3">
|
|
|
|
|
|
<!-- 自定义日期时间选择器:日历 + 时/分/秒 三列 + 此刻/确定 -->
|
|
|
|
|
|
<ctrls:DateTimeListPicker SelectedDateTime="{Binding Entry.EntryTime, Mode=TwoWay}"
|
|
|
|
|
|
DateTimeFormat="yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
|
Placeholder="请选择入场时间"/>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 2: 榜单号 ===== -->
|
|
|
|
|
|
<Border Grid.Row="2" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="榜单号" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<TextBlock Grid.Column="0" Text="{Binding Entry.BillNo}"
|
|
|
|
|
|
VerticalAlignment="Center" FontSize="13" TextTrimming="CharacterEllipsis"
|
2026-05-09 18:25:34 +08:00
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<Button Grid.Column="1" Content="选 择"
|
|
|
|
|
|
Command="{Binding OpenWeightRecordPickerCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonPrimary}"
|
|
|
|
|
|
Height="26" Margin="6,0,0,0" FontSize="12" Padding="10,0"/>
|
|
|
|
|
|
<Button Grid.Column="2"
|
|
|
|
|
|
Command="{Binding ClearWeightRecordCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonIcon}"
|
|
|
|
|
|
Height="26" Width="24" Margin="4,0,0,0" Padding="0"
|
|
|
|
|
|
ToolTip="清除榜单"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}"
|
|
|
|
|
|
hc:IconElement.Geometry="{StaticResource ErrorGeometry}"/>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 3: 供料客户 / 供应商名称 ===== -->
|
|
|
|
|
|
<Border Grid.Row="3" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="供料客户" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="3" Grid.Column="1"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}" Padding="4,0">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<TextBox Text="{Binding Entry.SupplyCustomer, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
VerticalContentAlignment="Center" BorderThickness="0" Background="Transparent"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock IsHitTestVisible="False" VerticalAlignment="Center" Margin="4,0"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}" Opacity="0.6"
|
|
|
|
|
|
Text="请填写供料客户">
|
|
|
|
|
|
<TextBlock.Style>
|
|
|
|
|
|
<Style TargetType="TextBlock">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.SupplyCustomer}" Value="">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.SupplyCustomer}" Value="{x:Null}">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</TextBlock.Style>
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="3" Grid.Column="2"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="供应商名称" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="3" Grid.Column="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="4,0">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<Grid Grid.Column="0">
|
|
|
|
|
|
<TextBox Text="{Binding Entry.SupplierName, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
VerticalContentAlignment="Center" BorderThickness="0" Background="Transparent"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock IsHitTestVisible="False" VerticalAlignment="Center" Margin="4,0"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}" Opacity="0.6"
|
|
|
|
|
|
Text="自动带出,或手动选择/填写">
|
|
|
|
|
|
<TextBlock.Style>
|
|
|
|
|
|
<Style TargetType="TextBlock">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.SupplierName}" Value="">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.SupplierName}" Value="{x:Null}">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</TextBlock.Style>
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
<Button Grid.Column="1" Content="选 择"
|
|
|
|
|
|
Command="{Binding OpenSupplierPickerCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonPrimary}"
|
|
|
|
|
|
Height="26" Margin="4,0,0,0" FontSize="12" Padding="8,0"/>
|
|
|
|
|
|
<Button Grid.Column="2"
|
|
|
|
|
|
Command="{Binding ClearSupplierCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonIcon}"
|
|
|
|
|
|
Height="26" Width="24" Margin="2,0,0,0" Padding="0"
|
|
|
|
|
|
ToolTip="清除供应商"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}"
|
|
|
|
|
|
hc:IconElement.Geometry="{StaticResource ErrorGeometry}"/>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 4: 厂家物料名称 / 保质期 ===== -->
|
|
|
|
|
|
<Border Grid.Row="4" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="厂家物料名称" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="11" Foreground="{DynamicResource PrimaryTextBrush}"
|
|
|
|
|
|
TextWrapping="Wrap" TextAlignment="Center"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="4" Grid.Column="1"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<TextBlock Text="{Binding Entry.ManufacturerMaterialName}" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}" TextTrimming="CharacterEllipsis"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="4" Grid.Column="2"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="保质期" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="4" Grid.Column="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<TextBlock Text="{Binding Entry.ShelfLife}" VerticalAlignment="Center" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}" TextTrimming="CharacterEllipsis"/>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 5: 总重(KG) / 总份数 ===== -->
|
|
|
|
|
|
<Border Grid.Row="5" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="总重(KG)" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="5" Grid.Column="1"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}" Padding="4,4">
|
|
|
|
|
|
<hc:NumericUpDown Value="{Binding TotalWeightInput}"
|
|
|
|
|
|
Minimum="0" DecimalPlaces="2"
|
|
|
|
|
|
Style="{StaticResource NumericUpDownPlus}"
|
|
|
|
|
|
hc:InfoElement.Placeholder="请输入总重"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="5" Grid.Column="2"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="总份数" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="5" Grid.Column="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<TextBlock Text="{Binding SplitTotalPortionsDisplay}" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 6: 每份总重(KG) / 每份包数 ===== -->
|
|
|
|
|
|
<Border Grid.Row="6" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="每份总重(KG)" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="11" Foreground="{DynamicResource PrimaryTextBrush}"
|
|
|
|
|
|
TextWrapping="Wrap" TextAlignment="Center"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="6" Grid.Column="1"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<TextBlock Text="{Binding SplitPortionWeightDisplay}" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="6" Grid.Column="2"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="每份包数" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="6" Grid.Column="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="6,0">
|
|
|
|
|
|
<TextBlock Text="{Binding SplitPortionPackagesDisplay}" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 7: 库位 / 卸货人 ===== -->
|
|
|
|
|
|
<Border Grid.Row="7" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="库位" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="7" Grid.Column="1"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}" Padding="4,0">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<TextBox Text="{Binding Entry.WarehouseLocation, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
VerticalContentAlignment="Center" BorderThickness="0" Background="Transparent"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock IsHitTestVisible="False" VerticalAlignment="Center" Margin="4,0"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}" Opacity="0.6"
|
|
|
|
|
|
Text="请填写库位">
|
|
|
|
|
|
<TextBlock.Style>
|
|
|
|
|
|
<Style TargetType="TextBlock">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.WarehouseLocation}" Value="">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.WarehouseLocation}" Value="{x:Null}">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</TextBlock.Style>
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="7" Grid.Column="2"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,1" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="卸货人" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="7" Grid.Column="3"
|
|
|
|
|
|
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}" Padding="4,0">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<TextBox Text="{Binding Entry.UnloadOperator, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
VerticalContentAlignment="Center" BorderThickness="0" Background="Transparent"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock IsHitTestVisible="False" VerticalAlignment="Center" Margin="4,0"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}" Opacity="0.6"
|
|
|
|
|
|
Text="请填写卸货人">
|
|
|
|
|
|
<TextBlock.Style>
|
|
|
|
|
|
<Style TargetType="TextBlock">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.UnloadOperator}" Value="">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.UnloadOperator}" Value="{x:Null}">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</TextBlock.Style>
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- ===== Row 8: 备注(末行,无内部底边线) ===== -->
|
|
|
|
|
|
<Border Grid.Row="8" Grid.Column="0"
|
|
|
|
|
|
Background="{DynamicResource SecondaryRegionBrush}"
|
|
|
|
|
|
BorderThickness="0,0,1,0" BorderBrush="{DynamicResource BorderBrush}">
|
|
|
|
|
|
<TextBlock Text="备注" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontSize="12" Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Row="8" Grid.Column="1" Grid.ColumnSpan="3" Padding="4,4">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<TextBox Text="{Binding Entry.Remark, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
TextWrapping="Wrap" AcceptsReturn="True"
|
|
|
|
|
|
VerticalScrollBarVisibility="Auto"
|
|
|
|
|
|
BorderThickness="0" Background="Transparent"
|
|
|
|
|
|
FontSize="13" VerticalContentAlignment="Top"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock IsHitTestVisible="False" VerticalAlignment="Top" Margin="4,0"
|
|
|
|
|
|
FontSize="13" Foreground="{DynamicResource SecondaryTextBrush}" Opacity="0.6"
|
|
|
|
|
|
Text="请填写备注">
|
|
|
|
|
|
<TextBlock.Style>
|
|
|
|
|
|
<Style TargetType="TextBlock">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.Remark}" Value="">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
<DataTrigger Binding="{Binding Entry.Remark}" Value="{x:Null}">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</TextBlock.Style>
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
2026-05-09 19:10:42 +08:00
|
|
|
|
<StackPanel>
|
|
|
|
|
|
<StackPanel.Style>
|
|
|
|
|
|
<Style TargetType="StackPanel">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
|
|
|
|
<Setter Property="Margin" Value="0"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding IsSpecialAdoptionValue}" Value="1">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
<Setter Property="Margin" Value="0,0,0,4"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</StackPanel.Style>
|
|
|
|
|
|
<hc:Row Gutter="16">
|
|
|
|
|
|
<hc:Col Span="8">
|
|
|
|
|
|
<hc:TextBox Text="{Binding Entry.SpecialAdoptionOperator, 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,4"/>
|
|
|
|
|
|
</hc:Col>
|
|
|
|
|
|
<hc:Col Span="8">
|
|
|
|
|
|
<DockPanel Margin="0,0,0,4" LastChildFill="True">
|
|
|
|
|
|
<TextBlock DockPanel.Dock="Left" Text="特采时间" Width="80"
|
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<ctrls:DateTimeListPicker SelectedDateTime="{Binding Entry.SpecialAdoptionTime, Mode=TwoWay}"
|
|
|
|
|
|
DateTimeFormat="yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
|
Placeholder="请选择特采时间"/>
|
2026-05-09 19:10:42 +08:00
|
|
|
|
</DockPanel>
|
|
|
|
|
|
</hc:Col>
|
|
|
|
|
|
</hc:Row>
|
|
|
|
|
|
|
|
|
|
|
|
<hc:TextBox Text="{Binding Entry.SpecialAdoptionReason, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
hc:InfoElement.Title="特采原因"
|
|
|
|
|
|
hc:InfoElement.TitleWidth="80"
|
|
|
|
|
|
hc:InfoElement.TitlePlacement="Left"
|
|
|
|
|
|
hc:InfoElement.Placeholder="请输入特采原因"
|
|
|
|
|
|
hc:InfoElement.ShowClearButton="True"
|
|
|
|
|
|
TextWrapping="Wrap"
|
|
|
|
|
|
AcceptsReturn="True"
|
|
|
|
|
|
HorizontalAlignment="Stretch"
|
|
|
|
|
|
Height="64"
|
|
|
|
|
|
VerticalScrollBarVisibility="Auto"
|
|
|
|
|
|
Margin="0,0,0,4"/>
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
2026-05-09 18:25:34 +08:00
|
|
|
|
<!-- 拆码明细:移出 hc:Row 避免被行高限制裁剪 -->
|
2026-05-09 19:10:42 +08:00
|
|
|
|
<Border BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" CornerRadius="6" Padding="12" Margin="0,0,0,8">
|
2026-05-09 18:25:34 +08:00
|
|
|
|
<StackPanel>
|
|
|
|
|
|
<DockPanel Margin="0,0,0,10">
|
|
|
|
|
|
<TextBlock Text="拆码明细"
|
|
|
|
|
|
FontSize="14"
|
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"
|
|
|
|
|
|
VerticalAlignment="Center"/>
|
|
|
|
|
|
<Button DockPanel.Dock="Right"
|
|
|
|
|
|
Content="新增明细"
|
|
|
|
|
|
Command="{Binding AddSplitDetailCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonPrimary}"
|
|
|
|
|
|
Height="30"
|
|
|
|
|
|
Padding="10,0"
|
|
|
|
|
|
FontSize="12"/>
|
|
|
|
|
|
</DockPanel>
|
|
|
|
|
|
|
2026-05-09 19:10:42 +08:00
|
|
|
|
<StackPanel>
|
|
|
|
|
|
<!-- 表头 -->
|
|
|
|
|
|
<Grid Background="{DynamicResource SecondaryRegionBrush}" Height="40">
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="80"/>
|
|
|
|
|
|
<ColumnDefinition Width="130"/>
|
|
|
|
|
|
<ColumnDefinition Width="100"/>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="90"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<TextBlock Grid.Column="0" Text="份数"
|
|
|
|
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontWeight="SemiBold" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock Grid.Column="1" Text="每份重量(KG)"
|
|
|
|
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontWeight="SemiBold" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock Grid.Column="2" Text="每份包数"
|
|
|
|
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontWeight="SemiBold" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock Grid.Column="3" Text="库位"
|
|
|
|
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontWeight="SemiBold" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock Grid.Column="4" Text="操作"
|
|
|
|
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
|
|
|
|
FontWeight="SemiBold" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 空状态提示 -->
|
|
|
|
|
|
<TextBlock Text="暂无明细,请点击「新增明细」添加"
|
|
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}"
|
|
|
|
|
|
FontSize="12"
|
|
|
|
|
|
Margin="0,14">
|
|
|
|
|
|
<TextBlock.Style>
|
|
|
|
|
|
<Style TargetType="TextBlock">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
|
<DataTrigger Binding="{Binding SplitCodeDetails.Count}" Value="0">
|
|
|
|
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
|
|
|
|
</DataTrigger>
|
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
|
</Style>
|
|
|
|
|
|
</TextBlock.Style>
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<!-- 数据行:行高对齐表头 40px,输入框给足上下边距避免边框被裁切 -->
|
2026-05-09 19:10:42 +08:00
|
|
|
|
<ItemsControl ItemsSource="{Binding SplitCodeDetails}">
|
|
|
|
|
|
<ItemsControl.ItemTemplate>
|
|
|
|
|
|
<DataTemplate>
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<Grid Height="44">
|
2026-05-09 19:10:42 +08:00
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="80"/>
|
|
|
|
|
|
<ColumnDefinition Width="130"/>
|
|
|
|
|
|
<ColumnDefinition Width="100"/>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="90"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<Border Grid.Column="0" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
|
|
|
|
|
|
<TextBox Text="{Binding Portions, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
VerticalAlignment="Center" Height="32"
|
2026-05-09 19:10:42 +08:00
|
|
|
|
BorderBrush="#D9D9D9" BorderThickness="1"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
Background="White" FontSize="13" Margin="4,0"/>
|
2026-05-09 19:10:42 +08:00
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Column="1" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
|
|
|
|
|
|
<TextBox Text="{Binding PortionWeight, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
VerticalAlignment="Center" Height="32"
|
2026-05-09 19:10:42 +08:00
|
|
|
|
BorderBrush="#D9D9D9" BorderThickness="1"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
Background="White" FontSize="13" Margin="4,0"/>
|
2026-05-09 19:10:42 +08:00
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Column="2" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
|
|
|
|
|
|
<TextBox Text="{Binding PortionPackages, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
|
|
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
VerticalAlignment="Center" Height="32"
|
2026-05-09 19:10:42 +08:00
|
|
|
|
BorderBrush="#D9D9D9" BorderThickness="1"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
Background="White" FontSize="13" Margin="4,0"/>
|
2026-05-09 19:10:42 +08:00
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Column="3" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
|
|
|
|
|
|
<TextBox Text="{Binding WarehouseLocation, UpdateSourceTrigger=PropertyChanged}"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Center"
|
|
|
|
|
|
VerticalAlignment="Center" Height="32"
|
2026-05-09 19:10:42 +08:00
|
|
|
|
BorderBrush="#D9D9D9" BorderThickness="1"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
Background="White" FontSize="13" Padding="8,0" Margin="4,0"/>
|
2026-05-09 19:10:42 +08:00
|
|
|
|
</Border>
|
|
|
|
|
|
<Border Grid.Column="4" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
|
|
|
|
|
|
<Button Content="删除"
|
|
|
|
|
|
Command="{Binding DataContext.RemoveSplitDetailCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}"
|
|
|
|
|
|
CommandParameter="{Binding}"
|
|
|
|
|
|
Style="{StaticResource ButtonDanger}"
|
2026-05-11 14:32:44 +08:00
|
|
|
|
VerticalAlignment="Center" Height="28"
|
|
|
|
|
|
Padding="6,0" Margin="12,0" FontSize="11"/>
|
2026-05-09 19:10:42 +08:00
|
|
|
|
</Border>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
</ItemsControl.ItemTemplate>
|
|
|
|
|
|
</ItemsControl>
|
|
|
|
|
|
</StackPanel>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
</StackPanel>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
</StackPanel>
|
2026-05-11 14:32:44 +08:00
|
|
|
|
</hc:ScrollViewer>
|
|
|
|
|
|
|
|
|
|
|
|
<GridSplitter x:Name="RightPaneSplitter"
|
|
|
|
|
|
Grid.Column="1"
|
|
|
|
|
|
Width="4"
|
|
|
|
|
|
HorizontalAlignment="Stretch"
|
|
|
|
|
|
VerticalAlignment="Stretch"
|
|
|
|
|
|
ResizeBehavior="PreviousAndNext"
|
|
|
|
|
|
ShowsPreview="True"
|
|
|
|
|
|
Cursor="SizeWE"
|
|
|
|
|
|
Background="{DynamicResource RegionBrush}"
|
|
|
|
|
|
PreviewStyle="{StaticResource GridSplitterPreviewStyle}"
|
|
|
|
|
|
DragCompleted="RightPaneSplitter_OnDragCompleted"/>
|
|
|
|
|
|
|
|
|
|
|
|
<Border Grid.Column="2"
|
|
|
|
|
|
BorderBrush="{DynamicResource BorderBrush}"
|
|
|
|
|
|
BorderThickness="1,0,0,0"
|
|
|
|
|
|
Background="{DynamicResource RegionBrush}">
|
|
|
|
|
|
<DockPanel LastChildFill="True">
|
|
|
|
|
|
<Border DockPanel.Dock="Top" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1" Padding="8,6">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<StackPanel Orientation="Vertical">
|
|
|
|
|
|
<TextBlock Text="今日入场" FontWeight="SemiBold" FontSize="13"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock Text="按入场/创建日期为本日的记录" FontSize="11" Opacity="0.65"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}" TextWrapping="Wrap"/>
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
<Button Grid.Column="1" Content="刷新" Margin="4,0"
|
|
|
|
|
|
Command="{Binding RefreshTodayEntriesCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonPrimary}" Padding="8,2" FontSize="11" Height="26"/>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
|
|
<Border DockPanel.Dock="Top" Background="{DynamicResource SecondaryRegionBrush}" Height="28" Padding="8,0">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<TextBlock Text="条码" FontWeight="SemiBold" FontSize="11"
|
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
<TextBlock Grid.Column="1" Text="物料" FontWeight="SemiBold" FontSize="11"
|
|
|
|
|
|
Margin="6,0,0,0" VerticalAlignment="Center"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"/>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
|
|
<ListBox ItemsSource="{Binding TodayEntries}"
|
|
|
|
|
|
SelectedItem="{Binding SelectedTodayEntry, Mode=TwoWay}"
|
|
|
|
|
|
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
|
|
|
|
|
|
BorderThickness="0"
|
|
|
|
|
|
Background="Transparent"
|
|
|
|
|
|
ItemContainerStyle="{StaticResource TodayEntryListBoxItemStyle}">
|
|
|
|
|
|
<ListBox.ItemTemplate>
|
|
|
|
|
|
<DataTemplate DataType="{x:Type core:MesXslRawMaterialEntry}">
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
<ColumnDefinition Width="*"/>
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
<TextBlock Grid.Column="0" Text="{Binding Barcode}" FontSize="12"
|
|
|
|
|
|
TextTrimming="CharacterEllipsis"
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryTextBrush}"
|
|
|
|
|
|
ToolTip="{Binding Barcode}"/>
|
|
|
|
|
|
<TextBlock Grid.Column="1" Text="{Binding MaterialName}" FontSize="12"
|
|
|
|
|
|
TextTrimming="CharacterEllipsis" Margin="6,0,0,0"
|
|
|
|
|
|
Foreground="{DynamicResource SecondaryTextBrush}"
|
|
|
|
|
|
ToolTip="{Binding MaterialName}"/>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
</ListBox.ItemTemplate>
|
|
|
|
|
|
</ListBox>
|
|
|
|
|
|
</DockPanel>
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
</Grid>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
|
|
|
|
|
|
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,12,0,20">
|
|
|
|
|
|
<Button Content="重置" Command="{Binding ResetCommand}" Style="{StaticResource ButtonDefault}" Margin="0,0,15,0" Width="100"/>
|
2026-05-11 14:32:44 +08:00
|
|
|
|
<Button Content="保存" Command="{Binding SaveCommand}" Style="{StaticResource ButtonPrimary}" Width="100" Margin="0,0,15,0"/>
|
|
|
|
|
|
<Button Content="生成原材料卡片"
|
|
|
|
|
|
Command="{Binding GenerateRawMaterialCardsCommand}"
|
|
|
|
|
|
Style="{StaticResource ButtonDefault}"
|
|
|
|
|
|
Width="130"
|
|
|
|
|
|
IsEnabled="{Binding CanGenerateCards}"
|
|
|
|
|
|
ToolTip="根据拆码明细生成原材料卡片(需先保存入场记录)"/>
|
2026-05-09 18:25:34 +08:00
|
|
|
|
</StackPanel>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</UserControl>
|