|
|
@@ -147,86 +147,64 @@
|
|
|
|
|
|
<!-- ═══ 主内容区域 ═══ -->
|
|
|
<Panel>
|
|
|
- <TabControl SelectedIndex="{Binding SelectedTabIndex}" Background="{DynamicResource AppBgBrush}">
|
|
|
- <!-- 项目视图(当加载了项目档案时使用) -->
|
|
|
- <TabItem Header="PROJECT" IsVisible="False" DataContext="{Binding ProjectView}">
|
|
|
- <views:ProjectView/>
|
|
|
- </TabItem>
|
|
|
- <TabItem Header="PROCESS" IsVisible="False" DataContext="{Binding ViewA}">
|
|
|
- <views:ViewAView/>
|
|
|
- </TabItem>
|
|
|
- <TabItem Header="PARAMS" IsVisible="False" DataContext="{Binding ViewB}">
|
|
|
- <views:ViewBView/>
|
|
|
- </TabItem>
|
|
|
- <TabItem Header="FLOW" IsVisible="False" DataContext="{Binding ViewC}">
|
|
|
- <views:ViewCView/>
|
|
|
- </TabItem>
|
|
|
- <TabItem Header="ALARM" IsVisible="False" DataContext="{Binding ViewD}">
|
|
|
- <views:ViewDView/>
|
|
|
- </TabItem>
|
|
|
- <TabItem Header="ABOUT" IsVisible="False" DataContext="{Binding ViewE}">
|
|
|
- <views:ViewEView/>
|
|
|
- </TabItem>
|
|
|
- <TabItem Header="AUDIT" IsVisible="False" DataContext="{Binding ViewF}">
|
|
|
- <views:ViewFView/>
|
|
|
- </TabItem>
|
|
|
- </TabControl>
|
|
|
+ <!-- 视图内容(通过 CurrentView + DataTemplate 切换) -->
|
|
|
+ <ContentControl Content="{Binding CurrentView}"/>
|
|
|
|
|
|
- <!-- ═══ 用户管理对话框 ═══ -->
|
|
|
- <Border IsVisible="{Binding ShowUserDialog}" ZIndex="100" Background="#CC000000">
|
|
|
- <Border Background="{DynamicResource CardBgBrush}" CornerRadius="12" Padding="24"
|
|
|
- MaxWidth="600" MaxHeight="500" VerticalAlignment="Center" HorizontalAlignment="Center"
|
|
|
- BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1">
|
|
|
- <DockPanel>
|
|
|
- <StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Spacing="12" Margin="0,0,0,16">
|
|
|
- <TextBlock Text="{Binding UserManageText}" FontSize="18" FontWeight="Bold"/>
|
|
|
- <Button Content="{Binding CloseText}" Command="{Binding ToggleUserDialogCommand}" HorizontalAlignment="Right" Classes="btn-danger"/>
|
|
|
- </StackPanel>
|
|
|
+ <!-- ═══ 用户管理对话框 ═══ -->
|
|
|
+ <Border IsVisible="{Binding ShowUserDialog}" ZIndex="100" Background="#CC000000">
|
|
|
+ <Border Background="{DynamicResource CardBgBrush}" CornerRadius="12" Padding="24"
|
|
|
+ MaxWidth="600" MaxHeight="500" VerticalAlignment="Center" HorizontalAlignment="Center"
|
|
|
+ BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1">
|
|
|
+ <DockPanel>
|
|
|
+ <StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Spacing="12" Margin="0,0,0,16">
|
|
|
+ <TextBlock Text="{Binding UserManageText}" FontSize="18" FontWeight="Bold"/>
|
|
|
+ <Button Content="{Binding CloseText}" Command="{Binding ToggleUserDialogCommand}" HorizontalAlignment="Right" Classes="btn-danger"/>
|
|
|
+ </StackPanel>
|
|
|
|
|
|
- <!-- 创建用户 -->
|
|
|
- <Border DockPanel.Dock="Top" Background="{DynamicResource CardBgBrush}" CornerRadius="8" Padding="12" Margin="0,0,0,12">
|
|
|
- <StackPanel Spacing="8">
|
|
|
- <TextBlock Text="{Binding CreateNewUserText}" FontWeight="Bold" FontSize="14"/>
|
|
|
- <StackPanel Orientation="Horizontal" Spacing="8">
|
|
|
- <TextBox Text="{Binding NewUserName}" PlaceholderText="{Binding UserNameLabel}" Width="120"/>
|
|
|
- <TextBox Text="{Binding NewUserPassword}" PlaceholderText="{Binding PasswordLabel}" PasswordChar="●" Width="120"/>
|
|
|
- <TextBox Text="{Binding NewUserDisplayName}" PlaceholderText="{Binding DisplayNameLabel}" Width="120"/>
|
|
|
- <ComboBox SelectedIndex="{Binding NewUserRole}" Width="100">
|
|
|
- <ComboBoxItem Content="Viewer"/>
|
|
|
- <ComboBoxItem Content="Operator"/>
|
|
|
- <ComboBoxItem Content="Engineer"/>
|
|
|
- <ComboBoxItem Content="Admin"/>
|
|
|
- </ComboBox>
|
|
|
- <Button Content="{Binding CreateText}" Command="{Binding CreateUserCommand}" Classes="btn-success"/>
|
|
|
+ <!-- 创建用户 -->
|
|
|
+ <Border DockPanel.Dock="Top" Background="{DynamicResource CardBgBrush}" CornerRadius="8" Padding="12" Margin="0,0,0,12">
|
|
|
+ <StackPanel Spacing="8">
|
|
|
+ <TextBlock Text="{Binding CreateNewUserText}" FontWeight="Bold" FontSize="14"/>
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="8">
|
|
|
+ <TextBox Text="{Binding NewUserName}" PlaceholderText="{Binding UserNameLabel}" Width="120"/>
|
|
|
+ <TextBox Text="{Binding NewUserPassword}" PlaceholderText="{Binding PasswordLabel}" PasswordChar="●" Width="120"/>
|
|
|
+ <TextBox Text="{Binding NewUserDisplayName}" PlaceholderText="{Binding DisplayNameLabel}" Width="120"/>
|
|
|
+ <ComboBox SelectedIndex="{Binding NewUserRole}" Width="100">
|
|
|
+ <ComboBoxItem Content="Viewer"/>
|
|
|
+ <ComboBoxItem Content="Operator"/>
|
|
|
+ <ComboBoxItem Content="Engineer"/>
|
|
|
+ <ComboBoxItem Content="Admin"/>
|
|
|
+ </ComboBox>
|
|
|
+ <Button Content="{Binding CreateText}" Command="{Binding CreateUserCommand}" Classes="btn-success"/>
|
|
|
+ </StackPanel>
|
|
|
+ <TextBlock Text="{Binding UserManageMessage}" Foreground="Red" FontSize="12"/>
|
|
|
</StackPanel>
|
|
|
- <TextBlock Text="{Binding UserManageMessage}" Foreground="Red" FontSize="12"/>
|
|
|
- </StackPanel>
|
|
|
- </Border>
|
|
|
+ </Border>
|
|
|
|
|
|
- <!-- 用户列表 -->
|
|
|
- <DataGrid ItemsSource="{Binding UserList}" AutoGenerateColumns="False" IsReadOnly="True"
|
|
|
- GridLinesVisibility="Horizontal" CanUserResizeColumns="True">
|
|
|
- <DataGrid.Columns>
|
|
|
- <DataGridTextColumn Header="User" Binding="{Binding UserName}" Width="100"/>
|
|
|
- <DataGridTextColumn Header="Name" Binding="{Binding DisplayName}" Width="120"/>
|
|
|
- <DataGridTextColumn Header="Role" Binding="{Binding Role}" Width="80"/>
|
|
|
- <DataGridTextColumn Header="Status" Binding="{Binding IsActive}" Width="60"/>
|
|
|
- <DataGridTextColumn Header="Last Login" Binding="{Binding LastLoginTime, StringFormat='yyyy-MM-dd HH:mm'}" Width="140"/>
|
|
|
- <DataGridTemplateColumn Header="Action" Width="80">
|
|
|
- <DataGridTemplateColumn.CellTemplate>
|
|
|
- <DataTemplate>
|
|
|
- <Button Content="{Binding IsActive, Converter={x:Static conv:BoolConverters.ToActiveText}}"
|
|
|
- Command="{Binding $parent[DataGrid].((vm:MainViewModel)DataContext).ToggleUserActiveCommand}"
|
|
|
- CommandParameter="{Binding}"
|
|
|
- Classes="btn-toggle" Padding="6,2" FontSize="11"/>
|
|
|
- </DataTemplate>
|
|
|
- </DataGridTemplateColumn.CellTemplate>
|
|
|
- </DataGridTemplateColumn>
|
|
|
- </DataGrid.Columns>
|
|
|
- </DataGrid>
|
|
|
- </DockPanel>
|
|
|
+ <!-- 用户列表 -->
|
|
|
+ <DataGrid ItemsSource="{Binding UserList}" AutoGenerateColumns="False" IsReadOnly="True"
|
|
|
+ GridLinesVisibility="Horizontal" CanUserResizeColumns="True">
|
|
|
+ <DataGrid.Columns>
|
|
|
+ <DataGridTextColumn Header="User" Binding="{Binding UserName}" Width="100"/>
|
|
|
+ <DataGridTextColumn Header="Name" Binding="{Binding DisplayName}" Width="120"/>
|
|
|
+ <DataGridTextColumn Header="Role" Binding="{Binding Role}" Width="80"/>
|
|
|
+ <DataGridTextColumn Header="Status" Binding="{Binding IsActive}" Width="60"/>
|
|
|
+ <DataGridTextColumn Header="Last Login" Binding="{Binding LastLoginTime, StringFormat='yyyy-MM-dd HH:mm'}" Width="140"/>
|
|
|
+ <DataGridTemplateColumn Header="Action" Width="80">
|
|
|
+ <DataGridTemplateColumn.CellTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Button Content="{Binding IsActive, Converter={x:Static conv:BoolConverters.ToActiveText}}"
|
|
|
+ Command="{Binding $parent[DataGrid].((vm:MainViewModel)DataContext).ToggleUserActiveCommand}"
|
|
|
+ CommandParameter="{Binding}"
|
|
|
+ Classes="btn-toggle" Padding="6,2" FontSize="11"/>
|
|
|
+ </DataTemplate>
|
|
|
+ </DataGridTemplateColumn.CellTemplate>
|
|
|
+ </DataGridTemplateColumn>
|
|
|
+ </DataGrid.Columns>
|
|
|
+ </DataGrid>
|
|
|
+ </DockPanel>
|
|
|
+ </Border>
|
|
|
</Border>
|
|
|
- </Border>
|
|
|
</Panel>
|
|
|
</DockPanel>
|
|
|
</Window>
|