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