| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906 |
- <Window x:Class="LocalhostMES.Views.MainView"
- 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:b="http://schemas.microsoft.com/xaml/behaviors"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:LocalhostMES.Views"
- xmlns:enums="clr-namespace:LocalhostMES.Enums"
- xmlns:prism="http://prismlibrary.com/"
- prism:ViewModelLocator.AutoWireViewModel="True"
- mc:Ignorable="d"
- Title="MainView"
- Height="450"
- Width="800">
- <Window.Resources>
- <!-- 样式定义 -->
- <Style TargetType="TabItem">
- <Setter Property="FontSize"
- Value="14" />
- <Setter Property="FontWeight"
- Value="Bold" />
- <Setter Property="Padding"
- Value="10,5" />
- </Style>
- <Style TargetType="GroupBox">
- <Setter Property="Margin"
- Value="5" />
- <Setter Property="Padding"
- Value="10" />
- </Style>
- <Style TargetType="Button">
- <Setter Property="Padding"
- Value="8,4" />
- <Setter Property="Margin"
- Value="2" />
- <Setter Property="MinWidth"
- Value="80" />
- </Style>
- <Style TargetType="DataGrid">
- <Setter Property="Margin"
- Value="5" />
- <Setter Property="AutoGenerateColumns"
- Value="False" />
- <Setter Property="IsReadOnly"
- Value="True" />
- <Setter Property="CanUserAddRows"
- Value="False" />
- <Setter Property="CanUserDeleteRows"
- Value="False" />
- <Setter Property="CanUserReorderColumns"
- Value="False" />
- <Setter Property="CanUserResizeRows"
- Value="False" />
- <Setter Property="AlternatingRowBackground"
- Value="#F5F5F5" />
- </Style>
- <Style TargetType="TextBox">
- <Setter Property="Margin"
- Value="5" />
- <Setter Property="VerticalContentAlignment"
- Value="Center" />
- </Style>
- <Style TargetType="ComboBox">
- <Setter Property="Margin"
- Value="5" />
- <Setter Property="VerticalContentAlignment"
- Value="Center" />
- </Style>
- <Style TargetType="Label">
- <Setter Property="Margin"
- Value="5,5,2,5" />
- <Setter Property="VerticalAlignment"
- Value="Center" />
- </Style>
- <DataTemplate x:Key="StationTypeTemplate">
- <TextBlock Text="{Binding Path=FormulaType, Mode=OneWay}" />
- </DataTemplate>
- </Window.Resources>
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Loaded">
- <b:InvokeCommandAction Command="{Binding LoadedCommand}" />
- </b:EventTrigger>
- <b:EventTrigger EventName="Closed">
- <b:InvokeCommandAction Command="{Binding ClosedCommand}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- <Grid>
- <TabControl>
- <!-- Tab 1: 接口测试 -->
- <TabItem Header="接口测试">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="400" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <!-- 左侧:接口列表 -->
- <GroupBox Grid.Column="0"
- Header="接口列表"
- Margin="10">
- <StackPanel>
- <!--<Button x:Name="btnTestWorkOrder"
- Content="测试工单下发"
- Height="40"
- Margin="0,5"
- Click="BtnTestWorkOrder_Click" />-->
- <Button x:Name="btnTestSnPrint"
- Content="测试SN打印请求"
- Height="40"
- Margin="0,5"
- Command="{Binding TestSnPrintCommand}" />
- <Button x:Name="btnTestSnComponent"
- Content="测试SN关键件绑定"
- Height="40"
- Margin="0,5"
- Command="{Binding TestSnComponentCommand}" />
- <Button x:Name="btnTestProcessParams"
- Content="测试加工参数上报"
- Height="40"
- Margin="0,5"
- Command="{Binding TestProcessParamsCommand}" />
- <Separator Margin="0,10" />
- <Button x:Name="btnClearLog"
- Content="清空日志"
- Height="30"
- Margin="0,5"
- Command="{Binding ClearLogCommand}" />
- </StackPanel>
- </GroupBox>
- <!-- 右侧:日志显示 -->
- <GroupBox Grid.Column="1"
- Header="请求/响应日志"
- Margin="10">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <ListBox Name="logbox"
- Grid.Row="0"
- ItemsSource="{Binding Logs}"
- BorderBrush="Transparent">
- </ListBox>
- <StackPanel Grid.Row="1"
- Orientation="Horizontal"
- HorizontalAlignment="Right">
- <TextBlock x:Name="txtStatus"
- Text="{Binding StatusTxt}"
- Margin="5"
- Foreground="{Binding StatusForeground}"
- VerticalAlignment="Center" />
- </StackPanel>
- </Grid>
- </GroupBox>
- </Grid>
- </TabItem>
- <!-- Tab 2: 工单管理 -->
- <TabItem Header="工单管理">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <!-- 工具栏 -->
- <StackPanel Grid.Row="0"
- Orientation="Horizontal"
- Margin="10">
- <Button x:Name="btnRefreshWorkOrders"
- Content="刷新"
- Width="80"
- Command="{Binding RefreshWorkOrdersCommand}" />
- <Button x:Name="btnAddWorkOrder"
- Content="添加工单"
- Width="80"
- Margin="10,0,0,0"
- Command="{Binding AddWorkOrderCommand}" />
- <Button x:Name="btnDeleteWorkOrder"
- Content="删除工单"
- Width="80"
- Margin="10,0,0,0"
- Command="{Binding DeleteWorkOrderCommand}" />
- </StackPanel>
- <!-- 工单列表 -->
- <DataGrid x:Name="dgWorkOrders"
- Grid.Row="1"
- SelectedItem="{Binding SelectWorkOrderInfo}"
- ItemsSource="{Binding DgWorkOrders}"
- Margin="10,0,10,10">
- <DataGrid.Columns>
- <DataGridTextColumn Header="工单号"
- Binding="{Binding WorkOrderNo}"
- Width="120" />
- <DataGridTextColumn Header="物料编码"
- Binding="{Binding MaterialCode}"
- Width="100" />
- <DataGridTextColumn Header="物料名称"
- Binding="{Binding MaterialName}"
- Width="150" />
- <DataGridTextColumn Header="计划数量"
- Binding="{Binding PlannedQuantity}"
- Width="80" />
- <DataGridTextColumn Header="完成数量"
- Binding="{Binding CompletedQuantity}"
- Width="80" />
- <DataGridTextColumn Header="状态"
- Binding="{Binding Status}"
- Width="80">
- <DataGridTextColumn.ElementStyle>
- <Style TargetType="TextBlock">
- <Setter Property="HorizontalAlignment"
- Value="Center" />
- </Style>
- </DataGridTextColumn.ElementStyle>
- </DataGridTextColumn>
- <DataGridTextColumn Header="线体编码"
- Binding="{Binding LineCode}"
- Width="80" />
- <DataGridTextColumn Header="创建时间"
- Binding="{Binding CreateTime, StringFormat=yyyy-MM-dd HH:mm}"
- Width="140" />
- </DataGrid.Columns>
- </DataGrid>
- </Grid>
- </TabItem>
- <!-- Tab 3: SN管理 -->
- <TabItem Header="SN管理">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="117*" />
- <ColumnDefinition Width="165*" />
- <ColumnDefinition Width="512*" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <!-- 查询条件 -->
- <GroupBox Grid.Row="0"
- Header="查询条件"
- Margin="10,10,10,10"
- Grid.ColumnSpan="3">
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="工单号:"
- VerticalAlignment="Center"
- Margin="5,0" />
- <ComboBox ItemsSource="{Binding DgWorkOrders}"
- DisplayMemberPath="WorkOrderNo"
- SelectedValuePath="WorkOrderNo"
- SelectedValue="{Binding SearchWorkOrder}">
-
- </ComboBox>
- <TextBox x:Name="txtSearchWorkOrder"
- Width="150"
- Margin="5,0"
- Text="{Binding SearchWorkOrder}" />
- <Button x:Name="btnSearchSns"
- Content="查询"
- Width="80"
- Margin="10,0,0,0"
- Command="{Binding SearchSnsCommand}" />
- </StackPanel>
- </GroupBox>
- <!-- SN列表 -->
- <DataGrid x:Name="dgSns"
- Grid.Row="1"
- ItemsSource="{Binding DgSns}"
- SelectedItem="{Binding SelectSnInfo}"
- Margin="10,0,10,10"
- Grid.ColumnSpan="3">
- <DataGrid.Columns>
- <DataGridTextColumn Header="SN条码"
- Binding="{Binding Sn}"
- Width="200" />
- <DataGridTextColumn Header="工单号"
- Binding="{Binding WorkOrderNo}"
- Width="120" />
- <DataGridTextColumn Header="类型"
- Binding="{Binding PrintType}"
- Width="80" />
- <DataGridTextColumn Header="生成时间"
- Binding="{Binding GenerateTime, StringFormat=yyyy-MM-dd HH:mm:ss}"
- Width="140" />
- <DataGridCheckBoxColumn Header="已使用"
- Binding="{Binding IsUsed}"
- Width="70" />
- </DataGrid.Columns>
- </DataGrid>
- </Grid>
- </TabItem>
- <TabItem Header="关键件管理">
- <Grid Margin="10">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <!-- 标题 -->
- <TextBlock Grid.Row="0"
- Text="关键件信息"
- FontSize="20"
- FontWeight="Bold"
- HorizontalAlignment="Center"
- Margin="0,0,0,15" />
- <!-- 添加区域 -->
- <Border Grid.Row="1"
- BorderBrush="#CCCCCC"
- BorderThickness="1"
- CornerRadius="5"
- Padding="10"
- Margin="0,0,0,40"
- Background="#F5F5F5">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="80" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <!-- 第一行 -->
- <Label Grid.Row="0"
- Grid.Column="0">工位类型:</Label>
- <ComboBox Grid.Row="0"
- Grid.Column="1"
- ItemsSource="{Binding Source={ enums:EnumBindingSource {x:Type enums:StationType}}}"
- SelectedItem="{Binding NewPart.FormulaType}" />
- <Label Grid.Row="0"
- Grid.Column="2">关键件条码:</Label>
- <TextBox Grid.Row="0"
- Grid.Column="3"
- Text="{Binding NewPart.PartNum, UpdateSourceTrigger=PropertyChanged}" />
- <Label Grid.Row="0"
- Grid.Column="4">数量:</Label>
- <TextBox Grid.Row="0"
- Grid.Column="5"
- Text="{Binding NewPart.PartQty, UpdateSourceTrigger=PropertyChanged}" />
- <!-- 第二行 -->
- <Label Grid.Row="1"
- Grid.Column="0">物料名称:</Label>
- <TextBox Grid.Row="1"
- Grid.Column="1"
- Text="{Binding NewPart.MaterialCode, UpdateSourceTrigger=PropertyChanged}" />
- <Label Grid.Row="1"
- Grid.Column="2">原条码:</Label>
- <TextBox Grid.Row="1"
- Grid.Column="3"
- Text="{Binding NewPart.OldPartNum, UpdateSourceTrigger=PropertyChanged}" />
- <Label Grid.Row="1"
- Grid.Column="4">位置序号:</Label>
- <TextBox Grid.Row="1"
- Grid.Column="5"
- Text="{Binding NewPart.PositionNo, UpdateSourceTrigger=PropertyChanged}" />
- </Grid>
- </Border>
- <!-- 按钮区域 -->
- <StackPanel Grid.Row="1"
- Orientation="Horizontal"
- HorizontalAlignment="Right"
- Margin="0,0,0,0"
- VerticalAlignment="Bottom">
- <Button Content="添加"
- Command="{Binding AddPartInfoCommand}"
- Background="#4CAF50"
- Foreground="White" />
- <Button Content="刷新"
- Command="{Binding RefPartInfoCommand}"
- Background="#FF9800"
- Foreground="White" />
- <Button Content="删除"
- Command="{Binding DeletePartInfoCommand}"
- Background="#F44336"
- Foreground="White" />
- </StackPanel>
- <!-- 数据列表 -->
- <DataGrid Grid.Row="2"
- ItemsSource="{Binding PartInfos}"
- SelectedItem="{Binding SelectPart}"
- SelectionMode="Single"
- AutoGenerateColumns="False"
- CanUserAddRows="False"
- IsReadOnly="True"
- GridLinesVisibility="None"
- RowDetailsVisibilityMode="Collapsed"
- HeadersVisibility="Column"
- Margin="0,10,0,10">
- <DataGrid.Resources>
- <Style TargetType="DataGridRow">
- <Style.Triggers>
- <Trigger Property="IsSelected"
- Value="True">
- <Setter Property="Background"
- Value="#E3F2FD" />
- <Setter Property="BorderBrush"
- Value="#2196F3" />
- </Trigger>
- </Style.Triggers>
- </Style>
- <Style TargetType="DataGridColumnHeader">
- <Setter Property="Background"
- Value="#2196F3" />
- <Setter Property="Foreground"
- Value="White" />
- <Setter Property="FontWeight"
- Value="Bold" />
- <Setter Property="Padding"
- Value="10,5" />
- <Setter Property="HorizontalContentAlignment"
- Value="Center" />
- </Style>
- </DataGrid.Resources>
- <DataGrid.Columns>
- <DataGridCheckBoxColumn Binding="{Binding IsSelected}"
- Header="选择"
- Width="50" />
- <DataGridTextColumn Header="工位类型"
- Binding="{Binding FormulaType}"
- Width="80" />
- <DataGridTextColumn Header="关键件条码"
- Binding="{Binding PartNum}"
- Width="120" />
- <DataGridTextColumn Header="数量"
- Binding="{Binding PartQty}"
- Width="60">
- <DataGridTextColumn.ElementStyle>
- <Style TargetType="TextBlock">
- <Setter Property="HorizontalAlignment"
- Value="Right" />
- <Setter Property="Margin"
- Value="0,0,10,0" />
- </Style>
- </DataGridTextColumn.ElementStyle>
- </DataGridTextColumn>
- <DataGridTextColumn Header="物料代码"
- Binding="{Binding MaterialCode}"
- Width="100" />
- <DataGridTextColumn Header="关键件类型"
- Binding="{Binding MaterialType}"
- Width="80" />
- <DataGridTextColumn Header="原关键件条码"
- Binding="{Binding OldPartNum}"
- Width="120" />
- <DataGridTextColumn Header="位置序号"
- Binding="{Binding PositionNo}"
- Width="80" />
- <DataGridTemplateColumn Header="操作"
- Width="100">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <Button Content="删除"
- Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
- CommandParameter="{Binding}"
- Background="#F44336"
- Foreground="White"
- Padding="5,2"
- Margin="2,0" />
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- </DataGrid.Columns>
- </DataGrid>
- <!-- 状态栏 -->
- <StatusBar Grid.Row="3"
- Background="#F5F5F5">
- <StatusBarItem>
- <TextBlock>
- <Run Text="记录总数:" />
- <Run Text="{Binding PartInfos.Count, Mode=OneWay}" />
- </TextBlock>
- </StatusBarItem>
- <StatusBarItem HorizontalAlignment="Right">
- <TextBlock Text="{Binding StatusMessage}" />
- </StatusBarItem>
- </StatusBar>
- </Grid>
- </TabItem>
- <TabItem Header="零件管理">
- <Grid Margin="10">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
- <!-- 标题 -->
- <TextBlock Grid.Row="0" Text="零件管理" FontSize="20" FontWeight="Bold"
- HorizontalAlignment="Center" Margin="0,0,0,20"/>
- <!-- 数据输入表单 -->
- <GroupBox Grid.Row="1" Header="添加/编辑零件信息" Margin="0,0,0,10">
- <Grid Margin="10">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="Auto"/>
- <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"/>
- </Grid.RowDefinitions>
- <!-- 第一列 -->
- <TextBlock Grid.Row="0" Grid.Column="0" Text="站点名称:" VerticalAlignment="Center" Margin="5"/>
- <ComboBox Grid.Row="0"
- Grid.Column="1"
- ItemsSource="{Binding Source={ enums:EnumBindingSource {x:Type enums:StationType}}}"
- SelectedItem="{Binding CurrentParkingLot.FormulaType}" Margin="5" Width="200"/>
- <TextBlock Grid.Row="1" Grid.Column="0" Text="序号:" VerticalAlignment="Center" Margin="5"/>
- <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding CurrentParkingLot.SerialNumber, UpdateSourceTrigger=PropertyChanged}"
- Margin="5" Width="200"/>
- <TextBlock Grid.Row="2" Grid.Column="0" Text="零件号:" VerticalAlignment="Center" Margin="5"/>
- <TextBox Grid.Row="2" Grid.Column="1" Text="{Binding CurrentParkingLot.PartNumber, UpdateSourceTrigger=PropertyChanged}"
- Margin="5" Width="200"/>
- <TextBlock Grid.Row="3" Grid.Column="0" Text="零件名称:" VerticalAlignment="Center" Margin="5"/>
- <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding CurrentParkingLot.PartName, UpdateSourceTrigger=PropertyChanged}"
- Margin="5" Width="200"/>
- <!-- 第二列 -->
- <TextBlock Grid.Row="0" Grid.Column="2" Text="计划数量:" VerticalAlignment="Center" Margin="5,5,5,5"/>
- <TextBox Grid.Row="0" Grid.Column="3" Text="{Binding CurrentParkingLot.PlanNum, UpdateSourceTrigger=PropertyChanged}"
- Margin="5" Width="200"/>
- <TextBlock Grid.Row="1" Grid.Column="2" Text="使用数量:" VerticalAlignment="Center" Margin="5"/>
- <TextBox Grid.Row="1" Grid.Column="3" Text="{Binding CurrentParkingLot.UseNum, UpdateSourceTrigger=PropertyChanged}"
- Margin="5" Width="200"/>
- <TextBlock Grid.Row="2" Grid.Column="2" Text="已完成数量:" VerticalAlignment="Center" Margin="5"/>
- <TextBox Grid.Row="2" Grid.Column="3" Text="{Binding CurrentParkingLot.CompletedNum, UpdateSourceTrigger=PropertyChanged}"
- Margin="5" Width="200"/>
- <!-- 按钮 -->
- <StackPanel Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="4"
- Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,20,0,0">
- <Button x:Name="btnAdd" Content="添加" Width="80" Height="30" Margin="10"
- Command="{Binding AddCommand}"/>
- <Button x:Name="btnUpdate" Content="更新" Width="80" Height="30" Margin="10"
- Command="{Binding UpdateCommand}"
- IsEnabled="{Binding IsEditMode}"/>
- <Button x:Name="btnCancel" Content="取消编辑" Width="80" Height="30" Margin="10"
- Command="{Binding CancelEditCommand}"
- IsEnabled="{Binding IsEditMode}"/>
- <Button x:Name="btnClear" Content="清空表单" Width="80" Height="30" Margin="10"
- Command="{Binding ClearFormCommand}"/>
- </StackPanel>
- </Grid>
- </GroupBox>
- <!-- 数据列表 -->
- <GroupBox Grid.Row="2" Header="零件列表">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <!-- DataGrid -->
- <DataGrid x:Name="dataGrid" Grid.Row="0" AutoGenerateColumns="False"
- ItemsSource="{Binding ParkingLots}"
- SelectedItem="{Binding SelectedParkingLot, Mode=TwoWay}"
- CanUserAddRows="False" CanUserDeleteRows="False"
- SelectionMode="Single" SelectionUnit="FullRow"
- Margin="5" IsReadOnly="True">
- <DataGrid.Columns>
- <DataGridTextColumn Header="站点名称" Binding="{Binding FormulaType}" Width="120"/>
- <DataGridTextColumn Header="序号" Binding="{Binding SerialNumber}" Width="80"/>
- <DataGridTextColumn Header="零件号" Binding="{Binding PartNumber}" Width="120"/>
- <DataGridTextColumn Header="零件名称" Binding="{Binding PartName}" Width="150"/>
- <DataGridTextColumn Header="计划数量" Binding="{Binding PlanNum}" Width="80"/>
- <DataGridTextColumn Header="使用数量" Binding="{Binding UseNum}" Width="80"/>
- <DataGridTextColumn Header="已完成数量" Binding="{Binding CompletedNum}" Width="100"/>
- <DataGridTemplateColumn Header="操作" Width="200">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <Button Content="编辑" Width="50" Margin="2"
- Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
- CommandParameter="{Binding}"/>
- <Button Content="删除" Width="50" Margin="2"
- Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
- CommandParameter="{Binding}"/>
- </StackPanel>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- </DataGrid.Columns>
- </DataGrid>
- <!-- 统计信息 -->
- <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5">
- <TextBlock Text="总计:" FontWeight="Bold" Margin="5"/>
- <TextBlock Text="{Binding ParkingLots.Count}" Foreground="Blue" Margin="5"/>
- <TextBlock Text="条记录" Margin="5"/>
- </StackPanel>
- </Grid>
- </GroupBox>
- </Grid>
- </TabItem>
- <!-- Tab 4: 绑定记录 -->
- <TabItem Header="绑定记录">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <!-- 工具栏 -->
- <StackPanel Grid.Row="0"
- Orientation="Horizontal"
- Margin="10">
- <Button x:Name="btnRefreshBindRecords"
- Content="刷新"
- Width="80"
- Command="{Binding RefreshBindRecordsCommand}" />
- <Button x:Name="btnClearBindRecords"
- Content="清空"
- Width="80"
- Margin="10,0,0,0"
- Command="{Binding ClearBindRecordsCommand}" />
- </StackPanel>
- <!-- 绑定记录列表 -->
- <DataGrid x:Name="dgBindRecords"
- Grid.Row="1"
- ItemsSource="{Binding DgBindRecords}"
- SelectedItem="{Binding SelectBindRecord}"
- Margin="10,0,10,10">
- <DataGrid.Columns>
- <DataGridTextColumn Header="SN"
- Binding="{Binding Sn}"
- Width="150" />
- <DataGridTextColumn Header="关键件条码"
- Binding="{Binding PartNum}"
- Width="150" />
- <DataGridTextColumn Header="工位"
- Binding="{Binding StationCode}"
- Width="100" />
- <DataGridTextColumn Header="绑定类型"
- Binding="{Binding ScanType}"
- Width="80">
- <DataGridTextColumn.ElementStyle>
- <Style TargetType="TextBlock">
- <Setter Property="HorizontalAlignment"
- Value="Center" />
- </Style>
- </DataGridTextColumn.ElementStyle>
- </DataGridTextColumn>
- <DataGridTextColumn Header="操作员"
- Binding="{Binding Employee}"
- Width="100" />
- <DataGridTextColumn Header="绑定时间"
- Binding="{Binding BindTime, StringFormat=yyyy-MM-dd HH:mm:ss}"
- Width="140" />
- </DataGrid.Columns>
- </DataGrid>
- </Grid>
- </TabItem>
- <!-- Tab 5: 加工记录 -->
- <TabItem Header="加工记录">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <!-- 工具栏 -->
- <StackPanel Grid.Row="0"
- Orientation="Horizontal"
- Margin="10">
- <Button x:Name="btnRefreshProcessRecords"
- Content="刷新"
- Width="80"
- Command="{Binding RefreshProcessRecordsCommand}" />
- <Button x:Name="btnClearProcessRecords"
- Content="清空"
- Width="80"
- Margin="10,0,0,0"
- Command="{Binding ClearProcessRecordsCommand}" />
- </StackPanel>
- <!-- 加工记录列表 -->
- <DataGrid x:Name="dgProcessRecords"
- Grid.Row="1"
- ItemsSource="{Binding DgProcessRecords}"
- SelectedItem="{Binding SelectProcessRecord}"
- Margin="10,0,10,10">
- <DataGrid.Columns>
- <DataGridTextColumn Header="SN"
- Binding="{Binding Sn}"
- Width="150" />
- <DataGridTextColumn Header="工位"
- Binding="{Binding Station}"
- Width="100" />
- <DataGridTextColumn Header="结果"
- Binding="{Binding OverallResult}"
- Width="60">
- <DataGridTextColumn.ElementStyle>
- <Style TargetType="TextBlock">
- <Setter Property="HorizontalAlignment"
- Value="Center" />
- <Setter Property="Foreground"
- Value="{Binding OverallResult, Converter={StaticResource ResultColorConverter}}" />
- </Style>
- </DataGridTextColumn.ElementStyle>
- </DataGridTextColumn>
- <DataGridTextColumn Header="设备"
- Binding="{Binding Equipment}"
- Width="120" />
- <DataGridTextColumn Header="加工时间"
- Binding="{Binding ProcessTime, StringFormat=yyyy-MM-dd HH:mm:ss}"
- Width="140" />
- </DataGrid.Columns>
- </DataGrid>
- </Grid>
- </TabItem>
- <!-- Tab 6: 系统设置 -->
- <TabItem Header="系统设置">
- <Grid Margin="10">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <!-- Web API设置 -->
- <GroupBox Grid.Row="0"
- Header="Web API服务设置">
- <StackPanel>
- <StackPanel Orientation="Horizontal"
- Margin="0,5">
- <TextBlock Text="服务端口:"
- Width="80"
- VerticalAlignment="Center" />
- <TextBox x:Name="txtPort"
- Width="100"
- Text="{Binding ServerPort}" />
- <Button x:Name="btnStartService"
- Content="启动服务"
- Width="80"
- IsEnabled="{Binding StartServiceEnable}"
- Margin="10,0,0,0"
- Command="{Binding StartServiceCommand}" />
- <Button x:Name="btnStopService"
- Content="停止服务"
- Width="80"
- IsEnabled="{Binding StopServiceEnable}"
- Margin="5,0,0,0"
- Command="{Binding StopServiceCommand}" />
- <StackPanel Margin="200,0,0,0" Orientation="Horizontal">
- <CheckBox Content="屏蔽远程MES"
- Width="110"
- IsEnabled="{Binding StopServiceEnable}"
- Margin="5,0,0,0"
- IsChecked="{Binding Management.IsLocalhostMode}"/>
- <!--<Button Content="停止服务"
- Width="80"
- IsEnabled="{Binding StopServiceEnable}"
- Margin="5,0,0,0"
- Command="{Binding StopServiceCommand}"/>-->
- </StackPanel>
- </StackPanel>
- <TextBlock x:Name="txtServiceStatus"
- Foreground="{Binding Servicebrushes}"
- Text="{Binding ServiceStatus}"
- Margin="0,5" />
- </StackPanel>
- </GroupBox>
- <!-- API客户端设置 -->
- <GroupBox Grid.Row="1"
- Header="API客户端设置"
- Margin="0,10,0,0">
- <StackPanel>
- <StackPanel Orientation="Horizontal"
- Margin="0,5">
- <TextBlock Text="API地址:"
- Width="80"
- VerticalAlignment="Center" />
- <TextBox x:Name="txtApiUrl"
- Width="300"
- Text="{Binding ApiUrl}" />
- </StackPanel>
- <StackPanel Orientation="Horizontal"
- Margin="0,5">
- <TextBlock Text="App Key:"
- Width="80"
- VerticalAlignment="Center" />
- <TextBox x:Name="txtAppKey"
- Width="200"
- Text="{Binding AppKey}" />
- </StackPanel>
- <StackPanel Orientation="Horizontal"
- Margin="0,5">
- <TextBlock Text="Token:"
- Width="80"
- VerticalAlignment="Center" />
- <TextBox x:Name="txtToken"
- Width="200"
- Text="{Binding Token}" />
- </StackPanel>
- <Button x:Name="btnSaveSettings"
- Content="保存设置"
- Width="80"
- Margin="0,10,0,0"
- Command="{Binding SaveSettingsCommand}" />
- </StackPanel>
- </GroupBox>
- <!-- 接口地址 -->
- <GroupBox Grid.Row="2"
- Header="接口地址"
- Margin="0,10,0,0">
- <StackPanel>
- <TextBlock Text="1. 工单下发接口: /api/mes/receiveWorkOrder"
- Margin="0,2" />
- <TextBlock Text="2. SN打印请求接口: /api/mes/requestSnPrint"
- Margin="0,2" />
- <TextBlock Text="3. SN关键件绑定接口: /api/mes/receiveSnComponent"
- Margin="0,2" />
- <TextBlock Text="4. 加工参数上报接口: /api/mes/receiveProcessParameters"
- Margin="0,2" />
- </StackPanel>
- </GroupBox>
- <!-- 工单状态说明 -->
- <GroupBox Grid.Row="3"
- Header="工单状态说明"
- Margin="0,10,0,0">
- <StackPanel>
- <TextBlock Text="0:已创建、1:已排产、2:已发布、3:关闭、4:已锁定、5:已开工、6:已完成、7:异常完工"
- Margin="0,2" />
- <TextBlock Text="冻结状态: 0:否、1:是"
- Margin="0,2" />
- <TextBlock Text="下发状态: 0:未下发、1:已下发"
- Margin="0,2" />
- </StackPanel>
- </GroupBox>
- </Grid>
- </TabItem>
- </TabControl>
- </Grid>
- </Window>
|