From c1c3772a11b1f3fbad8846cc714120771d85fa53 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 12 六月 2025 20:10:59 +0800
Subject: [PATCH] 新增SeqEditor

---
 Plugin.TsExecution/SingleControl.xaml.cs |  111 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 87 insertions(+), 24 deletions(-)

diff --git a/Plugin.TsExecution/SingleControl.xaml.cs b/Plugin.TsExecution/SingleControl.xaml.cs
index 8d2e1e0..c82ecb6 100644
--- a/Plugin.TsExecution/SingleControl.xaml.cs
+++ b/Plugin.TsExecution/SingleControl.xaml.cs
@@ -157,6 +157,45 @@
             }
         }
 
+        /// <summary>
+        /// 杩涘害鍊�
+        /// </summary>
+        private int _processValue;
+        public int ProcessValue
+        {
+            get => _processValue;
+            set
+            {
+                Set(ref _processValue, value);
+            }
+        }
+
+        public string ProcessValueLabel
+        {
+            get
+            {
+                if (ProcessValue > 0) return $"{ProcessValue}%";
+                return "";
+            }
+            set
+            {
+            }
+        }
+
+        public void SetSimpleUI(bool flag)
+        {
+            if (flag)
+            {
+                simplePanel.Visibility = Visibility.Visible;
+                detailPanel.Visibility = Visibility.Collapsed;
+            }
+            else
+            {
+                simplePanel.Visibility = Visibility.Collapsed;
+                detailPanel.Visibility = Visibility.Visible;
+            }
+        }
+
         public int ProbeWarn { get; private set; }
 
         public SingleControl(int Index, string CountIniPath, int probeWarn)
@@ -275,8 +314,8 @@
         /// <param name="ProcessVal"></param>
         public void SetTestProcess(int ProcessVal)
         {
-            this.testProcess.Value = ProcessVal;
-            this.testProcessLabel.Content = ProcessVal.ToString() + "%";
+            ProcessValue = ProcessVal;
+            Set("ProcessValueLabel");
         }
 
         private void UserControl_Loaded(object sender, RoutedEventArgs e)
@@ -362,41 +401,49 @@
 
         public void ResetCounter()
         {
-            this.passNum = 0;
-            this.failNum = 0;
+            this.PassNum = 0;
+            this.FailNum = 0;
             this.UpdateTestCounter(null);
         }
 
         public void WriteToCSV(string path)
         {
-            try
+            Dispatcher.BeginInvoke(new Action(() =>
             {
-
-                FileInfo fi = new FileInfo(path);
-                if (!fi.Directory.Exists)
+                try
                 {
-                    fi.Directory.Create();  //鏂囦欢涓嶅瓨鍦紝鍒涘缓鏂囦欢
-                }
 
-                using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
-                using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8))
-                {
-                    string title = "椤圭洰鍚嶇О,娴嬭瘯鍙傛暟,娴嬭瘯鍊�,涓婇檺,涓嬮檺,鍗曚綅,缁撴灉";
-                    sw.WriteLine(title);
-
-                    if (Datasource != null && Datasource.Count > 0)
+                    FileInfo fi = new FileInfo(path);
+                    if (!fi.Directory.Exists)
                     {
-                        foreach (var data in Datasource)
+                        fi.Directory.Create();  //鏂囦欢涓嶅瓨鍦紝鍒涘缓鏂囦欢
+                    }
+
+                    using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
+                    using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8))
+                    {
+                        string title = "椤圭洰鍚嶇О,娴嬭瘯鍙傛暟,娴嬭瘯鍊�,涓婇檺,涓嬮檺,鍗曚綅,缁撴灉";
+                        sw.WriteLine(title);
+
+                        if (Datasource != null && Datasource.Count > 0)
                         {
-                            sw.WriteLine($"{data.Name},{data.Step},{data.Value},{data.LimitUp},{data.LimitDown},{data.Unit},{data.Result}");
+                            foreach (var data in Datasource)
+                            {
+                                sw.WriteLine($"{data.Name},{data.Step},{data.Value},{data.LimitUp},{data.LimitDown},{data.Unit},{data.Result}");
+                            }
                         }
                     }
                 }
-            }
-            catch (Exception ex)
-            {
-                TsExecution.logger.Error("Write CSV File Failed.", ex);
-            }
+                catch (Exception ex)
+                {
+                    TsExecution.logger.Error("Write CSV File Failed.", ex);
+                }
+            }));
+        }
+
+        public void ShowPausePanel()
+        {
+            pausePanel.Visibility = Visibility.Visible;
         }
 
         private void Button_Click(object sender, RoutedEventArgs e)
@@ -407,9 +454,25 @@
                 case "clear":
                     UpdateProbeCount(0);
                     break;
+                case "cancelPauseBtn":
+                    SequenceFileContext?.StationGlobals.SetValBoolean($"StationState.IsContinue_{index}", 1, false);
+                    pausePanel.Visibility = Visibility.Collapsed;
+                    break;
+                case "continuePauseBtn":
+                    SequenceFileContext?.StationGlobals.SetValBoolean($"StationState.IsContinue_{index}", 1, true);
+                    pausePanel.Visibility = Visibility.Collapsed;
+                    break;
                 default:
                     break;
             }
         }
+
+        private void pausePanel_Loaded(object sender, RoutedEventArgs e)
+        {
+            var can = pausePanel;
+            var modal = visualModal;
+            Canvas.SetLeft(modal, (pausePanel.ActualWidth - visualModal.ActualWidth) / 2);
+            Canvas.SetTop(modal, (pausePanel.ActualHeight - visualModal.ActualHeight) / 2);
+        }
     }
 }

--
Gitblit v1.9.1