Files
CROWLER/MainWindow.xaml
Курнат Андрей 84f2308e65 edit
2026-04-04 16:19:25 +03:00

266 lines
17 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.
<Window x:Class="CRAWLER.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="CRAWLER"
Height="920"
Width="1560"
MinHeight="760"
MinWidth="1240"
WindowState="Maximized"
Loaded="Window_Loaded">
<Window.Resources>
<Style x:Key="GhostGridSplitterStyle" TargetType="GridSplitter">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="ShowsPreview" Value="True" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#D7DADF" />
<Setter Property="BorderBrush" Value="#BCC1C7" />
<Setter Property="BorderThickness" Value="1" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid Margin="12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border Grid.Row="0"
Margin="0,0,0,12"
Padding="12"
Background="{StaticResource AppPanelBrush}"
BorderBrush="{StaticResource AppBorderBrush}"
BorderThickness="1"
CornerRadius="4">
<DockPanel LastChildFill="False">
<StackPanel DockPanel.Dock="Left"
Orientation="Horizontal"
VerticalAlignment="Center">
<TextBlock Margin="0,0,8,0"
VerticalAlignment="Center"
FontWeight="SemiBold"
Text="Поиск" />
<TextBox Width="320"
Margin="0,0,10,0"
VerticalAlignment="Center"
KeyDown="SearchTextBox_KeyDown"
Text="{Binding SearchText, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Margin="12,0,8,0"
VerticalAlignment="Center"
FontWeight="SemiBold"
Text="Страниц для сайта" />
<TextBox Width="64"
Margin="0,0,10,0"
VerticalAlignment="Center"
Text="{Binding PagesToScan, UpdateSourceTrigger=PropertyChanged}" />
<Button Margin="0,0,8,0"
Style="{StaticResource PrimaryActionButtonStyle}"
Click="SyncButton_Click"
Content="Обновить с сайта" />
</StackPanel>
<StackPanel DockPanel.Dock="Right"
Orientation="Horizontal"
HorizontalAlignment="Right">
<Button Margin="0,0,8,0"
Click="AddButton_Click"
Content="Добавить" />
<Button Margin="0,0,8,0"
Click="EditButton_Click"
Content="Изменить" />
<Button Click="DeleteButton_Click"
Content="Удалить" />
</StackPanel>
</DockPanel>
</Border>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2.2*" />
<ColumnDefinition Width="10" />
<ColumnDefinition Width="1.6*" />
</Grid.ColumnDefinitions>
<GroupBox Grid.Column="0" Header="Реестр средств измерений">
<Grid Margin="8">
<DataGrid x:Name="InstrumentGrid" AutoGenerateColumns="False"
ItemsSource="{Binding Instruments}"
SelectedItem="{Binding SelectedSummary, Mode=TwoWay}"
IsReadOnly="True"
MouseDoubleClick="InstrumentGrid_MouseDoubleClick">
<DataGrid.Columns>
<DataGridTextColumn Width="120" Binding="{Binding RegistryNumber}" Header="Госреестр" />
<DataGridTextColumn Width="2*" Binding="{Binding Name}" Header="Наименование" />
<DataGridTextColumn Width="160" Binding="{Binding TypeDesignation}" Header="Тип" />
<DataGridTextColumn Width="2*" Binding="{Binding Manufacturer}" Header="Производитель" />
<DataGridTextColumn Width="120" Binding="{Binding VerificationInterval}" Header="МПИ" />
<DataGridTextColumn Width="110" Binding="{Binding SourceSystem}" Header="Источник" />
<DataGridTextColumn Width="140" Binding="{Binding UpdatedAt, StringFormat=dd.MM.yyyy HH:mm}" Header="Обновлено" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</GroupBox>
<GridSplitter Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ResizeDirection="Columns"
ResizeBehavior="PreviousAndNext"
Style="{StaticResource GhostGridSplitterStyle}"
Cursor="SizeWE" />
<GroupBox Grid.Column="2" Header="Карточка записи">
<Grid Margin="8">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<DockPanel Grid.Row="0" Margin="0,0,0,8" LastChildFill="False">
<TextBlock DockPanel.Dock="Left"
FontSize="16"
FontWeight="SemiBold"
Text="{Binding SelectedInstrument.Name}" />
<Button DockPanel.Dock="Right"
Padding="8,4"
Click="OpenSourceButton_Click"
Content="Открыть источник" />
</DockPanel>
<TabControl Grid.Row="1">
<TabItem Header="Общее">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid Margin="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="180" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="Номер в госреестре" />
<TextBox Grid.Row="0" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.RegistryNumber}" />
<TextBlock Grid.Row="1" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="Тип" />
<TextBox Grid.Row="1" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.TypeDesignation}" />
<TextBlock Grid.Row="2" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="Производитель" />
<TextBox Grid.Row="2" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.Manufacturer}" TextWrapping="Wrap" />
<TextBlock Grid.Row="3" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="МПИ" />
<TextBox Grid.Row="3" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.VerificationInterval}" />
<TextBlock Grid.Row="4" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="Срок/зав. номер" />
<TextBox Grid.Row="4" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.CertificateOrSerialNumber}" />
<TextBlock Grid.Row="5" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="Поверка партии" />
<TextBox Grid.Row="5" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.AllowsBatchVerification}" />
<TextBlock Grid.Row="6" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="Периодическая поверка" />
<TextBox Grid.Row="6" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.HasPeriodicVerification}" />
<TextBlock Grid.Row="7" Grid.Column="0" Margin="0,0,8,6" VerticalAlignment="Center" Text="Источник" />
<TextBox Grid.Row="7" Grid.Column="1" Margin="0,0,0,6" IsReadOnly="True" Text="{Binding SelectedInstrument.SourceSystem}" />
<TextBlock Grid.Row="8" Grid.Column="0" Margin="0,0,8,0" VerticalAlignment="Top" Text="Ссылка" />
<TextBox Grid.Row="8" Grid.Column="1" IsReadOnly="True" Text="{Binding SelectedInstrument.DetailUrl}" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />
</Grid>
</ScrollViewer>
</TabItem>
<TabItem Header="Текстовые поля">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel Margin="8">
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Назначение" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="60" Text="{Binding SelectedInstrument.Purpose}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Описание" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="70" Text="{Binding SelectedInstrument.Description}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Программное обеспечение" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="60" Text="{Binding SelectedInstrument.Software}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Метрологические и технические характеристики" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="70" Text="{Binding SelectedInstrument.MetrologicalCharacteristics}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Комплектность" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="60" Text="{Binding SelectedInstrument.Completeness}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Поверка" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="60" Text="{Binding SelectedInstrument.Verification}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Нормативные и технические документы" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="60" Text="{Binding SelectedInstrument.RegulatoryDocuments}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Заявитель" />
<TextBox Margin="0,0,0,10" IsReadOnly="True" MinHeight="60" Text="{Binding SelectedInstrument.Applicant}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBlock Margin="0,0,0,4" FontWeight="SemiBold" Text="Испытательный центр" />
<TextBox IsReadOnly="True" MinHeight="60" Text="{Binding SelectedInstrument.TestCenter}" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem Header="PDF">
<Grid Margin="8">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0"
Margin="0,0,0,8"
Orientation="Horizontal">
<Button Margin="0,0,8,0"
Click="AddPdfButton_Click"
Content="Добавить PDF вручную" />
<Button Margin="0,0,8,0"
Click="OpenAttachmentButton_Click"
Content="Открыть выбранный PDF" />
<Button Click="RemoveAttachmentButton_Click"
Content="Удалить привязку" />
</StackPanel>
<DataGrid x:Name="AttachmentGrid" AutoGenerateColumns="False"
Grid.Row="1"
ItemsSource="{Binding SelectedInstrument.Attachments}"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Width="160" Binding="{Binding Kind}" Header="Тип файла" />
<DataGridTextColumn Width="180" Binding="{Binding Title}" Header="Заголовок" />
<DataGridTextColumn Width="*" Binding="{Binding LocalPath}" Header="Локальный путь" />
<DataGridCheckBoxColumn Width="100" Binding="{Binding IsManual}" Header="Ручной" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</TabItem>
</TabControl>
</Grid>
</GroupBox>
</Grid>
<StatusBar Grid.Row="2" Margin="0,12,0,0">
<StatusBarItem>
<TextBlock Text="{Binding StatusText}" />
</StatusBarItem>
</StatusBar>
</Grid>
</Window>