From ccc1b0d541d8f3bdd2bcb72dd0b5533e68b886d5 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期一, 09 六月 2025 09:53:37 +0800
Subject: [PATCH] 采购明细报表

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 1889 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 1,652 insertions(+), 237 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 712ce51..0d5a642 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,30 +1,36 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data;
-using System.Drawing;
-using System.IO;
-using System.Net;
-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.Office.Model;
+锘縰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;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Cache;
+using System.Reflection;
+using System.Resources;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Windows.Forms;
+using System.Windows.Forms.VisualStyles;
+using UserControls.Data;
 using static System.Windows.Forms.Control;
+
 
 namespace Gs.DevApp.ToolBox
 {
@@ -36,85 +42,52 @@
         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));
         }
         /// <summary>
-        ///     httpPost璁块棶鏈嶅姟
+        /// http璇锋眰
         /// </summary>
-        /// <param name="url">鏈嶅姟鍦板潃</param>
-        /// <param name="meth">鏂规硶鍚嶇О</param>
-        /// <param name="param">鍙傛暟</param>
+        /// <param name="url"></param>
+        /// <param name="meth"></param>
+        /// <param name="param"></param>
+        /// <param name="isLoading"></param>
         /// <returns></returns>
-        public static async Task<string> HttpPostAsync(string url, string meth, string param)
+        public static string HttpPost(string url, string meth, string param, bool isLoading = true)
         {
-            if (string.IsNullOrEmpty(url))
-                url = WebApiUrl;
-            url += meth;
-            var request = (HttpWebRequest)WebRequest.Create(url);
-            request.Method = "POST";
-            request.ContentType = "application/json";
-            request.Headers.Add("token", GetBasicAuthTicket());
-            request.Accept = "*/*";
-            request.Timeout = 15000;
-            request.AllowAutoRedirect = false;
-            using (Stream requestStream = await request.GetRequestStreamAsync())
-            {
-                byte[] dataBytes = Encoding.UTF8.GetBytes(param);
-                await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
-            }
-
-            using (WebResponse response = await request.GetResponseAsync())
-            {
-                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
-                {
-                    return await reader.ReadToEndAsync();
-                }
-            }
-        }
-
-        /// <summary>
-        ///     httpPost璁块棶鏈嶅姟
-        /// </summary>
-        /// <param name="url">鏈嶅姟鍦板潃</param>
-        /// <param name="meth">鏂规硶鍚嶇О</param>
-        /// <param name="param">鍙傛暟</param>
-        /// <returns></returns>
-        public static string HttpPost(string url, string meth, string param)
-        {
-            if (string.IsNullOrEmpty(url))
-                url = WebApiUrl;
-            url += meth;
-            var request = (HttpWebRequest)WebRequest.Create(url);
-            request.Method = "POST";
-            request.ContentType = "application/json";
-            request.Headers.Add("token", GetBasicAuthTicket());
-            request.Accept = "*/*";
-            request.Timeout = 15000;
-            request.AllowAutoRedirect = false;
+            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;
             string responseStr = null;
             try
             {
+                if (string.IsNullOrEmpty(url))
+                    url = WebApiUrl;
+                url += meth;
+                request = (HttpWebRequest)WebRequest.Create(url);
+                request.Method = "POST";
+                request.ContentType = "application/json";
+                request.Headers.Add("token", GetBasicAuthTicket());
+                request.Accept = "*/*";
+                request.Timeout = 150000;
+                request.AllowAutoRedirect = false;
+                request.ServicePoint.Expect100Continue = false;
+                HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
+                request.CachePolicy = noCachePolicy;
                 requestStream = new StreamWriter(request.GetRequestStream());
                 requestStream.Write(param);
                 requestStream.Close();
@@ -130,6 +103,7 @@
             }
             catch (Exception ex)
             {
+                wdf.Close();
                 LogHelper.Debug(url, param + ":" + ex.Message);
                 throw ex;
             }
@@ -139,17 +113,8 @@
                 requestStream = null;
                 response = null;
             }
-
+            wdf.Close();
             return responseStr;
-        }
-
-        /// <summary>
-        ///     榛樿椤靛ぇ灏�
-        /// </summary>
-        /// <returns></returns>
-        public static int GetPageSize()
-        {
-            return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
         }
 
         /// <summary>
@@ -187,7 +152,14 @@
         {
             var dt = new DataTable();
             foreach (GridColumn col in gv.Columns)
-                dt.Columns.Add(col.FieldName, typeof(string));
+            {
+                if (col.UnboundDataType == typeof(System.Boolean))
+                    dt.Columns.Add(col.FieldName, typeof(System.Boolean));
+                else
+                {
+                    dt.Columns.Add(col.FieldName, typeof(string));
+                }
+            }
             gc.BindingContext = new BindingContext();
             gc.DataSource = dt;
             gc.ForceInitialize();
@@ -203,11 +175,7 @@
                 string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid)
                     ? Guid.NewGuid().ToString()
                     : LoginInfoModel.CurrentUser.LoginUserGuid;
-            var orgGuid =
-                string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid)
-                    ? Guid.NewGuid().ToString()
-                    : LoginInfoModel.CurrentUser.LoginOrgGuid;
-            var token = userGuid + "~" + orgGuid;
+            var token = userGuid;
             return token;
         }
 
@@ -266,11 +234,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>
@@ -283,15 +255,52 @@
         {
             isEdt = !isEdt;
             if (gridViews != null)
+            {
                 foreach (var gv in gridViews)
-                    gv.OptionsBehavior.Editable = !isEdt;
-
-           var _btnAry=  controls.Find("btnSelect", false);
-            if (_btnAry.Length > 0) {
+                {
+                    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;
+                            colmn.OptionsColumn.ReadOnly = false;
+                        };
+                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
+                        {
+                            colmn.Visible = !isEdt;
+                            if (colmn.Visible == true)
+                                colmn.VisibleIndex = 99999;
+                        }
+                        else
+                        {
+                            if (isEdt == false)
+                            {
+                                if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
+                                    colmn.OptionsColumn.ReadOnly = isEdt;
+                                else
+                                    colmn.OptionsColumn.ReadOnly = !isEdt;
+                            }
+                            else
+                                colmn.OptionsColumn.ReadOnly = isEdt;
+                        }
+                    }
+                }
+            }
+            var _btnAry = controls.Find("btnSelect", false);
+            if (_btnAry.Length > 0)
+            {
                 var _btnType = _btnAry[0];
                 _btnType.Enabled = !isEdt;
             }
-
+            var _btnAry2 = controls.Find("btnTui", false);
+            if (_btnAry2.Length > 0)
+            {
+                var _btnType = _btnAry2[0];
+                _btnType.Enabled = !isEdt;
+            }
             foreach (JProperty property in dynamicObject.Properties())
             {
                 var strName = property.Name;
@@ -303,6 +312,7 @@
                     if (cols.Length > 0)
                     {
                         var colType = cols[0];
+
                         if (colType is LookUpEdit)
                         {
                             var txt = colType as LookUpEdit;
@@ -310,7 +320,6 @@
                             txt.ReadOnly = isEdt;
                             continue;
                         }
-
                         if (colType is ImageComboBoxEdit)
                         {
                             var txt = colType as ImageComboBoxEdit;
@@ -325,51 +334,61 @@
                             }
                             continue;
                         }
-
                         if (colType is ComboBoxEdit)
                         {
                             var txt = colType as ComboBoxEdit;
                             if (txt.Properties.TextEditStyle ==
                                 TextEditStyles.DisableTextEditor)
-                                txt.SelectedIndex = int.Parse(strVal);
+                                try
+                                {
+                                    txt.SelectedIndex = int.Parse(strVal);
+                                }
+                                catch (Exception)
+                                {
+
+                                    txt.Text = strVal;
+                                }
                             else
                                 txt.Text = strVal;
                             txt.ReadOnly = isEdt;
                             continue;
                         }
-
-                        //涓嬫媺
-                        if (colType is ComboBoxEdit)
+                        if (colType is ButtonEdit)
                         {
-                            var txt = colType as ComboBoxEdit;
-                            if (txt.Properties.TextEditStyle ==
-                                TextEditStyles.DisableTextEditor)
-                                txt.SelectedIndex = int.Parse(strVal);
-                            else
+                            var txt = colType as ButtonEdit;
+                            if (txt != null)
                                 txt.Text = strVal;
-                            txt.ReadOnly = isEdt;
-                            continue;
-                        }
-
-                        //鑷畾涔変笅鎷�
-                        if (colType is UcComBox)
-                        {
-                            var txt = colType as UcComBox;
-                            txt.Val = strVal;
                             txt.Enabled = !isEdt;
                             continue;
                         }
-
                         //鏂囨湰
                         if (colType is TextEdit)
                         {
                             var txt = colType as TextEdit;
                             if (txt != null)
                                 txt.Text = strVal;
-                            txt.ReadOnly = isEdt;
+                            if (_isRead(txt.Tag))
+                            {
+                                txt.ReadOnly = true;
+                            }
+                            else
+                                txt.ReadOnly = isEdt;
                             continue;
                         }
-
+                        //鏂囨湰鍩�
+                        if (colType is MemoEdit)
+                        {
+                            var txt = colType as MemoEdit;
+                            if (txt != null)
+                                txt.Text = strVal;
+                            if (_isRead(txt.Tag))
+                            {
+                                txt.ReadOnly = true;
+                            }
+                            else
+                                txt.ReadOnly = isEdt;
+                            continue;
+                        }
                         //鏁板瓧鍗�
                         if (colType is NumericUpDown)
                         {
@@ -379,11 +398,41 @@
                             txt.ReadOnly = isEdt;
                             continue;
                         }
-
                         //鍗曢��
                         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":
+                                        txt.Checked = true;
+                                        break;
+                                    case "1":
+                                        txt.Checked = true;
+                                        break;
+                                    case "False":
+                                        txt.Checked = false;
+                                        break;
+                                    default:
+                                        txt.Checked = false;
+                                        break;
+                                }
+                            }
+
+                            continue;
+                        }
+                        //鍗曢��
+                        if (colType is CheckBox)
+                        {
+                            var txt = colType as CheckBox;
                             if (txt != null)
                                 switch (strVal)
                                 {
@@ -400,26 +449,7 @@
                                         txt.Checked = false;
                                         break;
                                 }
-
-                            txt.ReadOnly = isEdt;
-                            continue;
-                        }
-
-                        //鍗曢��
-                        if (colType is CheckBox)
-                        {
-                            var txt = colType as CheckBox;
-                            if (txt != null)
-                                txt.Checked = bool.Parse(strVal);
                             txt.Enabled = !isEdt;
-                            continue;
-                        }
-                        if (colType is CheckEdit)
-                        {
-                            var txt = colType as CheckEdit;
-                            if (txt != null)
-                                txt.Checked = bool.Parse(strVal);
-                            txt.ReadOnly = isEdt;
                             continue;
                         }
                         //鏃堕棿
@@ -430,16 +460,15 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
-
                         //Label
                         if (colType is Label)
                         {
                             var txt = colType as Label;
                             if (_dddddd == "txt_checkStatus")
                             {
-                                if (strVal == "True" || strVal=="1")
+                                if (strVal == "True" || strVal == "1")
                                     txt.Text = "宸插鏍�";
-                                if (strVal == "False" || strVal=="0" || strVal=="")
+                                if (strVal == "False" || strVal == "0" || strVal == "")
                                     txt.Text = "鏈鏍�";
                             }
                             else
@@ -451,8 +480,8 @@
                         if (colType is UcLookCk)
                         {
                             var txt = colType as UcLookCk;
-                            txt.SetIdOrCode( strVal);
-                            txt.Enabled = !isEdt;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾涔変緵搴斿晢
@@ -460,7 +489,7 @@
                         {
                             var txt = colType as UcLookSupplier;
                             txt.SetIdOrCode(strVal);
-                            txt.Enabled = !isEdt;
+                            txt.IsReadly = isEdt;
                             continue;
                         }
                         //鑷畾涔夌墿鏂�
@@ -468,13 +497,136 @@
                         {
                             var txt = colType as UcLookItems;
                             txt.SetIdOrCode(strVal);
-                            txt.Enabled = !isEdt;
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾杞﹂棿
+                        if (colType is UcLookWorkshop)
+                        {
+                            var txt = colType as UcLookWorkshop;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾浜х嚎
+                        if (colType is UcLookWorkline)
+                        {
+                            var txt = colType as UcLookWorkline;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾鍗曚綅
+                        if (colType is UcLookUnit)
+                        {
+                            var txt = colType as UcLookUnit;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾瀹㈡埛
+                        if (colType is UcLookCustomer)
+                        {
+                            var txt = colType as UcLookCustomer;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾鍛樺伐
+                        if (colType is UcLookStaff)
+                        {
+                            var txt = colType as UcLookStaff;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾缁勭粐
+                        if (colType is UcLookOrg)
+                        {
+                            var txt = colType as UcLookOrg;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾鐢ㄦ埛
+                        if (colType is UcLookUser)
+                        {
+                            var txt = colType as UcLookUser;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾鎵撳嵃鏈�
+                        if (colType is UcLookPrint)
+                        {
+                            var txt = colType as UcLookPrint;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾閮ㄩ棬
+                        if (colType is UcLookDepartment)
+                        {
+                            var txt = colType as UcLookDepartment;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾daa
+                        if (colType is UcLookDaa)
+                        {
+                            var txt = colType as UcLookDaa;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾濮斿
+                        if (colType is UcLookWwgd)
+                        {
+                            var txt = colType as UcLookWwgd;
+                            txt.SetIdOrCode(strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾閿�鍞�
+                        if (colType is UcLookSales)
+                        {
+                            var txt = colType as UcLookSales;
+                            txt.SetIdOrCode(strVal);
+                            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;
                         }
                     }
@@ -482,6 +634,18 @@
                 catch (Exception ex)
                 {
                     MessageBox.Show(ex.Message);
+                }
+            }
+
+            foreach (Control ctrl in controls)
+            {
+                if (ctrl is TextEdit)
+                {
+                    var txt = ctrl as TextEdit;
+                    bool _bl = _isRead(txt.Tag, isEdt);
+                    txt.ReadOnly = _bl;
+                    // txt.ReadOnly = isEdt;
+                    continue;
                 }
             }
         }
@@ -497,19 +661,53 @@
         {
             isEdt = !isEdt;
             if (gridViews != null)
+            {
                 foreach (var gv in gridViews)
-                    gv.OptionsBehavior.Editable = !isEdt;
+                {
+                    gv.ClearSorting();
+                    gv.OptionsCustomization.AllowSort = isEdt;
+                    foreach (GridColumn colmn in gv.Columns)
+                    {
+                        colmn.OptionsColumn.AllowEdit = true;
+                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
+                        {
+                            colmn.Visible = !isEdt;
+                        }
+                        else
+                        {
+                            if (isEdt == false)
+                            {
+                                if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
+                                    colmn.OptionsColumn.ReadOnly = isEdt;
+                                else
+                                    colmn.OptionsColumn.ReadOnly = !isEdt;
+                            }
+                            else
+                                colmn.OptionsColumn.ReadOnly = isEdt;
+                        }
+                    }
+                }
+            }
             foreach (Control ctrl in controls)
             {
                 //澶氳鏂囨湰
                 if (ctrl is MemoEdit)
                 {
                     var txt = ctrl as MemoEdit;
-                    txt.Text = "";
-                    txt.ReadOnly = isEdt;
+                    if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren"))
+                    {
+                        txt.Text = txt.Tag.ToString().Replace("moren.", "");
+                    }
+                    else
+                        txt.Text = "";
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
-
                 //涓嬫媺
                 if (ctrl is ComboBoxEdit)
                 {
@@ -522,25 +720,32 @@
                     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;
                 }
-
                 //鏂囨湰
                 if (ctrl is TextEdit)
                 {
                     var txt = ctrl as TextEdit;
-                    txt.Text = "";
-                    txt.ReadOnly = isEdt;
+                    if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren"))
+                    {
+                        txt.Text = txt.Tag.ToString().Replace("moren.", "");
+                    }
+                    else
+                        txt.Text = "";
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
-
                 //鏃堕棿
                 if (ctrl is DateTimePicker)
                 {
@@ -552,22 +757,26 @@
                 if (ctrl is CheckBox)
                 {
                     var txt = ctrl as CheckBox;
-                    txt.Checked = false;
                     txt.Enabled = !isEdt;
+                    txt.Checked = false;
                 }
                 if (ctrl is CheckEdit)
                 {
                     var txt = ctrl as CheckEdit;
-                    txt.ReadOnly = isEdt;
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
-
                 //鑷畾涔変粨搴�
                 if (ctrl is UcLookCk)
                 {
                     var txt = ctrl as UcLookCk;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾涔変緵搴斿晢
@@ -575,7 +784,7 @@
                 {
                     var txt = ctrl as UcLookSupplier;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
                     continue;
                 }
                 //鑷畾涔夌墿鏂�
@@ -583,16 +792,139 @@
                 {
                     var txt = ctrl as UcLookItems;
                     txt.SetIdOrCode("-1");
-                    txt.Enabled = !isEdt;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾杞﹂棿
+                if (ctrl is UcLookWorkshop)
+                {
+                    var txt = ctrl as UcLookWorkshop;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾浜х嚎
+                if (ctrl is UcLookWorkline)
+                {
+                    var txt = ctrl as UcLookWorkline;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾鍗曚綅
+                if (ctrl is UcLookUnit)
+                {
+                    var txt = ctrl as UcLookUnit;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾瀹㈡埛
+                if (ctrl is UcLookCustomer)
+                {
+                    var txt = ctrl as UcLookCustomer;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾鍛樺伐
+                if (ctrl is UcLookStaff)
+                {
+                    var txt = ctrl as UcLookStaff;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾缁勭粐
+                if (ctrl is UcLookOrg)
+                {
+                    var txt = ctrl as UcLookOrg;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾鐢ㄦ埛
+                if (ctrl is UcLookUser)
+                {
+                    var txt = ctrl as UcLookUser;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾鎵撳嵃鏈�
+                if (ctrl is UcLookPrint)
+                {
+                    var txt = ctrl as UcLookPrint;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+
+                //鑷畾閮ㄩ棬
+                if (ctrl is UcLookDepartment)
+                {
+                    var txt = ctrl as UcLookDepartment;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾daa
+                if (ctrl is UcLookDaa)
+                {
+                    var txt = ctrl as UcLookDaa;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾濮斿
+                if (ctrl is UcLookWwgd)
+                {
+                    var txt = ctrl as UcLookWwgd;
+                    txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾閿�鍞�
+                if (ctrl is UcLookSales)
+                {
+                    var txt = ctrl as UcLookSales;
+                    txt.SetIdOrCode("-1");
+                    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;
                 }
-
             }
         }
 
@@ -607,18 +939,66 @@
         {
             isEdt = !isEdt;
             if (gridViews != null)
+            {
                 foreach (var gv in gridViews)
-                    gv.OptionsBehavior.Editable = !isEdt;
+                {
+                    gv.ClearSorting();
+                    gv.OptionsCustomization.AllowSort = isEdt;
+                    foreach (GridColumn colmn in gv.Columns)
+                    {
+                        colmn.OptionsColumn.AllowEdit = true;
+                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
+                        {
+                            colmn.Visible = !isEdt;
+                        }
+                        else
+                        {
+                            if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
+                                colmn.OptionsColumn.ReadOnly = isEdt;
+                            else
+                                colmn.OptionsColumn.ReadOnly = isEdt;
+                        }
+                    }
+                }
+            }
             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)
                 {
                     var txt = ctrl as TextEdit;
-                    txt.ReadOnly = isEdt;
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
-
+                if (ctrl is MemoEdit)
+                {
+                    var txt = ctrl as MemoEdit;
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
+                    continue;
+                }
                 //鏁板瓧鍗�
                 if (ctrl is NumericUpDown)
                 {
@@ -626,57 +1006,243 @@
                     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) {
+                if (ctrl is CheckBox)
+                {
                     ctrl.Enabled = !isEdt;
                     continue;
                 }
-
                 if (ctrl is CheckEdit)
                 {
                     var txt = ctrl as CheckEdit;
                     txt.ReadOnly = isEdt;
                     continue;
                 }
+                //鑷畾涔変粨搴�
+                if (ctrl is UcLookCk)
+                {
+                    var txt = ctrl as UcLookCk;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾涔変緵搴斿晢
+                if (ctrl is UcLookSupplier)
+                {
+                    var txt = ctrl as UcLookSupplier;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾涔夌墿鏂�
+                if (ctrl is UcLookItems)
+                {
+                    var txt = ctrl as UcLookItems;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾涔夎溅闂�
+                if (ctrl is UcLookWorkshop)
+                {
+                    var txt = ctrl as UcLookWorkshop;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾涔変骇绾�
+                if (ctrl is UcLookWorkline)
+                {
+                    var txt = ctrl as UcLookWorkline;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾涔夊崟浣�
+                if (ctrl is UcLookUnit)
+                {
+                    var txt = ctrl as UcLookUnit;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾涔夊鎴�
+                if (ctrl is UcLookCustomer)
+                {
+                    var txt = ctrl as UcLookCustomer;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾涔夊憳宸�
+                if (ctrl is UcLookStaff)
+                {
+                    var txt = ctrl as UcLookStaff;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾缁勭粐
+                if (ctrl is UcLookOrg)
+                {
+                    var txt = ctrl as UcLookOrg;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾鐢ㄦ埛
+                if (ctrl is UcLookUser)
+                {
+                    var txt = ctrl as UcLookUser;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾鎵撳嵃
+                if (ctrl is UcLookPrint)
+                {
+                    var txt = ctrl as UcLookPrint;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾閮ㄩ棬
+                if (ctrl is UcLookDepartment)
+                {
+                    var txt = ctrl as UcLookDepartment;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾daa
+                if (ctrl is UcLookDaa)
+                {
+                    var txt = ctrl as UcLookDaa;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾濮斿
+                if (ctrl is UcLookWwgd)
+                {
+                    var txt = ctrl as UcLookWwgd;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
+                //鑷畾閿�鍞�
+                if (ctrl is UcLookSales)
+                {
+                    var txt = ctrl as UcLookSales;
+                    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;
+                    if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+                        txt.Enabled = true;
+                    else
+                        txt.Enabled = !isEdt;
+                    continue;
+                }
             }
         }
+        #endregion
 
         /// <summary>
-        ///     鍒囨崲閫夐」鍗�
+        /// 鍒ゆ柇鎺т欢鍙鐘舵��
         /// </summary>
-        /// <param name="tabControl">閫夐」鍗″鍣�</param>
-        /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param>
-        public static void JumpToTab(XtraTabControl tabControl, int idx)
+        /// <param name="obj"></param>
+        /// <param name="isEdt"></param>
+        /// <returns></returns>
+        private static bool _isRead(object obj, bool isEdt = false)
         {
-            if (idx == 999)
+            ///姘歌繙鏄彧璇荤殑
+            if (obj != null && obj.ToString().ToUpper() == ("readOnly".ToUpper()))
             {
-                for (var i = 0; i < tabControl.TabPages.Count; i++)
-                    tabControl.TabPages[i].PageEnabled = true;
-                tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1;
+                return true;
+            }
+            ///姘歌繙鏄彲鍐欑殑
+            if (obj != null && obj.ToString().ToUpper() == ("readOnly-1".ToUpper()))
+            {
+                return false;
+            }
+            return isEdt;
+        }
+
+
+        /// <summary>
+        /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�
+        /// </summary>
+        /// <param name="tabControl"></param>
+        /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�</param>
+        public static void JumpTab(XtraTabControl tabControl, int action)
+        {
+
+            if (action == 0)
+            {
+                tabControl.TabPages[0].PageEnabled = true;
+                tabControl.TabPages[1].PageEnabled = true;
+                tabControl.SelectedTabPageIndex = 1;
+                return;
+            }
+            if (action == 1)
+            {
+                tabControl.TabPages[0].PageEnabled = true;
+                tabControl.TabPages[1].PageEnabled = true;
+                tabControl.SelectedTabPageIndex = 0;
+                return;
+            }
+            if (action == 2)
+            {
+                tabControl.TabPages[0].PageEnabled = true;
+                tabControl.TabPages[1].PageEnabled = true;
+                tabControl.SelectedTabPageIndex = 0;
+                return;
+            }
+            if (action == 3)
+            {
+                tabControl.TabPages[0].PageEnabled = false;
+                tabControl.TabPages[1].PageEnabled = true;
+                tabControl.SelectedTabPageIndex = 1;
+                return;
+            }
+            if (action == 4)
+            {
+                tabControl.TabPages[0].PageEnabled = false;
+                tabControl.TabPages[1].PageEnabled = true;
+                tabControl.SelectedTabPageIndex = 1;
+                return;
+            }
+            if (action == 5)
+            {
+                tabControl.TabPages[0].PageEnabled = true;
+                tabControl.TabPages[1].PageEnabled = true;
+                tabControl.SelectedTabPageIndex = 1;
                 return;
             }
 
-            for (var i = 0; i < tabControl.TabPages.Count; i++)
-                tabControl.TabPages[i].PageEnabled = false;
-            tabControl.TabPages[idx].PageEnabled = true;
-            tabControl.SelectedTabPageIndex = idx;
+            if (action == 6)
+            {
+                tabControl.TabPages[0].PageEnabled = true;
+                tabControl.TabPages[1].PageEnabled = true;
+
+                return;
+            }
         }
 
         /// <summary>
@@ -716,35 +1282,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
@@ -755,6 +1292,41 @@
         {
             if (string.IsNullOrEmpty(str)) return Guid.Empty;
             return Guid.Parse(str);
+        }
+        public static decimal ToDecimal(string str)
+        {
+            try
+            {
+                return decimal.Parse(str);
+            }
+            catch (Exception)
+            {
+
+                return 0;
+            }
+        }
+        public static decimal? GetDecimal(string s)
+        {
+            if (string.IsNullOrEmpty(s)) return null;
+            return decimal.Parse(s);
+        }
+
+
+        public static int ToBit(string str)
+        {
+            if (str.ToUpper() == "true".ToUpper())
+                return 1;
+            return 0;
+        }
+
+
+        public static bool ToCheck(string str)
+        {
+            if (str.ToUpper() == "true".ToUpper())
+                return true;
+            if (str.ToUpper() == "1".ToUpper())
+                return true;
+            return false;
         }
 
         /// <summary>
@@ -771,6 +1343,7 @@
             , Label lbGuid
             , TextEdit txtName
             , GridView gridView1
+            , string fileName = ""
             , int SelectedTabPageIndex = 1)
         {
             var _strGuid = "";
@@ -790,7 +1363,10 @@
                 else
                 {
                     _strGuid = dr["guid"].ToString();
-                      _strName = dr[1].ToString();
+                    if (string.IsNullOrEmpty(fileName))
+                        _strName = dr[1].ToString();
+                    else
+                        _strName = dr[fileName].ToString();
                 }
             }
 
@@ -892,7 +1468,6 @@
                     }
                 }
             }
-
             return "";
         }
 
@@ -918,9 +1493,842 @@
                     return rowGuid;
                 }
             }
-
             return "";
         }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="s"></param>
+        /// <param name="btnChkIco"></param>
+        /// <param name="fm"></param>
+        /// <param name="fileName">瀵瑰簲鐨勫鏍稿瓧娈靛悕绉�</param>
+        /// <param name="icoName"></param>
+        public static void SetCheckIco(object s, PictureBox btnChkIco, Form fm, string fileName = "checkStatus", string icoName = "")
+        {
+            GridView dgv = s as GridView;
+            if (dgv != null)
+            {
+                if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0)
+                {
+                    var selectedRow = dgv.GetSelectedRows()[0]; // 鑾峰彇绗竴涓�変腑琛岀殑绱㈠紩
+                    if (selectedRow >= 0)
+                    {
+                        var checkStatus = dgv.GetRowCellValue(selectedRow, fileName).ToString(); // 鑾峰彇鎸囧畾鍒楃殑鍊�
+                        btnChkIco.Text = checkStatus;
+                        btnChkIco.Visible = true;
+                        if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper() || checkStatus == "宸插鏍�")
+                        {
+                            btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
+                            btnChkIco.Tag = "宸插鏍�";
+                        }
+                        else
+                        {
+                            btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+                            btnChkIco.Tag = "鏈鏍�";
+                        }
+                        btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
+                        btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 25); // 璺濈椤堕儴10鍍忕礌
+                    }
+                }
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="gridView1"></param>
+        /// <param name="zdChk">chk瀛楁</param>
+        /// <param name="zdChkUser">chk user</param>
+        /// <param name="zdCkDate">chk date</param>
+        /// <param name="btnChkIco"></param>
+        /// <param name="fm">褰撳墠绐椾綋</param>
+        /// <param name="fileName">1涓哄鏍革紝0涓哄弽瀹℃牳</param>
+        /// <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;
+                btnChkIco.Tag = "宸插鏍�";
+                if (!string.IsNullOrEmpty(zdChkUser))
+                    gridView1.SetFocusedRowCellValue(zdChkUser, "宸插鏍�");
+                if (!string.IsNullOrEmpty(zdCkDate))
+                    gridView1.SetFocusedRowCellValue(zdCkDate, DateTime.Now.ToString());
+                if (!string.IsNullOrEmpty(zdChk))
+                    gridView1.SetFocusedRowCellValue(zdChk, true);
+            }
+            else
+            {
+                btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+                btnChkIco.Tag = "鏈鏍�";
+                if (!string.IsNullOrEmpty(zdChkUser))
+                    gridView1.SetFocusedRowCellValue(zdChkUser, "");
+                if (!string.IsNullOrEmpty(zdCkDate))
+                    gridView1.SetFocusedRowCellValue(zdCkDate, "");
+                if (!string.IsNullOrEmpty(zdChk))
+                    gridView1.SetFocusedRowCellValue(zdChk, false);
+            }
+
+        }
+
+        #region 璁剧疆鎼滅储
+
+        public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string 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)
+        {
+            List<FilterEntity> fiList = new List<FilterEntity>();
+            if (gridView1 != null)
+            {
+                bool b = gridView1.ActiveFilterEnabled;
+                if (b == false)
+                    return fiList;
+            }
+            foreach (DevExpress.XtraGrid.Columns.GridColumn col in Columns)
+            {
+                ColumnFilterInfo filter = col.FilterInfo;
+                if (string.IsNullOrEmpty(filter.FilterString))
+                    continue;
+                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;
+        }
+
+        /// <summary>
+        /// 鏍规嵁杩囨护鍣紝璇诲彇鏌ヨ鏉′欢,org琛ㄤ负缁勭粐
+        /// </summary>
+        /// <param name="_filterList"></param>
+        /// <returns></returns>
+        public static string GetSearchWhere(List<FilterEntity> _filterList)
+        {
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+            {
+                if (itm.fileId.ToUpper().Contains("org".ToUpper()))
+                {
+                    if (IsNumeric(itm.fileValue.Replace("%", "")))
+                        _sbSqlWhere.Append(" and  org.FNumber " + itm.fileOper + "'" + itm.fileValue + "'");
+                    else
+                    {
+                        _sbSqlWhere.Append(" and  org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
+                    }
+                }
+                else
+                {
+                    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>
+        /// <param name="fm"></param>
+        /// <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, DevExpress.Utils.ToolTipController tips = null, bool isPostSearch = true)
+        {
+            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 = 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(isPostSearch==false)
+                //    column.OptionsColumn.ReadOnly = true;
+
+                if (isPostSearch == true)
+                {
+                    if (column.Tag == null || column.Tag.ToString().Length <= 0)
+                        column.OptionsFilter.AllowAutoFilter = false;
+                }
+            }
+
+            gridView1.IndicatorWidth = 60;
+            gridView1.CustomDrawRowIndicator += (s, e) =>
+            {
+                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
+            };
+            gridView1.CustomDrawEmptyForeground += (s, e) =>
+            {
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                e.Graphics.DrawString(str, f, Brushes.Gray, r);
+            };
+            if (picCheckBox != null)
+            {
+                gridView1.FocusedRowChanged += (s, e) =>
+                {
+                    UtilityHelper.SetCheckIco(s, picCheckBox, fm, fileName, icoName);
+                };
+            }
+            if (action != null)
+            {
+                gridView1.ShownEditor += (sender, e) =>
+                {
+                    DevExpress.XtraGrid.Views.Grid.GridView view = sender as DevExpress.XtraGrid.Views.Grid.GridView;
+                    view.ActiveEditor.DoubleClick += (ssssss, eeeeeee) =>
+                    {
+                        int _handle = gridView1.FocusedRowHandle;
+                        if (_handle == -1)
+                            return;
+                        DataRow row = gridView1.GetDataRow(_handle);
+                        if (row == null)
+                            return;
+                        string _guid = row["guid"].ToString();
+                        if (string.IsNullOrEmpty(_guid))
+                            return;
+                        action(_guid);
+                    };
+                    if (view.ActiveEditor is TextEdit)
+                        view.ActiveEditor.MouseUp += ActiveEditor_MouseUp;
+                };
+            }
+            gridView1.RowStyle += (s, e) =>
+            {
+                //榛樿閫変腑琛屼笉鍙樿壊
+                gridView1.OptionsSelection.EnableAppearanceFocusedRow = false;
+                //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊
+                gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
+                if (e.RowHandle >= 0)
+                {
+                    DataRow row = gridView1.GetDataRow(e.RowHandle);
+                    if (row == null)
+                        return;
+                    //杩欐槸danger鑹�
+                    bool columnExists = row.Table.Columns.Contains("isRed");
+                    if (columnExists == true)
+                    {
+                        string _isRed = row["isRed"].ToString();
+                        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);
+                        }
+                    }
+                    // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
+                    if (gridView1.GetRow(e.RowHandle) == gridView1.GetFocusedRow())
+                    {
+                        e.Appearance.BackColor = Color.Azure;
+                        e.Appearance.BackColor2 = Color.LightSkyBlue;
+                    }
+                    //else if (gridView1.IsRowHotTracked(e.RowHandle))
+                    //{
+                    //    // 璁剧疆榧犳爣鎮仠琛岀殑鑳屾櫙鑹�
+                    //    e.Appearance.BackColor = Color.LightBlue;
+                    //    e.Appearance.BackColor2 = Color.LightBlue;
+                    //}
+                }
+            };
+            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)
+        {
+            BaseEdit edit = sender as BaseEdit;
+            edit.MouseUp -= ActiveEditor_MouseUp;
+            edit.SelectAll();
+        }
+
+        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) =>
+            {
+                if (xtraTabControl1.SelectedTabPageIndex == 1)
+                {
+                    int _handle = gridView1.FocusedRowHandle;
+                    bool _bl = xtraTabControl1.TabPages[0].PageEnabled;
+                    if (_bl == false) { return; };
+                    if (_handle < 0)
+                    {
+                        xtraTabControl1.SelectedTabPageIndex = -1;
+                        Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString() + "tag" + xtraTabControl1.SelectedTabPageIndex.ToString());
+                        return;
+                    }
+                    DataRow row = gridView1.GetDataRow(_handle);
+                    if (row == null)
+                    {
+                        xtraTabControl1.SelectedTabPageIndex = -1;
+                        Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString());
+                        return;
+                    }
+                    string _guid = row["guid"].ToString();
+                    if (string.IsNullOrEmpty(_guid))
+                    {
+                        xtraTabControl1.SelectedTabPageIndex = -1;
+                        Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString());
+                        return;
+                    }
+                    action(_guid);
+                }
+                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
+                {
+                    page(pageBar1.CurrentPage);
+                    int rowHandle = 0;
+                    rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
+                    if (rowHandle < 0)
+                        rowHandle = 0;
+                    gridView1.FocusedRowHandle = rowHandle;
+                }
+            };
+        }
+
+        /// <summary>
+        /// 璁剧疆鏄庣粏grid鏍峰紡
+        /// </summary>
+        /// <param name="gridView1"></param>
+        /// <param name="btnChkIco"></param>
+        /// <param name="fm"></param>
+        /// <param name="fileName"></param>
+        /// <param name="icoName"></param>
+        public static void 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;
+            gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+            gridView1.OptionsCustomization.AllowFilter = false;
+            gridView1.OptionsFind.ShowSearchNavButtons = false;
+            gridView1.OptionsView.ShowAutoFilterRow = false;
+            gridView1.OptionsView.ShowGroupPanel = false;
+            gridView1.IndicatorWidth = 60;
+            gridView1.CustomDrawRowIndicator += (s, e) =>
+            {
+                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
+            };
+            gridView1.CustomDrawEmptyForeground += (s, e) =>
+            {
+                var str = "鏆傛棤鏄庣粏鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                e.Graphics.DrawString(str, f, Brushes.Gray, r);
+            };
+            gridView1.ValidatingEditor += (sender, e) =>
+            {
+                //yz_quantity_0
+                GridView view = sender as GridView;
+                if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_"))
+                {
+                    string[] _ary = view.FocusedColumn.Tag.ToString().Split('_');
+                    if (_ary.Length > 2)
+                    {
+                        if (_ary[2] == "0")
+                        {
+                            double price = 0; if (!Double.TryParse(e.Value as String, out price))
+                            { e.Valid = false; e.ErrorText = "璇疯緭鍏ユ纭殑鏁板瓧."; }
+                            return;
+                        }
+                    }
+                }
+            };
+
+            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);
+        }
+        /// <summary>
+        /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堟灉鐨刣ecimal鏁板��
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns></returns>
+        public static bool IsNumeric2(string str)
+        {
+            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))
+            {
+                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 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)
+            {
+                Gs.DevApp.ToolBox.MsgHelper.ShowError("杈撳叆鏁版嵁閿欒:" + ex.Message);
+            }
+        }
+        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) =>
+            {
+                int _handle = e.RowHandle;
+                if (_handle < 0)
+                    return;
+                if (e.Column.FieldName == fieldName)
+                {
+                    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")
+                    {
+                        checkBoxColumn.Tag = "0";
+                        foreach (DataRow row in _Table.Rows)
+                        {
+                            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);
+                }
+            }
+        }
+        #endregion
     }
 
     /// <summary>
@@ -932,10 +2340,11 @@
         {
         }
 
-        public CboItemEntity(string val, string text)
+        public CboItemEntity(string val, string text, string fType = "")
         {
             Text = text;
             Value = val;
+            FType = fType;
         }
 
         /// <summary>
@@ -948,10 +2357,13 @@
         /// </summary>
         public object Value { get; set; } = "";
 
+        public object FType { get; set; } = "";
+
         public override string ToString()
         {
             return Text.ToString();
         }
+
     }
 
     /// <summary>
@@ -967,13 +2379,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; }
@@ -985,5 +2398,7 @@
         public string fileOperDec { get; set; }
 
         public string fileValue { get; set; }
+
+        public string fileType { get; set; }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3