From 8daa94248baa30f5606c9486b0c1c5603f9de8b4 Mon Sep 17 00:00:00 2001
From: cnf <3283105747@qq.com>
Date: 星期四, 11 十二月 2025 20:45:39 +0800
Subject: [PATCH] Merge branch 'master' of http://git.gs-mes.com:8080/r/~cnf/JH/JH_MesCilent

---
 DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs b/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs
index c6aac63..7fb26ec 100644
--- a/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs
@@ -14,6 +14,8 @@
 using System.Threading.Tasks;
 using System.Windows.Forms;
 
+
+
 namespace Gs.DevApp.DevFrm
 {
     public partial class Frm_MesInvItemArn : XtraForm
@@ -25,6 +27,7 @@
         public Frm_MesInvItemArn()
         {
             InitializeComponent();
+            this.chkAllUrgent.CheckedChanged += ChkAllUrgent_CheckedChanged;
             toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
             toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
             toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
@@ -115,6 +118,7 @@
                             gvMx1quantity.OptionsColumn.ReadOnly = true;
                             txt_paperBillNo.ReadOnly = true;
                             txt_isSrm.Checked = true;
+                        
                             DataTable _newTable = dt.rtnData;
                             _oldTable = _newTable;
                         }
@@ -164,6 +168,34 @@
             Task.Delay(100);
             getPageList(1);
         }
+        /// <summary>
+        /// 鍏ㄥ崟鎬ユ枡寮�鍏冲垏鎹簨浠�
+        /// </summary>
+        private void ChkAllUrgent_CheckedChanged(object sender, EventArgs e)
+        {
+            if (gvMx1.DataRowCount == 0) return;
+            if (chkAllUrgent.Properties.ReadOnly) return;
+
+            bool isUrgent = chkAllUrgent.Checked;
+            string targetTxt = isUrgent ? "1:鎬ユ枡" : "0:鏅��";
+
+            gvMx1.BeginDataUpdate();
+            try
+            {
+                for (int i = 0; i < gvMx1.DataRowCount; i++)
+                {
+                    // 娉ㄦ剰锛歋etRowCellValue 浼氳Е鍙� Grid 鐨� CellValueChanged 浜嬩欢锛堝鏋滄湁鐨勮瘽锛�
+                    gvMx1.SetRowCellValue(i, "urgentFlagTxt", targetTxt);
+                }
+            }
+            finally
+            {
+                gvMx1.EndDataUpdate();
+                // 寮哄埗鍒锋柊瑙嗗浘锛岀‘淇濇枃瀛楀彉浜�
+                gvMx1.RefreshData();
+            }
+        }
+
 
         /// <summary>
         ///     鍒嗛〉浜嬩欢
@@ -341,6 +373,12 @@
             setSrm();
             txt_receiveOrgId.IsReadly = true;
             txt_suppId.IsReadly = true;
+            if (chkAllUrgent != null)
+            {
+                // 1. 纭繚鎺т欢鍚敤
+                chkAllUrgent.Enabled = true;
+                chkAllUrgent.Properties.ReadOnly = false;
+            }
         }
 
         /// <summary>
@@ -420,7 +458,8 @@
                         AboutGuid = Gs.DevApp.ToolBox.UtilityHelper.ToGuid(row["aboutGuid"].ToString()),
                         ItemId = int.Parse(row["itemId"].ToString()),
                         Quantity = decimal.Parse(row["quantity"].ToString()),
-                        UrgentFlag = (row["urgentFlagTxt"].ToString().Replace(":","").Replace("鏅��", "").Replace("鎬ユ枡", "").Replace("涓�鑸�", "")),
+                        // 杩欐淇濆瓨浠g爜涓嶇敤鍔紝瀹冭兘鑷姩璇嗗埆涓婇潰璁剧疆鐨勬枃瀛�
+                        UrgentFlag = (row["urgentFlagTxt"] != null && row["urgentFlagTxt"].ToString().Contains("鎬ユ枡")) ? "1" : "0",
                         Remark = row["memo"].ToString(),
                     });
                 }
@@ -545,6 +584,28 @@
                         gcMx1.ForceInitialize();
                         gvMx1.BestFitColumns();
                         Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1);
+                        if (chkAllUrgent != null)
+                        {
+                            chkAllUrgent.CheckedChanged -= ChkAllUrgent_CheckedChanged;
+                            bool allUrgent = true;
+                            foreach (DataRow dr in dt.Rows)
+                            {
+                                // 鍋囪瀛楁鍚嶆槸 urgentFlagTxt锛屽�兼槸 "1:鎬ユ枡"
+                                string val = dr["urgentFlagTxt"]?.ToString() ?? "";
+                                if (!val.Contains("1:鎬ユ枡"))
+                                {
+                                    allUrgent = false;
+                                    break;
+                                }
+                            }
+                            // 3. 璁剧疆寮�鍏崇姸鎬�
+                            chkAllUrgent.Checked = allUrgent;
+                            // 4. 鏍规嵁褰撳墠妯″紡锛堢紪杈�/鏌ョ湅锛夊喅瀹氭槸鍚﹀彲鐢�
+                            // 濡傛灉鏄� add 鎴� edit 妯″紡锛屼笖鏈夋潈闄愶紝鍒欏厑璁哥偣鍑�
+                            chkAllUrgent.Enabled = isEdit || toolBarMenu1.currentAction == "add";
+                            chkAllUrgent.Properties.ReadOnly = !(isEdit || toolBarMenu1.currentAction == "add");
+                            chkAllUrgent.CheckedChanged += ChkAllUrgent_CheckedChanged;
+                        }
                     }
                     else
                     {

--
Gitblit v1.9.3