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 | 209 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 188 insertions(+), 21 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 191fc2c..0d5a642 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,6 +1,7 @@
锘縰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;
@@ -21,12 +22,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 +41,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 +68,7 @@
wdf.BackColor = _color;
wdf.Padding = _pad;
wdf.SetCaption("鍔犺浇杩涘害:" + meth);
+ wdf.Visible = isLoading;
HttpWebRequest request = null;
StreamWriter requestStream = null;
WebResponse response = null;
@@ -102,15 +115,6 @@
}
wdf.Close();
return responseStr;
- }
-
- /// <summary>
- /// 榛樿椤靛ぇ灏�
- /// </summary>
- /// <returns></returns>
- public static int GetPageSize()
- {
- return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
}
/// <summary>
@@ -254,6 +258,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -658,6 +664,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -934,6 +942,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -1272,7 +1282,7 @@
}
}
-
+
/// <summary>
/// 杞珿uid
/// </summary>
@@ -1300,7 +1310,7 @@
if (string.IsNullOrEmpty(s)) return null;
return decimal.Parse(s);
}
-
+
public static int ToBit(string str)
{
@@ -1308,7 +1318,7 @@
return 1;
return 0;
}
-
+
public static bool ToCheck(string str)
{
@@ -1795,6 +1805,7 @@
DataRow row = gridView1.GetDataRow(e.RowHandle);
if (row == null)
return;
+ //杩欐槸danger鑹�
bool columnExists = row.Table.Columns.Contains("isRed");
if (columnExists == true)
{
@@ -1802,6 +1813,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 +1933,7 @@
}
action(_guid);
}
- if (xtraTabControl1.SelectedTabPageIndex == 0)
+ if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
{
page(pageBar1.CurrentPage);
int rowHandle = 0;
@@ -1932,7 +1953,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 +2024,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 +2104,25 @@
}
/// <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>
@@ -2070,7 +2149,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 +2159,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 +2172,95 @@
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>
/// 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋
--
Gitblit v1.9.3