Files
FT479/WPFWCSDemo/Views/TaskHistoryView.xaml
2026-06-29 14:46:32 +08:00

166 lines
11 KiB
XML

<Page x:Class="WPFWCSDemo.Views.TaskHistoryView"
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:md="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:local="clr-namespace:WPFWCSDemo.Views"
xmlns:viewmodels="clr-namespace:WPFWCSDemo.ViewModels"
d:DataContext="{d:DesignInstance Type=viewmodels:TaskHistoryViewModel}"
mc:Ignorable="d"
d:DesignHeight="900" d:DesignWidth="1600"
Title="TaskHistoryView">
<Page.Resources>
<Style x:Key="pageText" TargetType="TextBlock" BasedOn="{StaticResource MaterialDesignTextBlock}">
<Setter Property="Foreground" Value="DimGray"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Margin" Value="50 0"/>
</Style>
<Style x:Key="pageButton" TargetType="Button" BasedOn="{StaticResource MaterialDesignRaisedButton}">
<Setter Property="Background" Value="GhostWhite"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Width" Value="50"/>
<Setter Property="Margin" Value="1"/>
<Setter Property="Padding" Value="0"/>
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="BlueViolet"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="pageButtonSelectedColor" TargetType="Button" BasedOn="{StaticResource pageButton}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="BlueViolet"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<!--标题-->
<TextBlock Text="历史记录 - 调度任务" FontSize="30" FontWeight="Bold" Margin="10,5"/>
<!--上方搜索区域-->
<Grid Grid.Row="1" Margin="40 10 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<!--日期-->
<StackPanel Orientation="Horizontal">
<!--开始时间-->
<DatePicker Text="{Binding DateStart,Mode=TwoWay}" SelectedDate="{Binding DateStart}" IsTodayHighlighted="True" Width="150" md:HintAssist.Hint="Pick StartDate" Style="{StaticResource MaterialDesignOutlinedDatePicker}" Margin="10,0"/>
<md:TimePicker Text="{Binding TxtTimeStart,Mode=TwoWay}" SelectedTime="{Binding TimeStart}" Is24Hours="True" Width="150" md:HintAssist.Hint="Pick StartTime" Style="{StaticResource MaterialDesignOutlinedTimePicker}"/>
<!--结束时间-->
<DatePicker Text="{Binding DateEnd,Mode=TwoWay}" SelectedDate="{Binding DateEnd}" IsTodayHighlighted="True" Width="150" md:HintAssist.Hint="Pick EndDate" Style="{StaticResource MaterialDesignOutlinedDatePicker}" Margin="50,0,10,0"/>
<md:TimePicker Text="{Binding TxtTimeEnd,Mode=TwoWay}" SelectedTime="{Binding TimeEnd}" Is24Hours="True" Width="150" md:HintAssist.Hint="Pick EndTime" Style="{StaticResource MaterialDesignOutlinedTimePicker}"/>
</StackPanel>
<!--搜索-->
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right">
<ComboBox Text="{Binding ColumnName}" SelectedItem="{Binding ColumnName,Mode=TwoWay}" IsReadOnly="True" ItemsSource="{Binding ColumnList}" md:HintAssist.Hint="请选择字段" Style="{StaticResource MaterialDesignOutlinedComboBox}" Width="150" Margin="10,0"/>
<TextBox Text="{Binding Keywords,Mode=TwoWay}" Width="150" Style="{StaticResource MaterialDesignOutlinedTextBox}" md:HintAssist.Hint="输入关键词"/>
</StackPanel>
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Grid.Column="2" Margin="10 0 50 0">
<Button Width="150" Height="50" Content="查询" Command="{Binding QueryCommand}" CommandParameter="1" Margin="20,0"/>
<Button Width="150" Height="50" Content="重置" Command="{Binding ClearCommand}" Background="White" Foreground="BlueViolet" DockPanel.Dock="Right"/>
</StackPanel>
</Grid>
<!--表格区域-->
<Grid Grid.Row="2" Margin="50,20">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<DataGrid x:Name="taskHistoryDataGrid" GridLinesVisibility="None" AlternatingRowBackground="Lavender" ItemsSource="{Binding TaskHistory}" RowHeight="50" ColumnHeaderStyle="{StaticResource MaterialDesignRaisedButton}" AutoGenerateColumns="False" ColumnHeaderHeight="50" IsReadOnly="True" CanUserAddRows="False" SelectionMode="Extended" SelectionUnit="FullRow" >
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<!--<Setter Property="BorderThickness" Value="0"/>-->
<Setter Property="BorderBrush" Value="Transparent"/>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="环穿编号" Binding="{Binding JobId}" Width="*"/>
<DataGridTextColumn Header="任务号" Binding="{Binding TaskId}" Width="*"/>
<!--<DataGridTextColumn Header="托盘号" Binding="{Binding PalletId}"/>-->
<DataGridTextColumn Header="任务类型" Binding="{Binding TaskType}" Width="*"/>
<DataGridTextColumn Header="源站点" Binding="{Binding SourceLocation}" Width="*"/>
<DataGridTextColumn Header="目标站点" Binding="{Binding TargetLocation}" Width="*"/>
<DataGridTextColumn Header="任务状态" Binding="{Binding TaskState}" Width="1.5*"/>
<DataGridTextColumn Header="调度状态" Binding="{Binding ScheduleState}" Width="2*"/>
<DataGridTextColumn Header="生成时间" Binding="{Binding CreateTime, StringFormat=\{0:yyyy-MM-dd HH:mm:ss\}}" Width="2*"/>
<DataGridTextColumn Header="调度时间" Binding="{Binding ScheduleTime, StringFormat=\{0:yyyy-MM-dd HH:mm:ss\}}" Width="2*"/>
<DataGridTextColumn Header="结束时间" Binding="{Binding FinishTime, StringFormat=\{0:yyyy-MM-dd HH:mm:ss\}}" Width="2*"/>
</DataGrid.Columns>
</DataGrid>
<Grid Grid.Row="1" Height="50" Background="AntiqueWhite">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<!--每页条数-->
<StackPanel Margin="20 0" Orientation="Horizontal">
<!--总条数-->
<TextBlock Text="{Binding DataCount}" Style="{StaticResource pageText}" Margin="50 0 20 0"/>
<TextBlock Text="每页 10 " Style="{StaticResource pageText}" Margin="0"/>
<TextBlock Text="条" Style="{StaticResource pageText}" Margin="0"/>
</StackPanel>
<!--页码选择-->
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal" Margin="20 0">
<Button Content="首页" Style="{StaticResource pageButton}" Command="{Binding PageFirstCommand}"/>
<Button Content="上一页" Style="{StaticResource pageButton}" Width="70" Command="{Binding PageBeforeCommand}" CommandParameter="{Binding PageSelected}"/>
<!--<ItemsControl ItemsSource="{Binding Pages}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="{Binding Pages.Count}"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button x:Name="btnPage" Content="{Binding}" Style="{StaticResource pageButtonSelectedColor}" Command="{Binding DataContext.PageClickCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding ElementName=btnPage,Path=Content}" CommandTarget="{Binding ElementName=taskHistoryDataGrid,Path=DataContext}"/>
<Button x:Name="btnPage" Content="{Binding}" Style="{StaticResource pageButtonSelectedColor}" Command="{Binding ElementName=taskHistoryDataGrid, Path=DataContext.PageClickCommand}" CommandParameter="{Binding ElementName=btnPage,Path=Content}" CommandTarget="{Binding ElementName=taskHistoryDataGrid,Path=DataContext.PageClickCommand}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>-->
<Button Content="下一页" Style="{StaticResource pageButton}" Width="70" Command="{Binding PageNextCommand}" CommandParameter="{Binding PageSelected}"/>
<Button Content="尾页" Style="{StaticResource pageButton}" Command="{Binding PageLastCommand}"/>
</StackPanel>
<!--页码跳转-->
<StackPanel Grid.Column="2" VerticalAlignment="Center" Orientation="Horizontal" Margin="50 0">
<!--当前页数-->
<TextBlock Text="{Binding PageInfo}" Style="{StaticResource pageText}" Margin="40 0"/>
<Button Content="前往" Command="{Binding JumpPageClickCommand}" CommandParameter="{Binding ElementName=txtPageInput, Path=Text}"/>
<TextBox x:Name="txtPageInput" Text="{Binding PageInput}" Width="30" HorizontalContentAlignment="Center" Style="{StaticResource MaterialDesignTextBox}" VerticalAlignment="Center" Margin="5 0"/>
<TextBlock Text="页" Style="{StaticResource pageText}" Margin="0"/>
</StackPanel>
</Grid>
</Grid>
</Grid>
</Page>