From e55375b7e21c648b08257312e88a9848996d82b7 Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期日, 03 八月 2025 16:48:43 +0800
Subject: [PATCH] bug
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 593 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 452 insertions(+), 141 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 580873b..67b3d33 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,13 +22,12 @@
using System.Linq;
using System.Net;
using System.Net.Cache;
-using System.Net.Http;
using System.Reflection;
using System.Resources;
using System.Text;
using System.Text.RegularExpressions;
-using System.Threading.Tasks;
using System.Windows.Forms;
+using System.Windows.Forms.VisualStyles;
using UserControls.Data;
using static System.Windows.Forms.Control;
@@ -42,33 +42,25 @@
private static readonly string WebApiUrl =
ConfigurationManager.AppSettings["WebApiUrl"];
- public static async Task<string> UploadFileAsync(string filePath)
- {
- 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;
- }
- }
- }
+ /// <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">api鏍瑰湴鍧�</param>
+ /// <param name="meth">鏂规硶鍚嶇О</param>
+ /// <param name="param">json鍙傛暟</param>
+ /// <param name="isLoading">鏄惁loading</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();
@@ -76,6 +68,7 @@
wdf.BackColor = _color;
wdf.Padding = _pad;
wdf.SetCaption("鍔犺浇杩涘害:" + meth);
+ wdf.Visible = isLoading;
HttpWebRequest request = null;
StreamWriter requestStream = null;
WebResponse response = null;
@@ -125,15 +118,6 @@
}
/// <summary>
- /// 榛樿椤靛ぇ灏�
- /// </summary>
- /// <returns></returns>
- public static int GetPageSize()
- {
- return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
- }
-
- /// <summary>
/// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
/// </summary>
/// <param name="imageName"></param>
@@ -179,6 +163,7 @@
gc.BindingContext = new BindingContext();
gc.DataSource = dt;
gc.ForceInitialize();
+ gv.BestFitColumns();
}
/// <summary>
@@ -250,6 +235,8 @@
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;
@@ -272,6 +259,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -464,6 +453,15 @@
txt.Enabled = !isEdt;
continue;
}
+ //澶氶��
+ if (colType is RadioGroup)
+ {
+ var txt = colType as RadioGroup;
+ if (txt != null)
+ txt.SelectedIndex =int.Parse( strVal);
+ txt.ReadOnly = isEdt;
+ continue;
+ }
//鏃堕棿
if (colType is DateTimePicker)
{
@@ -488,7 +486,6 @@
txt.Text = strVal;
}
}
-
//鑷畾涔変粨搴�
if (colType is UcLookCk)
{
@@ -612,7 +609,10 @@
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;
}
//鑷畾宸ュ簭
@@ -627,6 +627,14 @@
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;
@@ -666,6 +674,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -744,6 +754,15 @@
}
else
txt.ReadOnly = isEdt;
+ continue;
+ }
+ //澶氶��
+ if (ctrl is RadioGroup)
+ {
+ var txt = ctrl as RadioGroup;
+ if (txt != null)
+ txt.SelectedIndex = 0;
+ txt.ReadOnly = isEdt;
continue;
}
//鏃堕棿
@@ -908,10 +927,21 @@
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;
}
}
@@ -931,6 +961,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -993,6 +1025,13 @@
txt.ReadOnly = isEdt;
continue;
}
+ //澶氶��
+ if (ctrl is RadioGroup)
+ {
+ var txt = ctrl as RadioGroup;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
//鏃ユ湡
if (ctrl is DateTimePicker)
{
@@ -1005,7 +1044,6 @@
ctrl.Enabled = !isEdt;
continue;
}
- //
if (ctrl is CheckEdit)
{
var txt = ctrl as CheckEdit;
@@ -1089,7 +1127,6 @@
txt.IsReadly = isEdt;
continue;
}
-
//鑷畾閮ㄩ棬
if (ctrl is UcLookDepartment)
{
@@ -1132,17 +1169,32 @@
txt.IsReadly = isEdt;
continue;
}
+ //鑷畾鍗曟嵁绫诲瀷涓嬫媺
+ if (ctrl is UcDictionaryComBox)
+ {
+ var txt = ctrl as UcDictionaryComBox;
+ txt.IsReadly = isEdt;
+ continue;
+ }
if (ctrl is SimpleButton)
{
var txt = ctrl as SimpleButton;
- txt.Enabled = !isEdt;
+ if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+ txt.Enabled = true;
+ else
+ txt.Enabled = !isEdt;
continue;
}
}
}
#endregion
-
+ /// <summary>
+ /// 鍒ゆ柇鎺т欢鍙鐘舵��
+ /// </summary>
+ /// <param name="obj"></param>
+ /// <param name="isEdt"></param>
+ /// <returns></returns>
private static bool _isRead(object obj, bool isEdt = false)
{
///姘歌繙鏄彧璇荤殑
@@ -1256,35 +1308,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
@@ -1313,30 +1336,7 @@
if (string.IsNullOrEmpty(s)) return null;
return decimal.Parse(s);
}
- public static int ToInt(string str)
- {
- try
- {
- return int.Parse(str);
- }
- catch (Exception)
- {
- return 0;
- }
- }
- public static long ToLong(string str)
- {
- try
- {
- return long.Parse(str);
- }
- catch (Exception)
- {
-
- return 0;
- }
- }
public static int ToBit(string str)
{
@@ -1344,12 +1344,7 @@
return 1;
return 0;
}
- public static bool ToBoole(string str)
- {
- if (str.ToUpper() == "true".ToUpper())
- return true;
- return false;
- }
+
public static bool ToCheck(string str)
{
@@ -1625,7 +1620,17 @@
public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type)
{
- return new FilterEntity(id, idDec + ")", " like ", "鍖呭惈)", "%" + val + "%", type);
+ switch (type)
+ {
+ case "Bit绫诲瀷":
+ string _val = (val.ToUpper() == "true".ToUpper() ? "1" : "0");
+ return new FilterEntity(id, idDec + ")", "=", "绛変簬)", "" + _val + "", type);
+ break;
+ default:
+ return new FilterEntity(id, idDec + ")", "like", "鍖呭惈)", "%" + val + "%", type);
+ break;
+ }
+
}
public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null)
{
@@ -1641,10 +1646,19 @@
ColumnFilterInfo filter = col.FilterInfo;
if (string.IsNullOrEmpty(filter.FilterString))
continue;
- // fiList.Add(new FilterEntity("b.FNumber", "浣跨敤缁勭粐", " like ", "鍖呭惈", "%" + filter.Value + "%"));
- string[] ddd = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "").Split(',');
- //Contains([fSubsidiary], '005')
- fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim(), col.UnboundExpression));
+ string _filterString = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "");
+ string[] ddd = _filterString.Split(',');
+ string _val = "";
+ if (ddd.Length > 1)
+ {
+ _val = ddd[1].Trim();
+ }
+ else
+ {
+ ddd = _filterString.Split('=');
+ _val = ddd[1].Trim();
+ }
+ fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), _val, col.UnboundExpression));
}
return fiList;
}
@@ -1675,19 +1689,17 @@
case "鏃堕棿绫诲瀷":
_sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId + ",23)" + itm.fileOper + "'" + itm.fileValue + "'");
break;
- //case "鏁板�肩被鍨�":
- // _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
- // break;
+ case "Bit绫诲瀷":
+ _sbSqlWhere.Append(" and isnull(" + itm.fileId + ",0) =" + itm.fileValue + "");
+ break;
default:
- _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
+ _sbSqlWhere.Append(" and " + itm.fileId + " " + itm.fileOper + " '" + itm.fileValue + "'");
break;
}
}
}
return _sbSqlWhere.ToString();
}
-
-
public delegate void DelegateGetModel(string guid);
public delegate void DelegateGetList(int currentPage);
/// <summary>
@@ -1721,7 +1733,6 @@
}
};
gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
-
if (isPostSearch == true)
{
gridView1.OptionsView.ShowGroupPanel = false;
@@ -1738,7 +1749,6 @@
//鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯
// gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
}
-
// gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
foreach (GridColumn column in gridView1.Columns)
{
@@ -1764,8 +1774,7 @@
column.OptionsFilter.AllowAutoFilter = false;
}
}
-
- gridView1.IndicatorWidth = 50;
+ gridView1.IndicatorWidth = 60;
gridView1.CustomDrawRowIndicator += (s, e) =>
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
@@ -1819,6 +1828,7 @@
DataRow row = gridView1.GetDataRow(e.RowHandle);
if (row == null)
return;
+ //杩欐槸danger鑹�
bool columnExists = row.Table.Columns.Contains("isRed");
if (columnExists == true)
{
@@ -1826,6 +1836,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);
}
}
// 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
@@ -1936,7 +1956,7 @@
}
action(_guid);
}
- if (xtraTabControl1.SelectedTabPageIndex == 0)
+ if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
{
page(pageBar1.CurrentPage);
int rowHandle = 0;
@@ -1956,7 +1976,7 @@
/// <param name="fm"></param>
/// <param name="fileName"></param>
/// <param name="icoName"></param>
- public static void SetGridViewParameterMx(GridView gridView1)
+ public static void SetGridViewParameterMx(GridView gridView1, DevExpress.Utils.ToolTipController tips = null)
{
gridView1.PopupMenuShowing += (s, e) =>
{
@@ -1995,7 +2015,7 @@
gridView1.OptionsFind.ShowSearchNavButtons = false;
gridView1.OptionsView.ShowAutoFilterRow = false;
gridView1.OptionsView.ShowGroupPanel = false;
- gridView1.IndicatorWidth = 40;
+ gridView1.IndicatorWidth = 60;
gridView1.CustomDrawRowIndicator += (s, e) =>
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
@@ -2027,15 +2047,63 @@
}
}
};
+
+ 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;
@@ -2043,8 +2111,49 @@
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;
+ }
- public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd)
+ /// <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;
@@ -2054,50 +2163,233 @@
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;
- int dividend = int.Parse(sum); // 琚櫎鏁�
- int divisor = int.Parse(t1); // 闄ゆ暟
+ decimal integerPart = Math.Truncate(shang); // 鑾峰彇鏁存暟閮ㄥ垎
+ decimal decimalPart = dividend - divisor * integerPart; // 鑾峰彇灏忔暟閮ㄥ垎
- int quotient = dividend / divisor; // 鏁存暟閮ㄥ垎
- int remainder = dividend % divisor; // 浣欐暟
-
- box2.Text = quotient.ToString();
-
+ //decimal quotient = dividend / divisor; // 鏁存暟閮ㄥ垎
+ //decimal remainder = dividend % divisor; // 浣欐暟
+ box2.Text = integerPart.ToString();
if (rd.SelectedIndex == 0)
- rd.Properties.Items[0].Description = "鍏ㄨ嚜鍔ㄣ��" + remainder.ToString() + "銆�";
+ txt_yuliang.Text = decimalPart.ToString();
}
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)
+ 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 = "";
- radOut.Properties.Items[0].Description = "鍏ㄨ嚜鍔�";
+ txt_yuliang.Text = "";
if (radOut.SelectedIndex == 2)
txt_iCount_1.ReadOnly = false;
else
txt_iCount_1.ReadOnly = true;
}
- public static decimal PrintYuLiang(DevExpress.XtraEditors.RadioGroup rd)
+
+ #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)
{
- decimal dc = 0;
- if (rd.SelectedIndex != 0)
- return 0;
- string txt = rd.Properties.Items[0].Description;// = "鍏ㄨ嚜鍔ㄣ��" + remainder.ToString() + "銆�";
- txt = txt.Trim().Replace("鍏ㄨ嚜鍔ㄣ��", "");
- txt = txt.Replace("銆�", "");
- if (string.IsNullOrEmpty(txt))
- return 0;
- return decimal.Parse(txt);
+ 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";
+ /********2025-07-23淇ˉ杩囨护bug 鏁呮敞閲� beg ************/
+ //foreach (DataRow row in _Table.Rows)
+ //{
+ // row["chkInt"] = true;
+ //}
+ /********2025-07-23淇ˉ杩囨护bug 鏁呮敞閲� end ************/
+ /********2025-07-23淇ˉ杩囨护bug beg ************/
+ System.Collections.IList ftRow = gridView1.DataController.GetAllFilteredAndSortedRows();
+ System.Collections.ArrayList ftAry = new System.Collections.ArrayList();
+ foreach (System.Data.DataRowView _ft in ftRow)
+ {
+ string guid = _ft["guid"].ToString();
+ ftAry.Add(guid);
+ }
+ foreach (DataRow row in _Table.Rows)
+ {
+ if (ftAry.Contains(row["guid"].ToString()))
+ row["chkInt"] = true;
+ }
+ /********2025-07-23淇ˉ杩囨护bug end ************/
+ }
+ gcMain.BindingContext = new BindingContext();
+ gcMain.DataSource = _Table;
+ gcMain.ForceInitialize();
+ gridView1.CloseEditor();
+ gridView1.PostEditor();
+ gridView1.UpdateCurrentRow();
+ gridView1.InvalidateColumnHeader(checkBoxColumn);
+ }
+ }
+ }
+ #endregion
+
+ //璇诲彇榛樿缁勭粐
+ public static string GetFirstOrg(UserControl.UcLookOrg txt_erpSczz)
+ {
+ string userGuid = LoginInfoModel.CurrentUser.LoginUserGuid;
+ var pgq = new PageQueryModel(1, 999999, "FID", "asc", userGuid, " and IS_STATUS=1");
+ var json = JsonConvert.SerializeObject(pgq);
+ try
+ {
+ var strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
+ var _obj = UtilityHelper.ReturnToDynamic(strReturn);
+ string _extendText = _obj.rtnData.extendText;
+ string[] _dftOrg = _extendText.Split(',');
+ if (_dftOrg.Length > 0)
+ {
+ txt_erpSczz.SetIdOrCode(_dftOrg[0].Trim());
+ return _dftOrg[0].Trim();
+ }
+ return "";
+ }
+ catch (Exception ex)
+ {
+ return "";
+ }
+ }
}
/// <summary>
@@ -2170,4 +2462,23 @@
public string fileType { get; set; }
}
+
+
+ public enum QcSeason
+ {
+ iqc,
+ ipqc宸℃,
+ ipqc棣栨,
+ fqc,
+ 鐢熶骇閫�鏂欏叆搴撴,
+ 鍏跺畠鍏ュ簱妫�,
+ 閿�鍞��璐у叆搴撴,
+ 瓒呮湡妫�,
+ 濮斿閫�鏂欏叆搴撴,
+ cqcjyes,//閲嶆鏂规
+ cqcjno,//閲嶆鏂规
+ }
+
+
+
}
\ No newline at end of file
--
Gitblit v1.9.3