NavisworksTransport/src/UI/WPF/Views/BatchTaskManagementView.xaml

152 lines
8.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
NavisworksTransport 批处理队列管理页签视图 - 采用与其他页签一致的Navisworks 2026风格
功能说明:
1. 队列列表:显示所有批处理队列项,支持状态筛选
2. 队列操作:执行队列、取消当前、删除项
3. 队列监控:实时显示队列执行进度
4. 报告查看:查看单项碰撞报告
设计原则与Navisworks 2026风格一致480像素宽度现代化UI布局采用Border分组
-->
<UserControl x:Class="NavisworksTransport.UI.WPF.Views.BatchTaskManagementView"
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:converters="clr-namespace:NavisworksTransport.UI.WPF.Converters"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="480">
<UserControl.Resources>
<!-- 引用共享的Navisworks 2026样式资源 -->
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/NavisworksTransportPlugin;component/src/UI/WPF/Resources/NavisworksStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!-- 转换器资源 -->
<converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
<converters:BatchQueueStatusConverter x:Key="BatchQueueStatusConverter"/>
<converters:NullToDashConverter x:Key="NullToDashConverter"/>
<converters:BooleanToYesNoConverter x:Key="BooleanToYesNoConverter"/>
<!-- 批处理队列管理页面特有的样式 -->
<Style x:Key="InfoTextStyle" TargetType="Label">
<Setter Property="FontSize" Value="10"/>
<Setter Property="Foreground" Value="{StaticResource NavisworksTextBrush}"/>
<Setter Property="Padding" Value="0,2"/>
</Style>
</ResourceDictionary>
</UserControl.Resources>
<ScrollViewer VerticalScrollBarVisibility="Auto" Padding="10">
<StackPanel>
<!-- 区域1: 队列操作 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<StackPanel>
<Label Content="批处理队列管理" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 操作按钮 -->
<StackPanel Orientation="Horizontal" Margin="0,10,0,10">
<Button Content="执行队列"
Command="{Binding ExecuteQueueCommand}"
Style="{StaticResource ActionButtonStyle}"/>
<Button Content="停止执行"
Command="{Binding StopExecutionCommand}"
Style="{StaticResource ActionButtonStyle}"/>
<Button Content="删除选中"
Command="{Binding DeleteItemCommand}"
Style="{StaticResource ActionButtonStyle}"/>
<Button Content="查看报告"
Command="{Binding ViewReportCommand}"
Style="{StaticResource ActionButtonStyle}"/>
<Button Content="刷新"
Command="{Binding RefreshCommand}"
Style="{StaticResource ActionButtonStyle}"/>
</StackPanel>
<!-- 说明文本 -->
<TextBlock Text="提示:在动画控制页面点击&quot;添加到批处理&quot;按钮可添加队列项"
FontSize="10"
Foreground="{StaticResource NavisworksTextBrush}"
Margin="0,5,0,0"
TextWrapping="Wrap"/>
</StackPanel>
</Border>
<!-- 区域2: 筛选条件 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<StackPanel>
<Label Content="筛选条件" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 状态筛选 -->
<Grid Margin="0,10,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="队列状态:" Style="{StaticResource ParameterLabelStyle}" Width="80"/>
<ComboBox Grid.Column="1"
ItemsSource="{x:Static converters:BatchQueueStatusHelper.AllStatuses}"
SelectedItem="{Binding StatusFilter}"
Width="200"
HorizontalAlignment="Left"
Margin="5,0,0,0"
ToolTip="选择要显示的队列状态">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource BatchQueueStatusConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</StackPanel>
</Border>
<!-- 区域3: 队列列表 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<StackPanel>
<Label Content="队列列表" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 队列列表表格 -->
<DataGrid ItemsSource="{Binding QueueItems}"
SelectedItem="{Binding SelectedItem}"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
SelectionMode="Single"
HeadersVisibility="Column"
GridLinesVisibility="Horizontal"
Margin="0,10,0,0"
Height="300">
<DataGrid.Columns>
<DataGridTextColumn Header="路径名称" Binding="{Binding PathRouteName}" Width="*"/>
<DataGridTextColumn Header="物流对象" Binding="{Binding VehicleObjectName, Converter={StaticResource NullToDashConverter}}" Width="120"/>
<DataGridTextColumn Header="调整角度" Binding="{Binding ObjectRotationCorrection, StringFormat={}{0:F1}°}" Width="80"/>
<DataGridTextColumn Header="手工指定" Binding="{Binding DetectAllObjects, Converter={StaticResource BooleanToYesNoConverter}}" Width="80"/>
<DataGridTextColumn Header="状态" Binding="{Binding Status, Converter={StaticResource BatchQueueStatusConverter}}" Width="80"/>
<DataGridTextColumn Header="碰撞数" Binding="{Binding CollisionCount, StringFormat=\{0\}}" Width="60"/>
<DataGridTextColumn Header="创建时间" Binding="{Binding CreatedTime, StringFormat=yyyy-MM-dd HH:mm}" Width="120"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</Border>
<!-- 区域4: 执行状态 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<StackPanel>
<Label Content="执行状态" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 进度文本 -->
<TextBlock Text="{Binding ProgressText}"
FontSize="10"
Foreground="{StaticResource NavisworksTextBrush}"
Margin="0,10,0,10"
TextWrapping="Wrap"/>
</StackPanel>
</Border>
</StackPanel>
</ScrollViewer>
</UserControl>