From 9702c6a4dc358c7bff2eb18c8426229a0140e34a Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期一, 15 九月 2025 08:29:16 +0800
Subject: [PATCH] bug

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  330 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 259 insertions(+), 71 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index aff56f1..872ac86 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -2,7 +2,6 @@
 using DevExpress.XtraEditors;
 using DevExpress.XtraEditors.Controls;
 using DevExpress.XtraEditors.Drawing;
-using DevExpress.XtraEditors.Repository;
 using DevExpress.XtraGrid;
 using DevExpress.XtraGrid.Columns;
 using DevExpress.XtraGrid.Menu;
@@ -56,20 +55,24 @@
         /// <summary>
         /// http璇锋眰
         /// </summary>
-        /// <param name="url"></param>
-        /// <param name="meth"></param>
-        /// <param name="param"></param>
-        /// <param name="isLoading"></param>
+        /// <param name="url">api鏍瑰湴鍧�</param>
+        /// <param name="meth">鏂规硶鍚嶇О</param>
+        /// <param name="param">json鍙傛暟</param>
+        /// <param name="isLoading">鏄惁loading</param>
         /// <returns></returns>
         public static string HttpPost(string url, string meth, string param, bool isLoading = true)
         {
-            Size _size; string _caption; Color _color; Padding _pad;
-            (_size, _caption, _color, _pad) = getLoading();
-            DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("鍔犺浇杩涘害:" + meth, _caption, _size);
-            wdf.BackColor = _color;
-            wdf.Padding = _pad;
-            wdf.SetCaption("鍔犺浇杩涘害:" + meth);
-            wdf.Visible = isLoading;
+            DevExpress.Utils.WaitDialogForm wdf = null;
+            if (isLoading == true)
+            {
+                Size _size; string _caption; Color _color; Padding _pad;
+                (_size, _caption, _color, _pad) = getLoading();
+                wdf = new DevExpress.Utils.WaitDialogForm("鍔犺浇杩涘害:" + meth, _caption, _size);
+                wdf.BackColor = _color;
+                wdf.Padding = _pad;
+                wdf.SetCaption("鍔犺浇杩涘害:" + meth);
+                wdf.Visible = isLoading;
+            }
             HttpWebRequest request = null;
             StreamWriter requestStream = null;
             WebResponse response = null;
@@ -104,7 +107,8 @@
             }
             catch (Exception ex)
             {
-                wdf.Close();
+                if (wdf != null)
+                    wdf.Close();
                 LogHelper.Debug(url, param + ":" + ex.Message);
                 throw ex;
             }
@@ -114,7 +118,8 @@
                 requestStream = null;
                 response = null;
             }
-            wdf.Close();
+            if (wdf != null)
+                wdf.Close();
             return responseStr;
         }
 
@@ -269,7 +274,8 @@
                         {
                             colmn.Visible = true;
                             colmn.OptionsColumn.ReadOnly = false;
-                        };
+                        }
+                        ;
                         if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                         {
                             colmn.Visible = !isEdt;
@@ -452,6 +458,15 @@
                                         break;
                                 }
                             txt.Enabled = !isEdt;
+                            continue;
+                        }
+                        //澶氶��
+                        if (colType is RadioGroup)
+                        {
+                            var txt = colType as RadioGroup;
+                            if (txt != null)
+                                txt.SelectedIndex = int.Parse(strVal);
+                            txt.ReadOnly = isEdt;
                             continue;
                         }
                         //鏃堕棿
@@ -748,6 +763,15 @@
                         txt.ReadOnly = isEdt;
                     continue;
                 }
+                //澶氶��
+                if (ctrl is RadioGroup)
+                {
+                    var txt = ctrl as RadioGroup;
+                    if (txt != null)
+                        txt.SelectedIndex = 0;
+                    txt.ReadOnly = isEdt;
+                    continue;
+                }
                 //鏃堕棿
                 if (ctrl is DateTimePicker)
                 {
@@ -771,6 +795,7 @@
                     }
                     else
                         txt.ReadOnly = isEdt;
+                    txt.Checked = false;
                     continue;
                 }
                 //鑷畾涔変粨搴�
@@ -1008,6 +1033,13 @@
                     txt.ReadOnly = isEdt;
                     continue;
                 }
+                //澶氶��
+                if (ctrl is RadioGroup)
+                {
+                    var txt = ctrl as RadioGroup;
+                    txt.ReadOnly = isEdt;
+                    continue;
+                }
                 //鏃ユ湡
                 if (ctrl is DateTimePicker)
                 {
@@ -1206,6 +1238,10 @@
             {
                 tabControl.TabPages[0].PageEnabled = true;
                 tabControl.TabPages[1].PageEnabled = true;
+                if (tabControl.TabPages.Count > 2)
+                {
+                    tabControl.TabPages[2].PageEnabled = true;
+                }
                 tabControl.SelectedTabPageIndex = 0;
                 return;
             }
@@ -1220,6 +1256,10 @@
             {
                 tabControl.TabPages[0].PageEnabled = false;
                 tabControl.TabPages[1].PageEnabled = true;
+                if (tabControl.TabPages.Count > 2)
+                {
+                    tabControl.TabPages[2].PageEnabled = false;
+                }
                 tabControl.SelectedTabPageIndex = 1;
                 return;
             }
@@ -1227,6 +1267,10 @@
             {
                 tabControl.TabPages[0].PageEnabled = false;
                 tabControl.TabPages[1].PageEnabled = true;
+                if (tabControl.TabPages.Count >2)
+                {
+                    tabControl.TabPages[2].PageEnabled = false;
+                }
                 tabControl.SelectedTabPageIndex = 1;
                 return;
             }
@@ -1242,7 +1286,10 @@
             {
                 tabControl.TabPages[0].PageEnabled = true;
                 tabControl.TabPages[1].PageEnabled = true;
-
+                if (tabControl.TabPages.Count > 2)
+                {
+                    tabControl.TabPages[2].PageEnabled = true;
+                }
                 return;
             }
         }
@@ -1678,16 +1725,20 @@
         }
         public delegate void DelegateGetModel(string guid);
         public delegate void DelegateGetList(int currentPage);
+        public delegate void DelegateGetUserControlList();
         /// <summary>
-        /// 璁剧疆涓昏〃鐨勬牱寮�
+        /// 
         /// </summary>
         /// <param name="gridView1">gridview</param>
         /// <param name="picCheckBox">鍥炬爣鎸夐挳</param>
-        /// <param name="fm"></param>
+        /// <param name="fm">绐椾綋</param>
         /// <param name="fileName">瀛楁</param>
         /// <param name="icoName">鍥炬爣璺緞</param>
-        /// <param name="action"></param>
-        public static void SetGridViewParameter(GridView gridView1, PictureBox picCheckBox = null, Form fm = null, string fileName = "checkStatus", string icoName = "", DelegateGetModel action = null, DevExpress.Utils.ToolTipController tips = null, bool isPostSearch = true)
+        /// <param name="action">濮旀墭1</param>
+        /// <param name="tips">楦熷槾鎻愮ず</param>
+        /// <param name="isPostSearch"></param>
+        /// <param name="action2">濮旀墭2</param>
+        public static void SetGridViewParameter(GridView gridView1, PictureBox picCheckBox = null, Form fm = null, string fileName = "checkStatus", string icoName = "", DelegateGetModel action = null, DevExpress.Utils.ToolTipController tips = null, bool isPostSearch = true, DelegateGetModel action2 = null)
         {
             gridView1.PopupMenuShowing += (s, e) =>
             {
@@ -1709,7 +1760,6 @@
                 }
             };
             gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
-
             if (isPostSearch == true)
             {
                 gridView1.OptionsView.ShowGroupPanel = false;
@@ -1726,7 +1776,6 @@
                 //鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯
                 // gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
             }
-
             // gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
             foreach (GridColumn column in gridView1.Columns)
             {
@@ -1752,7 +1801,6 @@
                         column.OptionsFilter.AllowAutoFilter = false;
                 }
             }
-
             gridView1.IndicatorWidth = 60;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
@@ -1796,6 +1844,42 @@
                         view.ActiveEditor.MouseUp += ActiveEditor_MouseUp;
                 };
             }
+            if (action2 != null)
+            {
+                gridView1.FocusedRowChanged += (s, e) =>
+                {
+                    int _handle = gridView1.FocusedRowHandle;
+                    if (_handle == -1)
+                        return;
+                    DataRow row = gridView1.GetDataRow(_handle);
+                    if (row == null)
+                        return;
+                    string _guid = row["guid"].ToString();
+                    if (string.IsNullOrEmpty(_guid))
+                        return;
+                    action2(_guid);
+                };
+            }
+            gridView1.RowCellStyle += (s, e) =>
+            {
+                GridView view = s as GridView;
+                if (view != null && e.Column != null && e.CellValue != null)
+                {
+                    if (e.Column.FieldName.EndsWith("Color"))
+                    {
+                        int rowHandle = e.RowHandle;
+                        DataRow row = gridView1.GetDataRow(e.RowHandle);
+                        string _bgColor = row[e.Column.FieldName + "Rgb"].ToString();
+                        if (!string.IsNullOrEmpty(_bgColor))
+                        {
+                            Color bgColor = ColorTranslator.FromHtml(_bgColor);
+                            e.Appearance.BackColor = bgColor;
+                            //   e.Appearance.BackColor2 = Color.LightSkyBlue;
+                            //e.Appearance.ForeColor = ColorTranslator.FromHtml("#ffffff") ;
+                        }
+                    }
+                }
+            };
             gridView1.RowStyle += (s, e) =>
             {
                 //榛樿閫変腑琛屼笉鍙樿壊
@@ -1805,40 +1889,12 @@
                 if (e.RowHandle >= 0)
                 {
                     DataRow row = gridView1.GetDataRow(e.RowHandle);
-                    if (row == null)
-                        return;
-                    //杩欐槸danger鑹�
-                    bool columnExists = row.Table.Columns.Contains("isRed");
-                    if (columnExists == true)
-                    {
-                        string _isRed = row["isRed"].ToString();
-                        if (_isRed == "1")
-                        {
-                            e.Appearance.ForeColor = Color.Tomato;
-                        }
-                    }
-                    //杩欐槸success鑹�
-                    columnExists = row.Table.Columns.Contains("isSuccess");
-                    if (columnExists == true)
-                    {
-                        string _isRed = row["isSuccess"].ToString();
-                        if (_isRed == "1")
-                        {
-                            e.Appearance.ForeColor = Color.FromArgb(128, 255, 128);
-                        }
-                    }
                     // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
                     if (gridView1.GetRow(e.RowHandle) == gridView1.GetFocusedRow())
                     {
                         e.Appearance.BackColor = Color.Azure;
                         e.Appearance.BackColor2 = Color.LightSkyBlue;
                     }
-                    //else if (gridView1.IsRowHotTracked(e.RowHandle))
-                    //{
-                    //    // 璁剧疆榧犳爣鎮仠琛岀殑鑳屾櫙鑹�
-                    //    e.Appearance.BackColor = Color.LightBlue;
-                    //    e.Appearance.BackColor2 = Color.LightBlue;
-                    //}
                 }
             };
             if (tips != null)
@@ -1880,6 +1936,7 @@
                 };
             }
         }
+
         private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e)
         {
             BaseEdit edit = sender as BaseEdit;
@@ -1887,12 +1944,12 @@
             edit.SelectAll();
         }
 
-        public static void SetGridLayout(GridView gridView1)
+        public static void SetGridLayout(GridView gridView1, int maxWidth = 500)
         {
             foreach (GridColumn column in gridView1.Columns)
             {
-                if (column.Width > 500)
-                    column.Width = 500;
+                if (column.Width > maxWidth)
+                    column.Width = maxWidth;
             }
         }
 
@@ -1902,17 +1959,35 @@
         /// <param name="gridView1"></param>
         /// <param name="xtraTabControl1"></param>
         /// <param name="pageBar1"></param>
-        /// <param name="action"></param>
-        /// <param name="page"></param>
-        public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null, Label lbGuid = null)
+        /// <param name="action">璇诲彇瀹炰綋</param>
+        /// <param name="page">璇诲彇鍒楄〃</param>
+        /// <param name="lbGuid"></param>
+        /// <param name="barMenu"></param>
+        /// <param name="ucLst">璇诲彇鎶ヨ〃</param>
+        public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null, Label lbGuid = null, UcToolBarMenu barMenu = null, DelegateGetUserControlList ucLst = null)
         {
             xtraTabControl1.SelectedPageChanged += (s, e) =>
             {
+                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
+                {
+                    if (barMenu != null)
+                        barMenu.SetAllButton(0);
+
+                    page(pageBar1.CurrentPage);
+                    int rowHandle = 0;
+                    rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
+                    if (rowHandle < 0)
+                        rowHandle = 0;
+                    gridView1.FocusedRowHandle = rowHandle;
+                    return;
+                }
+
                 if (xtraTabControl1.SelectedTabPageIndex == 1)
                 {
                     int _handle = gridView1.FocusedRowHandle;
                     bool _bl = xtraTabControl1.TabPages[0].PageEnabled;
-                    if (_bl == false) { return; };
+                    if (_bl == false) { return; }
+                    ;
                     if (_handle < 0)
                     {
                         xtraTabControl1.SelectedTabPageIndex = -1;
@@ -1934,18 +2009,18 @@
                         return;
                     }
                     action(_guid);
+                    return;
                 }
-                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
+
+                if (barMenu != null && xtraTabControl1.SelectedTabPageIndex == 2)
                 {
-                    page(pageBar1.CurrentPage);
-                    int rowHandle = 0;
-                    rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
-                    if (rowHandle < 0)
-                        rowHandle = 0;
-                    gridView1.FocusedRowHandle = rowHandle;
+                    barMenu.SetAllButton(2);
+                    ucLst();
+                    return;
                 }
             };
         }
+
 
         /// <summary>
         /// 璁剧疆鏄庣粏grid鏍峰紡
@@ -2067,7 +2142,91 @@
             }
         }
 
+
+        /// <summary>
+        /// 鏁版嵁杩囨护
+        /// </summary>
+        /// <returns></returns>
+        public static string GetOrgWhere()
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+            sb.Append(" (select aboutGuid as fid from  SYS_USER_BIND where userGuid='" + LoginInfoModel.CurrentUser.LoginUserGuid + "' and ftype='缁勭粐')");
+            return sb.ToString();
+        }
+
+        /// <summary>
+        /// 鐢ㄦ埛鎺т欢璇诲彇xml閰嶇疆
+        /// </summary>
+        /// <param name="_formNamespace"></param>
+        /// <param name="gvList"></param>
+        /// <param name="gcMain"></param>
+        public static void GetUcXmlConfig(string _formNamespace, List<DevExpress.XtraGrid.Views.Grid.GridView> gvList, GridControl gcMain)
+        {
+            JArray array = new JArray();
+            var _obj = new
+            {
+                formPath = _formNamespace,
+            };
+            try
+            {
+                string strJson = UtilityHelper.HttpPost("", "Fm/GetModel", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                if (_rtn.rtnCode > 0)
+                {
+                    JObject _job = JObject.Parse(strJson);
+                    foreach (var a in _job["rtnData"]["list"])
+                    {
+                        array.Add(a);
+                    }
+                    foreach (GridView gv in gvList)
+                    {
+                        JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == gv.Name.ToString().Trim().ToUpper());
+                        if (john != null)
+                        {
+                            string controlId = john["controlId"].ToString();
+                            string controlXml = john["controlXml"].ToString();
+                            byte[] byteArray = Encoding.UTF8.GetBytes(controlXml);
+                            using (var stream = new MemoryStream(byteArray))
+                            {
+                                gv.RestoreLayoutFromStream(stream);
+                            }
+                        }
+                    }
+
+                    //璁剧疆鏌ヨ鏉′欢beg
+                    if (gcMain != null)
+                    {
+                        GridView gv1 = gcMain.MainView as GridView;
+                        if (gv1 != null)
+                        {
+                            foreach (var a in _job["rtnData"]["list2"])
+                            {
+                                string _gvColName = a["gvColName"].ToString();
+                                string _sqlField = a["sqlField"].ToString();
+                                string _sqlFieldType = a["sqlFieldType"].ToString();
+                                var column = gv1.Columns.Cast<DevExpress.XtraGrid.Columns.GridColumn>()
+                                                .FirstOrDefault(c => c.Name == _gvColName);
+                                if (column != null)
+                                {
+                                    column.Tag = _sqlField;
+                                    column.UnboundExpression = _sqlFieldType;
+                                }
+                            }
+                        }
+                    }
+                    //璁剧疆鏌ヨ鏉′欢end
+                }
+                else
+                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
         #endregion
+
+
         /// <summary>
         /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑鏁板��
         /// </summary>
@@ -2175,8 +2334,6 @@
                 txt_iCount_1.ReadOnly = true;
         }
 
-
-
         #region 鑷畾涔夎繘搴︽潯鍒�
 
         /// <summary>
@@ -2271,7 +2428,6 @@
         // private GridColumn checkBoxColumn = null;
         public static void CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e)
         {
-
             Rectangle checkBoxColumnHeaderRect = new Rectangle(51, 1, 37, 57);
             if (e.Column != null && e.Column.AbsoluteIndex == 0)
             {
@@ -2315,10 +2471,26 @@
                     else
                     {
                         checkBoxColumn.Tag = "1";
+                        /********2025-07-23淇ˉ杩囨护bug 鏁呮敞閲� beg ************/
+                        //foreach (DataRow row in _Table.Rows)
+                        //{
+                        //    row["chkInt"] = true;
+                        //}
+                        /********2025-07-23淇ˉ杩囨护bug 鏁呮敞閲� end ************/
+                        /********2025-07-23淇ˉ杩囨护bug beg ************/
+                        System.Collections.IList ftRow = gridView1.DataController.GetAllFilteredAndSortedRows();
+                        System.Collections.ArrayList ftAry = new System.Collections.ArrayList();
+                        foreach (System.Data.DataRowView _ft in ftRow)
+                        {
+                            string guid = _ft["guid"].ToString();
+                            ftAry.Add(guid);
+                        }
                         foreach (DataRow row in _Table.Rows)
                         {
-                            row["chkInt"] = true;
+                            if (ftAry.Contains(row["guid"].ToString()))
+                                row["chkInt"] = true;
                         }
+                        /********2025-07-23淇ˉ杩囨护bug end ************/
                     }
                     gcMain.BindingContext = new BindingContext();
                     gcMain.DataSource = _Table;
@@ -2331,7 +2503,6 @@
             }
         }
         #endregion
-
 
         //璇诲彇榛樿缁勭粐
         public static string GetFirstOrg(UserControl.UcLookOrg txt_erpSczz)
@@ -2436,7 +2607,24 @@
         iqc,
         ipqc宸℃,
         ipqc棣栨,
-        fqc
+        fqc,
+        鐢熶骇閫�鏂欏叆搴撴,
+        鍏跺畠鍏ュ簱妫�,
+        閿�鍞��璐у叆搴撴,
+        瓒呮湡妫�,
+        濮斿閫�鏂欏叆搴撴,
+        cqcjyes,//閲嶆鏂规
+        cqcjno,//閲嶆鏂规
+        浜х嚎绉伴噸,
+        iqc绉伴噸,
+        鍙楁墭鍏ュ簱
+    }
+
+    public enum OrderType
+    {
+        鍏跺畠鍏ュ簱,
+        鐗╂枡璋冩嫧,
+        鍏跺畠鍑哄簱
     }
 
 

--
Gitblit v1.9.3