From f2d4bcf115fc294d4de2f48ae1b0928f3e656b61 Mon Sep 17 00:00:00 2001
From: huawei <huawei@2214094776>
Date: 星期四, 11 十二月 2025 19:57:48 +0800
Subject: [PATCH] 新增急料标识 控件

---
 DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.cs          |   63 ++++++++++++++++++++
 DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.Designer.cs |   84 +++++++++++++++++++---------
 2 files changed, 119 insertions(+), 28 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.Designer.cs b/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.Designer.cs
index 36e574d..6a49b26 100644
--- a/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Rk/Frm_MesInvItemArn.Designer.cs
@@ -82,6 +82,7 @@
             this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage();
             this.splitMx1 = new DevExpress.XtraEditors.SplitContainerControl();
             this.layoutMx1 = new DevExpress.XtraLayout.LayoutControl();
+            this.chkAllUrgent = new DevExpress.XtraEditors.CheckEdit();
             this.lbGuid = new System.Windows.Forms.Label();
             this.btnSelect = new DevExpress.XtraEditors.SimpleButton();
             this.txt_remark = new DevExpress.XtraEditors.TextEdit();
@@ -115,6 +116,7 @@
             this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
             this.tabMx = new DevExpress.XtraTab.XtraTabControl();
             this.tabMxPage2 = new DevExpress.XtraTab.XtraTabPage();
             this.gcMx2 = new DevExpress.XtraGrid.GridControl();
@@ -197,6 +199,7 @@
             this.splitMx1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.layoutMx1)).BeginInit();
             this.layoutMx1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.chkAllUrgent.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_remark.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSupplierCode.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_billNo.Properties)).BeginInit();
@@ -226,6 +229,7 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabMx)).BeginInit();
             this.tabMx.SuspendLayout();
             this.tabMxPage2.SuspendLayout();
@@ -622,6 +626,7 @@
             // 
             // layoutMx1
             // 
+            this.layoutMx1.Controls.Add(this.chkAllUrgent);
             this.layoutMx1.Controls.Add(this.lbGuid);
             this.layoutMx1.Controls.Add(this.btnSelect);
             this.layoutMx1.Controls.Add(this.txt_remark);
@@ -645,11 +650,20 @@
             this.layoutMx1.Location = new System.Drawing.Point(0, 0);
             this.layoutMx1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
             this.layoutMx1.Name = "layoutMx1";
-            this.layoutMx1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(758, 132, 812, 500);
+            this.layoutMx1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1438, 708, 812, 500);
             this.layoutMx1.Root = this.Root;
             this.layoutMx1.Size = new System.Drawing.Size(1967, 182);
             this.layoutMx1.TabIndex = 0;
             this.layoutMx1.Text = "layoutControl1";
+            // 
+            // chkAllUrgent
+            // 
+            this.chkAllUrgent.Location = new System.Drawing.Point(498, 132);
+            this.chkAllUrgent.Name = "chkAllUrgent";
+            this.chkAllUrgent.Properties.Caption = "鎬ユ枡鏍囪瘑";
+            this.chkAllUrgent.Size = new System.Drawing.Size(483, 27);
+            this.chkAllUrgent.StyleController = this.layoutMx1;
+            this.chkAllUrgent.TabIndex = 469;
             // 
             // lbGuid
             // 
@@ -861,7 +875,8 @@
             this.layoutControlItem17,
             this.layoutControlItem16,
             this.layoutControlItem4,
-            this.layoutControlItem6});
+            this.layoutControlItem6,
+            this.layoutControlItem10});
             this.Root.LayoutMode = DevExpress.XtraLayout.Utils.LayoutMode.Table;
             this.Root.Name = "Root";
             columnDefinition1.SizeType = System.Windows.Forms.SizeType.Percent;
@@ -1044,6 +1059,17 @@
             this.layoutControlItem6.Size = new System.Drawing.Size(487, 42);
             this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem6.TextVisible = false;
+            // 
+            // layoutControlItem10
+            // 
+            this.layoutControlItem10.Control = this.chkAllUrgent;
+            this.layoutControlItem10.Location = new System.Drawing.Point(486, 120);
+            this.layoutControlItem10.Name = "layoutControlItem10";
+            this.layoutControlItem10.OptionsTableLayoutItem.ColumnIndex = 1;
+            this.layoutControlItem10.OptionsTableLayoutItem.RowIndex = 3;
+            this.layoutControlItem10.Size = new System.Drawing.Size(487, 42);
+            this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem10.TextVisible = false;
             // 
             // tabMx
             // 
@@ -1377,7 +1403,7 @@
             this.gvMx1returnFlag.UnboundDataType = typeof(bool);
             this.gvMx1returnFlag.Visible = true;
             this.gvMx1returnFlag.VisibleIndex = 0;
-            this.gvMx1returnFlag.Width = 79;
+            this.gvMx1returnFlag.Width = 65;
             // 
             // gvMx1urgentFlag
             // 
@@ -1386,7 +1412,7 @@
             this.gvMx1urgentFlag.AppearanceCell.Options.UseForeColor = true;
             this.gvMx1urgentFlag.AppearanceHeader.ForeColor = System.Drawing.Color.Blue;
             this.gvMx1urgentFlag.AppearanceHeader.Options.UseForeColor = true;
-            this.gvMx1urgentFlag.Caption = "鎬ユ枡";
+            this.gvMx1urgentFlag.Caption = "鎬ユ枡/鏅��";
             this.gvMx1urgentFlag.FieldName = "urgentFlagTxt";
             this.gvMx1urgentFlag.MinWidth = 31;
             this.gvMx1urgentFlag.Name = "gvMx1urgentFlag";
@@ -1394,7 +1420,7 @@
             this.gvMx1urgentFlag.UnboundDataType = typeof(string);
             this.gvMx1urgentFlag.Visible = true;
             this.gvMx1urgentFlag.VisibleIndex = 1;
-            this.gvMx1urgentFlag.Width = 43;
+            this.gvMx1urgentFlag.Width = 74;
             // 
             // gvMx1isdepsIn
             // 
@@ -1419,7 +1445,7 @@
             this.gvMx1checkStates.Tag = "query_a.check_states";
             this.gvMx1checkStates.Visible = true;
             this.gvMx1checkStates.VisibleIndex = 2;
-            this.gvMx1checkStates.Width = 83;
+            this.gvMx1checkStates.Width = 67;
             // 
             // gvMx1checkRes
             // 
@@ -1432,7 +1458,7 @@
             this.gvMx1checkRes.Tag = "query_a.check_res";
             this.gvMx1checkRes.Visible = true;
             this.gvMx1checkRes.VisibleIndex = 3;
-            this.gvMx1checkRes.Width = 83;
+            this.gvMx1checkRes.Width = 67;
             // 
             // gvMx1ebeln
             // 
@@ -1445,7 +1471,7 @@
             this.gvMx1ebeln.Tag = "query_a.ebeln";
             this.gvMx1ebeln.Visible = true;
             this.gvMx1ebeln.VisibleIndex = 4;
-            this.gvMx1ebeln.Width = 161;
+            this.gvMx1ebeln.Width = 150;
             // 
             // gridColumn8
             // 
@@ -1455,7 +1481,7 @@
             this.gridColumn8.Name = "gridColumn8";
             this.gridColumn8.Visible = true;
             this.gridColumn8.VisibleIndex = 5;
-            this.gridColumn8.Width = 66;
+            this.gridColumn8.Width = 52;
             // 
             // gvMx1boardStyle
             // 
@@ -1468,7 +1494,7 @@
             this.gvMx1boardStyle.Tag = "query_a.board_style";
             this.gvMx1boardStyle.Visible = true;
             this.gvMx1boardStyle.VisibleIndex = 6;
-            this.gvMx1boardStyle.Width = 91;
+            this.gvMx1boardStyle.Width = 73;
             // 
             // gvMx1ebelnQty
             // 
@@ -1481,7 +1507,7 @@
             this.gvMx1ebelnQty.Tag = "query_a.ebeln_qty";
             this.gvMx1ebelnQty.Visible = true;
             this.gvMx1ebelnQty.VisibleIndex = 7;
-            this.gvMx1ebelnQty.Width = 80;
+            this.gvMx1ebelnQty.Width = 64;
             // 
             // gvMx1subQty
             // 
@@ -1494,7 +1520,7 @@
             this.gvMx1subQty.Tag = "query_a.sub_qty";
             this.gvMx1subQty.Visible = true;
             this.gvMx1subQty.VisibleIndex = 8;
-            this.gvMx1subQty.Width = 80;
+            this.gvMx1subQty.Width = 64;
             // 
             // gvMx1quantity
             // 
@@ -1510,7 +1536,7 @@
             this.gvMx1quantity.Tag = "yz_quantity_0_edit";
             this.gvMx1quantity.Visible = true;
             this.gvMx1quantity.VisibleIndex = 9;
-            this.gvMx1quantity.Width = 80;
+            this.gvMx1quantity.Width = 64;
             // 
             // gvMx1memo
             // 
@@ -1527,7 +1553,7 @@
             this.gvMx1memo.Tag = "edit";
             this.gvMx1memo.Visible = true;
             this.gvMx1memo.VisibleIndex = 11;
-            this.gvMx1memo.Width = 137;
+            this.gvMx1memo.Width = 111;
             // 
             // gvMx1okRkqty
             // 
@@ -1540,7 +1566,7 @@
             this.gvMx1okRkqty.Tag = "query_a.ok_rkqty";
             this.gvMx1okRkqty.Visible = true;
             this.gvMx1okRkqty.VisibleIndex = 12;
-            this.gvMx1okRkqty.Width = 80;
+            this.gvMx1okRkqty.Width = 64;
             // 
             // gvMx1checkDate
             // 
@@ -1571,7 +1597,7 @@
             this.gridColumn9.OptionsColumn.ReadOnly = true;
             this.gridColumn9.Visible = true;
             this.gridColumn9.VisibleIndex = 15;
-            this.gridColumn9.Width = 50;
+            this.gridColumn9.Width = 40;
             // 
             // gridColumn6
             // 
@@ -1582,7 +1608,7 @@
             this.gridColumn6.OptionsColumn.ReadOnly = true;
             this.gridColumn6.Visible = true;
             this.gridColumn6.VisibleIndex = 16;
-            this.gridColumn6.Width = 149;
+            this.gridColumn6.Width = 121;
             // 
             // gridColumn10
             // 
@@ -1592,7 +1618,7 @@
             this.gridColumn10.Name = "gridColumn10";
             this.gridColumn10.Visible = true;
             this.gridColumn10.VisibleIndex = 20;
-            this.gridColumn10.Width = 54;
+            this.gridColumn10.Width = 43;
             // 
             // gridColumn12
             // 
@@ -1639,7 +1665,7 @@
             this.gvMxDel.Name = "gvMxDel";
             this.gvMxDel.Visible = true;
             this.gvMxDel.VisibleIndex = 23;
-            this.gvMxDel.Width = 129;
+            this.gvMxDel.Width = 101;
             // 
             // repositoryItemButtonEdit1
             // 
@@ -1668,7 +1694,7 @@
             this.gridColumn15.Name = "gridColumn15";
             this.gridColumn15.Visible = true;
             this.gridColumn15.VisibleIndex = 17;
-            this.gridColumn15.Width = 111;
+            this.gridColumn15.Width = 90;
             // 
             // gridColumn16
             // 
@@ -1678,7 +1704,7 @@
             this.gridColumn16.Name = "gridColumn16";
             this.gridColumn16.Visible = true;
             this.gridColumn16.VisibleIndex = 18;
-            this.gridColumn16.Width = 111;
+            this.gridColumn16.Width = 90;
             // 
             // gridColumn2
             // 
@@ -1688,7 +1714,7 @@
             this.gridColumn2.Name = "gridColumn2";
             this.gridColumn2.Visible = true;
             this.gridColumn2.VisibleIndex = 19;
-            this.gridColumn2.Width = 54;
+            this.gridColumn2.Width = 43;
             // 
             // gridColumn17
             // 
@@ -1698,7 +1724,7 @@
             this.gridColumn17.Name = "gridColumn17";
             this.gridColumn17.Visible = true;
             this.gridColumn17.VisibleIndex = 21;
-            this.gridColumn17.Width = 154;
+            this.gridColumn17.Width = 111;
             // 
             // rptHistory
             // 
@@ -1727,7 +1753,7 @@
             this.gridColumn19.Name = "gridColumn19";
             this.gridColumn19.Visible = true;
             this.gridColumn19.VisibleIndex = 13;
-            this.gridColumn19.Width = 117;
+            this.gridColumn19.Width = 94;
             // 
             // gridColumn20
             // 
@@ -1737,7 +1763,7 @@
             this.gridColumn20.Name = "gridColumn20";
             this.gridColumn20.Visible = true;
             this.gridColumn20.VisibleIndex = 14;
-            this.gridColumn20.Width = 117;
+            this.gridColumn20.Width = 94;
             // 
             // gridColumn23
             // 
@@ -1747,7 +1773,7 @@
             this.gridColumn23.Name = "gridColumn23";
             this.gridColumn23.Visible = true;
             this.gridColumn23.VisibleIndex = 10;
-            this.gridColumn23.Width = 107;
+            this.gridColumn23.Width = 87;
             // 
             // xtraTabPage3
             // 
@@ -1809,6 +1835,7 @@
             this.splitMx1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.layoutMx1)).EndInit();
             this.layoutMx1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.chkAllUrgent.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_remark.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSupplierCode.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_billNo.Properties)).EndInit();
@@ -1838,6 +1865,7 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabMx)).EndInit();
             this.tabMx.ResumeLayout(false);
             this.tabMxPage2.ResumeLayout(false);
@@ -1904,7 +1932,6 @@
         private DevExpress.XtraGrid.Columns.GridColumn gvMx1ebelnLine;
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
         private DevExpress.XtraGrid.Columns.GridColumn gvMx1returnFlag;
-        private DevExpress.XtraGrid.Columns.GridColumn gvMx1urgentFlag;
         private DevExpress.XtraGrid.Columns.GridColumn gvMx1isdepsIn;
         private DevExpress.XtraGrid.Columns.GridColumn gvMx1checkStates;
         private DevExpress.XtraGrid.Columns.GridColumn gvMx1checkRes;
@@ -1980,5 +2007,8 @@
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn33;
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn34;
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn36;
+        private DevExpress.XtraEditors.CheckEdit chkAllUrgent;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
+        private DevExpress.XtraGrid.Columns.GridColumn gvMx1urgentFlag;
     }
 }
\ No newline at end of file
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