From e3868d4d61ded0e76fc8fe3fdacdd9e6d9113cf1 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 13 十月 2025 08:50:15 +0800
Subject: [PATCH] 优化HMI;

---
 Plugin.TestResult/DataTable.xaml.cs |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/Plugin.TestResult/DataTable.xaml.cs b/Plugin.TestResult/DataTable.xaml.cs
index ff7dc36..84911cd 100644
--- a/Plugin.TestResult/DataTable.xaml.cs
+++ b/Plugin.TestResult/DataTable.xaml.cs
@@ -1,10 +1,11 @@
 锘縰sing HMI.Core.Util;
+using HMI.UI.Util;
 using HMI.Util;
+using Plugin.TestResult;
 using Plugin.TestResult_WPF.Model;
 using Plugin.TestResult_WPF.Util;
 using SuperSocket.SocketBase.Protocol;
 using System;
-using System.CodeDom.Compiler;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.IO;
@@ -220,6 +221,12 @@
 
         private void ScanWindow_Click(object sender, RoutedEventArgs e)
         {
+            if (!parent.IsRunning)
+            {
+                MsgBoxHelper.WarnMessage(this, "璇峰厛鐐瑰嚮鍙充晶鍚姩鎸夐挳鍚姩娴嬭瘯绋嬪簭锛�", null, MessageBoxButton.OK);
+                return;
+            }
+
             if (scanner != null)
             {
                 scanner.Activate();
@@ -253,7 +260,10 @@
 
             //灏嗚鍒扮殑鏉$爜鍐欏叆鍒癝N涓�
             int dutNo = Convert.ToInt16(positionCode.Split('-')[2]) - 1;
-            string LookupStr = e.name == "Zone1" ? $"StationState.SN[{dutNo}]" : $"StationState.SN[{(dutNo + 54)}]";
+            dutNo = this.index * this.cellCount + dutNo;
+
+            string LookupStr = $"StationState.SN[{dutNo}]";
+            ViewControl.Logger.Info($"PositionCode: [{e.positionCode}], SNR: [{e.snrCode}], LookUpStr: [{LookupStr}]");
 
             parent.engine.Globals.SetValString(LookupStr, 0, snrCode);
             parent.engine.CommitGlobalsToDisk(promptOnSaveConflicts: false);
@@ -366,6 +376,7 @@
         private void TcpServer_NewRequestReceived(TcpSession session, StringRequestInfo requestInfo)
         {
             string msg = requestInfo.Body;
+            //ViewControl.Logger.Info($"TCP Data From {session.RemoteEndPoint}: {msg}.");
             string[] datas_10015 = msg.Split(';');
             int cellIndex = int.Parse(datas_10015[1]);
 
@@ -506,5 +517,52 @@
                 cell.ClearElectricData();
             }
         }
+
+        private void Button_Click_1(object sender, RoutedEventArgs e)
+        {
+            ScannerSetting setting = new ScannerSetting()
+            {
+                Owner = Window.GetWindow(this)
+            };
+            setting.Open(true, this.title);
+        }
+
+        private void ClearAllSnr_Click(object sender, RoutedEventArgs e)
+        {
+            var str = $"StationState.Start_{title}";
+            if (parent.engine.Globals.GetValBoolean(str, 0) == true)
+            {
+                MsgBoxHelper.Error(Window.GetWindow(this), "绋嬪簭杩愯涓紝涓嶈兘娓呯┖鏉$爜");
+                return;
+            }
+
+            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), LangUtil.Get("Tr.MakeSureClearAllSNR")) == MessageBoxResult.OK)
+            {
+                try
+                {
+                    for (int i = 0; i < this.cellCount; i++)
+                    {
+                        int dutNo = this.index * this.cellCount + i;
+                        string LookupStr = $"StationState.SN[{dutNo}]";
+                        parent.engine.Globals.SetValString(LookupStr, 0, "");
+                        GetSingleCell(i).SetStatus("waiting");
+                    }
+                    ToastHelper.Success(LangUtil.Get("App.DeleteSuccess"));
+                }
+                catch (Exception ex)
+                {
+                    ViewControl.Logger.Error("ClearAllSnr_Click Error.", ex);
+                    MsgBoxHelper.Error(Window.GetWindow(this), ex.Message);
+                }
+            }
+        }
+
+        private void Button_Click_2(object sender, RoutedEventArgs e)
+        {
+            if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), "纭畾瑕佸仠姝㈣鐐変綅鐨勮�佸寲娴嬭瘯鍚楋紵") == MessageBoxResult.OK)
+            {
+                parent.SetStartFlag(this.index, false);
+            }
+        }
     }
 }

--
Gitblit v1.9.1