From c733a40f757501b3b1c95fec58e009e9703786ec Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期六, 07 十二月 2024 15:41:47 +0800
Subject: [PATCH] 细节
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 339 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 276 insertions(+), 63 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index f596b2b..f2a6900 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -13,6 +13,8 @@
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
+using DevExpress.RichEdit.Export;
+using DevExpress.XtraBars.Customization;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid;
@@ -20,11 +22,13 @@
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraTab;
using DevExpress.XtraTreeList;
+using DevExpress.XtraWaitForm;
using Gs.DevApp.Entity;
using Gs.DevApp.UserControl;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using static System.Windows.Forms.Control;
+
namespace Gs.DevApp.ToolBox
{
@@ -64,35 +68,35 @@
/// <param name="meth">鏂规硶鍚嶇О</param>
/// <param name="param">鍙傛暟</param>
/// <returns></returns>
- public static async Task<string> HttpPostAsync(string url, string meth, string param)
- {
- if (string.IsNullOrEmpty(url))
- url = WebApiUrl;
- url += meth;
- var request = (HttpWebRequest)WebRequest.Create(url);
- request.Method = "POST";
- request.ContentType = "application/json";
- request.Headers.Add("token", GetBasicAuthTicket());
- request.Accept = "*/*";
- request.Timeout = 15000;
- request.AllowAutoRedirect = false;
- request.ServicePoint.Expect100Continue = false;
- HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
- request.CachePolicy = noCachePolicy;
- using (Stream requestStream = await request.GetRequestStreamAsync())
- {
- byte[] dataBytes = Encoding.UTF8.GetBytes(param);
- await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
- }
+ //public static async Task<string> HttpPostAsync(string url, string meth, string param)
+ //{
+ // if (string.IsNullOrEmpty(url))
+ // url = WebApiUrl;
+ // url += meth;
+ // var request = (HttpWebRequest)WebRequest.Create(url);
+ // request.Method = "POST";
+ // request.ContentType = "application/json";
+ // request.Headers.Add("token", GetBasicAuthTicket());
+ // request.Accept = "*/*";
+ // request.Timeout = 15000;
+ // request.AllowAutoRedirect = false;
+ // request.ServicePoint.Expect100Continue = false;
+ // HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
+ // request.CachePolicy = noCachePolicy;
+ // using (Stream requestStream = await request.GetRequestStreamAsync())
+ // {
+ // byte[] dataBytes = Encoding.UTF8.GetBytes(param);
+ // await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
+ // }
- using (WebResponse response = await request.GetResponseAsync())
- {
- using (StreamReader reader = new StreamReader(response.GetResponseStream()))
- {
- return await reader.ReadToEndAsync();
- }
- }
- }
+ // using (WebResponse response = await request.GetResponseAsync())
+ // {
+ // using (StreamReader reader = new StreamReader(response.GetResponseStream()))
+ // {
+ // return await reader.ReadToEndAsync();
+ // }
+ // }
+ //}
/// <summary>
/// httpPost璁块棶鏈嶅姟
@@ -103,39 +107,52 @@
/// <returns></returns>
public static string HttpPost(string url, string meth, string param)
{
- if (string.IsNullOrEmpty(url))
- url = WebApiUrl;
- url += meth;
- var request = (HttpWebRequest)WebRequest.Create(url);
- request.Method = "POST";
- request.ContentType = "application/json";
- request.Headers.Add("token", GetBasicAuthTicket());
- request.Accept = "*/*";
- request.Timeout = 15000;
- request.AllowAutoRedirect = false;
- request.ServicePoint.Expect100Continue = false;
- HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
- request.CachePolicy = noCachePolicy;
+ string _caption = "鎷煎懡鍔犺浇涓紝璇风◢鍚�...";
+ DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm(_caption + meth, "鍙嬫儏鎻愮ず");
+ wdf.BackColor = System.Drawing.Color.LightSkyBlue;
+ wdf.Padding = new Padding(15);
+ HttpWebRequest request = null;
StreamWriter requestStream = null;
WebResponse response = null;
string responseStr = null;
try
{
+ if (string.IsNullOrEmpty(url))
+ url = WebApiUrl;
+ url += meth;
+ request = (HttpWebRequest)WebRequest.Create(url);
+ request.Method = "POST";
+ request.ContentType = "application/json";
+ request.Headers.Add("token", GetBasicAuthTicket());
+ request.Accept = "*/*";
+ request.Timeout = 15000;
+ 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)
{
+ wdf.Close();
LogHelper.Debug(url, param + ":" + ex.Message);
throw ex;
}
@@ -145,7 +162,8 @@
requestStream = null;
response = null;
}
-
+ wdf.SetCaption(_caption + "锛�90/100锛�");
+ wdf.Close();
return responseStr;
}
@@ -193,7 +211,14 @@
{
var dt = new DataTable();
foreach (GridColumn col in gv.Columns)
- dt.Columns.Add(col.FieldName, typeof(string));
+ {
+ if (col.UnboundDataType == typeof(System.Boolean))
+ dt.Columns.Add(col.FieldName, typeof(System.Boolean));
+ else
+ {
+ dt.Columns.Add(col.FieldName, typeof(string));
+ }
+ }
gc.BindingContext = new BindingContext();
gc.DataSource = dt;
gc.ForceInitialize();
@@ -293,13 +318,16 @@
{
foreach (GridColumn colmn in gv.Columns)
{
- if (colmn.Name.ToString().Contains("gvMxDel"))
+ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
{
- colmn.Visible = !isEdt;
- break;
+ // colmn.Visible = !isEdt;
+ // break;
+ colmn.OptionsColumn.AllowEdit = true;
}
+ else
+ colmn.OptionsColumn.AllowEdit = !isEdt;
}
- gv.OptionsBehavior.Editable = !isEdt;
+ //gv.OptionsBehavior.Editable = !isEdt;
}
var _btnAry = controls.Find("btnSelect", false);
if (_btnAry.Length > 0)
@@ -542,6 +570,41 @@
txt.Enabled = false;
continue;
}
+
+ //鑷畾瀹㈡埛
+ if (colType is UcLookCustomer)
+ {
+ var txt = colType as UcLookCustomer;
+ txt.SetIdOrCode(strVal);
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
+ //鑷畾鍛樺伐
+ if (colType is UcLookStaff)
+ {
+ var txt = colType as UcLookStaff;
+ txt.SetIdOrCode(strVal);
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
+ //鑷畾缁勭粐
+ if (colType is UcLookOrg)
+ {
+ var txt = colType as UcLookOrg;
+ txt.SetIdOrCode(strVal);
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
+
if (colType is SimpleButton)
{
var txt = colType as SimpleButton;
@@ -572,13 +635,16 @@
{
foreach (GridColumn colmn in gv.Columns)
{
- if (colmn.Name.ToString().Contains("gvMxDel"))
+ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
{
- colmn.Visible = !isEdt;
- break;
+ // colmn.Visible = !isEdt;
+ // break;
+ colmn.OptionsColumn.AllowEdit = true;
}
+ else
+ colmn.OptionsColumn.AllowEdit = !isEdt;
}
- gv.OptionsBehavior.Editable = !isEdt;
+ //gv.OptionsBehavior.Editable = !isEdt;
}
foreach (Control ctrl in controls)
{
@@ -698,6 +764,30 @@
txt.Enabled = !isEdt;
continue;
}
+ //鑷畾瀹㈡埛
+ if (ctrl is UcLookCustomer)
+ {
+ var txt = ctrl as UcLookCustomer;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾瀹㈡埛
+ if (ctrl is UcLookStaff)
+ {
+ var txt = ctrl as UcLookStaff;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾缁勭粐
+ if (ctrl is UcLookOrg)
+ {
+ var txt = ctrl as UcLookOrg;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
if (ctrl is SimpleButton)
{
var txt = ctrl as SimpleButton;
@@ -723,13 +813,16 @@
{
foreach (GridColumn colmn in gv.Columns)
{
- if (colmn.Name.ToString().Contains("gvMxDel"))
+ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
{
- colmn.Visible = !isEdt;
- break;
+ // colmn.Visible = !isEdt;
+ // break;
+ colmn.OptionsColumn.AllowEdit = true;
}
+ else
+ colmn.OptionsColumn.AllowEdit = !isEdt;
}
- gv.OptionsBehavior.Editable = !isEdt;
+ //gv.OptionsBehavior.Editable = !isEdt;
}
foreach (Control ctrl in controls)
{
@@ -836,6 +929,36 @@
if (ctrl is UcLookUnit)
{
var txt = ctrl as UcLookUnit;
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
+ //鑷畾涔夊鎴�
+ if (ctrl is UcLookCustomer)
+ {
+ var txt = ctrl as UcLookCustomer;
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
+ //鑷畾涔夊憳宸�
+ if (ctrl is UcLookStaff)
+ {
+ var txt = ctrl as UcLookStaff;
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
+ continue;
+ }
+ //鑷畾缁勭粐
+ if (ctrl is UcLookOrg)
+ {
+ var txt = ctrl as UcLookOrg;
if (txt.IsReadly == false)
txt.Enabled = !isEdt;
else
@@ -968,6 +1091,14 @@
return 0;
}
}
+
+ public static int ToBit(string str)
+ {
+ if (str.ToUpper() == "true".ToUpper())
+ return 1;
+ return 0;
+ }
+
/// <summary>
/// 璇诲彇grid鐨勫綋鍓嶈
/// </summary>
@@ -1189,7 +1320,7 @@
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(',');
+ 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()));
}
@@ -1212,7 +1343,7 @@
_sbSqlWhere.Append(" and org.FNumber " + itm.fileOper + "'" + itm.fileValue + "'");
else
{
- _sbSqlWhere.Append(" and org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
+ _sbSqlWhere.Append(" and org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
}
}
else
@@ -1222,31 +1353,113 @@
return _sbSqlWhere.ToString();
}
/// <summary>
- /// 鍒濆鍖杇ridview
+ ///
/// </summary>
- /// <param name="gridView1"></param>
- public static void SetGridSear(GridView gridView1)
+ /// <param name="gridView1">gridview</param>
+ /// <param name="btnChkIco">鍥炬爣鎸夐挳</param>
+ /// <param name="fm">褰撳墠绐椾綋</param>
+ /// <param name="fileName">瀛楁</param>
+ /// <param name="icoName">鍥炬爣璺緞</param>
+ public static void SetGridSear(GridView gridView1, PictureBox btnChkIco = null, Form fm = null, string fileName = "checkStatus", string icoName = "")
{
foreach (GridColumn column in gridView1.Columns)
{
column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
column.OptionsFilter.ImmediateUpdateAutoFilter = false;
- column.OptionsColumn.AllowEdit = false;
- if (column.Tag==null || column.Tag.ToString().Length <= 0)
+ // column.OptionsColumn.AllowEdit = false;
+ if (column.Tag == null || column.Tag.ToString().Length <= 0)
column.OptionsFilter.AllowAutoFilter = false;
}
gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False;
gridView1.OptionsFilter.AllowFilterEditor = false;
gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+ gridView1.OptionsCustomization.AllowFilter = false;
+ gridView1.OptionsFind.ShowSearchNavButtons = false;
+ gridView1.OptionsView.ShowAutoFilterRow = true;
+ gridView1.OptionsView.ShowGroupPanel = false;
+ gridView1.IndicatorWidth = 50;
+ gridView1.CustomDrawRowIndicator += (s, e) =>
+ {
+ if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+ e.Info.DisplayText = (e.RowHandle + 1).ToString();
+ };
+ gridView1.CustomDrawEmptyForeground += (s, e) =>
+ {
+ var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+ var f = new Font("寰蒋闆呴粦", 16);
+ var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+ e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+ e.Graphics.DrawString(str, f, Brushes.Gray, r);
+ };
+ if (btnChkIco != null)
+ {
+ gridView1.FocusedRowChanged += (s, e) =>
+ {
+ UtilityHelper.SetCheckIco(s, btnChkIco, fm, fileName, icoName);
+ };
+ }
}
- #endregion
+ /// <summary>
+ /// 璁剧疆鏄庣粏grid鏍峰紡
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="btnChkIco"></param>
+ /// <param name="fm"></param>
+ /// <param name="fileName"></param>
+ /// <param name="icoName"></param>
+ public static void SetGridSearMx(GridView gridView1)
+ {
+ gridView1.OptionsFilter.AllowFilterEditor = false;
+ gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+ gridView1.OptionsCustomization.AllowFilter = false;
+ gridView1.OptionsFind.ShowSearchNavButtons = false;
+ gridView1.OptionsView.ShowAutoFilterRow = false;
+ gridView1.OptionsView.ShowGroupPanel = false;
+ gridView1.IndicatorWidth = 40;
+ gridView1.CustomDrawRowIndicator += (s, e) =>
+ {
+ if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+ e.Info.DisplayText = (e.RowHandle + 1).ToString();
+ };
+ gridView1.CustomDrawEmptyForeground += (s, e) =>
+ {
+ var str = "鏆傛棤鏄庣粏鏁版嵁!";
+ var f = new Font("寰蒋闆呴粦", 16);
+ var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+ e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+ e.Graphics.DrawString(str, f, Brushes.Gray, r);
+ };
+ gridView1.ValidatingEditor += (sender, e) =>
+ {
+ //yz_quantity_0
+ GridView view = sender as GridView;
+ if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_"))
+ {
+ string[] _ary = view.FocusedColumn.Tag.ToString().Split('_');
+ if (_ary.Length > 2)
+ {
+ if (_ary[2] == "0")
+ {
+ double price = 0; if (!Double.TryParse(e.Value as String, out price))
+ { e.Valid = false; e.ErrorText = "璇疯緭鍏ユ纭殑鏁板瓧."; }
+ return;
+ }
+ }
+ }
+ };
+ }
+
+ #endregion
public static bool IsNumeric(string str)
{
Regex regex = new Regex("^[0-9]+$");
return regex.IsMatch(str);
}
+
+
+
}
/// <summary>
--
Gitblit v1.9.3