From 28ddc75eadee6c73da2b955e320132fdbecc88de Mon Sep 17 00:00:00 2001
From: C3031 <shitiangui@lanpucloud.cn>
Date: 星期五, 16 一月 2026 16:44:11 +0800
Subject: [PATCH] 修改关闭按钮位置

---
 LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs |  159 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 96 insertions(+), 63 deletions(-)

diff --git a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs
index f017dce..3c7371d 100644
--- a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs
+++ b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs
@@ -1,25 +1,27 @@
-锘縰sing LB_SmartVision.Forms.Pages.ProcessPage;
+锘縰sing LB_SmartVision.Forms.Pages.CameraPage;
+using LB_SmartVision.Forms.Pages.ProcessPage;
+using LB_SmartVision.Forms.Pages.SettingPage;
 using LB_SmartVision.ProcessRun;
+using LB_SmartVision.SQL;
+using LB_SmartVisionCommon;
 using LB_VisionControl;
 using LB_VisionProcesses;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Serialization;
 using System.Collections.Concurrent;
 using System.Data;
-using System.Text;
-using VisionControl.Forms;
-using LB_SmartVision.Forms.Pages.SettingPage;
-using LB_SmartVisionCommon;
-using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
-using LB_SmartVision.Forms.Pages.CameraPage;
 using System.Security.Principal;
+using System.Text;
 using System.Windows.Forms;
+using VisionControl.Forms;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
 
 namespace LB_SmartVision.Forms.Pages.UserManagementPage
 {
     public partial class UserManagementEditPage : UserControl
     {
         public Action<string, LogInfoType> LogInfo;
+        List<RecordUserData> recordUserDatas = new List<RecordUserData>();
 
         public UserManagementEditPage()
         {
@@ -27,8 +29,9 @@
             Text = "鐢ㄦ埛绠$悊璁剧疆";
 
             InitializeComponent();
-            InitializeDataGridView();
             InitializeComboBox();
+            InitializeDataGridView();
+
         }
 
         /// <summary>
@@ -36,42 +39,9 @@
         /// </summary>
         private void InitializeDataGridView()
         {
+            this.dataGridViewUM.DataSource = recordUserDatas;
             // 璁剧疆DataGridView鍒楀
-            dataGridViewUM.ColumnCount = 4;
-
-            int totalWidth = dataGridViewUM.ClientSize.Width;
-            int columnCount = dataGridViewUM.ColumnCount;
-            int columnWidth = totalWidth / columnCount;
-
-            // 璁剧疆鏈�灏忓搴�
-            int minWidth = 100; // 鏈�灏忓搴�
-            if (columnWidth < minWidth)
-            {
-                columnWidth = minWidth;
-            }
-
-            for (int i = 0; i < columnCount; i++)
-            {
-                dataGridViewUM.Columns[i].Width = columnWidth;
-            }
-
-            // 璁剧疆鍒楁爣棰�
-            dataGridViewUM.Columns[0].Name = "鐢ㄦ埛鍚�";
-            //dataGridViewUM.Columns[1].Name = "瀵嗙爜";
-            dataGridViewUM.Columns[1].Name = "濮撳悕";
-            dataGridViewUM.Columns[2].Name = "宸ュ彿";
-            dataGridViewUM.Columns[3].Name = "鏉冮檺";
-
             dataGridViewUM.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
-
-            // 绂佹缂栬緫鍗曞厓鏍硷紙鍙�夛級
-            dataGridViewUM.ReadOnly = true;
-
-            // 鍏佽澶氳閫夋嫨锛堝彲閫夛級
-            dataGridViewUM.MultiSelect = false;
-
-            // 鏄剧ず琛屾爣棰橈紙鍙�夛級
-            dataGridViewUM.RowHeadersVisible = true;
         }
 
         /// <summary>
@@ -99,6 +69,8 @@
             comboBoxPermission.SelectedIndex = 0;
             textBoxUsername.Focus(); // 灏嗙劍鐐硅缃洖鐢ㄦ埛鍚嶈緭鍏ユ
         }
+
+        #region 娣诲姞鐢ㄦ埛鎸夐挳
         private void btnAdd_Click(object sender, EventArgs e)
         {
             // 楠岃瘉杈撳叆
@@ -112,41 +84,81 @@
                 return;
             }
 
-            // 鍒涘缓鏂拌鏁版嵁
-            string[] row = new string[]
+            RecordUserData user = new RecordUserData();
+            user.EmployeeNumber = this.textBoxEmployeeID.Text;
+            user.EmployeeAccount = this.textBoxUsername.Text;
+            user.EmployeePassword = this.textBoxPassword.Text;
+            user.EmployeeName = this.textBoxName.Text;
+            user.EmployeePermission = (UserPermission)this.comboBoxPermission.SelectedIndex;
+            // 娣诲姞鍒� UserManager
+            bool success = UserManager.Instance.AddUser(user);
+
+            if (success)
             {
-                textBoxUsername.Text,
-                //textBoxPassword.Text, // 瀹為檯搴旂敤涓瘑鐮佸簲璇ュ姞瀵�
-                textBoxName.Text,
-                textBoxEmployeeID.Text,
-                comboBoxPermission.SelectedItem.ToString()
-            };
+                recordUserDatas.Add(user);
 
-            // 璁剧疆鏁翠釜DataGridView鐨勯粯璁ゅ瓧浣撳拰棰滆壊
-            dataGridViewUM.DefaultCellStyle.Font = new Font("瀹嬩綋", 12);
-            dataGridViewUM.DefaultCellStyle.ForeColor = Color.Black;  // 瀛椾綋棰滆壊
-            dataGridViewUM.DefaultCellStyle.BackColor = Color.White;   // 鑳屾櫙棰滆壊
+                //MessageBox.Show("鐢ㄦ埛娣诲姞鎴愬姛锛�", "鎻愮ず",
+                //    MessageBoxButtons.OK, MessageBoxIcon.Information);
 
-            // 娣诲姞鏂拌鍒癉ataGridView
-            dataGridViewUM.Rows.Add(row);
+                // 娓呯┖杈撳叆妗�
+                ClearInputFields();
+            }
+            else
+            {
+                MessageBox.Show("娣诲姞鐢ㄦ埛澶辫触锛�", "閿欒",
+                    MessageBoxButtons.OK, MessageBoxIcon.Error);
+            }
 
-            // 娓呯┖杈撳叆妗�
-            ClearInputFields();
         }
+        #endregion
 
+        #region 鍒犻櫎鐢ㄦ埛鎸夐挳
         private void btnDel_Click(object sender, EventArgs e)
         {
             if (dataGridViewUM.SelectedRows.Count > 0)
             {
+                // 鑾峰彇閫変腑鐨勮
+                DataGridViewRow selectedRow = dataGridViewUM.SelectedRows[0];
+
                 // 纭鍒犻櫎
                 DialogResult result = MessageBox.Show("纭畾瑕佸垹闄ら�変腑鐨勮鍚楋紵",
                     "纭鍒犻櫎", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
 
                 if (result == DialogResult.Yes)
                 {
-                    foreach (DataGridViewRow row in dataGridViewUM.SelectedRows)
+                    try
                     {
-                        dataGridViewUM.Rows.Remove(row);
+                        // 鍏堣幏鍙栬鍒犻櫎鐨勬暟鎹�
+                        string employeeNumber = selectedRow.Cells[0].Value?.ToString();
+
+                        if (!string.IsNullOrEmpty(employeeNumber))
+                        {
+                            // 1. 浠庢暟鎹簮鍒犻櫎
+                            var dataSource = dataGridViewUM.DataSource as List<RecordUserData>;
+                            if (dataSource != null)
+                            {
+                                var itemToRemove = dataSource.FirstOrDefault(u => u.EmployeeNumber == employeeNumber);
+                                if (itemToRemove != null)
+                                {
+                                    dataSource.Remove(itemToRemove);
+                                }
+                            }
+
+                            // 2. 浠庣敤鎴风鐞嗗櫒鍒犻櫎
+                            UserManager.Instance.DeleteUser(employeeNumber);
+
+                            // 3. 鍒锋柊鏁版嵁缁戝畾
+                            dataGridViewUM.DataSource = null;
+                            dataGridViewUM.DataSource = dataSource;
+
+                            //MessageBox.Show("鍒犻櫎鎴愬姛锛�", "鎻愮ず",
+                            //    MessageBoxButtons.OK, MessageBoxIcon.Information);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        MessageBox.Show($"鍒犻櫎澶辫触: {ex.Message}", "閿欒",
+                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                 }
             }
@@ -156,9 +168,11 @@
                     MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
+        #endregion
         private int editingRowIndex = -1;
         private bool isEditingMode = false;
         private string originalButtonText = "淇敼";
+        #region 淇敼鐢ㄦ埛淇℃伅
         private void btnEdit_Click(object sender, EventArgs e)
         {
             // 鍗曞厓鏍煎彲缂栬緫
@@ -227,8 +241,16 @@
                 // 娓呯┖杈撳叆妗�
                 ClearInputFields();
 
-                MessageBox.Show("淇敼瀹屾垚锛�", "鎻愮ず",
-                    MessageBoxButtons.OK, MessageBoxIcon.Information);
+                RecordUserData user = new RecordUserData();
+                user.EmployeeNumber = this.textBoxEmployeeID.Text;
+                user.EmployeeAccount = this.textBoxUsername.Text;
+                user.EmployeePassword = this.textBoxPassword.Text;
+                user.EmployeeName = this.textBoxName.Text;
+                user.EmployeePermission = (UserPermission)this.comboBoxPermission.SelectedIndex;
+                UserManager.Instance.UpdateUser(user);
+
+                //MessageBox.Show("淇敼瀹屾垚锛�", "鎻愮ず",
+                //    MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
 
@@ -277,7 +299,6 @@
                 //textBoxPassword.PlaceholderText = "濡傞渶淇敼瀵嗙爜璇峰~鍐�";
             }
         }
-
         private void UpdateRowData(int rowIndex)
         {
             if (rowIndex >= 0 && rowIndex < dataGridViewUM.Rows.Count)
@@ -304,5 +325,17 @@
                 row.Cells[3].Value = comboBoxPermission.SelectedItem.ToString();
             }
         }
+        #endregion
+
+
+        #region 鏌ヨ鐢ㄦ埛淇℃伅
+        private void btnFind_Click(object sender, EventArgs e)
+        {
+            List<RecordUserData> recordUserDatas = UserManager.Instance.GetAllUsers();
+            this.dataGridViewUM.DataSource = recordUserDatas;
+            this.dataGridViewUM.AutoGenerateColumns = true;
+        }
+        #endregion
+
     }
 }

--
Gitblit v1.9.3