Browse Source

修改测试记录查询

ltwork 1 year ago
parent
commit
dbae8681c4

+ 113 - 24
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/ResultQueryViewModel.cs

@@ -19,13 +19,15 @@ using System.Threading.Tasks;
 using Newtonsoft.Json;
 using Newtonsoft.Json;
 using QuestPDF.Fluent;
 using QuestPDF.Fluent;
 using System.Windows;
 using System.Windows;
+using Prism.Regions;
 
 
 namespace PLCTool.ViewModels.BusinessManageViewModel
 namespace PLCTool.ViewModels.BusinessManageViewModel
 {
 {
  
  
 
 
-    public class ResultQueryViewModel : BindableBase
+    public class ResultQueryViewModel : BindableBase,INavigationAware
     {
     {
+        private readonly IRegionManager _regionManager;
         private readonly IBasicDeviceService _iBasicDeviceService;
         private readonly IBasicDeviceService _iBasicDeviceService;
         private readonly IBasicDeviceKindService _iBasicDeviceKindService;
         private readonly IBasicDeviceKindService _iBasicDeviceKindService;
         private readonly IBasicProjectService _iBasicProjectService;
         private readonly IBasicProjectService _iBasicProjectService;
@@ -36,9 +38,11 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
         private readonly IMapper _mapper;
         private readonly IMapper _mapper;
         private readonly IDialogService _dialog;
         private readonly IDialogService _dialog;
         private readonly ILogger _logger;
         private readonly ILogger _logger;
+        private List<DeviceDtlWithResultModel> allDeviceAndSchResultList = new List<DeviceDtlWithResultModel>();//所有设备,并带有测试方案
         private List<DeviceDtlWithResultModel> allDeviceList = new List<DeviceDtlWithResultModel>();//所有方案
         private List<DeviceDtlWithResultModel> allDeviceList = new List<DeviceDtlWithResultModel>();//所有方案
         private List<DeviceDtlWithResultModel> conditionDevices = new List<DeviceDtlWithResultModel>();//符合条件的方案
         private List<DeviceDtlWithResultModel> conditionDevices = new List<DeviceDtlWithResultModel>();//符合条件的方案
-        public ResultQueryViewModel(IBasicDeviceService iBasicDeviceService, IBasicDeviceKindService iBasicDeviceKindService, IBasicProjectService iBasicProjectService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBizTestRecordDtlService iBizTestRecordDtlService, IBizTestRecordService iBizTestRecordService, IBasicPlcTestSchemeDtlService iBasicPlcTestSchemeDtlService, IMapper mapper, IDialogService dialog, ILogger logger)
+        private string selectProjectName;
+        public ResultQueryViewModel(IBasicDeviceService iBasicDeviceService, IBasicDeviceKindService iBasicDeviceKindService, IBasicProjectService iBasicProjectService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBizTestRecordDtlService iBizTestRecordDtlService, IBizTestRecordService iBizTestRecordService, IBasicPlcTestSchemeDtlService iBasicPlcTestSchemeDtlService, IRegionManager regionManager,IMapper mapper, IDialogService dialog, ILogger logger)
         {
         {
             _iBasicDeviceService = iBasicDeviceService;
             _iBasicDeviceService = iBasicDeviceService;
             _iBasicDeviceKindService = iBasicDeviceKindService;
             _iBasicDeviceKindService = iBasicDeviceKindService;
@@ -47,6 +51,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             _iBizTestRecordService= iBizTestRecordService;
             _iBizTestRecordService= iBizTestRecordService;
             _iBizTestRecordDtlService= iBizTestRecordDtlService;
             _iBizTestRecordDtlService= iBizTestRecordDtlService;
             _iBasicPlcTestSchemeDtlService = iBasicPlcTestSchemeDtlService;
             _iBasicPlcTestSchemeDtlService = iBasicPlcTestSchemeDtlService;
+            _regionManager = regionManager;
             _mapper = mapper;
             _mapper = mapper;
             _dialog = dialog;
             _dialog = dialog;
             _logger = logger;
             _logger = logger;
@@ -58,6 +63,8 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             OnLoadCommand = new DelegateCommand(OnLoad);
             OnLoadCommand = new DelegateCommand(OnLoad);
             PdfReportCommand = new DelegateCommand<object>(CreatePdf);
             PdfReportCommand = new DelegateCommand<object>(CreatePdf);
             UnqualifiedCommand = new DelegateCommand<object>(RetryTest);
             UnqualifiedCommand = new DelegateCommand<object>(RetryTest);
+            DgSelectChangeCommand = new DelegateCommand<object>(DgSelect);
+            GoBackCommand = new DelegateCommand<object>(GoBack);
         }
         }
 
 
 
 
@@ -130,7 +137,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
         /// <param name="obj"></param>
         /// <param name="obj"></param>
         private void CheckDetail(object obj)
         private void CheckDetail(object obj)
         {
         {
-            //测试方案明细主键ID
+            //设备ID
             long id = Convert.ToInt64(obj);
             long id = Convert.ToInt64(obj);
             DialogParameters parm = new DialogParameters();
             DialogParameters parm = new DialogParameters();
             parm.Add("Key", id);
             parm.Add("Key", id);
@@ -214,12 +221,36 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
 
 
             }
             }
         }
         }
+        /// <summary>
+        /// 单元格查看
+        /// </summary>
+        /// <param name="obj"></param>
+        private void DgSelect(object obj)
+        {
+            DeviceDtlWithResultModel dtlSch = (DeviceDtlWithResultModel)obj;
+            if (dtlSch != null)
+            {
+                SchItemResultList = new ObservableCollection<DeviceDtlWithResultModel>(allDeviceAndSchResultList.FindAll(x => ((x.ProjectName == dtlSch.ProjectName) && (x.DeviceName == dtlSch.DeviceName))));
+            }
+
+        }
+
+        /// <summary>
+        /// 返回界面
+        /// </summary>
+        /// <param name="obj"></param>
+        /// <exception cref="NotImplementedException"></exception>
+        private void GoBack(object obj)
+        {
+            _regionManager.Regions["ContentRegion"].RequestNavigate("ProjectTestResultView");
 
 
+        }
         /// <summary>
         /// <summary>
         /// 获取所有项目
         /// 获取所有项目
         /// </summary>
         /// </summary>
         private void GetProjectConfig()
         private void GetProjectConfig()
         {
         {
+            allDeviceAndSchResultList.Clear();
             allDeviceList.Clear();
             allDeviceList.Clear();
             conditionDevices.Clear();
             conditionDevices.Clear();
            
            
@@ -271,6 +302,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                                     countResult++;
                                     countResult++;
                                 }
                                 }
                             }
                             }
+                           
                         }
                         }
                         //测试结果
                         //测试结果
                         if(countResult== schDtls.Count)
                         if(countResult== schDtls.Count)
@@ -285,6 +317,24 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                         }
                         }
                         //加入时间集合
                         //加入时间集合
                         startDateTimes.Add(sch.start_test_time.Value);
                         startDateTimes.Add(sch.start_test_time.Value);
+                        //把
+                        allDeviceAndSchResultList.Add(new DeviceDtlWithResultModel()
+                        {
+
+                            DeviceId = deviceMsg.device_id,
+                            DeviceNo = deviceMsg.device_no,
+                            DeviceName = deviceMsg.device_name,
+                            DeviceKindName = deviceKind,
+                            ProjectName = projectName,
+                            // StartTestTime = startDateTimes.Min(),//取最小时间
+                            TestResult = testResult,
+                            SchemeName = sch.scheme_name,
+                            SchemeId = schId,
+                            CreateTime = sch.start_test_time.Value,
+                            CreateBy=sch.create_by,
+                            Remark=sch.remark,
+
+                        });
                     }
                     }
                     //计算这个设备是否所有的方案都通过
                     //计算这个设备是否所有的方案都通过
                     if ((deviceCountResult!=0)&&(deviceCountResult == recordMsgs.Count))
                     if ((deviceCountResult!=0)&&(deviceCountResult == recordMsgs.Count))
@@ -295,29 +345,34 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     {
                     {
                         deviceTestResult = "不通过";
                         deviceTestResult = "不通过";
                     }
                     }
-                    //这里不添加方案名称
-                    allDeviceList.Add(new DeviceDtlWithResultModel()
+                    //只添加选择的项目
+                    if (projectName == selectProjectName)
                     {
                     {
+                        //这里不添加方案名称
+                        allDeviceList.Add(new DeviceDtlWithResultModel()
+                        {
 
 
-                        DeviceId = deviceMsg.device_id,
-                        DeviceNo = deviceMsg.device_no,
-                        DeviceName = deviceMsg.device_name,
-                        DeviceKindName = deviceKind,
-                        ProjectName = projectName,
-                        StartTestTime = startDateTimes.Min(),//取最小时间
-                        TestResult = deviceTestResult
-                    }); ;
-                    conditionDevices.Add(new DeviceDtlWithResultModel()
-                    {
-                  
-                        DeviceId = deviceMsg.device_id,
-                        DeviceNo = deviceMsg.device_no,
-                        DeviceName = deviceMsg.device_name,
-                        DeviceKindName = deviceKind,
-                        ProjectName = projectName,
-                        StartTestTime = startDateTimes.Min(),//取最小时间
-                        TestResult = deviceTestResult
-                    });
+                            DeviceId = deviceMsg.device_id,
+                            DeviceNo = deviceMsg.device_no,
+                            DeviceName = deviceMsg.device_name,
+                            DeviceKindName = deviceKind,
+                            ProjectName = projectName,
+                            StartTestTime = startDateTimes.Min(),//取最小时间
+                            TestResult = deviceTestResult
+                        });
+                        conditionDevices.Add(new DeviceDtlWithResultModel()
+                        {
+
+                            DeviceId = deviceMsg.device_id,
+                            DeviceNo = deviceMsg.device_no,
+                            DeviceName = deviceMsg.device_name,
+                            DeviceKindName = deviceKind,
+                            ProjectName = projectName,
+                            StartTestTime = startDateTimes.Min(),//取最小时间
+                            TestResult = deviceTestResult
+                        });
+                    }
+                       
                 }
                 }
 
 
             }
             }
@@ -577,6 +632,30 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
 
 
             return invoiceModel;
             return invoiceModel;
         }
         }
+
+        public void OnNavigatedTo(NavigationContext navigationContext)
+        {
+            //编辑
+            var getMsg = navigationContext.Parameters.GetValues<string>("Key");
+            ///值不为空,表示修改,为空表示新增
+            if (getMsg != null)
+            {
+                foreach (var item in getMsg)
+                {
+                    selectProjectName = item;
+                }
+            }
+        }
+
+        public bool IsNavigationTarget(NavigationContext navigationContext)
+        {
+            return true;
+        }
+
+        public void OnNavigatedFrom(NavigationContext navigationContext)
+        {
+            
+        }
         #endregion
         #endregion
         #region 命令绑定
         #region 命令绑定
 
 
@@ -592,6 +671,9 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
         public DelegateCommand<object> UnqualifiedCommand { set; get; }
         public DelegateCommand<object> UnqualifiedCommand { set; get; }
         
         
         public DelegateCommand<object> PdfReportCommand { set; get; }
         public DelegateCommand<object> PdfReportCommand { set; get; }
+
+        public DelegateCommand<object> DgSelectChangeCommand { set; get; }
+        public DelegateCommand<object> GoBackCommand { set; get; }
         #endregion
         #endregion
 
 
         #region 数据绑定
         #region 数据绑定
@@ -602,6 +684,13 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             set { deviceResultItemList = value; RaisePropertyChanged(); }
             set { deviceResultItemList = value; RaisePropertyChanged(); }
         }
         }
 
 
+        private ObservableCollection<DeviceDtlWithResultModel> schItemResultList = new ObservableCollection<DeviceDtlWithResultModel>();
+        public ObservableCollection<DeviceDtlWithResultModel> SchItemResultList
+        {
+            get { return schItemResultList; }
+            set { schItemResultList = value; RaisePropertyChanged(); }
+        }
+        
         /// <summary>
         /// <summary>
         /// 设备编号
         /// 设备编号
         /// </summary>
         /// </summary>

+ 71 - 45
BlankApp1/BlankApp1/Views/BusinessManageView/ResultQueryView.xaml

@@ -25,7 +25,7 @@
             <RowDefinition Height="40"/>
             <RowDefinition Height="40"/>
             <RowDefinition/>
             <RowDefinition/>
             <RowDefinition Height="40"/>
             <RowDefinition Height="40"/>
-
+            <RowDefinition/>
         </Grid.RowDefinitions>
         </Grid.RowDefinitions>
         <UniformGrid Grid.Row="0" Columns="4">
         <UniformGrid Grid.Row="0" Columns="4">
             <StackPanel Orientation="Horizontal">
             <StackPanel Orientation="Horizontal">
@@ -68,62 +68,29 @@
                 <Button  Content="查询" Width="80"  Margin="5,0"  Command="{Binding QueryCommand}" Style="{StaticResource NormalButtonStyle}" />
                 <Button  Content="查询" Width="80"  Margin="5,0"  Command="{Binding QueryCommand}" Style="{StaticResource NormalButtonStyle}" />
                 <Button  Content="重置" Width="80"  Margin="5,0"  Command="{Binding ResetCommand}" Style="{StaticResource NormalButtonStyle}" />
                 <Button  Content="重置" Width="80"  Margin="5,0"  Command="{Binding ResetCommand}" Style="{StaticResource NormalButtonStyle}" />
                 <Button  Content="新增" Width="80"  Margin="5,0"  Command="{Binding AddCommand}" Style="{StaticResource NormalButtonStyle}"/>
                 <Button  Content="新增" Width="80"  Margin="5,0"  Command="{Binding AddCommand}" Style="{StaticResource NormalButtonStyle}"/>
-
                 <Button Content="导出Excel" Width="80"  Margin="5,0"  Command="{Binding ExportCommand}" Style="{StaticResource NormalButtonStyle}" />
                 <Button Content="导出Excel" Width="80"  Margin="5,0"  Command="{Binding ExportCommand}" Style="{StaticResource NormalButtonStyle}" />
+                <Button Content="返回" Width="80"  Margin="5,0"  Command="{Binding GoBackCommand}" Style="{StaticResource NormalButtonStyle}" />
             </StackPanel>
             </StackPanel>
         </Grid>
         </Grid>
         <DataGrid  Grid.Row="2"  ColumnWidth="*" AutoGenerateColumns="False" HeadersVisibility="All" CanUserAddRows="False"  SelectionUnit="FullRow" SelectionMode="Single"   RowHeaderWidth="0"
         <DataGrid  Grid.Row="2"  ColumnWidth="*" AutoGenerateColumns="False" HeadersVisibility="All" CanUserAddRows="False"  SelectionUnit="FullRow" SelectionMode="Single"   RowHeaderWidth="0"
        ColumnHeaderStyle="{StaticResource ColumnHeaderStyle}"  RowHeaderStyle="{StaticResource RowHeaderStyle}" RowStyle="{StaticResource DataGridRowtyle}"  AlternationCount="2"
        ColumnHeaderStyle="{StaticResource ColumnHeaderStyle}"  RowHeaderStyle="{StaticResource RowHeaderStyle}" RowStyle="{StaticResource DataGridRowtyle}"  AlternationCount="2"
       ItemsSource="{Binding DeviceResultItemList}" IsReadOnly="True" Padding="0"  >
       ItemsSource="{Binding DeviceResultItemList}" IsReadOnly="True" Padding="0"  >
+            <b:Interaction.Triggers>
+                <b:EventTrigger EventName="SelectionChanged">
+                    <b:InvokeCommandAction  Command="{Binding DataContext.DgSelectChangeCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" 
+                                CommandParameter="{Binding Path=SelectedItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"/>
+                </b:EventTrigger>
+            </b:Interaction.Triggers>
             <DataGrid.Columns >
             <DataGrid.Columns >
                 <!--<DataGridTextColumn Header="序号" Width="50" Binding="{Binding DeviceId}" CellStyle="{StaticResource MyDataGridCellStyle}" />-->
                 <!--<DataGridTextColumn Header="序号" Width="50" Binding="{Binding DeviceId}" CellStyle="{StaticResource MyDataGridCellStyle}" />-->
                 <DataGridTextColumn Header="设备编号" Binding="{Binding DeviceNo}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
                 <DataGridTextColumn Header="设备编号" Binding="{Binding DeviceNo}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
                 <DataGridTextColumn Header="设备名称" Binding="{Binding DeviceName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
                 <DataGridTextColumn Header="设备名称" Binding="{Binding DeviceName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
-                <DataGridTextColumn Header="项目名称" Binding="{Binding ProjectName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+             
                 <DataGridTextColumn Header="设备类型" Binding="{Binding DeviceKindName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
                 <DataGridTextColumn Header="设备类型" Binding="{Binding DeviceKindName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
-               
-                <DataGridTextColumn Header="测试时间" Width="150" Binding="{Binding StartTestTime,StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                <DataGridTextColumn Header="项目名称" Binding="{Binding ProjectName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
                 <DataGridTextColumn Header="测试结果" Binding="{Binding TestResult}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
                 <DataGridTextColumn Header="测试结果" Binding="{Binding TestResult}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
-                <DataGridTemplateColumn Header="操作" Width="280"  CellStyle="{StaticResource MyDataGridCellStyle}">
-                    <DataGridTemplateColumn.CellTemplate>
-                        <DataTemplate>
-                            <UniformGrid Columns="3">
-                                <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
-                       Command="{Binding DataContext.CheckDetailCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding DeviceId}"  Cursor="Hand" Margin="0,0,5,0" >
-                                    
-                                    <StackPanel Orientation="Horizontal">
-                                        <TextBlock  Text="查看详情" VerticalAlignment="Center" Foreground="Blue"/>
-                                    </StackPanel>
-                                </Button>
-                                <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
-                                    Command="{Binding DataContext.UnqualifiedCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" Cursor="Hand" >
-                                    <Button.CommandParameter>
-                                        <MultiBinding Converter="{ StaticResource ResourceKey=TwoParConverter}">
-                                                <Binding Path="SchemeId"  ></Binding>
-                                                <Binding Path="DeviceId"></Binding>
-                                            </MultiBinding>
-                                       </Button.CommandParameter>
-                                    <StackPanel Orientation="Horizontal">
-                                        <TextBlock  Text="测试不合格项" VerticalAlignment="Center" Foreground="Blue"/>
-                                    </StackPanel>
-                                </Button>
-                                <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
-                                Command="{Binding DataContext.PdfReportCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" Cursor="Hand" >
-                                    <Button.CommandParameter>
-                                        <MultiBinding Converter="{ StaticResource ResourceKey=TwoParConverter}">
-                                            <Binding Path="TestResult"  ></Binding>
-                                            <Binding Path="DeviceId"></Binding>
-                                            <Binding Path="ProjectName"></Binding>
-                                        </MultiBinding>
-                                    </Button.CommandParameter>
-                                    <StackPanel Orientation="Horizontal">
-                                        <TextBlock  Text="生成pdf报表" VerticalAlignment="Center" Foreground="Blue"/>
-                                    </StackPanel>
-                                </Button>
-                            </UniformGrid>
-                        </DataTemplate>
-                    </DataGridTemplateColumn.CellTemplate>
-                </DataGridTemplateColumn>
+                <DataGridTextColumn Header="创建者" Binding="{Binding CreateBy}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                <DataGridTextColumn Header="创建时间" Width="150" Binding="{Binding CreateTime,StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
             </DataGrid.Columns>
             </DataGrid.Columns>
 
 
         </DataGrid>
         </DataGrid>
@@ -141,7 +108,66 @@
             </hc:Pagination>-->
             </hc:Pagination>-->
         </Grid>
         </Grid>
 
 
+        <Grid Grid.Row="4">
+            <DataGrid  Grid.Row="2"  ColumnWidth="*" AutoGenerateColumns="False" HeadersVisibility="All" CanUserAddRows="False"  SelectionUnit="FullRow" SelectionMode="Single"   RowHeaderWidth="0"
+ ColumnHeaderStyle="{StaticResource ColumnHeaderStyle}"  RowHeaderStyle="{StaticResource RowHeaderStyle}" RowStyle="{StaticResource DataGridRowtyle}"  AlternationCount="2"
+ItemsSource="{Binding SchItemResultList}" IsReadOnly="True" Padding="0"  >
+                <DataGrid.Columns >
+                    <DataGridTextColumn Header="设备编号" Binding="{Binding DeviceNo}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                    <DataGridTextColumn Header="设备名称" Binding="{Binding DeviceName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                    <DataGridTextColumn Header="设备类型" Binding="{Binding DeviceKindName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                    <DataGridTextColumn Header="测试方案名称" Binding="{Binding SchemeName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                    <DataGridTextColumn Header="状态" Binding="{Binding TestResult}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+
+                    <DataGridTextColumn Header="测试结果" Binding="{Binding TestResult}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                    <DataGridTextColumn Header="测试人员" Binding="{Binding TestResult}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
 
 
+                    <DataGridTextColumn Header="开始测试时间" Width="120" Binding="{Binding StartTestTime,StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                    <DataGridTextColumn Header="测试完成时间" Width="120" Binding="{Binding EndTestTime,StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
+                    <DataGridTemplateColumn Header="操作" Width="280"  CellStyle="{StaticResource MyDataGridCellStyle}">
+                        <DataGridTemplateColumn.CellTemplate>
+                            <DataTemplate>
+                                <UniformGrid Columns="3">
+                                    <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
+        Command="{Binding DataContext.CheckDetailCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding DeviceId}"  Cursor="Hand" Margin="0,0,5,0" >
+
+                                        <StackPanel Orientation="Horizontal">
+                                            <TextBlock  Text="查看详情" VerticalAlignment="Center" Foreground="Blue"/>
+                                        </StackPanel>
+                                    </Button>
+                                    <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
+                     Command="{Binding DataContext.UnqualifiedCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" Cursor="Hand" >
+                                        <Button.CommandParameter>
+                                            <MultiBinding Converter="{ StaticResource ResourceKey=TwoParConverter}">
+                                                <Binding Path="SchemeId"  ></Binding>
+                                                <Binding Path="DeviceId"></Binding>
+                                            </MultiBinding>
+                                        </Button.CommandParameter>
+                                        <StackPanel Orientation="Horizontal">
+                                            <TextBlock  Text="测试不合格项" VerticalAlignment="Center" Foreground="Blue"/>
+                                        </StackPanel>
+                                    </Button>
+                                    <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
+                 Command="{Binding DataContext.PdfReportCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" Cursor="Hand" >
+                                        <Button.CommandParameter>
+                                            <MultiBinding Converter="{ StaticResource ResourceKey=TwoParConverter}">
+                                                <Binding Path="TestResult"  ></Binding>
+                                                <Binding Path="DeviceId"></Binding>
+                                                <Binding Path="ProjectName"></Binding>
+                                            </MultiBinding>
+                                        </Button.CommandParameter>
+                                        <StackPanel Orientation="Horizontal">
+                                            <TextBlock  Text="生成pdf报表" VerticalAlignment="Center" Foreground="Blue"/>
+                                        </StackPanel>
+                                    </Button>
+                                </UniformGrid>
+                            </DataTemplate>
+                        </DataGridTemplateColumn.CellTemplate>
+                    </DataGridTemplateColumn>
+                </DataGrid.Columns>
+
+            </DataGrid>
+        </Grid>
     </Grid>
     </Grid>
 </UserControl>
 </UserControl>