124 lines
7.8 KiB
XML
124 lines
7.8 KiB
XML
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="다중 사용자 계정 검증 및 동명이인 식별기 (User Multi-Resolver)"
|
|
Height="680" Width="980"
|
|
MinHeight="540" MinWidth="800"
|
|
WindowStartupLocation="CenterOwner"
|
|
Background="#0F172A"
|
|
FontFamily="{StaticResource ModernFont}">
|
|
|
|
<Grid Margin="20">
|
|
<Grid.RowDefinitions>
|
|
<!-- 0. Header -->
|
|
<RowDefinition Height="Auto" />
|
|
<!-- 1. Input Box & Action Area -->
|
|
<RowDefinition Height="Auto" />
|
|
<!-- 2. Ambiguity & Resolution Results Grid -->
|
|
<RowDefinition Height="*" />
|
|
<!-- 3. Bottom Confirm Bar -->
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- 0. Header -->
|
|
<DockPanel Grid.Row="0" Margin="0,0,0,16">
|
|
<StackPanel>
|
|
<TextBlock Text="다중 사용자 입력 및 동명이인 검증기" FontSize="20" FontWeight="Bold" Foreground="#FFFFFF" />
|
|
<TextBlock Text="사용자 ID(sAMAccountName) 또는 이름을 줄바꿈/쉼표로 복사-붙여넣기하여 동명이인 여부를 확인하고 최종 대상을 확정합니다."
|
|
FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,3,0,0" />
|
|
</StackPanel>
|
|
<Border Background="#1E293B" CornerRadius="6" Padding="10,4" HorizontalAlignment="Right" VerticalAlignment="Center">
|
|
<TextBlock Text="동명이인 자동 감지 엔진 활성" FontSize="11" FontWeight="SemiBold" Foreground="#60A5FA" />
|
|
</Border>
|
|
</DockPanel>
|
|
|
|
<!-- 1. Input Box Area -->
|
|
<Border Grid.Row="1" Style="{StaticResource ModernCardStyle}" Margin="0,0,0,14" Padding="14">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<DockPanel Grid.Row="0" Margin="0,0,0,8">
|
|
<TextBlock Text="사용자 ID 또는 이름 대량 입력 (줄바꿈 / 쉼표 / 탭 구분):" FontSize="12.5" FontWeight="SemiBold" Foreground="{StaticResource TextPrimaryBrush}" />
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<Button x:Name="BtnPasteClipboard" Content="📋 클립보드 붙여넣기" Style="{StaticResource SecondaryButtonStyle}" Padding="8,2" FontSize="11" Margin="0,0,6,0" />
|
|
<Button x:Name="BtnClearInput" Content="입력 지우기" Style="{StaticResource SecondaryButtonStyle}" Padding="8,2" FontSize="11" />
|
|
</StackPanel>
|
|
</DockPanel>
|
|
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="150" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBox x:Name="TxtMultiInput" Height="75" AcceptsReturn="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto"
|
|
Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,10,0"
|
|
Text="gdhong
홍길동
김철수
yylee
unknown_user" />
|
|
|
|
<Button x:Name="BtnResolveUsers" Grid.Column="1" Content="🔍 사용자 검증
및 동명이인 분석" Style="{StaticResource PrimaryButtonStyle}"
|
|
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" FontSize="13" />
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<!-- 2. Results Grid -->
|
|
<Border Grid.Row="2" Style="{StaticResource ModernCardStyle}" Margin="0,0,0,14" Padding="12">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Filter / Quick Action Bar -->
|
|
<DockPanel Grid.Row="0" Margin="0,0,0,10">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<TextBlock Text="검증 및 식별 결과:" FontSize="13.5" FontWeight="Bold" Foreground="#FFFFFF" Margin="0,0,12,0" VerticalAlignment="Center" />
|
|
<Border x:Name="BadgeSummary" Background="#1E3A8A" CornerRadius="4" Padding="8,2">
|
|
<TextBlock x:Name="TxtResolutionSummary" Text="검증 대기 중" FontSize="11.5" Foreground="#FFFFFF" />
|
|
</Border>
|
|
</StackPanel>
|
|
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<Button x:Name="BtnSelectResolvedOnly" Content="정상 매칭건만 선택" Style="{StaticResource SecondaryButtonStyle}" Padding="8,3" FontSize="11" Margin="0,0,6,0" />
|
|
<Button x:Name="BtnSelectAllDialog" Content="전체 선택" Style="{StaticResource SecondaryButtonStyle}" Padding="8,3" FontSize="11" Margin="0,0,6,0" />
|
|
<Button x:Name="BtnDeselectAllDialog" Content="선택 해제" Style="{StaticResource SecondaryButtonStyle}" Padding="8,3" FontSize="11" />
|
|
</StackPanel>
|
|
</DockPanel>
|
|
|
|
<!-- Resolver DataGrid -->
|
|
<DataGrid x:Name="GridResolvedUsers" Grid.Row="1" Style="{StaticResource ModernDataGridStyle}">
|
|
<DataGrid.Columns>
|
|
<DataGridCheckBoxColumn Header="확정" Binding="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}" Width="50" />
|
|
<DataGridTextColumn Header="검증 상태" Binding="{Binding Status}" Width="130" />
|
|
<DataGridTextColumn Header="입력 원문" Binding="{Binding InputToken}" Width="100" />
|
|
<DataGridTextColumn Header="확정 ID (SamAccount)" Binding="{Binding SamAccountName}" Width="140" />
|
|
<DataGridTextColumn Header="성명" Binding="{Binding DisplayName}" Width="90" />
|
|
<DataGridTextColumn Header="부서 (동명이인 판별)" Binding="{Binding Department}" Width="140" />
|
|
<DataGridTextColumn Header="직급" Binding="{Binding Title}" Width="70" />
|
|
<DataGridTextColumn Header="사번" Binding="{Binding EmpId}" Width="85" />
|
|
<DataGridTextColumn Header="식별 메모 / 안내" Binding="{Binding Note}" Width="*" />
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
|
|
<TextBlock Grid.Row="2" Text="* 동명이인 항목은 부서 및 사번을 확인하신 후 올바른 대상의 [확정] 체크박스를 1개만 체크하십시오."
|
|
FontSize="11" Foreground="#F59E0B" Margin="2,6,0,0" />
|
|
</Grid>
|
|
</Border>
|
|
|
|
<!-- 3. Bottom Confirm Bar -->
|
|
<Border Grid.Row="3" Margin="0">
|
|
<DockPanel>
|
|
<TextBlock x:Name="TxtSelectedCountMsg" Text="현재 0명의 사용자가 확정 선택되었습니다."
|
|
FontSize="12.5" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center" />
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<Button x:Name="BtnDialogCancel" Content="취소" Style="{StaticResource SecondaryButtonStyle}" Padding="16,8" Margin="0,0,8,0" />
|
|
<Button x:Name="BtnDialogConfirm" Content="✔ 선택된 사용자 작업 폼에 적용" Style="{StaticResource PrimaryButtonStyle}" Padding="18,8" />
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</Border>
|
|
</Grid>
|
|
</Window>
|