From d70880a3d9ae6c9f99ec380ccd16f5524bb622e6 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期六, 05 四月 2025 09:06:31 +0800
Subject: [PATCH] 修改按钮状态

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  325 ++++++++++++++++++++---------------------------------
 1 files changed, 125 insertions(+), 200 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 0d5f043..b2474d0 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -10,7 +10,6 @@
 using System.Net.Http;
 using System.Reflection;
 using System.Resources;
-using System.Runtime.CompilerServices;
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
@@ -63,12 +62,18 @@
             }
         }
 
+        public static (Size, string, Color, Padding) getLoading()
+        {
+            Size _size = new Size(360, 90);
+            return (_size, "鎷煎懡鍔犺浇涓紝璇风◢鍚�...", System.Drawing.Color.LightSkyBlue, new Padding(15));
+        }
         public static string HttpPost(string url, string meth, string param)
         {
-            string _caption = "鎷煎懡鍔犺浇涓紝璇风◢鍚�...";
-            DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm(_caption + meth, "鍙嬫儏鎻愮ず");
-            wdf.BackColor = System.Drawing.Color.LightSkyBlue;
-            wdf.Padding = new Padding(15);
+            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;
             HttpWebRequest request = null;
             StreamWriter requestStream = null;
             WebResponse response = null;
@@ -86,27 +91,20 @@
                 request.Timeout = 150000;
                 request.AllowAutoRedirect = false;
                 request.ServicePoint.Expect100Continue = false;
-                //  wdf.SetCaption(_caption + "锛�10/100锛�" + meth);
                 HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
                 request.CachePolicy = noCachePolicy;
-                //   wdf.SetCaption(_caption + "锛�20/100锛�" + meth);
                 requestStream = new StreamWriter(request.GetRequestStream());
                 requestStream.Write(param);
                 requestStream.Close();
-                //   wdf.SetCaption(_caption + "30/100锛�" + meth);
                 response = request.GetResponse();
-                //  wdf.SetCaption(_caption + "锛�40/100锛�");
                 if (response != null)
                 {
-                    //  wdf.SetCaption(_caption + "锛�50/100锛�" + meth);
                     var reader = new StreamReader(response.GetResponseStream(),
                         Encoding.UTF8);
                     responseStr = reader.ReadToEnd();
                     //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); 
                     reader.Close();
-                    //  wdf.SetCaption(_caption + "锛�60/100锛�" + meth);
                 }
-                // wdf.SetCaption(_caption + "锛�80/100锛�" + meth);
             }
             catch (Exception ex)
             {
@@ -120,7 +118,6 @@
                 requestStream = null;
                 response = null;
             }
-            // wdf.SetCaption(_caption + "锛�90/100锛�");
             wdf.Close();
             return responseStr;
         }
@@ -283,6 +280,8 @@
                         if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                         {
                             colmn.Visible = !isEdt;
+                            if (colmn.Visible == true)
+                                colmn.VisibleIndex = 99999;
                         }
                         else
                         {
@@ -410,7 +409,14 @@
                         if (colType is CheckEdit)
                         {
                             var txt = colType as CheckEdit;
+                            if (_isRead(txt.Tag))
+                            {
+                                txt.ReadOnly = true;
+                            }
+                            else
+                                txt.ReadOnly = isEdt;
                             if (txt != null)
+                            {
                                 switch (strVal)
                                 {
                                     case "True":
@@ -426,8 +432,8 @@
                                         txt.Checked = false;
                                         break;
                                 }
+                            }
 
-                            txt.ReadOnly = isEdt;
                             continue;
                         }
                         //鍗曢��
@@ -453,6 +459,7 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
+
                         //鏃堕棿
                         if (colType is DateTimePicker)
                         {
@@ -659,6 +666,18 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
+
+                        //鑷畾涓嶈壇
+                        if (colType is UcDictionary)
+                        {
+                            var txt = colType as UcDictionary;
+                            txt.TextTxt = (strVal);
+                            //if (txt.IsReadly == false)
+                            //    txt.Enabled = !isEdt;
+                            //else
+                            //    txt.Enabled = false;
+                            continue;
+                        }
                     }
                 }
                 catch (Exception ex)
@@ -791,13 +810,12 @@
                 if (ctrl is CheckEdit)
                 {
                     var txt = ctrl as CheckEdit;
-                    txt.ReadOnly = isEdt;
-                    if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren"))
+                    if (_isRead(txt.Tag))
                     {
-                        txt.Checked = bool.Parse(txt.Tag.ToString().Replace("moren.", ""));
+                        txt.ReadOnly = true;
                     }
                     else
-                        txt.Checked = false;
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
                 //鑷畾涔変粨搴�
@@ -1212,33 +1230,13 @@
             }
             return isEdt;
         }
-        /// <summary>
-        ///     鍒囨崲閫夐」鍗�
-        /// </summary>
-        /// <param name="tabControl">閫夐」鍗″鍣�</param>
-        /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param>
-        public static void JumpToTab(XtraTabControl tabControl, int idx)
-        {
-            if (idx == 999)
-            {
-                for (var i = 0; i < tabControl.TabPages.Count; i++)
-                    tabControl.TabPages[i].PageEnabled = true;
-                tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1;
-                return;
-            }
-
-            for (var i = 0; i < tabControl.TabPages.Count; i++)
-                tabControl.TabPages[i].PageEnabled = false;
-            tabControl.TabPages[idx].PageEnabled = true;
-            tabControl.SelectedTabPageIndex = idx;
-        }
 
 
         /// <summary>
-        /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�
+        /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�
         /// </summary>
         /// <param name="tabControl"></param>
-        /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�</param>
+        /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�</param>
         public static void JumpTab(XtraTabControl tabControl, int action)
         {
 
@@ -1282,6 +1280,14 @@
                 tabControl.TabPages[0].PageEnabled = true;
                 tabControl.TabPages[1].PageEnabled = true;
                 tabControl.SelectedTabPageIndex = 1;
+                return;
+            }
+
+            if (action == 6)
+            {
+                tabControl.TabPages[0].PageEnabled = true;
+                tabControl.TabPages[1].PageEnabled = true;
+
                 return;
             }
         }
@@ -1374,6 +1380,11 @@
 
                 return 0;
             }
+        }
+        public static decimal? GetDecimal(string s)
+        {
+            if (string.IsNullOrEmpty(s)) return null;
+            return decimal.Parse(s);
         }
         public static int ToInt(string str)
         {
@@ -1578,7 +1589,6 @@
                     return rowGuid;
                 }
             }
-
             return "";
         }
 
@@ -1596,7 +1606,7 @@
             GridView dgv = s as GridView;
             if (dgv != null)
             {
-                if (dgv.GetSelectedRows() != null)
+                if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0)
                 {
                     var selectedRow = dgv.GetSelectedRows()[0]; // 鑾峰彇绗竴涓�変腑琛岀殑绱㈠紩
                     if (selectedRow >= 0)
@@ -1634,6 +1644,23 @@
         /// <param name="icoName"></param>
         public static void SetCheckIco(GridView gridView1, string zdChk, string zdChkUser, string zdCkDate, PictureBox btnChkIco, Form fm, string fileName, string icoName = "")
         {
+            btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
+            btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌
+            if (gridView1 == null)
+            {
+                btnChkIco.Visible = true;
+                if (fileName == "1")
+                {
+                    btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
+                    btnChkIco.Tag = "宸插鏍�";
+                }
+                else
+                {
+                    btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+                    btnChkIco.Tag = "鏈鏍�";
+                }
+                return;
+            }
             if (fileName == "1" || fileName.ToUpper() == true.ToString().ToUpper())
             {
                 btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
@@ -1656,17 +1683,14 @@
                 if (!string.IsNullOrEmpty(zdChk))
                     gridView1.SetFocusedRowCellValue(zdChk, false);
             }
-            btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
-            btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌
+
         }
+
         #region 璁剧疆鎼滅储
-        public static string getQueryWord(string str)
+
+        public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type)
         {
-            return str.ToUpper().Replace("query_".ToUpper(), "");
-        }
-        public static FilterEntity getFilterEntityWord(string id, string idDec, string val)
-        {
-            return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "鍖呭惈)", "%" + val + "%");
+            return new FilterEntity(id, idDec + ")", " like ", "鍖呭惈)", "%" + val + "%", type);
         }
         public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null)
         {
@@ -1685,7 +1709,7 @@
                 //  fiList.Add(new FilterEntity("b.FNumber", "浣跨敤缁勭粐", " like ", "鍖呭惈", "%" + filter.Value + "%"));
                 string[] ddd = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "").Split(',');
                 //Contains([fSubsidiary], '005')
-                fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim()));
+                fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim(), col.UnboundExpression));
             }
             return fiList;
         }
@@ -1710,8 +1734,20 @@
                     }
                 }
                 else
-                    _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
-                                      itm.fileValue + "'");
+                {
+                    switch (itm.fileType)
+                    {
+                        case "鏃堕棿绫诲瀷":
+                            _sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId + ",23)" + itm.fileOper + "'" + itm.fileValue + "'");
+                            break;
+                        //case "鏁板�肩被鍨�":
+                        //    _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
+                        //    break;
+                        default:
+                            _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
+                            break;
+                    }
+                }
             }
             return _sbSqlWhere.ToString();
         }
@@ -1720,7 +1756,7 @@
         public delegate void DelegateGetModel(string guid);
         public delegate void DelegateGetList(int currentPage);
         /// <summary>
-        /// 
+        /// 璁剧疆涓昏〃鐨勬牱寮�
         /// </summary>
         /// <param name="gridView1">gridview</param>
         /// <param name="picCheckBox">鍥炬爣鎸夐挳</param>
@@ -1751,14 +1787,13 @@
             };
             gridView1.OptionsView.ShowGroupPanel = false;
             gridView1.OptionsCustomization.AllowGroup = false;
-
-            gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
+            // gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
             gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
             foreach (GridColumn column in gridView1.Columns)
             {
                 column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
                 column.OptionsColumn.AllowEdit = true;
-                column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
+                // column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
                 column.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains;
                 column.OptionsFilter.ImmediateUpdateAutoFilter = false;
                 if (column.Tag == null || column.Tag.ToString().EndsWith("edit"))
@@ -1864,7 +1899,24 @@
             edit.SelectAll();
         }
 
-        public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null)
+        public static void SetGridLayout(GridView gridView1)
+        {
+            foreach (GridColumn column in gridView1.Columns)
+            {
+                if (column.Width > 500)
+                    column.Width = 500;
+            }
+        }
+
+        /// <summary>
+        /// 璁剧疆閫夐」鍗�
+        /// </summary>
+        /// <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)
         {
             xtraTabControl1.SelectedPageChanged += (s, e) =>
             {
@@ -1897,7 +1949,12 @@
                 }
                 if (xtraTabControl1.SelectedTabPageIndex == 0)
                 {
-                    //  page(pageBar1.CurrentPage);
+                    page(pageBar1.CurrentPage);
+                    int rowHandle = 0;
+                    rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
+                    if (rowHandle < 0)
+                        rowHandle = 0;
+                    gridView1.FocusedRowHandle = rowHandle ;
                 }
             };
         }
@@ -1988,145 +2045,7 @@
             Regex regex = new Regex("^[0-9]+$");
             return regex.IsMatch(str);
         }
-
-        public static void getGridViewConfig(string namespaceFullName, List<DevExpress.XtraGrid.Views.Grid.GridView> gvList)
-        {
-            // gridView1.ShowCustomization();
-            // gridView1.OptionsMenu.EnableColumnMenu = false;
-            JArray array = new JArray();
-            var _obj = new
-            {
-                formPath = namespaceFullName,
-            };
-            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);
-                    }
-                }
-                else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-            foreach (GridView gridView1 in gvList)
-            {
-                gridView1.PopupMenuShowing += (s, e) =>
-                {
-                    if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)
-                    {
-                        GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
-                        if (menu != null)
-                        {
-                            string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" };
-                            for (int i = menu.Items.Count - 1; i >= 0; i--)
-                            {
-                                string _caption = menu.Items[i].Caption;
-                                if (!ary.Contains(_caption))
-                                {
-                                    menu.Items.Remove(menu.Items[i]);
-                                }
-                            }
-                        }
-                    }
-                };
-                gridView1.OptionsView.ShowGroupPanel = false;
-                gridView1.OptionsCustomization.AllowGroup = false;
-                if (string.IsNullOrEmpty(namespaceFullName)) return;
-                foreach (GridColumn column in gridView1.Columns)
-                {
-                    JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == column.Name.ToString().Trim().ToUpper());
-                    if (john != null)
-                    {
-                        string controlIdx = john["controlIdx"].ToString();
-                        string controlVisible = john["controlVisible"].ToString();
-                        if (!string.IsNullOrEmpty(controlIdx))
-                            column.VisibleIndex = int.Parse(controlIdx);
-                        if (!string.IsNullOrEmpty(controlVisible))
-                            column.Visible = bool.Parse(controlVisible);
-                    }
-                }
-               
-            }
-        }
-
-        public static void getXmlConfig(string namespaceFullName, List<DevExpress.XtraGrid.Views.Grid.GridView> gvList)
-        {
-            // gridView1.ShowCustomization();
-            // gridView1.OptionsMenu.EnableColumnMenu = false;
-            JArray array = new JArray();
-            var _obj = new
-            {
-                formPath = namespaceFullName,
-            };
-            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"])
-                    {
-                        //string _id = a["controlId"].ToString();
-                        //string _controlType = a["controlType"].ToString();
-                        //string _controlXml = a["controlXml"].ToString();
-                        //string _splitterPosition = a["splitterPosition"].ToString();
-                        array.Add(a);
-                    }
-                    foreach (GridView gridView1 in gvList)
-                    {
-                        gridView1.PopupMenuShowing += (s, e) =>
-                        {
-                            if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)
-                            {
-                                GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
-                                if (menu != null)
-                                {
-                                    string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" };
-                                    for (int i = menu.Items.Count - 1; i >= 0; i--)
-                                    {
-                                        string _caption = menu.Items[i].Caption;
-                                        if (!ary.Contains(_caption))
-                                        {
-                                            menu.Items.Remove(menu.Items[i]);
-                                        }
-                                    }
-                                }
-                            }
-                        };
-                        gridView1.OptionsView.ShowGroupPanel = false;
-                        gridView1.OptionsCustomization.AllowGroup = false;
-                        JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == gridView1.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))
-                            {
-                                gridView1.RestoreLayoutFromStream(stream);
-                            }
-                        }
-                    }
-                }
-                else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-
-        }
+ 
     }
 
     /// <summary>
@@ -2138,10 +2057,11 @@
         {
         }
 
-        public CboItemEntity(string val, string text)
+        public CboItemEntity(string val, string text, string fType = "")
         {
             Text = text;
             Value = val;
+            FType = fType;
         }
 
         /// <summary>
@@ -2153,6 +2073,8 @@
         ///     瀵硅薄鍊�
         /// </summary>
         public object Value { get; set; } = "";
+
+        public object FType { get; set; } = "";
 
         public override string ToString()
         {
@@ -2174,13 +2096,14 @@
         /// <param name="operDec">鎿嶄綔绗﹀娉�</param>
         /// <param name="val"></param>
         public FilterEntity(string id, string idDec, string oper,
-            string operDec, string val)
+            string operDec, string val, string type)
         {
             fileId = id;
             fileIdDec = idDec;
             fileOper = oper;
             fileOperDec = operDec;
             fileValue = val;
+            fileType = type;
         }
 
         public string fileId { get; set; }
@@ -2192,5 +2115,7 @@
         public string fileOperDec { get; set; }
 
         public string fileValue { get; set; }
+
+        public string fileType { get; set; }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3