lu
2025-06-06 c828cad54fbd4c3b812e7b2e01590688f26b28de
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -21,12 +21,10 @@
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 System.Windows.Forms.VisualStyles;
using UserControls.Data;
@@ -42,13 +40,26 @@
    {
        private static readonly string WebApiUrl =
            ConfigurationManager.AppSettings["WebApiUrl"];
        /// <summary>
        /// 读取加载信息
        /// </summary>
        /// <returns></returns>
        public static (Size, string, Color, Padding) getLoading()
        {
            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)
        {
            Size _size; string _caption; Color _color; Padding _pad;
            (_size, _caption, _color, _pad) = getLoading();
@@ -56,6 +67,7 @@
            wdf.BackColor = _color;
            wdf.Padding = _pad;
            wdf.SetCaption("加载进度:" + meth);
            wdf.Visible = isLoading;
            HttpWebRequest request = null;
            StreamWriter requestStream = null;
            WebResponse response = null;
@@ -103,16 +115,7 @@
            wdf.Close();
            return responseStr;
        }
        /// <summary>
        ///     默认页大小
        /// </summary>
        /// <returns></returns>
        public static int GetPageSize()
        {
            return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
        }
        /// <summary>
        ///     根据图片名读取资源文件,不带后缀名
        /// </summary>
@@ -254,6 +257,8 @@
            {
                foreach (var gv in gridViews)
                {
                    gv.ClearSorting();
                    gv.OptionsCustomization.AllowSort = isEdt;
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        colmn.OptionsColumn.AllowEdit = true;
@@ -658,6 +663,8 @@
            {
                foreach (var gv in gridViews)
                {
                    gv.ClearSorting();
                    gv.OptionsCustomization.AllowSort = isEdt;
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        colmn.OptionsColumn.AllowEdit = true;
@@ -934,6 +941,8 @@
            {
                foreach (var gv in gridViews)
                {
                    gv.ClearSorting();
                    gv.OptionsCustomization.AllowSort = isEdt;
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        colmn.OptionsColumn.AllowEdit = true;
@@ -1272,7 +1281,7 @@
            }
        }
        /// <summary>
        /// 转Guid
        /// </summary>
@@ -1300,7 +1309,7 @@
            if (string.IsNullOrEmpty(s)) return null;
            return decimal.Parse(s);
        }
        public static int ToBit(string str)
        {
@@ -1308,7 +1317,7 @@
                return 1;
            return 0;
        }
        public static bool ToCheck(string str)
        {
@@ -1795,6 +1804,7 @@
                    DataRow row = gridView1.GetDataRow(e.RowHandle);
                    if (row == null)
                        return;
                    //这是danger色
                    bool columnExists = row.Table.Columns.Contains("isRed");
                    if (columnExists == true)
                    {
@@ -1802,6 +1812,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);
                        }
                    }
                    // 设置焦点行的背景色
@@ -1912,7 +1932,7 @@
                    }
                    action(_guid);
                }
                if (xtraTabControl1.SelectedTabPageIndex == 0)
                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
                {
                    page(pageBar1.CurrentPage);
                    int rowHandle = 0;
@@ -1932,7 +1952,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) =>
            {
@@ -2003,6 +2023,45 @@
                    }
                }
            };
            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
@@ -2044,6 +2103,25 @@
        }
        /// <summary>
        /// 判断是不是一个有效的正整数
        /// </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>
@@ -2070,7 +2148,7 @@
                decimal shang = dividend / divisor;
                decimal integerPart = Math.Truncate(shang); // 获取整数部分
                decimal decimalPart = dividend - divisor* integerPart; // 获取小数部分
                decimal decimalPart = dividend - divisor * integerPart; // 获取小数部分
                //decimal quotient = dividend / divisor; // 整数部分
                //decimal remainder = dividend % divisor; // 余数
@@ -2080,7 +2158,7 @@
            }
            catch (Exception ex)
            {
              Gs.DevApp.ToolBox.MsgHelper.ShowError("输入数据错误:"+ex.Message);
                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)
@@ -2093,7 +2171,7 @@
            else
                txt_iCount_1.ReadOnly = true;
        }
        #region 绘制表头全选勾选框
        /// <summary>
        /// 绘制表头全选勾选框