From 247cc1010a4967a24d2d0eaeb092acc24c08ba96 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期六, 05 四月 2025 14:25:12 +0800
Subject: [PATCH] fqc
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 298 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 221 insertions(+), 77 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 3ab67e7..b2474d0 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -4,6 +4,7 @@
using System.Data;
using System.Drawing;
using System.IO;
+using System.Linq;
using System.Net;
using System.Net.Cache;
using System.Net.Http;
@@ -17,6 +18,7 @@
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Columns;
+using DevExpress.XtraGrid.Menu;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraTab;
using DevExpress.XtraTreeList;
@@ -24,7 +26,6 @@
using Gs.DevApp.UserControl;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
-using OracleInternal.Sharding;
using UserControls.Data;
using static System.Windows.Forms.Control;
@@ -61,12 +62,18 @@
}
}
+ 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)
{
- string _caption = "鎷煎懡鍔犺浇涓紝璇风◢鍚�...";
- DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm(_caption + meth, "鍙嬫儏鎻愮ず");
- wdf.BackColor = System.Drawing.Color.LightSkyBlue;
- wdf.Padding = new Padding(15);
+ 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;
HttpWebRequest request = null;
StreamWriter requestStream = null;
WebResponse response = null;
@@ -84,27 +91,20 @@
request.Timeout = 150000;
request.AllowAutoRedirect = false;
request.ServicePoint.Expect100Continue = false;
- // wdf.SetCaption(_caption + "锛�10/100锛�" + meth);
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;
- // wdf.SetCaption(_caption + "锛�20/100锛�" + meth);
requestStream = new StreamWriter(request.GetRequestStream());
requestStream.Write(param);
requestStream.Close();
- // wdf.SetCaption(_caption + "30/100锛�" + meth);
response = request.GetResponse();
- // wdf.SetCaption(_caption + "锛�40/100锛�");
if (response != null)
{
- // wdf.SetCaption(_caption + "锛�50/100锛�" + meth);
var reader = new StreamReader(response.GetResponseStream(),
Encoding.UTF8);
responseStr = reader.ReadToEnd();
//File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr);
reader.Close();
- // wdf.SetCaption(_caption + "锛�60/100锛�" + meth);
}
- // wdf.SetCaption(_caption + "锛�80/100锛�" + meth);
}
catch (Exception ex)
{
@@ -118,7 +118,6 @@
requestStream = null;
response = null;
}
- // wdf.SetCaption(_caption + "锛�90/100锛�");
wdf.Close();
return responseStr;
}
@@ -190,11 +189,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;
}
@@ -285,6 +280,8 @@
if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
{
colmn.Visible = !isEdt;
+ if (colmn.Visible == true)
+ colmn.VisibleIndex = 99999;
}
else
{
@@ -412,7 +409,14 @@
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":
@@ -428,8 +432,8 @@
txt.Checked = false;
break;
}
+ }
- txt.ReadOnly = isEdt;
continue;
}
//鍗曢��
@@ -645,10 +649,33 @@
txt.Enabled = false;
continue;
}
+ //鑷畾閿�鍞�
+ if (colType is UcLookSales)
+ {
+ var txt = colType as UcLookSales;
+ txt.SetIdOrCode(strVal);
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
if (colType is SimpleButton)
{
var txt = colType as SimpleButton;
txt.Enabled = !isEdt;
+ continue;
+ }
+
+ //鑷畾涓嶈壇
+ if (colType is UcDictionary)
+ {
+ var txt = colType as UcDictionary;
+ txt.TextTxt = (strVal);
+ //if (txt.IsReadly == false)
+ // txt.Enabled = !isEdt;
+ //else
+ // txt.Enabled = false;
continue;
}
}
@@ -766,7 +793,6 @@
txt.ReadOnly = isEdt;
continue;
}
-
//鏃堕棿
if (ctrl is DateTimePicker)
{
@@ -784,16 +810,14 @@
if (ctrl is CheckEdit)
{
var txt = ctrl as CheckEdit;
- txt.ReadOnly = isEdt;
- if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren"))
+ if (_isRead(txt.Tag))
{
- txt.Checked = bool.Parse(txt.Tag.ToString().Replace("moren.", ""));
+ txt.ReadOnly = true;
}
else
- txt.Checked = false;
+ txt.ReadOnly = isEdt;
continue;
}
-
//鑷畾涔変粨搴�
if (ctrl is UcLookCk)
{
@@ -910,6 +934,14 @@
if (ctrl is UcLookWwgd)
{
var txt = ctrl as UcLookWwgd;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾閿�鍞�
+ if (ctrl is UcLookSales)
+ {
+ var txt = ctrl as UcLookSales;
txt.SetIdOrCode("-1");
txt.Enabled = !isEdt;
continue;
@@ -1165,6 +1197,16 @@
txt.Enabled = false;
continue;
}
+ //鑷畾閿�鍞�
+ if (ctrl is UcLookSales)
+ {
+ var txt = ctrl as UcLookSales;
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
if (ctrl is SimpleButton)
{
var txt = ctrl as SimpleButton;
@@ -1188,33 +1230,13 @@
}
return isEdt;
}
- /// <summary>
- /// 鍒囨崲閫夐」鍗�
- /// </summary>
- /// <param name="tabControl">閫夐」鍗″鍣�</param>
- /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param>
- public static void JumpToTab(XtraTabControl tabControl, int idx)
- {
- if (idx == 999)
- {
- for (var i = 0; i < tabControl.TabPages.Count; i++)
- tabControl.TabPages[i].PageEnabled = true;
- tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1;
- return;
- }
-
- for (var i = 0; i < tabControl.TabPages.Count; i++)
- tabControl.TabPages[i].PageEnabled = false;
- tabControl.TabPages[idx].PageEnabled = true;
- tabControl.SelectedTabPageIndex = idx;
- }
/// <summary>
- /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�
+ /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�
/// </summary>
/// <param name="tabControl"></param>
- /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�</param>
+ /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�</param>
public static void JumpTab(XtraTabControl tabControl, int action)
{
@@ -1258,6 +1280,14 @@
tabControl.TabPages[0].PageEnabled = true;
tabControl.TabPages[1].PageEnabled = true;
tabControl.SelectedTabPageIndex = 1;
+ return;
+ }
+
+ if (action == 6)
+ {
+ tabControl.TabPages[0].PageEnabled = true;
+ tabControl.TabPages[1].PageEnabled = true;
+
return;
}
}
@@ -1339,7 +1369,23 @@
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 ToInt(string str)
{
try
@@ -1377,12 +1423,7 @@
return true;
return false;
}
- public string GetIsNullOrEmpty(string str)
- {
- if (string.IsNullOrEmpty(str.Trim()))
- return "{>";
- return str.Trim();
- }
+
/// <summary>
/// 璇诲彇grid鐨勫綋鍓嶈
@@ -1548,7 +1589,6 @@
return rowGuid;
}
}
-
return "";
}
@@ -1566,7 +1606,7 @@
GridView dgv = s as GridView;
if (dgv != null)
{
- if (dgv.GetSelectedRows() != null)
+ if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0)
{
var selectedRow = dgv.GetSelectedRows()[0]; // 鑾峰彇绗竴涓�変腑琛岀殑绱㈠紩
if (selectedRow >= 0)
@@ -1574,7 +1614,7 @@
var checkStatus = dgv.GetRowCellValue(selectedRow, fileName).ToString(); // 鑾峰彇鎸囧畾鍒楃殑鍊�
btnChkIco.Text = checkStatus;
btnChkIco.Visible = true;
- if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper())
+ if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper() || checkStatus == "宸插鏍�")
{
btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
btnChkIco.Tag = "宸插鏍�";
@@ -1585,7 +1625,7 @@
btnChkIco.Tag = "鏈鏍�";
}
btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
- btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌
+ btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 25); // 璺濈椤堕儴10鍍忕礌
}
}
}
@@ -1604,6 +1644,23 @@
/// <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;
@@ -1626,17 +1683,14 @@
if (!string.IsNullOrEmpty(zdChk))
gridView1.SetFocusedRowCellValue(zdChk, false);
}
- btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
- btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌
+
}
+
#region 璁剧疆鎼滅储
- public static string getQueryWord(string str)
+
+ public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type)
{
- return str.ToUpper().Replace("query_".ToUpper(), "");
- }
- public static FilterEntity getFilterEntityWord(string id, string idDec, string val)
- {
- return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "鍖呭惈)", "%" + val + "%");
+ return new FilterEntity(id, idDec + ")", " like ", "鍖呭惈)", "%" + val + "%", type);
}
public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null)
{
@@ -1655,7 +1709,7 @@
// 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()));
+ fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim(), col.UnboundExpression));
}
return fiList;
}
@@ -1680,8 +1734,20 @@
}
}
else
- _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
- itm.fileValue + "'");
+ {
+ switch (itm.fileType)
+ {
+ 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;
+ default:
+ _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
+ break;
+ }
+ }
}
return _sbSqlWhere.ToString();
}
@@ -1690,7 +1756,7 @@
public delegate void DelegateGetModel(string guid);
public delegate void DelegateGetList(int currentPage);
/// <summary>
- ///
+ /// 璁剧疆涓昏〃鐨勬牱寮�
/// </summary>
/// <param name="gridView1">gridview</param>
/// <param name="picCheckBox">鍥炬爣鎸夐挳</param>
@@ -1700,11 +1766,34 @@
/// <param name="action"></param>
public static void SetGridViewParameter(GridView gridView1, PictureBox picCheckBox = null, Form fm = null, string fileName = "checkStatus", string icoName = "", DelegateGetModel action = 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.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
foreach (GridColumn column in gridView1.Columns)
{
+ column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
column.OptionsColumn.AllowEdit = true;
- column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
+ // 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"))
@@ -1785,7 +1874,7 @@
string _isRed = row["isRed"].ToString();
if (_isRed == "1")
{
- e.Appearance.BackColor = Color.LightPink;
+ e.Appearance.ForeColor = Color.Tomato;
}
}
// 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
@@ -1802,7 +1891,6 @@
//}
}
};
-
}
private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e)
{
@@ -1811,7 +1899,24 @@
edit.SelectAll();
}
- public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null)
+ 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) =>
{
@@ -1844,7 +1949,12 @@
}
if (xtraTabControl1.SelectedTabPageIndex == 0)
{
- // page(pageBar1.CurrentPage);
+ page(pageBar1.CurrentPage);
+ int rowHandle = 0;
+ rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
+ if (rowHandle < 0)
+ rowHandle = 0;
+ gridView1.FocusedRowHandle = rowHandle ;
}
};
}
@@ -1859,6 +1969,34 @@
/// <param name="icoName"></param>
public static void SetGridViewParameterMx(GridView gridView1)
{
+ 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;
+ }
gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
gridView1.OptionsFilter.AllowFilterEditor = false;
gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
@@ -1907,7 +2045,7 @@
Regex regex = new Regex("^[0-9]+$");
return regex.IsMatch(str);
}
-
+
}
/// <summary>
@@ -1919,10 +2057,11 @@
{
}
- public CboItemEntity(string val, string text)
+ public CboItemEntity(string val, string text, string fType = "")
{
Text = text;
Value = val;
+ FType = fType;
}
/// <summary>
@@ -1934,6 +2073,8 @@
/// 瀵硅薄鍊�
/// </summary>
public object Value { get; set; } = "";
+
+ public object FType { get; set; } = "";
public override string ToString()
{
@@ -1955,13 +2096,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; }
@@ -1973,5 +2115,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