From 98e93a53c3407b9785eba27faec13fe7afc1255b Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期五, 20 六月 2025 16:55:46 +0800
Subject: [PATCH] bug

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 1044 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 651 insertions(+), 393 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 11b86c0..5d2a28b 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,4 +1,19 @@
-锘縰sing System;
+锘縰sing DevExpress.Utils;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraEditors.Drawing;
+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 +22,12 @@
 using System.Linq;
 using System.Net;
 using System.Net.Cache;
-using System.Net.Http;
 using System.Reflection;
 using System.Resources;
 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.DevFrm.Work;
-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 +42,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 +86,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 +113,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 +163,7 @@
             gc.BindingContext = new BindingContext();
             gc.DataSource = dt;
             gc.ForceInitialize();
+            gv.BestFitColumns();
         }
 
         /// <summary>
@@ -251,11 +235,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 +259,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;
@@ -324,6 +313,7 @@
                     if (cols.Length > 0)
                     {
                         var colType = cols[0];
+
                         if (colType is LookUpEdit)
                         {
                             var txt = colType as LookUpEdit;
@@ -364,11 +354,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;
                         }
@@ -386,6 +376,7 @@
                                 txt.ReadOnly = isEdt;
                             continue;
                         }
+                        //鏂囨湰鍩�
                         if (colType is MemoEdit)
                         {
                             var txt = colType as MemoEdit;
@@ -462,7 +453,6 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
-
                         //鏃堕棿
                         if (colType is DateTimePicker)
                         {
@@ -492,10 +482,7 @@
                         {
                             var txt = colType as UcLookCk;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾涔変緵搴斿晢
@@ -503,10 +490,7 @@
                         {
                             var txt = colType as UcLookSupplier;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾涔夌墿鏂�
@@ -514,10 +498,7 @@
                         {
                             var txt = colType as UcLookItems;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾杞﹂棿
@@ -525,10 +506,7 @@
                         {
                             var txt = colType as UcLookWorkshop;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾浜х嚎
@@ -536,10 +514,7 @@
                         {
                             var txt = colType as UcLookWorkline;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾鍗曚綅
@@ -547,10 +522,7 @@
                         {
                             var txt = colType as UcLookUnit;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾瀹㈡埛
@@ -558,10 +530,7 @@
                         {
                             var txt = colType as UcLookCustomer;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾鍛樺伐
@@ -569,10 +538,7 @@
                         {
                             var txt = colType as UcLookStaff;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾缁勭粐
@@ -580,10 +546,7 @@
                         {
                             var txt = colType as UcLookOrg;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾鐢ㄦ埛
@@ -591,10 +554,7 @@
                         {
                             var txt = colType as UcLookUser;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾鎵撳嵃鏈�
@@ -602,21 +562,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;
                         }
                         //鑷畾閮ㄩ棬
@@ -624,10 +570,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
@@ -635,10 +578,7 @@
                         {
                             var txt = colType as UcLookDaa;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾濮斿
@@ -646,10 +586,7 @@
                         {
                             var txt = colType as UcLookWwgd;
                             txt.SetIdOrCode(strVal);
-                            if (txt.IsReadly == false)
-                                txt.Enabled = !isEdt;
-                            else
-                                txt.Enabled = false;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾閿�鍞�
@@ -657,28 +594,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);
-                            //if (txt.IsReadly == false)
-                            //    txt.Enabled = !isEdt;
-                            //else
-                            //    txt.Enabled = false;
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾鍗曟嵁绫诲瀷涓嬫媺
+                        if (colType is UcDictionaryComBox)
+                        {
+                            var txt = colType as UcDictionaryComBox;
+                            txt.TextTxt = (strVal);
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                     }
@@ -716,6 +665,8 @@
             {
                 foreach (var gv in gridViews)
                 {
+                    gv.ClearSorting();
+                    gv.OptionsCustomization.AllowSort = isEdt;
                     foreach (GridColumn colmn in gv.Columns)
                     {
                         colmn.OptionsColumn.AllowEdit = true;
@@ -770,12 +721,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;
                 }
                 //鏂囨湰
@@ -826,7 +777,7 @@
                 {
                     var txt = ctrl as UcLookCk;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾涔変緵搴斿晢
@@ -834,7 +785,7 @@
                 {
                     var txt = ctrl as UcLookSupplier;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾涔夌墿鏂�
@@ -842,7 +793,7 @@
                 {
                     var txt = ctrl as UcLookItems;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾杞﹂棿
@@ -850,7 +801,7 @@
                 {
                     var txt = ctrl as UcLookWorkshop;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾浜х嚎
@@ -858,7 +809,7 @@
                 {
                     var txt = ctrl as UcLookWorkline;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾鍗曚綅
@@ -866,7 +817,7 @@
                 {
                     var txt = ctrl as UcLookUnit;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾瀹㈡埛
@@ -874,15 +825,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;
                 }
                 //鑷畾缁勭粐
@@ -890,7 +841,7 @@
                 {
                     var txt = ctrl as UcLookOrg;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾鐢ㄦ埛
@@ -898,7 +849,7 @@
                 {
                     var txt = ctrl as UcLookUser;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾鎵撳嵃鏈�
@@ -906,23 +857,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
@@ -930,7 +874,7 @@
                 {
                     var txt = ctrl as UcLookDaa;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾濮斿
@@ -938,7 +882,7 @@
                 {
                     var txt = ctrl as UcLookWwgd;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾閿�鍞�
@@ -946,13 +890,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;
                 }
             }
@@ -972,6 +943,8 @@
             {
                 foreach (var gv in gridViews)
                 {
+                    gv.ClearSorting();
+                    gv.OptionsCustomization.AllowSort = isEdt;
                     foreach (GridColumn colmn in gv.Columns)
                     {
                         colmn.OptionsColumn.AllowEdit = true;
@@ -991,6 +964,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)
                 {
@@ -1021,29 +1007,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;
@@ -1054,171 +1029,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)
         {
             ///姘歌繙鏄彧璇荤殑
@@ -1236,10 +1187,10 @@
 
 
         /// <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)
         {
 
@@ -1290,6 +1241,7 @@
             {
                 tabControl.TabPages[0].PageEnabled = true;
                 tabControl.TabPages[1].PageEnabled = true;
+
                 return;
             }
         }
@@ -1331,35 +1283,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
@@ -1388,30 +1311,7 @@
             if (string.IsNullOrEmpty(s)) return null;
             return decimal.Parse(s);
         }
-        public static int ToInt(string str)
-        {
-            try
-            {
-                return int.Parse(str);
-            }
-            catch (Exception)
-            {
 
-                return 0;
-            }
-        }
-        public static long ToLong(string str)
-        {
-            try
-            {
-                return long.Parse(str);
-            }
-            catch (Exception)
-            {
-
-                return 0;
-            }
-        }
 
         public static int ToBit(string str)
         {
@@ -1419,13 +1319,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鐨勫綋鍓嶈
@@ -1692,7 +1595,17 @@
 
         public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type)
         {
-            return new FilterEntity(id, idDec + ")", " like ", "鍖呭惈)", "%" + val + "%", type);
+            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)
         {
@@ -1708,10 +1621,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(), col.UnboundExpression));
+                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;
         }
@@ -1742,19 +1664,17 @@
                         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;
+                        case "Bit绫诲瀷":
+                            _sbSqlWhere.Append(" and isnull(" + itm.fileId + ",0) =" + itm.fileValue + "");
+                            break;
                         default:
-                            _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
+                            _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>
@@ -1766,7 +1686,7 @@
         /// <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.PopupMenuShowing += (s, e) =>
             {
@@ -1787,12 +1707,31 @@
                     }
                 }
             };
-            gridView1.OptionsView.ShowGroupPanel = false;
-            gridView1.OptionsCustomization.AllowGroup = false;
-            // gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
             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;
@@ -1802,21 +1741,18 @@
                     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)
@@ -1870,6 +1806,7 @@
                     DataRow row = gridView1.GetDataRow(e.RowHandle);
                     if (row == null)
                         return;
+                    //杩欐槸danger鑹�
                     bool columnExists = row.Table.Columns.Contains("isRed");
                     if (columnExists == true)
                     {
@@ -1877,6 +1814,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);
                         }
                     }
                     // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
@@ -1893,6 +1840,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)
         {
@@ -1918,7 +1903,7 @@
         /// <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)
+        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) =>
             {
@@ -1949,11 +1934,14 @@
                     }
                     action(_guid);
                 }
-                if (xtraTabControl1.SelectedTabPageIndex == 0)
+                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
                 {
-                    //int _handle = gridView1.FocusedRowHandle;
-                    //page(pageBar1.CurrentPage);
-                    //gridView1.FocusedRowHandle= _handle;
+                    page(pageBar1.CurrentPage);
+                    int rowHandle = 0;
+                    rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
+                    if (rowHandle < 0)
+                        rowHandle = 0;
+                    gridView1.FocusedRowHandle = rowHandle;
                 }
             };
         }
@@ -1966,7 +1954,7 @@
         /// <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) =>
             {
@@ -1995,6 +1983,8 @@
             {
                 // 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;
@@ -2003,7 +1993,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)
@@ -2035,82 +2025,335 @@
                     }
                 }
             };
+
+            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)
+                    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 CustomMouseUp(object sender, MouseEventArgs e, DevExpress.XtraGrid.GridControl gcMain, DevExpress.XtraGrid.Views.Grid.GridView gridView1)
+        {
+            GridColumn checkBoxColumn = gridView1.Columns[0];
+            Rectangle checkBoxColumnHeaderRect = new Rectangle(51, 1, 37, 57);
+            if (checkBoxColumnHeaderRect != Rectangle.Empty)
+            {
+                if (e.X > checkBoxColumnHeaderRect.X && e.X < (checkBoxColumnHeaderRect.X + checkBoxColumnHeaderRect.Width) && e.Y > checkBoxColumnHeaderRect.Y && e.Y < (checkBoxColumnHeaderRect.Y + checkBoxColumnHeaderRect.Height))
+                {
+                    DataTable _Table = (DataTable)gcMain.DataSource;
+                    if (checkBoxColumn.Tag != null && checkBoxColumn.Tag.ToString() == "1")
                     {
-                        GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
-                        if (menu != null)
+                        checkBoxColumn.Tag = "0";
+                        foreach (DataRow row in _Table.Rows)
                         {
-                            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]);
-                                }
-                            }
+                            row["chkInt"] = false;
                         }
                     }
-                };
-                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)
+                    else
                     {
-                        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);
+                        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);
                 }
+            }
+        }
+        #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)
+            {
+                return "";
             }
         }
     }
@@ -2185,4 +2428,19 @@
 
         public string fileType { get; set; }
     }
+
+
+    public enum QcSeason
+    {
+        iqc,
+        ipqc宸℃,
+        ipqc棣栨,
+        fqc,
+        鐢熶骇閫�鏂欏叆搴撴,
+        鍏跺畠鍏ュ簱妫�,
+        瓒呮湡妫�
+    }
+
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3