From c47dadf9b621c36d84c6f0f2cac1fc5e08221858 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期日, 08 十二月 2024 18:28:47 +0800
Subject: [PATCH] 1

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  341 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 278 insertions(+), 63 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index f596b2b..a7fb76b 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -13,6 +13,8 @@
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 using System.Windows.Forms;
+using DevExpress.RichEdit.Export;
+using DevExpress.XtraBars.Customization;
 using DevExpress.XtraEditors;
 using DevExpress.XtraEditors.Controls;
 using DevExpress.XtraGrid;
@@ -20,11 +22,13 @@
 using DevExpress.XtraGrid.Views.Grid;
 using DevExpress.XtraTab;
 using DevExpress.XtraTreeList;
+using DevExpress.XtraWaitForm;
 using Gs.DevApp.Entity;
 using Gs.DevApp.UserControl;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using static System.Windows.Forms.Control;
+
 
 namespace Gs.DevApp.ToolBox
 {
@@ -64,35 +68,35 @@
         /// <param name="meth">鏂规硶鍚嶇О</param>
         /// <param name="param">鍙傛暟</param>
         /// <returns></returns>
-        public static async Task<string> HttpPostAsync(string url, string meth, string param)
-        {
-            if (string.IsNullOrEmpty(url))
-                url = WebApiUrl;
-            url += meth;
-            var request = (HttpWebRequest)WebRequest.Create(url);
-            request.Method = "POST";
-            request.ContentType = "application/json";
-            request.Headers.Add("token", GetBasicAuthTicket());
-            request.Accept = "*/*";
-            request.Timeout = 15000;
-            request.AllowAutoRedirect = false;
-            request.ServicePoint.Expect100Continue = false;
-            HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
-            request.CachePolicy = noCachePolicy;
-            using (Stream requestStream = await request.GetRequestStreamAsync())
-            {
-                byte[] dataBytes = Encoding.UTF8.GetBytes(param);
-                await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
-            }
+        //public static async Task<string> HttpPostAsync(string url, string meth, string param)
+        //{
+        //    if (string.IsNullOrEmpty(url))
+        //        url = WebApiUrl;
+        //    url += meth;
+        //    var request = (HttpWebRequest)WebRequest.Create(url);
+        //    request.Method = "POST";
+        //    request.ContentType = "application/json";
+        //    request.Headers.Add("token", GetBasicAuthTicket());
+        //    request.Accept = "*/*";
+        //    request.Timeout = 15000;
+        //    request.AllowAutoRedirect = false;
+        //    request.ServicePoint.Expect100Continue = false;
+        //    HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
+        //    request.CachePolicy = noCachePolicy;
+        //    using (Stream requestStream = await request.GetRequestStreamAsync())
+        //    {
+        //        byte[] dataBytes = Encoding.UTF8.GetBytes(param);
+        //        await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
+        //    }
 
-            using (WebResponse response = await request.GetResponseAsync())
-            {
-                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
-                {
-                    return await reader.ReadToEndAsync();
-                }
-            }
-        }
+        //    using (WebResponse response = await request.GetResponseAsync())
+        //    {
+        //        using (StreamReader reader = new StreamReader(response.GetResponseStream()))
+        //        {
+        //            return await reader.ReadToEndAsync();
+        //        }
+        //    }
+        //}
 
         /// <summary>
         ///     httpPost璁块棶鏈嶅姟
@@ -103,39 +107,52 @@
         /// <returns></returns>
         public static string HttpPost(string url, string meth, string param)
         {
-            if (string.IsNullOrEmpty(url))
-                url = WebApiUrl;
-            url += meth;
-            var request = (HttpWebRequest)WebRequest.Create(url);
-            request.Method = "POST";
-            request.ContentType = "application/json";
-            request.Headers.Add("token", GetBasicAuthTicket());
-            request.Accept = "*/*";
-            request.Timeout = 15000;
-            request.AllowAutoRedirect = false;
-            request.ServicePoint.Expect100Continue = false;
-            HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
-            request.CachePolicy = noCachePolicy;
+            string _caption = "鎷煎懡鍔犺浇涓紝璇风◢鍚�...";
+            DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm(_caption + meth, "鍙嬫儏鎻愮ず");
+            wdf.BackColor = System.Drawing.Color.LightSkyBlue;
+            wdf.Padding = new Padding(15);
+            HttpWebRequest request = null;
             StreamWriter requestStream = null;
             WebResponse response = null;
             string responseStr = null;
             try
             {
+                if (string.IsNullOrEmpty(url))
+                    url = WebApiUrl;
+                url += meth;
+                request = (HttpWebRequest)WebRequest.Create(url);
+                request.Method = "POST";
+                request.ContentType = "application/json";
+                request.Headers.Add("token", GetBasicAuthTicket());
+                request.Accept = "*/*";
+                request.Timeout = 15000;
+                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)
             {
+                wdf.Close();
                 LogHelper.Debug(url, param + ":" + ex.Message);
                 throw ex;
             }
@@ -145,7 +162,8 @@
                 requestStream = null;
                 response = null;
             }
-
+            wdf.SetCaption(_caption + "锛�90/100锛�");
+            wdf.Close();
             return responseStr;
         }
 
@@ -193,7 +211,14 @@
         {
             var dt = new DataTable();
             foreach (GridColumn col in gv.Columns)
-                dt.Columns.Add(col.FieldName, typeof(string));
+            {
+                if (col.UnboundDataType == typeof(System.Boolean))
+                    dt.Columns.Add(col.FieldName, typeof(System.Boolean));
+                else
+                {
+                    dt.Columns.Add(col.FieldName, typeof(string));
+                }
+            }
             gc.BindingContext = new BindingContext();
             gc.DataSource = dt;
             gc.ForceInitialize();
@@ -293,13 +318,16 @@
                 {
                     foreach (GridColumn colmn in gv.Columns)
                     {
-                        if (colmn.Name.ToString().Contains("gvMxDel"))
+                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                         {
-                            colmn.Visible = !isEdt;
-                            break;
+                            //  colmn.Visible = !isEdt;
+                            //  break;
+                            colmn.OptionsColumn.AllowEdit = true;
                         }
+                        else
+                            colmn.OptionsColumn.AllowEdit = !isEdt;
                     }
-                    gv.OptionsBehavior.Editable = !isEdt;
+                    //gv.OptionsBehavior.Editable = !isEdt;
                 }
             var _btnAry = controls.Find("btnSelect", false);
             if (_btnAry.Length > 0)
@@ -542,6 +570,41 @@
                                 txt.Enabled = false;
                             continue;
                         }
+
+                        //鑷畾瀹㈡埛
+                        if (colType is UcLookCustomer)
+                        {
+                            var txt = colType as UcLookCustomer;
+                            txt.SetIdOrCode(strVal);
+                            if (txt.IsReadly == false)
+                                txt.Enabled = !isEdt;
+                            else
+                                txt.Enabled = false;
+                            continue;
+                        }
+                        //鑷畾鍛樺伐
+                        if (colType is UcLookStaff)
+                        {
+                            var txt = colType as UcLookStaff;
+                            txt.SetIdOrCode(strVal);
+                            if (txt.IsReadly == false)
+                                txt.Enabled = !isEdt;
+                            else
+                                txt.Enabled = false;
+                            continue;
+                        }
+                        //鑷畾缁勭粐
+                        if (colType is UcLookOrg)
+                        {
+                            var txt = colType as UcLookOrg;
+                            txt.SetIdOrCode(strVal);
+                            if (txt.IsReadly == false)
+                                txt.Enabled = !isEdt;
+                            else
+                                txt.Enabled = false;
+                            continue;
+                        }
+
                         if (colType is SimpleButton)
                         {
                             var txt = colType as SimpleButton;
@@ -572,13 +635,16 @@
                 {
                     foreach (GridColumn colmn in gv.Columns)
                     {
-                        if (colmn.Name.ToString().Contains("gvMxDel"))
+                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                         {
-                            colmn.Visible = !isEdt;
-                            break;
+                            //  colmn.Visible = !isEdt;
+                            //  break;
+                            colmn.OptionsColumn.AllowEdit = true;
                         }
+                        else
+                            colmn.OptionsColumn.AllowEdit = !isEdt;
                     }
-                    gv.OptionsBehavior.Editable = !isEdt;
+                    //gv.OptionsBehavior.Editable = !isEdt;
                 }
             foreach (Control ctrl in controls)
             {
@@ -698,6 +764,30 @@
                     txt.Enabled = !isEdt;
                     continue;
                 }
+                //鑷畾瀹㈡埛
+                if (ctrl is UcLookCustomer)
+                {
+                    var txt = ctrl as UcLookCustomer;
+                    txt.SetIdOrCode("-1");
+                    txt.Enabled = !isEdt;
+                    continue;
+                }
+                //鑷畾瀹㈡埛
+                if (ctrl is UcLookStaff)
+                {
+                    var txt = ctrl as UcLookStaff;
+                    txt.SetIdOrCode("-1");
+                    txt.Enabled = !isEdt;
+                    continue;
+                }
+                //鑷畾缁勭粐
+                if (ctrl is UcLookOrg)
+                {
+                    var txt = ctrl as UcLookOrg;
+                    txt.SetIdOrCode("-1");
+                    txt.Enabled = !isEdt;
+                    continue;
+                }
                 if (ctrl is SimpleButton)
                 {
                     var txt = ctrl as SimpleButton;
@@ -723,13 +813,16 @@
                 {
                     foreach (GridColumn colmn in gv.Columns)
                     {
-                        if (colmn.Name.ToString().Contains("gvMxDel"))
+                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                         {
-                            colmn.Visible = !isEdt;
-                            break;
+                            //  colmn.Visible = !isEdt;
+                            //  break;
+                            colmn.OptionsColumn.AllowEdit = true;
                         }
+                        else
+                            colmn.OptionsColumn.AllowEdit = !isEdt;
                     }
-                    gv.OptionsBehavior.Editable = !isEdt;
+                    //gv.OptionsBehavior.Editable = !isEdt;
                 }
             foreach (Control ctrl in controls)
             {
@@ -836,6 +929,36 @@
                 if (ctrl is UcLookUnit)
                 {
                     var txt = ctrl as UcLookUnit;
+                    if (txt.IsReadly == false)
+                        txt.Enabled = !isEdt;
+                    else
+                        txt.Enabled = false;
+                    continue;
+                }
+                //鑷畾涔夊鎴�
+                if (ctrl is UcLookCustomer)
+                {
+                    var txt = ctrl as UcLookCustomer;
+                    if (txt.IsReadly == false)
+                        txt.Enabled = !isEdt;
+                    else
+                        txt.Enabled = false;
+                    continue;
+                }
+                //鑷畾涔夊憳宸�
+                if (ctrl is UcLookStaff)
+                {
+                    var txt = ctrl as UcLookStaff;
+                    if (txt.IsReadly == false)
+                        txt.Enabled = !isEdt;
+                    else
+                        txt.Enabled = false;
+                    continue;
+                }
+                //鑷畾缁勭粐
+                if (ctrl is UcLookOrg)
+                {
+                    var txt = ctrl as UcLookOrg;
                     if (txt.IsReadly == false)
                         txt.Enabled = !isEdt;
                     else
@@ -968,6 +1091,14 @@
                 return 0;
             }
         }
+
+        public static int ToBit(string str)
+        {
+            if (str.ToUpper() == "true".ToUpper())
+                return 1;
+            return 0;
+        }
+
         /// <summary>
         /// 璇诲彇grid鐨勫綋鍓嶈
         /// </summary>
@@ -1189,7 +1320,7 @@
                 if (string.IsNullOrEmpty(filter.FilterString))
                     continue;
                 //  fiList.Add(new FilterEntity("b.FNumber", "浣跨敤缁勭粐", " like ", "鍖呭惈", "%" + filter.Value + "%"));
-                string[] ddd = filter.FilterString.Replace("Contains","").Replace("(","").Replace(")","").Replace("'", "").Replace("'", "").Split(',');
+                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()));
             }
@@ -1212,7 +1343,7 @@
                         _sbSqlWhere.Append(" and  org.FNumber " + itm.fileOper + "'" + itm.fileValue + "'");
                     else
                     {
-                       _sbSqlWhere.Append(" and  org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
+                        _sbSqlWhere.Append(" and  org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
                     }
                 }
                 else
@@ -1222,31 +1353,115 @@
             return _sbSqlWhere.ToString();
         }
         /// <summary>
-        /// 鍒濆鍖杇ridview
+        /// 
         /// </summary>
-        /// <param name="gridView1"></param>
-        public static void SetGridSear(GridView gridView1)
+        /// <param name="gridView1">gridview</param>
+        /// <param name="btnChkIco">鍥炬爣鎸夐挳</param>
+        /// <param name="fm">褰撳墠绐椾綋</param>
+        /// <param name="fileName">瀛楁</param>
+        /// <param name="icoName">鍥炬爣璺緞</param>
+        public static void SetGridSear(GridView gridView1, PictureBox btnChkIco = null, Form fm = null, string fileName = "checkStatus", string icoName = "")
         {
+         //   gridView1.OptionsView.ColumnAutoWidth = false;鑷姩璋冩暣鍒楀
+
             foreach (GridColumn column in gridView1.Columns)
             {
                 column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
                 column.OptionsFilter.ImmediateUpdateAutoFilter = false;
-                column.OptionsColumn.AllowEdit = false;
-                if (column.Tag==null || column.Tag.ToString().Length <= 0)
+                // column.OptionsColumn.AllowEdit = false;
+                if (column.Tag == null || column.Tag.ToString().Length <= 0)
                     column.OptionsFilter.AllowAutoFilter = false;
             }
             gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False;
             gridView1.OptionsFilter.AllowFilterEditor = false;
             gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+            gridView1.OptionsCustomization.AllowFilter = false;
+            gridView1.OptionsFind.ShowSearchNavButtons = false;
+            gridView1.OptionsView.ShowAutoFilterRow = true;
+            gridView1.OptionsView.ShowGroupPanel = false;
+            gridView1.IndicatorWidth = 50;
+            gridView1.CustomDrawRowIndicator += (s, e) =>
+            {
+                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
+            };
+            gridView1.CustomDrawEmptyForeground += (s, e) =>
+            {
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                e.Graphics.DrawString(str, f, Brushes.Gray, r);
+            };
+            if (btnChkIco != null)
+            {
+                gridView1.FocusedRowChanged += (s, e) =>
+                {
+                    UtilityHelper.SetCheckIco(s, btnChkIco, fm, fileName, icoName);
+                };
+            }
         }
-        #endregion
 
+        /// <summary>
+        /// 璁剧疆鏄庣粏grid鏍峰紡
+        /// </summary>
+        /// <param name="gridView1"></param>
+        /// <param name="btnChkIco"></param>
+        /// <param name="fm"></param>
+        /// <param name="fileName"></param>
+        /// <param name="icoName"></param>
+        public static void SetGridSearMx(GridView gridView1)
+        {
+            gridView1.OptionsFilter.AllowFilterEditor = false;
+            gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+            gridView1.OptionsCustomization.AllowFilter = false;
+            gridView1.OptionsFind.ShowSearchNavButtons = false;
+            gridView1.OptionsView.ShowAutoFilterRow = false;
+            gridView1.OptionsView.ShowGroupPanel = false;
+            gridView1.IndicatorWidth = 40;
+            gridView1.CustomDrawRowIndicator += (s, e) =>
+            {
+                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
+            };
+            gridView1.CustomDrawEmptyForeground += (s, e) =>
+            {
+                var str = "鏆傛棤鏄庣粏鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                e.Graphics.DrawString(str, f, Brushes.Gray, r);
+            };
+            gridView1.ValidatingEditor += (sender, e) =>
+            {
+                //yz_quantity_0
+                GridView view = sender as GridView;
+                if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_"))
+                {
+                    string[] _ary = view.FocusedColumn.Tag.ToString().Split('_');
+                    if (_ary.Length > 2)
+                    {
+                        if (_ary[2] == "0")
+                        {
+                            double price = 0; if (!Double.TryParse(e.Value as String, out price))
+                            { e.Valid = false; e.ErrorText = "璇疯緭鍏ユ纭殑鏁板瓧."; }
+                            return;
+                        }
+                    }
+                }
+            };
+        }
+
+        #endregion
 
         public static bool IsNumeric(string str)
         {
             Regex regex = new Regex("^[0-9]+$");
             return regex.IsMatch(str);
         }
+
+      
+
     }
 
     /// <summary>

--
Gitblit v1.9.3