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

218 lines
15 KiB

<UserControl x:Class="Audit.View.StatisticsView"
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:Audit.View"
xmlns:ConvertMoels="clr-namespace:Audit.ConvertMoels"
mc:Ignorable="d" DataContext="{Binding Source={StaticResource Locator},Path=Statistics}"
d:DesignHeight="900" d:DesignWidth="1140"
Loaded="UserControl_Loaded"
xmlns:mah="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro">
<UserControl.Resources>
<ConvertMoels:ConsumptionConvert x:Key="ConsumptionConvert"/>
<ConvertMoels:GramsSumConvert x:Key="GramsSumConvert"/>
<ConvertMoels:MachinesGramsSumConvert x:Key="MachinesGramsSumConvert"/>
<ConvertMoels:MachinesDyelotsNumberConvert x:Key="MachinesDyelotsNumberConvert"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="#CCCCCC">
</Border>
<Grid Grid.Row="0"/>
<Grid Grid.Row="1">
<Grid Grid.Column="1">
</Grid>
<DataGrid x:Name="DataGridStatistics" MouseDoubleClick="DataGridStatistics_MouseDoubleClick"
ItemsSource="{Binding Product, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectionMode="Single" AlternationCount="2" IsReadOnly="True" HorizontalAlignment="Left"
Margin="15,15,0,150" d:ItemsSource="{d:SampleData ItemCount=200}" AutoGenerateColumns="False"
MinColumnWidth="30" HorizontalGridLinesBrush="#FFC9C9C9" VerticalGridLinesBrush="#FFC9C9C9"
GridLinesVisibility="All" BorderBrush="#CCCCCC" BorderThickness="1,1,1,1" ColumnHeaderHeight="40"
HorizontalContentAlignment="Right" Grid.ColumnSpan="2" CanUserReorderColumns="False">
<DataGrid.RowStyle >
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#FFFFFFFF" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#FFF5F5F5" />
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="MinWidth" Value="20"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#FFC0C0C0"/>
<Setter Property="BorderBrush" Value="#FFC0C0C0"/>
<Setter Property="Foreground" Value="#000000"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<!--列信息绑定-->
<DataGridTextColumn Header="原料代码" Width="100" FontSize="15" Binding="{Binding ProductCode}" MaxWidth="150" MinWidth="100" CanUserReorder="False"/>
<DataGridTextColumn Header="原料名称" Width="130" FontSize="15" Binding="{Binding ProductName}" MaxWidth="200" MinWidth="50" CanUserReorder="False"/>
<DataGridTextColumn Header="单价(¥/kg)" Width="0" FontSize="15" Binding="{Binding Price}" MaxWidth="0" MinWidth="0" CanUserReorder="False"/>
<DataGridTextColumn Header="总消耗(kg)" Width="120" FontSize="15" MaxWidth="200" MinWidth="100" CanUserReorder="False">
<!--事件名称:消耗总量计算,转换器ConsumptionConvert-->
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="{Binding Path=ProductCode,Converter={StaticResource ConsumptionConvert}}">
</Setter>
<Setter Property="TextAlignment" Value="Right"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="总金额(¥)" Width="0" FontSize="15" MaxWidth="0" MinWidth="0" CanUserReorder="False">
<!--事件名称:总价计算,转换器GramsSumConvert-->
<DataGridTextColumn.Binding>
<MultiBinding StringFormat="{}{0}" Converter="{StaticResource GramsSumConvert}">
<Binding Path="ProductCode"></Binding>
<Binding Path="Price"></Binding>
</MultiBinding>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<DatePicker x:Name="query_date_start" HorizontalAlignment="Left" Height="30" Margin="450,0,0,100" VerticalAlignment="Bottom" Width="115" FontSize="15" Padding="1,1,0,1">
<DatePicker.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
</Style>
</DatePicker.Resources>
</DatePicker>
<ComboBox x:Name="query_date_start_time" HorizontalAlignment="Left" Height="30" Margin="575,0,0,100" Text="0:00:00"
VerticalAlignment="Bottom" Width="100" FontSize="15" IsReadOnly="True" IsEditable="True"
Background="White" Foreground="#FF474747" BorderBrush="#FFC2C2C2" Padding="0,-1,0,0">
<ComboBoxItem Content="0:00:00"/>
<ComboBoxItem x:Name="st1" Content=""/>
<ComboBoxItem x:Name="st2" Content=""/>
<ComboBoxItem x:Name="st3" Content=""/>
<ComboBoxItem x:Name="st4" Content=""/>
<ComboBoxItem x:Name="st5" Content=""/>
<ComboBoxItem x:Name="st6" Content=""/>
<ComboBoxItem x:Name="st7" Content=""/>
<ComboBoxItem x:Name="st8" Content=""/>
<ComboBoxItem x:Name="st9" Content=""/>
</ComboBox>
<DatePicker x:Name="query_date_end" HorizontalAlignment="Left" Height="30" Margin="715,0,0,100" VerticalAlignment="Bottom" Width="115" FontSize="15" Padding="1,1,0,1" >
<DatePicker.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="Text" Value=""/>
</Style>
</DatePicker.Resources>
</DatePicker>
<ComboBox x:Name="query_date_end_time" HorizontalAlignment="Left" Height="30" Margin="840,0,0,100" Text="0:00:00"
VerticalAlignment="Bottom" Width="100" FontSize="15" IsReadOnly="True" IsEditable="True"
Background="White" Foreground="#FF474747" BorderBrush="#FFC2C2C2" Padding="0,-1,0,0">
<ComboBoxItem Content="0:00:00"/>
<ComboBoxItem x:Name="et1" Content=""/>
<ComboBoxItem x:Name="et2" Content=""/>
<ComboBoxItem x:Name="et3" Content=""/>
<ComboBoxItem x:Name="et4" Content=""/>
<ComboBoxItem x:Name="et5" Content=""/>
<ComboBoxItem x:Name="et6" Content=""/>
<ComboBoxItem x:Name="et7" Content=""/>
<ComboBoxItem x:Name="et8" Content=""/>
<ComboBoxItem x:Name="et9" Content=""/>
</ComboBox>
<TextBlock HorizontalAlignment="Left" Height="45" Margin="675,0,0,101" TextWrapping="Wrap" Text="~"
VerticalAlignment="Bottom" Width="40" FontSize="40"/>
<Button Content="统计" HorizontalAlignment="Left" Margin="965,0,0,50"
VerticalAlignment="Bottom" Height="65" Width="135" FontSize="40"
BorderBrush="{x:Null}" Background="#FFCECECE" Click="Button_Click"/>
<!--原料类型-->
<ComboBox x:Name="stuff_ProductType" HorizontalAlignment="Left" Height="30" Margin="810,0,0,50" Text="全部原料"
VerticalAlignment="Bottom" Width="95" FontSize="16" IsReadOnly="True" IsEditable="True">
<ComboBoxItem Content="全部原料"></ComboBoxItem>
<ComboBoxItem Content="染料"></ComboBoxItem>
<ComboBoxItem Content="助剂"></ComboBoxItem>
<ComboBoxItem Content="粉体助剂"></ComboBoxItem>
<ComboBoxItem Content="液体染料"></ComboBoxItem>
</ComboBox>
<TextBox x:Name="productcode" HorizontalAlignment="Left" Height="30" Margin="100,0,0,100" VerticalAlignment="Bottom" Width="235" FontSize="16" IsReadOnly="True" MaxLines="1"/>
<TextBox x:Name="productname" HorizontalAlignment="Left" Height="30" Margin="100,0,0,50" VerticalAlignment="Bottom" Width="235" FontSize="16" IsReadOnly="True" MaxLines="1"/>
<TextBox x:Name="productsum" HorizontalAlignment="Left" Height="30" Margin="450,0,0,50" VerticalAlignment="Bottom" Width="250" FontSize="16" IsReadOnly="True" MaxLines="1"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="720,0,0,50" TextWrapping="Wrap" Text="原料类型"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="350,0,0,100" TextWrapping="Wrap" Text="日期范围"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="15,0,0,100" TextWrapping="Wrap" Text="原料代码"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="15,0,0,50" TextWrapping="Wrap" Text="原料名称"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="350,0,0,50" TextWrapping="Wrap" Text="消耗总量"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<DataGrid x:Name="DataGridStatistics_mac"
ItemsSource="{Binding Machines , Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectionMode="Single" AlternationCount="2" IsReadOnly="True" HorizontalAlignment="Left"
Margin="400,15,0,150" d:ItemsSource="{d:SampleData ItemCount=200}" AutoGenerateColumns="False"
MinColumnWidth="30" HorizontalGridLinesBrush="#FFC9C9C9" VerticalGridLinesBrush="#FFC9C9C9"
GridLinesVisibility="All" BorderBrush="#CCCCCC" BorderThickness="1,1,1,1" ColumnHeaderHeight="40"
HorizontalContentAlignment="Right" CanUserReorderColumns="False" SelectionChanged="DataGridStatistics_mac_SelectionChanged">
<DataGrid.RowStyle >
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#FFFFFFFF" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#FFF5F5F5" />
</Trigger>
<Trigger Property="IsMouseOver" Value="False"/>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="MinWidth" Value="20"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#FFC0C0C0"/>
<Setter Property="BorderBrush" Value="#FFC0C0C0"/>
<Setter Property="Foreground" Value="#000000"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<!--列信息绑定-->
<DataGridTextColumn Header="机台" Width="100" FontSize="15" Binding="{Binding Name}" MaxWidth="150" MinWidth="100" CanUserReorder="False"/>
<DataGridTextColumn Header="机台消耗(kg)" Width="120" FontSize="15" MaxWidth="180" MinWidth="100" CanUserReorder="False">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="{Binding Path=Name,Converter={StaticResource MachinesGramsSumConvert}}"/>
<Setter Property="TextAlignment" Value="Right"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="料单数量" Width="70" FontSize="15" MaxWidth="150" MinWidth="50" CanUserReorder="False">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="{Binding Path=Name,Converter={StaticResource MachinesDyelotsNumberConvert}}"/>
<Setter Property="TextAlignment" Value="Right"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</UserControl>