bug
lu
2025-06-16 89776d6f53dff45b1ac0ee20438f5aa8dab2d0e5
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,6 +1,8 @@
using DevExpress.Utils;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraEditors.Drawing;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Menu;
@@ -115,7 +117,7 @@
            wdf.Close();
            return responseStr;
        }
        /// <summary>
        ///     根据图片名读取资源文件,不带后缀名
        /// </summary>
@@ -162,6 +164,7 @@
            gc.BindingContext = new BindingContext();
            gc.DataSource = dt;
            gc.ForceInitialize();
            gv.BestFitColumns();
        }
        /// <summary>
@@ -1952,7 +1955,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) =>
            {
@@ -2024,51 +2027,44 @@
                }
            };
            //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)
                    {
                    }
                };
            }
        }
        #endregion
@@ -2179,6 +2175,94 @@
                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>
        /// 绘制表头全选勾选框
@@ -2247,6 +2331,32 @@
            }
        }
        #endregion
        //读取默认组织
        public static string GetFirstOrg(UserControl.UcLookOrg txt_erpSczz)
        {
            string userGuid = LoginInfoModel.CurrentUser.LoginUserGuid;
            var pgq = new PageQueryModel(1, 999999, "FID", "asc", userGuid, " and IS_STATUS=1");
            var json = JsonConvert.SerializeObject(pgq);
            try
            {
                var strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
                var _obj = UtilityHelper.ReturnToDynamic(strReturn);
                string _extendText = _obj.rtnData.extendText;
                string[] _dftOrg = _extendText.Split(',');
                if (_dftOrg.Length > 0)
                {
                    txt_erpSczz.SetIdOrCode(_dftOrg[0].Trim());
                    return _dftOrg[0].Trim();
                }
                return "";
            }
            catch (Exception ex)
            {
                return "";
            }
        }
    }
    /// <summary>
@@ -2319,4 +2429,16 @@
        public string fileType { get; set; }
    }
    public enum QcSeason
    {
        iqc,
        ipqc巡检,
        ipqc首检,
        fqc
    }
}