Browse Source

修改手动测试项

user_lt 1 năm trước cách đây
mục cha
commit
918d5a0c42

+ 347 - 289
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/ManualTestViewModel.cs

@@ -228,7 +228,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
         /// <summary>
         /// 增加测试记录明细
         /// </summary>
-        private void AddTesDtltRecord(long schDetailId)
+        private void AddOrEditTesDtltRecord(long schDetailId)
         {
             //查找record ID
             long recordId = 0;
@@ -239,7 +239,6 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             }
             testStatus = 99;//测试状态赋值为99
                             //状态status 没有赋值
-          
 
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
@@ -249,7 +248,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             bizTestRecordDtlDto.Status = testStatus;
             bizTestRecordDtlDto.TestResult = GetTestResult();
             bizTestRecordDtlDto.CreateBy = Appsession.UserName;
-            bizTestRecordDtlDto.CreateTime = DateTime.Now;
+            bizTestRecordDtlDto.CreateTime = startTime;
             bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
             bizTestRecordDtlDto.UpdateTime = DateTime.Now;
             //记录记录明细表中是否有这个方案明细ID的记录,没有则添加,有则更新记录状态
@@ -269,7 +268,8 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                 UpdateTesDtltRecord();
             }
             
-           
+
+
         }
 
         private int GetTestResult()
@@ -336,14 +336,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     //界面显示
                     GetDetailInfo(id);
                     //记录记录明细表中是否有这个方案明细ID的记录,没有则添加,有则更新记录状态
-                    var findRecordDetail = _iBizTestRecordDtlService.FindRecordDetailBySchDtlID(schDetailId);
-                    if (findRecordDetail == null)
-                    {
-
-                        //增加测试记录明细
-                        AddTesDtltRecord(globalSchDetailId);
-                       
-                    }
+               
                     break;
                 }
           
@@ -367,14 +360,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     //界面显示
                     GetDetailInfo(id);
                     //记录记录明细表中是否有这个方案明细ID的记录,没有则添加,有则更新记录状态
-                    var findRecordDetail = _iBizTestRecordDtlService.FindRecordDetailBySchDtlID(schDetailId);
-                    if (findRecordDetail == null)
-                    {
-
-                        //增加测试记录明细
-                        AddTesDtltRecord(globalSchDetailId);
-
-                    }
+                   
                     break;
                 }
 
@@ -385,24 +371,35 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
         /// 开始检测
         /// </summary>
         /// <param name="obj"></param>
-        private void Start(object obj)
+        private async  void Start(object obj)
         {
+            
             //开始时间
             startTime = DateTime.Now;
             //增加测试记录主表
             AddTestRecord();
-          
+        
             //前置项
-            TestPreceditionMethod();
-            //MessageBox.Show("前置项测试完成!", "确认", MessageBoxButton.OKCancel, MessageBoxImage.Information);
+            bool preBool=TestPreceditionMethod();
+            if(!preBool)
+            {
+                return;
+            }
+            
             //输入项
-            TestActionMethod();
-            //MessageBox.Show("输入项测试完成!", "确认", MessageBoxButton.OKCancel, MessageBoxImage.Information);
+            bool isAction=TestActionMethod();
+            if (!isAction)
+            {
+                return;
+            }
+         
             //输出项
-            TestJudgementMethod();
-            //MessageBox.Show("输出项测试完成!", "确认", MessageBoxButton.OKCancel, MessageBoxImage.Information);
-            //增加测试记录明细表
-            AddTesDtltRecord(globalSchDetailId);
+            bool isJudgeResult=await TestJudgementMethod();
+            if (!isJudgeResult)
+            {
+                return;
+            }
+
         }
         /// <summary>
         /// 更新测试结果
@@ -414,7 +411,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
         /// <summary>
         /// 测试前置项目
         /// </summary>
-        private   void  TestPreceditionMethod()
+        private   bool  TestPreceditionMethod()
         {
             switch (BeforeSelectJudge)
             {
@@ -423,9 +420,17 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     MessageBoxResult boxResult = MessageBox.Show(BeforeDetail, "确认", MessageBoxButton.OKCancel, MessageBoxImage.Information);
                     if (boxResult == MessageBoxResult.OK)
                     {
+                        //前置项测试结果json转化
+                        string prefixJsonStr = ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
+                        //json字符串
+                        bizTestRecordDtlDto.PreconditionFinal = prefixJsonStr;
                         bizTestRecordDtlDto.PreconditionResult = "合格";
                         StepIndex = 1;
                     }
+                    else
+                    {
+                        return false;
+                    }
 
                     break;
                 case "自动判定":
@@ -436,117 +441,97 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                             break;
                         case "AND":
                         case "ONLY":
-                            int countCond = 0;
-                            foreach (var item in BeforeConList)
-                            {
-                                string plcAddress = item.PlcAddress;
-                                string plcAddType = item.PlcAddType;
-                                string plcValue = item.PlcValue;
-
-                                switch (plcAddType)
-                                {
-                                    case "bool":
-                                         string readResult = PLCCom.GetInstance().ReadPlcObject(plcAddress, VarType.Bit);
-                                        ///实时值记录
-                                       
-                                        item.RealValue = readResult;
-                                        item.TestTime = DateTime.Now;
-                                        if (readResult.Trim() == plcValue.Trim())
-                                        {
-                                            item.TestResult = "合格";
-                                            countCond++;
-                                        }
-                                        else
-                                        {
-                                            item.TestResult = "不合格";
-                                        }
-
-                                        break;
-                                    case "word":
-                                        break;
-
-                                }
-
-                            }
-                            //测试记录存入数据库
-                            //前置项测试结果json转化
-                            string prefixJsonStr = ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
-                            //json字符串
-                            bizTestRecordDtlDto.PreconditionFinal = prefixJsonStr;
-                            //条件满足
-                            if (countCond == BeforeConList.Count)
-                            {
-                                bizTestRecordDtlDto.PreconditionResult = "合格";
-                                StepIndex = 1;
-                            }
-                            else
-                            {
-                                bizTestRecordDtlDto.PreconditionResult = "不合格";
-                            }
-                          
-                            break;
                         case "OR":
-                            int countCond2 = 0;
-                            foreach (var item in BeforeConList)
-                            {
-                                string plcAddress = item.PlcAddress;
-                                string plcAddType = item.PlcAddType;
-                                string plcValue = item.PlcValue;
-
-                                switch (plcAddType)
-                                {
-                                    case "bool":
-                                        string readResult = PLCCom.GetInstance().ReadPlcObject(plcAddress, VarType.Bit);
-                                        ///实时值记录
-
-                                        item.RealValue = readResult;
-                                        item.TestTime = DateTime.Now;
-                                        if (readResult.Trim() == plcValue.Trim())
-                                        {
-                                            item.TestResult = "合格";
-                                            countCond2++;
-                                        }
-                                        else
-                                        {
-                                            item.TestResult = "不合格";
-                                        }
-
-                                        break;
-                                    case "word":
-                                        break;
-
-                                }
-
-                            }
-                            //测试记录存入数据库
-                            //前置项测试结果json转化
-                            string prefixJsonStr2 = ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
-                            //json字符串
-                            bizTestRecordDtlDto.PreconditionFinal = prefixJsonStr2;
-                            //条件满足
-                            if (countCond2 !=0)
-                            {
-                                bizTestRecordDtlDto.PreconditionResult = "合格";
-                                StepIndex = 1;
-                            }
-                            else
-                            {
-                                bizTestRecordDtlDto.PreconditionResult = "不合格";
-                            }
-
+                            ReadPredice(SelectLogic);
                             break;
-                            
-
+                   
+                           
                         case "ORDER":
                             break;
                     }
                     break;
             }
             //更新测试记录
-            UpdateTesDtltRecord();
+            AddOrEditTesDtltRecord(globalSchDetailId);
+            return true;
+        }
+
+        private void ReadPredice(string  strLogic)
+        {
+            int countCond = 0;
+            foreach (var item in BeforeConList)
+            {
+                string plcAddress = item.PlcAddress;
+                string plcAddType = item.PlcAddType;
+                string plcValue = item.PlcValue;
+
+                switch (plcAddType)
+                {
+                    case "bool":
+                        string readResult = PLCCom.GetInstance().ReadPlcObject(plcAddress, VarType.Bit);
+                        ///实时值记录
+
+                        item.RealValue = readResult;
+                        item.TestTime = DateTime.Now;
+                        if (readResult.Trim() == plcValue.Trim())
+                        {
+                            item.TestResult = "合格";
+                            countCond++;
+                        }
+                        else
+                        {
+                            item.TestResult = "不合格";
+                        }
+                        break;
+                    case "word":
+                        break;
+
+                }
+
+            }
+            //测试记录存入数据库
+            //前置项测试结果json转化
+            string prefixJsonStr = ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
+            //json字符串
+            bizTestRecordDtlDto.PreconditionFinal = prefixJsonStr;
+            //条件满足
+            switch (strLogic)
+            {
+                case "AND":
+                case "ONLY":
+                    if ((countCond == BeforeConList.Count) && (countCond != 0))
+                    {
+                        bizTestRecordDtlDto.PreconditionResult = "合格";
+                    
+                    }
+                    else
+                    {
+                        bizTestRecordDtlDto.PreconditionResult = "不合格";
+                    }
+                    break;
+                case "OR":
+                    if ( (countCond != 0))
+                    {
+                        bizTestRecordDtlDto.PreconditionResult = "合格";
+                      
+                    }
+                    else
+                    {
+                        bizTestRecordDtlDto.PreconditionResult = "不合格";
+                    }
+                    break;
+            }
+
+            StepIndex = 1;        
+
         }
-        private  void TestActionMethod()
+
+        /// <summary>
+        /// 输入项写入
+        /// </summary>
+        private  bool TestActionMethod()
         {
+            bool isActionResult = true;
             switch (SelectInJudge)
             {
                 case "人工判定":
@@ -554,9 +539,17 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     MessageBoxResult boxResult = MessageBox.Show(InDetail, "确认", MessageBoxButton.OKCancel, MessageBoxImage.Information);
                     if (boxResult == MessageBoxResult.OK)
                     {
+                        //前置项测试结果json转化
+                        string actionJsonStr = ModelToJsonToStr(SelectInJudge, InSelectLogic, InDetail, InConList);
+                        //json字符串
+                        bizTestRecordDtlDto.ActionFinal = actionJsonStr;
                         bizTestRecordDtlDto.ActionResult = "合格";
                         StepIndex = 2;
                     }
+                    else
+                    {
+                        isActionResult= false;
+                    }
 
                     break;
                 case "自动判定":
@@ -567,111 +560,132 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                             break;
                         case "AND":
                         case "ONLY":
-                            int countCond = 0;
-                            foreach (var item in InConList)
-                            {
-                                string plcAddress = item.PlcAddress;
-                                string plcAddType = item.PlcAddType;
-                                string plcValue = item.PlcValue;
 
-                                switch (plcAddType)
-                                {
-                                    case "bool":
-                                      
-                                        DialogParameters parm = new DialogParameters();
-                                        parm.Add("Key", plcAddress);
-                                        parm.Add("Key2", plcValue);
-                                        //弹出写入对话框
-                                        _dialog.ShowDialog("WritePLCView", parm, async callback =>
-                                        {
-                                            if (callback.Result == ButtonResult.OK)
-                                            {
-                                                 bool writeResult = PLCCom.GetInstance().WritePlcObject(plcAddress, VarType.Bit, plcValue);
-                                                ///实时值记录
-                                                item.RealValue = plcValue;
-                                                item.TestTime = DateTime.Now;
-                                                if (writeResult)
-                                                {
-                                                    ///单个测试项合格
-                                                    item.TestResult = "合格";
-                                                    countCond++;
-                                                }
-                                                else
-                                                {
-                                                    item.TestResult = "不合格";
-                                                }
-                                            }
-
-                                        });
-                                    
-                                        
-                                      
-
-                                        break;
-                                    case "word":
-                                        DialogParameters parm2 = new DialogParameters();
-                                        parm2.Add("Key", plcAddress);
-                                        parm2.Add("Key2", plcValue);
-                                        //弹出写入对话框
-                                        _dialog.ShowDialog("WritePLCView", parm2, async callback =>
-                                        {
-                                            if (callback.Result == ButtonResult.OK)
-                                            {
-                                                bool writeResult = PLCCom.GetInstance().WritePlcObject(plcAddress, VarType.Word, plcValue);
-                                                ///实时值记录
-                                                item.RealValue = plcValue;
-                                                item.TestTime = DateTime.Now;
-                                                if (writeResult)
-                                                {
-                                                    ///单个测试项合格
-                                                    item.TestResult = "合格";
-                                                    countCond++;
-                                                }
-                                                else
-                                                {
-                                                    item.TestResult = "不合格";
-                                                }
-                                            }
-
-                                        });
-
-
-
-                                        break;
+                            isActionResult=SendActionToPLC();
+                            break;
+                        case "OR":
+                            break;
 
-                                }
+                        case "ORDER":
+                            break;
+                    }
+                    break;
+            }
+            //更新测试记录
+            //更新测试记录
+            AddOrEditTesDtltRecord(globalSchDetailId);
+            return isActionResult;
+        }
+        /// <summary>
+        /// 发送命令给PLC
+        /// </summary>
+        private bool SendActionToPLC()
+        {
+            bool isAction = true;
+            int countCond = 0;
+            foreach (var item in InConList)
+            {
+                string plcAddress = item.PlcAddress;
+                string plcAddType = item.PlcAddType;
+                string plcValue = item.PlcValue;
 
+                switch (plcAddType)
+                {
+                    case "bool":
+
+                        DialogParameters parm = new DialogParameters();
+                        parm.Add("Key", plcAddress);
+                        parm.Add("Key2", plcValue);
+                        //弹出写入对话框
+                        _dialog.ShowDialog("WritePLCView", parm, async callback =>
+                        {
+                            if (callback.Result == ButtonResult.OK)
+                            {
+                                bool writeResult = PLCCom.GetInstance().WritePlcObject(plcAddress, VarType.Bit, plcValue);
+                                ///实时值记录
+                                item.RealValue = plcValue;
+                                item.TestTime = DateTime.Now;
+                                if (writeResult)
+                                {
+                                    ///单个测试项合格
+                                    item.TestResult = "合格";
+                                    countCond++;
+                                }
+                                else
+                                {
+                                    item.TestResult = "不合格";
+                                }
+                            }
+                            else
+                            {
+                                isAction= false;
                             }
-                            //测试记录存入数据库
-                            //前置项测试结果json转化
-                            string actionJsonStr = ModelToJsonToStr(SelectInJudge, InSelectLogic, InDetail, InConList);
-                            //json字符串
-                            bizTestRecordDtlDto.ActionFinal = actionJsonStr;
-                            //条件满足
-                            if ((countCond == InConList.Count)&&(countCond!=0))
+
+                        });
+                        break;
+                    case "word":
+                        DialogParameters parm2 = new DialogParameters();
+                        parm2.Add("Key", plcAddress);
+                        parm2.Add("Key2", plcValue);
+                        //弹出写入对话框
+                        _dialog.ShowDialog("WritePLCView", parm2, async callback =>
+                        {
+                            if (callback.Result == ButtonResult.OK)
                             {
-                                bizTestRecordDtlDto.ActionResult = "合格";
-                                StepIndex = 2;
+                                bool writeResult = PLCCom.GetInstance().WritePlcObject(plcAddress, VarType.Word, plcValue);
+                                ///实时值记录
+                                item.RealValue = plcValue;
+                                item.TestTime = DateTime.Now;
+                                if (writeResult)
+                                {
+                                    ///单个测试项合格
+                                    item.TestResult = "合格";
+                                    countCond++;
+                                }
+                                else
+                                {
+                                    item.TestResult = "不合格";
+                                }
                             }
                             else
                             {
-                                bizTestRecordDtlDto.ActionResult = "不合格";
+                                isAction = false;
                             }
 
-                            break;
-                        case "OR":
-                            break;
+                        });
+                        break;
+
+                }
 
-                        case "ORDER":
-                            break;
-                    }
-                    break;
             }
-            //更新测试记录
-            UpdateTesDtltRecord();
+            if(!isAction)
+            {
+                return isAction;
+            }
+            //测试记录存入数据库
+            //前置项测试结果json转化
+            string actionJsonStr = ModelToJsonToStr(SelectInJudge, InSelectLogic, InDetail, InConList);
+            //json字符串
+            bizTestRecordDtlDto.ActionFinal = actionJsonStr;
+            //条件满足
+            if ((countCond == InConList.Count) && (countCond != 0))
+            {
+                bizTestRecordDtlDto.ActionResult = "合格";
+                
+            }
+            else
+            {
+                bizTestRecordDtlDto.ActionResult = "不合格";
+            }
+            StepIndex = 2;
+            return isAction;
         }
-        private async  void TestJudgementMethod()
+        /// <summary>
+        /// 结果项判定
+        /// </summary>
+        private async  Task<bool> TestJudgementMethod()
         {
+            bool isJudge = true;
             switch (SelectOutJudge)
             {
                 case "人工判定":
@@ -682,6 +696,10 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                         bizTestRecordDtlDto.JudgementResult = "合格";
                         StepIndex = 3;
                     }
+                    else
+                    {
+                        isJudge = false;
+                    }
 
                     break;
                 case "自动判定":
@@ -689,84 +707,117 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     switch (OutSelectLogic)
                     {
                         case "NULL":
+                            bizTestRecordDtlDto.JudgementResult = "合格";
+                            StepIndex = 3;
                             break;
                         case "AND":
                         case "ONLY":
-                            int countCond = 0;
-                            foreach (var item in OutConList)
-                            {
-                                string plcAddress = item.PlcAddress;
-                                string plcAddType = item.PlcAddType;
-                                string plcValue = item.PlcValue;
+                        case "OR":
+                            await ReadJudge(OutSelectLogic);
+                            break;
+                        case "ORDER":
+                            break;
+                    }
+                    break;
+            }
+            //更新测试记录
+            //更新测试记录
+            AddOrEditTesDtltRecord(globalSchDetailId);
+            return isJudge;
+        }
+        /// <summary>
+        /// 读取结果
+        /// </summary>
+        private async Task ReadJudge(String strLogic)
+        {
+            int countCond = 0;
+            foreach (var item in OutConList)
+            {
+                string plcAddress = item.PlcAddress;
+                string plcAddType = item.PlcAddType;
+                string plcValue = item.PlcValue;
+
+                switch (plcAddType)
+                {
 
-                                switch (plcAddType)
+                    case "bool":
+                        DateTime entryTime = DateTime.Now;
+                        string readResult = string.Empty;
+                        //一直读
+                        await Task.Run(async () =>
+                        {
+                            while (entryTime.AddMilliseconds(10 * 1000) > DateTime.Now)
+                            {
+                                //显示进度条
+                                System.Windows.Application.Current.Dispatcher.Invoke((delegate
                                 {
-                                 
-                                    case "bool":
-                                        DateTime entryTime = DateTime.Now;
-                                        string readResult = string.Empty;
-                                        //一直读
-                                        await Task.Run(async () =>
-                                        {
-                                            while (entryTime.AddMilliseconds(10 * 1000) > DateTime.Now)
-                                            {
-                                                readResult = PLCCom.GetInstance().ReadPlcObject(plcAddress, VarType.Bit);
-                                                if (readResult == item.PlcValue)
-                                                {
-                                                    break;
-                                                }
-                                                await Task.Delay(1000);
-                                            }
-                                        });
-                                       
-                                       
-                                        ///实时值记录
-                                        item.RealValue = readResult;
-                                        item.TestTime = DateTime.Now;
-                                        if (readResult.Trim() == plcValue?.Trim())
-                                        {
-                                            item.TestResult = "合格";
-                                            countCond++;
-                                        }
-                                        else
-                                        {
-                                            item.TestResult = "不合格";
-                                        }
-
-                                        break;
-                                    case "word":
-                                        break;
+                                    ProVisibility = Visibility.Visible;
+                                }));
 
+                                readResult = PLCCom.GetInstance().ReadPlcObject(plcAddress, VarType.Bit);
+                                if (readResult == item.PlcValue)
+                                {
+                                    break;
                                 }
-
-                            }
-                            //测试记录存入数据库
-                            //输出项测试结果json转化
-                            string prefixJsonStr = ModelToJsonToStr(SelectOutJudge, OutSelectLogic, OutDetail, OutConList);
-                            //json字符串
-                            bizTestRecordDtlDto.JudgementResultFinal = prefixJsonStr;
-                            //条件满足
-                            if ((countCond == OutConList.Count)&&(countCond!=0))
-                            {
-                                bizTestRecordDtlDto.JudgementResult = "合格";
-                                
+                                await Task.Delay(1000);
                             }
-                            else
-                            {
-                                bizTestRecordDtlDto.JudgementResult = "不合格";
-                            }
-                            StepIndex = 3;
-                            break;
-                        case "OR":
-                            break;
+                        });
+
+                        ProVisibility = Visibility.Hidden;
+                        ///实时值记录
+                        item.RealValue = readResult;
+                        item.TestTime = DateTime.Now;
+                        if (readResult.Trim() == plcValue?.Trim())
+                        {
+                            item.TestResult = "合格";
+                            countCond++;
+                        }
+                        else
+                        {
+                            item.TestResult = "不合格";
+                        }
+
+                        break;
+                    case "word":
+                        break;
 
-                        case "ORDER":
-                            break;
+                }
+
+            }
+            //测试记录存入数据库
+            //输出项测试结果json转化
+            string prefixJsonStr = ModelToJsonToStr(SelectOutJudge, OutSelectLogic, OutDetail, OutConList);
+            //json字符串
+            bizTestRecordDtlDto.JudgementResultFinal = prefixJsonStr;
+            //条件满足
+            switch(strLogic)
+            {
+                case "AND":
+                case "ONLY":
+                    if ((countCond == OutConList.Count) && (countCond != 0))
+                    {
+                        bizTestRecordDtlDto.JudgementResult = "合格";
+
+                    }
+                    else
+                    {
+                        bizTestRecordDtlDto.JudgementResult = "不合格";
+                    }
+                    break;
+                case "OR":
+                    if ( countCond != 0)
+                    {
+                        bizTestRecordDtlDto.JudgementResult = "合格";
+
+                    }
+                    else
+                    {
+                        bizTestRecordDtlDto.JudgementResult = "不合格";
                     }
                     break;
             }
-            //更新测试记录
-            UpdateTesDtltRecord();
+           
+            StepIndex = 3;
         }
         /// <summary>
         /// 获取配置
@@ -1052,6 +1103,13 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             get { return stepIndex; }
             set { stepIndex = value; RaisePropertyChanged(); }
         }
+
+        private Visibility proVisibility =Visibility.Hidden;
+        public Visibility ProVisibility
+        {
+            get { return proVisibility; }
+            set { proVisibility = value; RaisePropertyChanged(); }
+        }
         #endregion
 
     }

+ 6 - 0
BlankApp1/BlankApp1/Views/BusinessManageView/ManualTestView.xaml

@@ -6,6 +6,7 @@
              xmlns:local="clr-namespace:PLCTool.Views.BusinessManageView"
              xmlns:hc="https://handyorg.github.io/handycontrol"
              xmlns:prism="http://prismlibrary.com/" 
+             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
              BorderBrush="#CBCBCB" BorderThickness="1"
              Height="600" Width="1000" >
 
@@ -275,5 +276,10 @@
             <Button  Content="下一步" Width="80"    Command="{Binding NextCommand}" Style="{StaticResource NormalButtonStyle}" />
             <Button  Content="完成" Width="80"    Command="{Binding DoneCommand}" Style="{StaticResource NormalButtonStyle}" />
         </UniformGrid>
+        <Grid Grid.Row="2">
+            <hc:CircleProgressBar IsIndeterminate="True" Visibility="{Binding ProVisibility }" Value="50"  Margin="16,0,0,0" Width="100" Height="100" ArcThickness="10" Style="{StaticResource ProgressBarInfoCircle}">
+               
+            </hc:CircleProgressBar>
+        </Grid>
     </Grid>
 </UserControl>