WinEquipmentType.xaml 9.75 KB
<win:HideCloseWindow 
    x:Class="HHECS.WinClient.View.EquipmentInfo.WinEquipmentType"
    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"
    xmlns:hc="https://handyorg.github.io/handycontrol"
    xmlns:win="clr-namespace:HHECS.WinCommon.Win;assembly=HHECS.WinCommon"
    xmlns:local="clr-namespace:HHECS.WinClient.View.EquipmentInfo"
    Title="设备类型管理" 
    Height="450" 
    Width="800" 
    d:DataContext="{d:DesignInstance Type=local:EquipmentTypeVM}"
    mc:Ignorable="d">
    <Window.Resources>
        <Style x:Key="sp" TargetType="StackPanel" >
            <Setter Property="Orientation" Value="Horizontal"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="HorizontalAlignment" Value="Left"/>
            <Setter Property="Margin" Value="5"/>
        </Style>
        <Style TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}">
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="MinWidth" Value="100"/>
            <Setter Property="MaxWidth" Value="200"/>
            <Setter Property="Width" Value="auto"/>
        </Style>
        <Style x:Key="btn" TargetType="Button" BasedOn="{StaticResource BaseButtonStyle}">
            <Setter Property="Margin" Value="2"/>
        </Style>
    </Window.Resources>
    <Grid>
        <TabControl>
            <TabItem x:Name="TIMain" Header="设备类型" IsSelected="{Binding IsTabMainSelected}">
                <Grid x:Name="GridMain">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <WrapPanel Grid.Row="0" Margin="5">
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="设备类型编码:"/>
                            <TextBox Text="{Binding Code}"/>
                        </StackPanel>
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="设备类型名:"/>
                            <TextBox Text="{Binding Name}"/>
                        </StackPanel>
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="描述:"/>
                            <TextBox Text="{Binding Description}"/>
                        </StackPanel>
                    </WrapPanel>
                    <WrapPanel x:Name="WPMain" Grid.Row="1" HorizontalAlignment="Right" Margin="2">
                        <Button x:Name="BtnQuery" Content="查询" Style="{StaticResource btn}" Click="BtnQuery_Click" Tag="equipmenttype:query"/>
                        <Button x:Name="BtnViewDetails" Content="查看详细" Style="{StaticResource btn}" Click="BtnViewDetails_Click" Tag="equipmenttype:viewdetails"/>
                        <Button x:Name="BtnAdd" Content="新增设备类型" Style="{StaticResource btn}" Click="BtnAdd_Click" Tag="equipmenttype:add"/>
                        <Button x:Name="BtnCopy" Content="复制设备类型" Style="{StaticResource btn}" Click="BtnCopy_Click" Tag="equipmenttype:copy"/>
                        <Button x:Name="BtnEdit" Content="编辑设备类型" Style="{StaticResource btn}" Click="BtnEdit_Click" Tag="equipmenttype:edit"/>
                        <Button x:Name="BtnDelete" Content="删除设备类型" Style="{StaticResource btn}" Click="BtnDelete_Click" Tag="equipmenttype:delete"/>
                        <Button x:Name="BtnExport" Content="导出" Style="{StaticResource btn}" Click="BtnExport_Click" Tag="equipmenttype:export"/>
                    </WrapPanel>
                    <DataGrid x:Name="DGMain" Grid.Row="2" ItemsSource="{Binding EquipmentTypes}">
                        <DataGrid.RowStyle>
                            <Style TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource BaseDataGridRowStyle}">
                                <EventSetter Event="MouseDoubleClick" Handler="DataGridRow_MouseDoubleClick"/>
                            </Style>
                        </DataGrid.RowStyle>
                        <DataGrid.Columns>
                            <DataGridTextColumn Header="Id" Binding="{Binding Id}"/>
                            <DataGridTextColumn Header="设备类型编码" Binding="{Binding Code}"/>
                            <DataGridTextColumn Header="设备类型名" Binding="{Binding Name}"/>
                            <DataGridTextColumn Header="描述" Binding="{Binding Description}"/>
                            <DataGridTextColumn Header="创建时间" Binding="{Binding CreateTime}"/>
                            <DataGridTextColumn Header="创建人" Binding="{Binding CreateBy}"/>
                            <DataGridTextColumn Header="更新时间" Binding="{Binding UpdateTime}"/>
                            <DataGridTextColumn Header="更新人" Binding="{Binding UpdateBy}"/>
                        </DataGrid.Columns>
                    </DataGrid>
                </Grid>
            </TabItem>
            <TabItem x:Name="TIDetail" Header="设备类型属性" IsSelected="{Binding IsTabDetailSelected}">
                <Grid x:Name="GridDetail">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <WrapPanel Grid.Row="0" Margin="5">
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="设备类型编码:"/>
                            <TextBox IsReadOnly="true" Text="{Binding CurrentEquipmentType.Code}" Background="LightGray"/>
                        </StackPanel>
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="设备类型名:"/>
                            <TextBox IsReadOnly="true" Text="{Binding CurrentEquipmentType.Name}" Background="LightGray"/>
                        </StackPanel>
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="属性编码:"/>
                            <TextBox Text="{Binding PropTemplateCode}"/>
                        </StackPanel>
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="属性名称:"/>
                            <TextBox Text="{Binding PropTemplateName}"/>
                        </StackPanel>
                        <StackPanel Style="{StaticResource sp}">
                            <TextBlock Text="属性类型:"/>
                            <TextBox Text="{Binding PropType}"/>
                        </StackPanel>
                    </WrapPanel>

                    <WrapPanel x:Name="WPDetail" Grid.Row="1" HorizontalAlignment="Right" Margin="2">
                        <Button x:Name="BtnQueryDetail" Content="刷新" Style="{StaticResource btn}" Click="BtnQueryDetail_Click" Tag="equipmenttype:detailquery"/>
                        <Button x:Name="BtnAddDetail" Content="新增明细" Style="{StaticResource btn}" Click="BtnAddDetail_Click" Tag="equipmenttype:detailadd"/>
                        <Button x:Name="BtnEditDetial" Content="编辑明细" Style="{StaticResource btn}" Click="BtnEditDetial_Click" Tag="equipmenttype:detailedit"/>
                        <Button x:Name="BtnDeleteDetail" Content="删除明细" Style="{StaticResource btn}" Click="BtnDeleteDetail_Click" Tag="equipmenttype:detaildelete"/>
                        <Button x:Name="BtnExportDetail" Content="明细导出" Style="{StaticResource btn}" Click="BtnExportDetail_Click" Tag="equipmenttype:detailexport"/>
                    </WrapPanel>
                    <DataGrid x:Name="DGDetail" Grid.Row="2" ItemsSource="{Binding EquipmentTypePropTemplates}">
                        <DataGrid.Columns>
                            <DataGridTextColumn Header="Id" Binding="{Binding Id}"/>
                            <DataGridTextColumn Header="属性编码" Binding="{Binding Code}"/>
                            <DataGridTextColumn Header="属性名" Binding="{Binding Name}"/>
                            <DataGridTextColumn Header="属性类型" Binding="{Binding PropType}"/>
                            <DataGridTextColumn Header="数据类型" Binding="{Binding DataType}"/>
                            <DataGridTextColumn Header="地址" Binding="{Binding Offset}"/>
                            <DataGridTextColumn Header="监控比较值" Binding="{Binding MonitorCompareValue}"/>
                            <DataGridTextColumn Header="监控正常输出" Binding="{Binding MonitorNormal}"/>
                            <DataGridTextColumn Header="监控异常输出" Binding="{Binding MonitorFailure}"/>
                            <DataGridTextColumn Header="描述" Binding="{Binding Description}"/>

                            <DataGridTextColumn Header="创建时间" Binding="{Binding CreateTime}"/>
                            <DataGridTextColumn Header="创建人" Binding="{Binding CreateBy}"/>
                            <DataGridTextColumn Header="更新时间" Binding="{Binding UpdateTime}"/>
                            <DataGridTextColumn Header="更新人" Binding="{Binding UpdateBy}"/>
                        </DataGrid.Columns>
                    </DataGrid>
                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</win:HideCloseWindow>