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
XML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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>