From 89776d6f53dff45b1ac0ee20438f5aa8dab2d0e5 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期一, 16 六月 2025 17:13:31 +0800 Subject: [PATCH] bug --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 1231 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 772 insertions(+), 459 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index debc890..aff56f1 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -1,4 +1,20 @@ -锘縰sing System; +锘縰sing DevExpress.Utils; +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; +using DevExpress.XtraGrid.Views.Grid; +using DevExpress.XtraGrid.Views.Grid.ViewInfo; +using DevExpress.XtraTab; +using DevExpress.XtraTreeList; +using Gs.DevApp.Entity; +using Gs.DevApp.UserControl; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; @@ -7,26 +23,12 @@ using System.Linq; using System.Net; using System.Net.Cache; -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; using System.Windows.Forms; -using DevExpress.XtraEditors; -using DevExpress.XtraEditors.Controls; -using DevExpress.XtraGrid; -using DevExpress.XtraGrid.Columns; -using DevExpress.XtraGrid.Menu; -using DevExpress.XtraGrid.Views.Grid; -using DevExpress.XtraTab; -using DevExpress.XtraTreeList; -using Gs.DevApp.Entity; -using Gs.DevApp.UserControl; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; +using System.Windows.Forms.VisualStyles; using UserControls.Data; using static System.Windows.Forms.Control; @@ -41,34 +43,33 @@ private static readonly string WebApiUrl = ConfigurationManager.AppSettings["WebApiUrl"]; + /// <summary> + /// 璇诲彇鍔犺浇淇℃伅 + /// </summary> + /// <returns></returns> - public static async Task<string> UploadFileAsync(string filePath) + public static (Size, string, Color, Padding) getLoading() { - using (var httpClient = new HttpClient()) - using (var form = new MultipartFormDataContent()) - { - httpClient.DefaultRequestHeaders.Add("token", - GetBasicAuthTicket()); - using (var fs = File.OpenRead(filePath)) - using (var streamContent = new StreamContent(fs)) - { - form.Add(streamContent, "file", Path.GetFileName(filePath)); - var response = - await httpClient.PostAsync( - WebApiUrl + "Upload/UploadFile", form); - var responseString = - await response.Content.ReadAsStringAsync(); - return responseString; - } - } + 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) + /// <summary> + /// http璇锋眰 + /// </summary> + /// <param name="url"></param> + /// <param name="meth"></param> + /// <param name="param"></param> + /// <param name="isLoading"></param> + /// <returns></returns> + public static string HttpPost(string url, string meth, string param, bool isLoading = true) { - 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; + wdf.SetCaption("鍔犺浇杩涘害:" + meth); + wdf.Visible = isLoading; HttpWebRequest request = null; StreamWriter requestStream = null; WebResponse response = null; @@ -86,27 +87,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,18 +114,8 @@ requestStream = null; response = null; } - // wdf.SetCaption(_caption + "锛�90/100锛�"); wdf.Close(); return responseStr; - } - - /// <summary> - /// 榛樿椤靛ぇ灏� - /// </summary> - /// <returns></returns> - public static int GetPageSize() - { - return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize")); } /// <summary> @@ -180,6 +164,7 @@ gc.BindingContext = new BindingContext(); gc.DataSource = dt; gc.ForceInitialize(); + gv.BestFitColumns(); } /// <summary> @@ -251,11 +236,15 @@ var array = new JArray(); var d = json["rtnData"]; foreach (var a in d) array.Add(a); + //if (array.Count <=0) + // return null; var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString()); rto.rtnData = dt; return rto; } + + #region 鎵归噺澶勭悊瀵瑰儚锛屾枃鏈�硷紝鍖呭惈娓呯┖锛岀鐢紝鍚敤涓夌 /// <summary> /// 鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰妗嗙殑鍊� /// </summary> @@ -271,10 +260,11 @@ { foreach (var gv in gridViews) { + gv.ClearSorting(); + gv.OptionsCustomization.AllowSort = isEdt; foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; - if (colmn.Name.ToString().Contains("gvBtnAlawys")) { colmn.Visible = true; @@ -283,6 +273,8 @@ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { colmn.Visible = !isEdt; + if (colmn.Visible == true) + colmn.VisibleIndex = 99999; } else { @@ -322,6 +314,7 @@ if (cols.Length > 0) { var colType = cols[0]; + if (colType is LookUpEdit) { var txt = colType as LookUpEdit; @@ -362,11 +355,11 @@ txt.ReadOnly = isEdt; continue; } - //鑷畾涔変笅鎷� - if (colType is UcComBox) + if (colType is ButtonEdit) { - var txt = colType as UcComBox; - txt.Val = strVal; + var txt = colType as ButtonEdit; + if (txt != null) + txt.Text = strVal; txt.Enabled = !isEdt; continue; } @@ -384,6 +377,7 @@ txt.ReadOnly = isEdt; continue; } + //鏂囨湰鍩� if (colType is MemoEdit) { var txt = colType as MemoEdit; @@ -410,7 +404,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 +427,8 @@ txt.Checked = false; break; } + } - txt.ReadOnly = isEdt; continue; } //鍗曢�� @@ -482,10 +483,7 @@ { var txt = colType as UcLookCk; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔変緵搴斿晢 @@ -493,10 +491,7 @@ { var txt = colType as UcLookSupplier; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夌墿鏂� @@ -504,10 +499,7 @@ { var txt = colType as UcLookItems; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾杞﹂棿 @@ -515,10 +507,7 @@ { var txt = colType as UcLookWorkshop; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾浜х嚎 @@ -526,10 +515,7 @@ { var txt = colType as UcLookWorkline; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鍗曚綅 @@ -537,10 +523,7 @@ { var txt = colType as UcLookUnit; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾瀹㈡埛 @@ -548,10 +531,7 @@ { var txt = colType as UcLookCustomer; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鍛樺伐 @@ -559,10 +539,7 @@ { var txt = colType as UcLookStaff; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾缁勭粐 @@ -570,10 +547,7 @@ { var txt = colType as UcLookOrg; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鐢ㄦ埛 @@ -581,10 +555,7 @@ { var txt = colType as UcLookUser; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鎵撳嵃鏈� @@ -592,21 +563,7 @@ { var txt = colType as UcLookPrint; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; - continue; - } - //鑷畾缂洪櫡绫诲埆 - if (colType is UcLookDefectType) - { - var txt = colType as UcLookDefectType; - txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾閮ㄩ棬 @@ -614,10 +571,7 @@ { var txt = colType as UcLookDepartment; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾daa @@ -625,10 +579,7 @@ { var txt = colType as UcLookDaa; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾濮斿 @@ -636,10 +587,7 @@ { var txt = colType as UcLookWwgd; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾閿�鍞� @@ -647,16 +595,40 @@ { var txt = colType as UcLookSales; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } if (colType is SimpleButton) { var txt = colType as SimpleButton; - txt.Enabled = !isEdt; + if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") + txt.Enabled = true; + else + txt.Enabled = !isEdt; + continue; + } + //鑷畾宸ュ簭 + if (colType is UcLookGx) + { + var txt = colType as UcLookGx; + txt.SetIdOrCode(strVal); + txt.IsReadly = isEdt; + continue; + } + //鑷畾涓嶈壇 + if (colType is UcDictionary) + { + var txt = colType as UcDictionary; + txt.TextTxt = (strVal); + txt.IsReadly = isEdt; + continue; + } + //鑷畾鍗曟嵁绫诲瀷涓嬫媺 + if (colType is UcDictionaryComBox) + { + var txt = colType as UcDictionaryComBox; + txt.TextTxt = (strVal); + txt.IsReadly = isEdt; continue; } } @@ -694,6 +666,8 @@ { foreach (var gv in gridViews) { + gv.ClearSorting(); + gv.OptionsCustomization.AllowSort = isEdt; foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; @@ -748,12 +722,12 @@ txt.ReadOnly = isEdt; continue; } - //鑷畾涔夌殑涓嬫媺 - if (ctrl is UcComBox) + if (ctrl is ButtonEdit) { - var txt = ctrl as UcComBox; - txt.Val = "0"; + var txt = ctrl as ButtonEdit; + txt.Text = ""; txt.Enabled = !isEdt; + txt.ReadOnly = isEdt; continue; } //鏂囨湰 @@ -791,13 +765,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; } //鑷畾涔変粨搴� @@ -805,7 +778,7 @@ { var txt = ctrl as UcLookCk; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾涔変緵搴斿晢 @@ -813,7 +786,7 @@ { var txt = ctrl as UcLookSupplier; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾涔夌墿鏂� @@ -821,7 +794,7 @@ { var txt = ctrl as UcLookItems; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾杞﹂棿 @@ -829,7 +802,7 @@ { var txt = ctrl as UcLookWorkshop; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾浜х嚎 @@ -837,7 +810,7 @@ { var txt = ctrl as UcLookWorkline; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾鍗曚綅 @@ -845,7 +818,7 @@ { var txt = ctrl as UcLookUnit; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾瀹㈡埛 @@ -853,15 +826,15 @@ { var txt = ctrl as UcLookCustomer; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } - //鑷畾瀹㈡埛 + //鑷畾鍛樺伐 if (ctrl is UcLookStaff) { var txt = ctrl as UcLookStaff; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾缁勭粐 @@ -869,7 +842,7 @@ { var txt = ctrl as UcLookOrg; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾鐢ㄦ埛 @@ -877,7 +850,7 @@ { var txt = ctrl as UcLookUser; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾鎵撳嵃鏈� @@ -885,23 +858,16 @@ { var txt = ctrl as UcLookPrint; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } - //鑷畾缂洪櫡绫诲埆 - if (ctrl is UcLookDefectType) - { - var txt = ctrl as UcLookDefectType; - txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; - continue; - } + //鑷畾閮ㄩ棬 if (ctrl is UcLookDepartment) { var txt = ctrl as UcLookDepartment; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾daa @@ -909,7 +875,7 @@ { var txt = ctrl as UcLookDaa; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾濮斿 @@ -917,7 +883,7 @@ { var txt = ctrl as UcLookWwgd; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾閿�鍞� @@ -925,13 +891,40 @@ { var txt = ctrl as UcLookSales; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; + continue; + } + //鑷畾宸ュ簭 + if (ctrl is UcLookGx) + { + var txt = ctrl as UcLookGx; + txt.SetIdOrCode("-1"); + txt.IsReadly = isEdt; + continue; + } + //鑷畾涓嶈壇 + if (ctrl is UcDictionary) + { + var txt = ctrl as UcDictionary; + txt.TextTxt = ""; + txt.IsReadly = isEdt; + continue; + } + //鑷畾涔夊崟鎹被鍨嬩笅鎷� + if (ctrl is UcDictionaryComBox) + { + var txt = ctrl as UcDictionaryComBox; + //txt.SetIdOrCode("-1"); + txt.IsReadly = isEdt; continue; } if (ctrl is SimpleButton) { var txt = ctrl as SimpleButton; - txt.Enabled = !isEdt; + if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") + txt.Enabled = true; + else + txt.Enabled = !isEdt; continue; } } @@ -951,6 +944,8 @@ { foreach (var gv in gridViews) { + gv.ClearSorting(); + gv.OptionsCustomization.AllowSort = isEdt; foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; @@ -970,6 +965,19 @@ } foreach (Control ctrl in controls) { + //涓嬫媺 + if (ctrl is ComboBoxEdit) + { + var txt = ctrl as ComboBoxEdit; + txt.ReadOnly = isEdt; + continue; + } + if (ctrl is ButtonEdit) + { + var txt = ctrl as ButtonEdit; + txt.Enabled = !isEdt; + continue; + } //鏂囨湰 if (ctrl is TextEdit) { @@ -1000,29 +1008,18 @@ txt.ReadOnly = isEdt; continue; } - //涓嬫媺 - if (ctrl is UcComBox) - { - var txt = ctrl as UcComBox; - txt.Val = "0"; - txt.Enabled = !isEdt; - continue; - } - //鏃ユ湡 if (ctrl is DateTimePicker) { ctrl.Enabled = !isEdt; continue; } - //鍗曢�� if (ctrl is CheckBox) { ctrl.Enabled = !isEdt; continue; } - // if (ctrl is CheckEdit) { var txt = ctrl as CheckEdit; @@ -1033,171 +1030,147 @@ if (ctrl is UcLookCk) { var txt = ctrl as UcLookCk; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔変緵搴斿晢 if (ctrl is UcLookSupplier) { var txt = ctrl as UcLookSupplier; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夌墿鏂� if (ctrl is UcLookItems) { var txt = ctrl as UcLookItems; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夎溅闂� if (ctrl is UcLookWorkshop) { var txt = ctrl as UcLookWorkshop; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔変骇绾� if (ctrl is UcLookWorkline) { var txt = ctrl as UcLookWorkline; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夊崟浣� if (ctrl is UcLookUnit) { var txt = ctrl as UcLookUnit; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夊鎴� if (ctrl is UcLookCustomer) { var txt = ctrl as UcLookCustomer; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夊憳宸� if (ctrl is UcLookStaff) { var txt = ctrl as UcLookStaff; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾缁勭粐 if (ctrl is UcLookOrg) { var txt = ctrl as UcLookOrg; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鐢ㄦ埛 if (ctrl is UcLookUser) { var txt = ctrl as UcLookUser; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鎵撳嵃 if (ctrl is UcLookPrint) { var txt = ctrl as UcLookPrint; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; - continue; - } - //鑷畾缂洪櫡绫诲埆 - if (ctrl is UcLookDefectType) - { - var txt = ctrl as UcLookDefectType; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾閮ㄩ棬 if (ctrl is UcLookDepartment) { var txt = ctrl as UcLookDepartment; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾daa if (ctrl is UcLookDaa) { var txt = ctrl as UcLookDaa; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾濮斿 if (ctrl is UcLookWwgd) { var txt = ctrl as UcLookWwgd; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾閿�鍞� if (ctrl is UcLookSales) { var txt = ctrl as UcLookSales; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; + continue; + } + //鑷畾宸ュ簭 + if (ctrl is UcLookGx) + { + var txt = ctrl as UcLookGx; + txt.IsReadly = isEdt; + continue; + } + //鑷畾涓嶈壇 + if (ctrl is UcDictionary) + { + var txt = ctrl as UcDictionary; + txt.IsReadly = isEdt; + continue; + } + //鑷畾鍗曟嵁绫诲瀷涓嬫媺 + if (ctrl is UcDictionaryComBox) + { + var txt = ctrl as UcDictionaryComBox; + txt.IsReadly = isEdt; continue; } if (ctrl is SimpleButton) { var txt = ctrl as SimpleButton; - txt.Enabled = !isEdt; + if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys") + txt.Enabled = true; + else + txt.Enabled = !isEdt; continue; } } } + #endregion + /// <summary> + /// 鍒ゆ柇鎺т欢鍙鐘舵�� + /// </summary> + /// <param name="obj"></param> + /// <param name="isEdt"></param> + /// <returns></returns> private static bool _isRead(object obj, bool isEdt = false) { ///姘歌繙鏄彧璇荤殑 @@ -1212,33 +1185,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) { @@ -1284,6 +1237,14 @@ tabControl.SelectedTabPageIndex = 1; return; } + + if (action == 6) + { + tabControl.TabPages[0].PageEnabled = true; + tabControl.TabPages[1].PageEnabled = true; + + return; + } } /// <summary> @@ -1323,35 +1284,6 @@ } } - /// <summary> - /// 杞┘宄板懡鍚� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - public static string ToCamelCase(string strItem) - { - //濡傛灉鍖呭惈灏忓啓锛屼絾涓嶅寘鍚笅鍒掔嚎 - var hasLowercase = Regex.IsMatch(strItem, @"[a-z]"); - if (hasLowercase && !strItem.Contains("_")) - { - var chars = strItem.ToCharArray(); - chars[0] = char.ToLower(chars[0]); - return new string(chars); - } - - var strItems = strItem.ToLower().Split('_'); - var strItemTarget = strItems[0]; - for (var j = 1; j < strItems.Length; j++) - { - var temp = strItems[j]; - var temp1 = temp[0].ToString().ToUpper(); - var temp2 = ""; - temp2 = temp1 + temp.Remove(0, 1); - strItemTarget += temp2; - } - - return strItemTarget; - } /// <summary> /// 杞珿uid @@ -1375,30 +1307,12 @@ return 0; } } - public static int ToInt(string str) + public static decimal? GetDecimal(string s) { - try - { - return int.Parse(str); - } - catch (Exception) - { - - return 0; - } + if (string.IsNullOrEmpty(s)) return null; + return decimal.Parse(s); } - public static long ToLong(string str) - { - try - { - return long.Parse(str); - } - catch (Exception) - { - return 0; - } - } public static int ToBit(string str) { @@ -1406,13 +1320,16 @@ return 1; return 0; } - public static bool ToBoole(string str) + + + public static bool ToCheck(string str) { if (str.ToUpper() == "true".ToUpper()) return true; + if (str.ToUpper() == "1".ToUpper()) + return true; return false; } - /// <summary> /// 璇诲彇grid鐨勫綋鍓嶈 @@ -1578,7 +1495,6 @@ return rowGuid; } } - return ""; } @@ -1596,7 +1512,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 +1550,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 +1589,24 @@ 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 + "%"); + switch (type) + { + case "Bit绫诲瀷": + string _val = (val.ToUpper() == "true".ToUpper() ? "1" : "0"); + return new FilterEntity(id, idDec + ")", "=", "绛変簬)", "" + _val + "", type); + break; + default: + return new FilterEntity(id, idDec + ")", "like", "鍖呭惈)", "%" + val + "%", type); + break; + } + } public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null) { @@ -1682,10 +1622,19 @@ ColumnFilterInfo filter = col.FilterInfo; 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(','); - //Contains([fSubsidiary], '005') - fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim())); + string _filterString = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", ""); + string[] ddd = _filterString.Split(','); + string _val = ""; + if (ddd.Length > 1) + { + _val = ddd[1].Trim(); + } + else + { + ddd = _filterString.Split('='); + _val = ddd[1].Trim(); + } + fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), _val, col.UnboundExpression)); } return fiList; } @@ -1710,17 +1659,27 @@ } } 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 "Bit绫诲瀷": + _sbSqlWhere.Append(" and isnull(" + itm.fileId + ",0) =" + itm.fileValue + ""); + break; + default: + _sbSqlWhere.Append(" and " + itm.fileId + " " + itm.fileOper + " '" + itm.fileValue + "'"); + break; + } + } } return _sbSqlWhere.ToString(); } - - public delegate void DelegateGetModel(string guid); public delegate void DelegateGetList(int currentPage); /// <summary> - /// + /// 璁剧疆涓昏〃鐨勬牱寮� /// </summary> /// <param name="gridView1">gridview</param> /// <param name="picCheckBox">鍥炬爣鎸夐挳</param> @@ -1728,36 +1687,73 @@ /// <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) + 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) { - gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText; + 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.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀 + + if (isPostSearch == true) + { + gridView1.OptionsView.ShowGroupPanel = false; + gridView1.OptionsCustomization.AllowGroup = false; + gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False; + gridView1.OptionsView.ShowAutoFilterRow = true; + gridView1.OptionsFilter.AllowFilterEditor = false; + gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; + gridView1.OptionsFilter.AllowColumnMRUFilterList = false; + gridView1.OptionsFilter.AllowMRUFilterList = false; + gridView1.OptionsCustomization.AllowFilter = false; + gridView1.OptionsFind.ShowSearchNavButtons = false; + gridView1.OptionsView.ShowGroupPanel = false; + //鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯 + // gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; + } + + // gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText; foreach (GridColumn column in gridView1.Columns) { + column.MinWidth = 10; + column.MaxWidth = 0; + 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")) column.OptionsColumn.ReadOnly = false; else column.OptionsColumn.ReadOnly = true; - if (column.Tag == null || column.Tag.ToString().Length <= 0) - column.OptionsFilter.AllowAutoFilter = false; + + //if(isPostSearch==false) + // column.OptionsColumn.ReadOnly = true; + + if (isPostSearch == true) + { + if (column.Tag == null || column.Tag.ToString().Length <= 0) + column.OptionsFilter.AllowAutoFilter = false; + } } - gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False; - gridView1.OptionsView.ShowAutoFilterRow = true; - gridView1.OptionsFilter.AllowFilterEditor = false; - gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; - gridView1.OptionsFilter.AllowColumnMRUFilterList = false; - gridView1.OptionsFilter.AllowMRUFilterList = false; - gridView1.OptionsCustomization.AllowFilter = false; - gridView1.OptionsFind.ShowSearchNavButtons = false; - gridView1.OptionsView.ShowGroupPanel = false; - //鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯 - // gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; - gridView1.IndicatorWidth = 50; + + gridView1.IndicatorWidth = 60; gridView1.CustomDrawRowIndicator += (s, e) => { if (e.Info.IsRowIndicator && e.RowHandle >= 0) @@ -1811,6 +1807,7 @@ DataRow row = gridView1.GetDataRow(e.RowHandle); if (row == null) return; + //杩欐槸danger鑹� bool columnExists = row.Table.Columns.Contains("isRed"); if (columnExists == true) { @@ -1818,6 +1815,16 @@ 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); } } // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹� @@ -1834,6 +1841,44 @@ //} } }; + if (tips != null) + { + tips.Appearance.BackColor = Color.LightBlue; // 璁剧疆鑳屾櫙棰滆壊 + tips.Appearance.ForeColor = Color.Black; // 璁剧疆鍓嶆櫙鑹诧紙鏂囧瓧棰滆壊锛� + gridView1.MouseMove += (s, e) => + { + try + { + GridHitInfo hi = gridView1.CalcHitInfo(new Point(e.X, e.Y)); + if (hi.InRowCell) + { + int cuRowHandle = hi.RowHandle; + if (cuRowHandle < 0) + return; + DataRow curRow = gridView1.GetDataRow(cuRowHandle); + var column = hi.Column; + string showTxt = curRow[column.FieldName].ToString(); + ToolTipControllerShowEventArgs aa = new ToolTipControllerShowEventArgs(); + aa.AllowHtmlText = DefaultBoolean.True; + aa.Title = column.Caption; //HTML, 绮椾綋 + aa.ToolTip = showTxt; //鏂 + aa.ShowBeak = true; + aa.Rounded = true; ////鍦嗚 + aa.RoundRadius = 7; //鍦嗚鐜� + // aa.ToolTipType = ToolTipType.SuperTip; //瓒呯骇鏍峰紡锛屽彲澶氳鎴栨樉绀哄浘鏍� + aa.ToolTipType = ToolTipType.Standard;//鏍囧噯鏍峰紡锛屽彲鏄剧ず楦熷槾銆� + aa.IconType = ToolTipIconType.Information; //娑堟伅鍥炬爣 + aa.IconSize = ToolTipIconSize.Small; //澶у浘鏍� + tips.ShowHint(aa); + } + else + tips.HideHint(); + } + catch (Exception exception) + { + } + }; + } } private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e) { @@ -1842,7 +1887,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) => { @@ -1873,9 +1935,14 @@ } action(_guid); } - if (xtraTabControl1.SelectedTabPageIndex == 0) + if (pageBar1 != null && 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; } }; } @@ -1888,13 +1955,37 @@ /// <param name="fm"></param> /// <param name="fileName"></param> /// <param name="icoName"></param> - public static void SetGridViewParameterMx(GridView gridView1) + public static void SetGridViewParameterMx(GridView gridView1, DevExpress.Utils.ToolTipController tips = null) { + 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; + // gridView1.OptionsView.Alignment = DataGridViewContentAlignment.MiddleLeft; foreach (GridColumn column in gridView1.Columns) { // column.DefaultCellStyle.Alignment = true; column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; + column.MinWidth = 10; + column.MaxWidth = 0; } gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀 gridView1.OptionsFilter.AllowFilterEditor = false; @@ -1903,7 +1994,7 @@ gridView1.OptionsFind.ShowSearchNavButtons = false; gridView1.OptionsView.ShowAutoFilterRow = false; gridView1.OptionsView.ShowGroupPanel = false; - gridView1.IndicatorWidth = 40; + gridView1.IndicatorWidth = 60; gridView1.CustomDrawRowIndicator += (s, e) => { if (e.Info.IsRowIndicator && e.RowHandle >= 0) @@ -1935,132 +2026,336 @@ } } }; + + if (tips != null) + { + tips.Appearance.BackColor = Color.LightBlue; // 璁剧疆鑳屾櫙棰滆壊 + tips.Appearance.ForeColor = Color.Black; // 璁剧疆鍓嶆櫙鑹诧紙鏂囧瓧棰滆壊锛� + gridView1.MouseMove += (s, e) => + { + try + { + GridHitInfo hi = gridView1.CalcHitInfo(new Point(e.X, e.Y)); + if (hi.InRowCell) + { + int cuRowHandle = hi.RowHandle; + if (cuRowHandle < 0) + return; + DataRow curRow = gridView1.GetDataRow(cuRowHandle); + var column = hi.Column; + string showTxt = curRow[column.FieldName].ToString(); + ToolTipControllerShowEventArgs aa = new ToolTipControllerShowEventArgs(); + aa.AllowHtmlText = DefaultBoolean.True; + aa.Title = column.Caption; //HTML, 绮椾綋 + aa.ToolTip = showTxt; //鏂 + aa.ShowBeak = true; + aa.Rounded = true; ////鍦嗚 + aa.RoundRadius = 7; //鍦嗚鐜� + // aa.ToolTipType = ToolTipType.SuperTip; //瓒呯骇鏍峰紡锛屽彲澶氳鎴栨樉绀哄浘鏍� + aa.ToolTipType = ToolTipType.Standard;//鏍囧噯鏍峰紡锛屽彲鏄剧ず楦熷槾銆� + aa.IconType = ToolTipIconType.Information; //娑堟伅鍥炬爣 + aa.IconSize = ToolTipIconSize.Small; //澶у浘鏍� + tips.ShowHint(aa); + } + else + tips.HideHint(); + } + catch (Exception exception) + { + } + }; + } } #endregion - + /// <summary> + /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑鏁板�� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> public static bool IsNumeric(string str) { Regex regex = new Regex("^[0-9]+$"); return regex.IsMatch(str); } - - public static void getGridViewConfig(string namespaceFullName, List<DevExpress.XtraGrid.Views.Grid.GridView> gvList) + /// <summary> + /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堟灉鐨刣ecimal鏁板�� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public static bool IsNumeric2(string str) { - // gridView1.ShowCustomization(); - // gridView1.OptionsMenu.EnableColumnMenu = false; - JArray array = new JArray(); - var _obj = new + string input = str; + decimal number; + bool isNumeric = decimal.TryParse(input, out number); + return isNumeric; + } + /// <summary> + /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑姝f暣鏁� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public static bool IsNumeric3(string str) + { + string input = str; + decimal number; + bool isNumeric = decimal.TryParse(input, out number); + if (isNumeric && number > 0) + return true; + return false; + } + + /// <summary> + /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑姝f暣鏁� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public static bool IsNumeric3(string str, string str2) + { + decimal d1 = 0; + decimal d2 = 0; + if (!string.IsNullOrEmpty(str)) { - formPath = namespaceFullName, - }; + d1 = decimal.Parse(str); + } + if (!string.IsNullOrEmpty(str2)) + { + d2 = decimal.Parse(str2); + } + return (d1 + d2) > 0 ? true : false; + } + /// <summary> + /// + /// </summary> + /// <param name="box1">txt_psnQty_1:姣忓紶鏉$爜鏁伴噺</param> + /// <param name="box2">txt_iCount_1:鏁村紶鏁板��</param> + /// <param name="sum">txt_kQty:鍙墦鍗伴噺</param> + /// <param name="rd"></param> + /// <param name="txt_yuliang">txt_yuliang:浣欓噺</param> + public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd, DevExpress.XtraEditors.TextEdit txt_yuliang = null) + { + if (rd.SelectedIndex == 2) + return; 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); + string t1 = box1.Text.Trim(); + string t2 = box2.Text.Trim(); + if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric2(t1)) + return; + if (Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(t1) <= 0) + return; + decimal? dc = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(sum); + decimal? dc1 = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(t1); + decimal dividend = decimal.Parse(sum); // 琚櫎鏁� + decimal divisor = decimal.Parse(t1); // 闄ゆ暟 + decimal shang = dividend / divisor; + + decimal integerPart = Math.Truncate(shang); // 鑾峰彇鏁存暟閮ㄥ垎 + decimal decimalPart = dividend - divisor * integerPart; // 鑾峰彇灏忔暟閮ㄥ垎 + + //decimal quotient = dividend / divisor; // 鏁存暟閮ㄥ垎 + //decimal remainder = dividend % divisor; // 浣欐暟 + box2.Text = integerPart.ToString(); + if (rd.SelectedIndex == 0) + txt_yuliang.Text = decimalPart.ToString(); } catch (Exception ex) { - ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + Gs.DevApp.ToolBox.MsgHelper.ShowError("杈撳叆鏁版嵁閿欒:" + ex.Message); } - foreach (GridView gridView1 in gvList) + } + public static void PrintAuto(DevExpress.XtraEditors.TextEdit txt_psnQty_1, DevExpress.XtraEditors.TextEdit txt_iCount_1, DevExpress.XtraEditors.RadioGroup radOut, DevExpress.XtraEditors.TextEdit txt_yuliang = null) + { + txt_psnQty_1.Text = ""; + txt_iCount_1.Text = ""; + txt_yuliang.Text = ""; + if (radOut.SelectedIndex == 2) + txt_iCount_1.ReadOnly = false; + else + txt_iCount_1.ReadOnly = true; + } + + + + #region 鑷畾涔夎繘搴︽潯鍒� + + /// <summary> + /// 鑷畾涔夎繘搴︽潯鍒� + /// </summary> + /// <param name="view"></param> + /// <param name="fieldName">鍒楃殑瀛楁鍚�</param> + /// <param name="warningValue"></param> + /// <param name="lessColor"></param> + /// <param name="greaterColor"></param> + public static void CustomProgressBarColumn(DevExpress.XtraGrid.Views.Grid.GridView view, string fieldName, int warningValue = 50, Brush lessColor = null, Brush greaterColor = null) + { + var col = view.Columns[fieldName]; + if (col == null) return; + col.AppearanceCell.Options.UseTextOptions = true; + col.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center; + view.CustomDrawCell += (s, e) => { - gridView1.PopupMenuShowing += (s, e) => + int _handle = e.RowHandle; + if (_handle < 0) + return; + if (e.Column.FieldName == fieldName) { - 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); - } + DrawProgressBar(e, warningValue, lessColor, greaterColor); + e.Handled = true; + DrawEditor(e); } - + }; + } + + private static void DrawProgressBar(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e, int warningValue = 50, Brush lessColor = null, Brush greaterColor = null) + { + string d = e.CellValue == null ? null : e.CellValue.ToString(); + decimal percent = string.IsNullOrEmpty(d) ? 0m : decimal.Parse(d); + if (percent <= 0) + percent = 0.1m; + int width = (int)(percent * e.Bounds.Width); + Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, width, e.Bounds.Height); + Brush b = Brushes.Green; + if (greaterColor != null) + { + b = greaterColor; + } + if (percent * 100 < warningValue) + + { + if (lessColor == null) + + { + b = Brushes.Red; + } + else + + { + b = lessColor; + } + } + e.Graphics.FillRectangle(b, rect); + } + private static void DrawEditor(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) + + { + GridCellInfo cell = e.Cell as GridCellInfo; + Point offset = cell.CellValueRect.Location; + BaseEditPainter pb = cell.ViewInfo.Painter as BaseEditPainter; + AppearanceObject style = cell.ViewInfo.PaintAppearance; + if (!offset.IsEmpty) + cell.ViewInfo.Offset(offset.X, offset.Y); + try + + { + pb.Draw(new ControlGraphicsInfoArgs(cell.ViewInfo, e.Cache, cell.Bounds)); + } + + finally + + { + if (!offset.IsEmpty) + + { + cell.ViewInfo.Offset(-offset.X, -offset.Y); + } + } + } + #endregion + + #region 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋 + /// <summary> + /// 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋 + /// </summary> + // private Rectangle checkBoxColumnHeaderRect = Rectangle.Empty; + // 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) + { + //X = 51 Y = 1 Width = 37 Height = 57 + e.Column.Caption = "."; + checkBoxColumnHeaderRect = e.Bounds; + // checkBoxColumn = e.Column; + //椤绘妸鍒楀ご鏍囬璁剧疆涓虹┖ + e.Painter.DrawObject(e.Info); + //鍦ㄥ垪澶翠腑蹇冩樉绀哄閫夋 + int x = e.Bounds.X + (int)((e.Bounds.Width - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Width) * 0.5); + int y = e.Bounds.Y + (int)((e.Bounds.Height - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Height) * 0.5); + Point location = new Point(x, y); + CheckBoxState checkBoxState; + if (e.Column.Tag != null && e.Column.Tag.ToString() == "1") + checkBoxState = CheckBoxState.CheckedPressed; + else + checkBoxState = CheckBoxState.UncheckedNormal; + CheckBoxRenderer.DrawCheckBox(e.Graphics, location, checkBoxState); + e.Handled = true; } } - public static void getXmlConfig(string namespaceFullName, List<DevExpress.XtraGrid.Views.Grid.GridView> gvList) + public static void CustomMouseUp(object sender, MouseEventArgs e, DevExpress.XtraGrid.GridControl gcMain, DevExpress.XtraGrid.Views.Grid.GridView gridView1) { - // gridView1.ShowCustomization(); - // gridView1.OptionsMenu.EnableColumnMenu = false; - JArray array = new JArray(); - var _obj = new + GridColumn checkBoxColumn = gridView1.Columns[0]; + Rectangle checkBoxColumnHeaderRect = new Rectangle(51, 1, 37, 57); + if (checkBoxColumnHeaderRect != Rectangle.Empty) { - formPath = namespaceFullName, - }; - try - { - string strJson = UtilityHelper.HttpPost("", "Fm/GetModel", JsonConvert.SerializeObject(_obj)); - ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); - if (_rtn.rtnCode > 0) + if (e.X > checkBoxColumnHeaderRect.X && e.X < (checkBoxColumnHeaderRect.X + checkBoxColumnHeaderRect.Width) && e.Y > checkBoxColumnHeaderRect.Y && e.Y < (checkBoxColumnHeaderRect.Y + checkBoxColumnHeaderRect.Height)) { - JObject _job = JObject.Parse(strJson); - foreach (var a in _job["rtnData"]["list"]) + DataTable _Table = (DataTable)gcMain.DataSource; + if (checkBoxColumn.Tag != null && checkBoxColumn.Tag.ToString() == "1") { - //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) - { - JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == gridView1.Name.ToString().Trim().ToUpper()); - if (john != null) + checkBoxColumn.Tag = "0"; + foreach (DataRow row in _Table.Rows) { - 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); - } + row["chkInt"] = false; } } + else + { + checkBoxColumn.Tag = "1"; + foreach (DataRow row in _Table.Rows) + { + row["chkInt"] = true; + } + } + gcMain.BindingContext = new BindingContext(); + gcMain.DataSource = _Table; + gcMain.ForceInitialize(); + gridView1.CloseEditor(); + gridView1.PostEditor(); + gridView1.UpdateCurrentRow(); + gridView1.InvalidateColumnHeader(checkBoxColumn); } - else - ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); + } + } + #endregion + + + //璇诲彇榛樿缁勭粐 + public static string GetFirstOrg(UserControl.UcLookOrg txt_erpSczz) + { + string userGuid = LoginInfoModel.CurrentUser.LoginUserGuid; + var pgq = new PageQueryModel(1, 999999, "FID", "asc", userGuid, " and IS_STATUS=1"); + var json = JsonConvert.SerializeObject(pgq); + try + { + var strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json); + var _obj = UtilityHelper.ReturnToDynamic(strReturn); + string _extendText = _obj.rtnData.extendText; + string[] _dftOrg = _extendText.Split(','); + if (_dftOrg.Length > 0) + { + txt_erpSczz.SetIdOrCode(_dftOrg[0].Trim()); + return _dftOrg[0].Trim(); + } + return ""; } catch (Exception ex) { - ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + return ""; } - } } @@ -2073,10 +2368,11 @@ { } - public CboItemEntity(string val, string text) + public CboItemEntity(string val, string text, string fType = "") { Text = text; Value = val; + FType = fType; } /// <summary> @@ -2088,6 +2384,8 @@ /// 瀵硅薄鍊� /// </summary> public object Value { get; set; } = ""; + + public object FType { get; set; } = ""; public override string ToString() { @@ -2109,13 +2407,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; } @@ -2127,5 +2426,19 @@ public string fileOperDec { get; set; } public string fileValue { get; set; } + + public string fileType { get; set; } } + + + public enum QcSeason + { + iqc, + ipqc宸℃, + ipqc棣栨, + fqc + } + + + } \ No newline at end of file -- Gitblit v1.9.3