You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

301 lines
20 KiB
Plaintext

5 days ago
<UserControl x:Class="Sln_Wpf.Page.WarehouseInfo"
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"
mc:Ignorable="d"
d:DesignHeight="600" d:DesignWidth="1100"
Background="#F5F7FA">
<UserControl.Resources>
<!-- 卡片样式 -->
<Style x:Key="CardStyle" TargetType="Border">
<Setter Property="Background" Value="White"/>
<Setter Property="CornerRadius" Value="12"/>
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="LightGray" BlurRadius="15" ShadowDepth="2" Opacity="0.3"/>
</Setter.Value>
</Setter>
</Style>
<!-- 数据表格样式 -->
<Style x:Key="DataGridStyle" TargetType="DataGrid">
<Setter Property="FontSize" Value="13"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="RowHeight" Value="45"/>
<Setter Property="HeadersVisibility" Value="Column"/>
<Setter Property="GridLinesVisibility" Value="Horizontal"/>
<Setter Property="HorizontalGridLinesBrush" Value="#E9ECF1"/>
<Setter Property="VerticalGridLinesBrush" Value="Transparent"/>
<Setter Property="Background" Value="White"/>
<Setter Property="RowBackground" Value="White"/>
<Setter Property="AlternatingRowBackground" Value="#F9FAFC"/>
<Setter Property="SelectionMode" Value="Single"/>
<Setter Property="SelectionUnit" Value="FullRow"/>
</Style>
<!-- 按钮样式 -->
<Style x:Key="ActionButtonStyle" TargetType="Button">
<Setter Property="Height" Value="32"/>
<Setter Property="Width" Value="70"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontWeight" Value="Medium"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
CornerRadius="6"
Padding="8,5">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value="0.85"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- TabControl样式 -->
<Style TargetType="TabControl">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
<Style TargetType="TabItem">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Padding" Value="30,12"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border Background="{TemplateBinding Background}"
BorderThickness="0,0,0,3"
BorderBrush="Transparent"
CornerRadius="8,8,0,0">
<ContentPresenter x:Name="ContentSite"
HorizontalAlignment="Center"
VerticalAlignment="Center"
ContentSource="Header"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="White"/>
<Setter TargetName="ContentSite" Property="TextBlock.Foreground" Value="#3A7CA5"/>
<Setter Property="BorderBrush" Value="#3A7CA5"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#F0F2F5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid Margin="30,20,30,20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- 主要内容区TabControl 包含库位管理和物料信息 -->
<TabControl Grid.Row="1" Background="Transparent" SelectionChanged="TabControl_SelectionChanged">
<!-- Tab 1: 库位管理 -->
<TabItem Header="📍 库位管理">
<Grid Margin="0,20,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- 操作栏:增删改查按钮 -->
<Border Grid.Row="0" Style="{StaticResource CardStyle}" Padding="15,12" Margin="0,0,0,20">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Button x:Name="BtnLocationAdd" Style="{StaticResource ActionButtonStyle}" Background="#27AE60" Content=" 新增" Click="BtnLocationAdd_Click" Margin="0,0,10,0"/>
<Button x:Name="BtnLocationEdit" Style="{StaticResource ActionButtonStyle}" Background="#F39C12" Content="✏️ 编辑" Click="BtnLocationEdit_Click" Margin="0,0,10,0"/>
<Button x:Name="BtnLocationDelete" Style="{StaticResource ActionButtonStyle}" Background="#E74C3C" Content="🗑️ 删除" Click="BtnLocationDelete_Click" Margin="0,0,10,0"/>
<Button x:Name="BtnLocationQuery" Style="{StaticResource ActionButtonStyle}" Background="#3498DB" Content="🔍 查询" Click="BtnLocationQuery_Click" Margin="0,0,10,0"/>
<Border Width="1" Background="#E9ECF1" Margin="15,0,15,0"/>
<TextBlock Text="快速筛选:" FontSize="13" Foreground="#5A6E7A" VerticalAlignment="Center" Margin="0,0,10,0"/>
<ComboBox x:Name="FilterWorkshop" Width="100" Height="32" VerticalAlignment="Center" Margin="0,0,10,0" SelectedIndex="0">
<ComboBoxItem Content="全部车间" Tag ="99"/>
<ComboBoxItem Content="一车间" Tag ="1"/>
<ComboBoxItem Content="二车间" Tag ="2"/>
<ComboBoxItem Content="三车间" Tag ="3"/>
</ComboBox>
<ComboBox x:Name="FilterStatus" Width="100" Height="32" VerticalAlignment="Center" Margin="0,0,10,0" SelectedIndex="0">
<ComboBoxItem Content="全部状态"/>
<ComboBoxItem Content="空闲" Tag="0"/>
<ComboBoxItem Content="占用" Tag="1"/>
<ComboBoxItem Content="维护" Tag="2"/>
<ComboBoxItem Content="禁用" Tag="3"/>
</ComboBox>
<TextBox x:Name="SearchLocationKeyword" Width="180" Height="32" VerticalAlignment="Center" Padding="8,5"
Background="#F8F9FA" BorderBrush="#E0E4E8"
Text="请输入库位编号" Foreground="#95A5A6"/>
</StackPanel>
</Border>
<!-- 库位信息表格 -->
<Border Grid.Row="2" Style="{StaticResource CardStyle}" Padding="0">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<DataGrid x:Name="LocationDataGrid" Style="{StaticResource DataGridStyle}"
AutoGenerateColumns="False" CanUserAddRows="False"
SelectionChanged="LocationDataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="所属工坊ID" Width="100" Binding="{Binding WorkshopId}" FontWeight="SemiBold"/>
<DataGridTextColumn Header="所属楼层" Width="100" Binding="{Binding WorkshopLevel}"/>
<DataGridTextColumn Header="仓库编号" Width="100" Binding="{Binding WarehouseId}"/>
<DataGridTextColumn Header="机台编号" Width="100" Binding="{Binding MachineId}"/>
<DataGridTextColumn Header="位置编号" Width="100" Binding="{Binding LocationCode}"/>
<DataGridTextColumn Header="AGV位置编号" Width="120" Binding="{Binding AgvPositionCode}"/>
<DataGridTextColumn Header="托盘编号" Width="100" Binding="{Binding ContainerCode}"/>
<DataGridTextColumn Header="是否启用" Width="80" Binding="{Binding ActiveFlag}"/>
<DataGridTextColumn Header="库位状态" Width="80" Binding="{Binding LocationStatus}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{Binding StatusColor}"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Border>
</Grid>
</TabItem>
<!-- Tab 2: 物料信息 -->
<TabItem Header="📦 物料信息">
<Grid Margin="0,20,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- 操作栏:增删改查按钮 -->
<Border Grid.Row="0" Style="{StaticResource CardStyle}" Padding="15,12" Margin="0,0,0,20">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Button x:Name="BtnMaterialAdd" Style="{StaticResource ActionButtonStyle}" Background="#27AE60" Content=" 新增" Click="BtnMaterialAdd_Click" Margin="0,0,10,0"/>
<Button x:Name="BtnMaterialEdit" Style="{StaticResource ActionButtonStyle}" Background="#F39C12" Content="✏️ 编辑" Click="BtnMaterialEdit_Click" Margin="0,0,10,0"/>
<Button x:Name="BtnMaterialDelete" Style="{StaticResource ActionButtonStyle}" Background="#E74C3C" Content="🗑️ 删除" Click="BtnMaterialDelete_Click" Margin="0,0,10,0"/>
<Button x:Name="BtnMaterialQuery" Style="{StaticResource ActionButtonStyle}" Background="#3498DB" Content="🔍 查询" Click="BtnMaterialQuery_Click" Margin="0,0,10,0"/>
<Border Width="1" Background="#E9ECF1" Margin="15,0,15,0"/>
<TextBlock Text="快速筛选:" FontSize="13" Foreground="#5A6E7A" VerticalAlignment="Center" Margin="0,0,10,0"/>
<ComboBox x:Name="FilterMaterialType" Width="120" Height="32" VerticalAlignment="Center" Margin="0,0,10,0" SelectedIndex="0">
<ComboBoxItem Content="全部类型"/>
<ComboBoxItem Content="原材料"/>
<ComboBoxItem Content="半成品"/>
<ComboBoxItem Content="成品"/>
<ComboBoxItem Content="辅料"/>
</ComboBox>
<ComboBox x:Name="FilterMaterialStatus" Width="100" Height="32" VerticalAlignment="Center" Margin="0,0,10,0" SelectedIndex="0">
<ComboBoxItem Content="全部状态"/>
<ComboBoxItem Content="正常"/>
<ComboBoxItem Content="待检"/>
<ComboBoxItem Content="报废"/>
<ComboBoxItem Content="冻结"/>
</ComboBox>
<TextBox x:Name="SearchMaterialKeyword" Width="180" Height="32" VerticalAlignment="Center" Padding="8,5"
Background="#F8F9FA" BorderBrush="#E0E4E8"
Text="请输入物料编号/名称" Foreground="#95A5A6"/>
</StackPanel>
</Border>
<!-- 物料信息表格 -->
<Border Grid.Row="2" Style="{StaticResource CardStyle}" Padding="0">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<DataGrid x:Name="MaterialDataGrid" Style="{StaticResource DataGridStyle}"
AutoGenerateColumns="False" CanUserAddRows="False"
SelectionChanged="MaterialDataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="物料编号" Width="120" Binding="{Binding MaterialCode}" FontWeight="SemiBold"/>
<DataGridTextColumn Header="物料名称" Width="150" Binding="{Binding MaterialName}"/>
<DataGridTextColumn Header="物料类型" Width="100" Binding="{Binding MaterialType}"/>
<DataGridTextColumn Header="物料分类" Width="100" Binding="{Binding MaterialCategory}"/>
<DataGridTextColumn Header="状态" Width="80" Binding="{Binding Status}"/>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Border>
</Grid>
</TabItem>
<!-- Tab 3: 出入库记录 -->
<TabItem Header="📋 出入库记录">
<Grid Margin="0,20,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- 操作栏:增删改查按钮 -->
<Border Grid.Row="0" Style="{StaticResource CardStyle}" Padding="15,12" Margin="0,0,0,20">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Button x:Name="BtnInoutDelete" Style="{StaticResource ActionButtonStyle}" Background="#E74C3C" Content="🗑️ 删除" Click="BtnInoutDelete_Click" Margin="0,0,10,0"/>
<Button x:Name="BtnInoutQuery" Style="{StaticResource ActionButtonStyle}" Background="#3498DB" Content="🔍 查询" Click="BtnInoutQuery_Click" Margin="0,0,10,0"/>
<Border Width="1" Background="#E9ECF1" Margin="15,0,15,0"/>
<TextBlock Text="快速筛选:" FontSize="13" Foreground="#5A6E7A" VerticalAlignment="Center" Margin="0,0,10,0"/>
<ComboBox x:Name="FilterInoutFlag" Width="100" Height="32" VerticalAlignment="Center" Margin="0,0,10,0" SelectedIndex="0">
<ComboBoxItem Content="全部"/>
<ComboBoxItem Content="入库"/>
<ComboBoxItem Content="出库"/>
</ComboBox>
<DatePicker x:Name="FilterStartDate" Width="130" Height="32" VerticalAlignment="Center" Margin="0,0,10,0"/>
<TextBlock Text="至" FontSize="13" Foreground="#5A6E7A" VerticalAlignment="Center" Margin="0,0,10,0"/>
<DatePicker x:Name="FilterEndDate" Width="130" Height="32" VerticalAlignment="Center" Margin="0,0,10,0"/>
<TextBox x:Name="SearchInoutKeyword" Width="180" Height="32" VerticalAlignment="Center" Padding="8,5"
Background="#F8F9FA" BorderBrush="#E0E4E8"
Text="请输入物料编号/人员" Foreground="#95A5A6"/>
</StackPanel>
</Border>
<!-- 出入库记录表格 -->
<Border Grid.Row="2" Style="{StaticResource CardStyle}" Padding="0">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<DataGrid x:Name="InoutDataGrid" Style="{StaticResource DataGridStyle}"
AutoGenerateColumns="False" CanUserAddRows="False"
SelectionChanged="InoutDataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="出入库标志" Width="100" Binding="{Binding InoutFlagText}" FontWeight="SemiBold">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{Binding InoutFlagColor}"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="物料类型" Width="120" Binding="{Binding MaterialType}"/>
<DataGridTextColumn Header="物料编号" Width="150" Binding="{Binding MaterialCode}"/>
<DataGridTextColumn Header="仓库编号" Width="120" Binding="{Binding WarehouseId}"/>
<DataGridTextColumn Header="出入库人员" Width="120" Binding="{Binding Createuser}"/>
<DataGridTextColumn Header="出入库时间" Width="160" Binding="{Binding CreateTime}"/>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Border>
</Grid>
</TabItem>
</TabControl>
</Grid>
</UserControl>