- Прайс-лист: поиск + грид на рабочем /api/supplier-prices/summary (наименование, форма, производитель, поставщик, цена) - Накладные: реестр приходных документов (из buyer/report) - Справочник: профиль покупателя + грузополучатели (buyer/locations) - Core: GetPriceSummaryAsync, GetBuyerLocationsAsync + DTO - README: статус разделов + примечание про buyer/orders 500 (фикс застейджен) Рабочие: Прайс-лист, Заказы, Накладные, Отчёты, Справочник. Осталось: Отправить (корзина+DBF), Отказы (нужен эндпоинт), автообновление. Собирается; рантайм новых 3 разделов не проверен (клиент за игрой — окна не поднимал). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
3.4 KiB
XML
57 lines
3.4 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="using:Elfisa.Avalonia.ViewModels"
|
|
xmlns:core="using:Elfisa.Core"
|
|
x:Class="Elfisa.Avalonia.Views.DirectoryView"
|
|
x:DataType="vm:DirectoryViewModel">
|
|
|
|
<ScrollViewer>
|
|
<StackPanel Margin="24" Spacing="14">
|
|
<StackPanel Spacing="2">
|
|
<TextBlock Text="Справочник" Classes="h1"/>
|
|
<TextBlock Text="Профиль и грузополучатели" Classes="muted"/>
|
|
</StackPanel>
|
|
|
|
<!-- Профиль -->
|
|
<Border Classes="card" MaxWidth="720" HorizontalAlignment="Left">
|
|
<StackPanel Spacing="10">
|
|
<TextBlock Text="Учётная запись" Classes="h2"/>
|
|
<Grid ColumnDefinitions="160,*" RowDefinitions="Auto,Auto">
|
|
<TextBlock Grid.Row="0" Grid.Column="0" Text="Логин" Classes="muted"/>
|
|
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding UserName}" Foreground="{DynamicResource Text}"/>
|
|
<TextBlock Grid.Row="1" Grid.Column="0" Text="Роль" Classes="muted" Margin="0,6,0,0"/>
|
|
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding RoleLabel}" Foreground="{DynamicResource Text}" Margin="0,6,0,0"/>
|
|
</Grid>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<!-- Грузополучатели -->
|
|
<Border Classes="card" MaxWidth="720" HorizontalAlignment="Left">
|
|
<StackPanel Spacing="10">
|
|
<TextBlock Text="Грузополучатели (адреса)" Classes="h2"/>
|
|
<ItemsControl ItemsSource="{Binding Locations}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="core:BuyerLocationDto">
|
|
<Border Padding="12" Margin="0,0,0,8" CornerRadius="9"
|
|
Background="{DynamicResource RowAlt}" BorderThickness="1" BorderBrush="{DynamicResource Border}">
|
|
<StackPanel Spacing="3">
|
|
<TextBlock Text="{Binding Address}" Foreground="{DynamicResource Text}" TextWrapping="Wrap"/>
|
|
<StackPanel Orientation="Horizontal" Spacing="10">
|
|
<TextBlock Text="{Binding RegionName}" Classes="muted"/>
|
|
<Border Background="{DynamicResource AccentSoft}" CornerRadius="5" Padding="6,1"
|
|
IsVisible="{Binding IsDefault}">
|
|
<TextBlock Text="по умолчанию" FontSize="11" Foreground="{DynamicResource AccentPressed}"/>
|
|
</Border>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
<TextBlock Text="{Binding Status}" Classes="muted"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</UserControl>
|