From 2bf1c34ff73d99de936d8880924f66111406dbd6 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期六, 02 十一月 2024 16:43:49 +0800
Subject: [PATCH] 1
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 952 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 898 insertions(+), 54 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 2b078be..3a46885 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,29 +1,98 @@
-锘縰sing Newtonsoft.Json.Linq;
-using System;
+锘縰sing System;
using System.Collections.Generic;
+using System.Configuration;
using System.Data;
-using System.IO;
-using System.Linq;
-using System.Net;
-using System.Reflection;
-using System.Text;
-using System.Resources;
using System.Drawing;
-using Newtonsoft.Json;
-using Gs.DevApp.Models;
+using System.IO;
+using System.Net;
+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 DevExpress.Office.Model;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraGrid;
+using DevExpress.XtraGrid.Columns;
+using DevExpress.XtraGrid.Views.Grid;
+using DevExpress.XtraTab;
+using DevExpress.XtraTreeList;
+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
{
/// <summary>
- /// 閫氱敤绫�
+ /// 閫氱敤绫�
/// </summary>
public class UtilityHelper
{
- private static string WebApiUrl = System.Configuration.ConfigurationSettings.AppSettings.Get("WebApiUrl").ToString();
+ 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>
+ /// httpPost璁块棶鏈嶅姟
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <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;
+ 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();
+ }
+ }
+ }
/// <summary>
- /// httpPost璁块棶鏈嶅姟
+ /// httpPost璁块棶鏈嶅姟
/// </summary>
/// <param name="url">鏈嶅姟鍦板潃</param>
/// <param name="meth">鏂规硶鍚嶇О</param>
@@ -34,7 +103,7 @@
if (string.IsNullOrEmpty(url))
url = WebApiUrl;
url += meth;
- HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
+ var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add("token", GetBasicAuthTicket());
@@ -52,7 +121,8 @@
response = request.GetResponse();
if (response != null)
{
- StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
+ var reader = new StreamReader(response.GetResponseStream(),
+ Encoding.UTF8);
responseStr = reader.ReadToEnd();
//File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr);
reader.Close();
@@ -60,6 +130,7 @@
}
catch (Exception ex)
{
+ LogHelper.Debug(url, param + ":" + ex.Message);
throw ex;
}
finally
@@ -68,97 +139,870 @@
requestStream = null;
response = null;
}
+
return responseStr;
}
+
/// <summary>
- /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
+ /// 榛樿椤靛ぇ灏�
+ /// </summary>
+ /// <returns></returns>
+ public static int GetPageSize()
+ {
+ return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
/// </summary>
/// <param name="imageName"></param>
/// <param name="lay">1涓哄ぇ鍥�</param>
/// <returns></returns>
public static Image GetImgFromResource(string imageName, int lay)
{
- // 鑾峰彇褰撳墠绋嬪簭闆�
- Assembly assembly = Assembly.GetExecutingAssembly();
- // 鍒涘缓璧勬簮绠$悊鍣ㄦ潵璁块棶璧勬簮
- ResourceManager resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
- // 灏濊瘯鑾峰彇鍥剧墖璧勬簮
+ var assembly = Assembly.GetExecutingAssembly();
+ var resourceManager =
+ new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
try
{
- Image image = resourceManager.GetObject(imageName) as Image;
- if (image != null)
- {
- return image;
- }
+ var image = resourceManager.GetObject(imageName) as Image;
+ if (image != null) return image;
}
catch (Exception ex)
{
}
- Image image2 = resourceManager.GetObject(lay == 1 ? "chartsshowlegend_32x32" : "linktoprevious_16x16") as Image;
+
+ var image2 = resourceManager.GetObject(lay == 1
+ ? "chartsshowlegend_32x32"
+ : "linktoprevious_16x16") as Image;
return image2;
}
+
/// <summary>
- /// 鐢熸垚token
+ /// 鍒濆鍖栦竴涓〃
+ /// </summary>
+ /// <param name="gc"></param>
+ /// <param name="gv"></param>
+ public static void SetDefaultTable(GridControl gc, GridView gv)
+ {
+ var dt = new DataTable();
+ foreach (GridColumn col in gv.Columns)
+ dt.Columns.Add(col.FieldName, typeof(string));
+ gc.BindingContext = new BindingContext();
+ gc.DataSource = dt;
+ gc.ForceInitialize();
+ }
+
+ /// <summary>
+ /// 鐢熸垚璁块棶鏈嶅姟鐨則oken
/// </summary>
/// <returns></returns>
public static string GetBasicAuthTicket()
{
- string userGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid;
- string orgGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginOrgGuid;
- string token = (userGuid + "~" + orgGuid);
+ var userGuid =
+ 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;
return token;
}
+
/// <summary>
- /// 鏍囧噯json涓茶繑鍥濺eturnModel-->table锛�
+ /// 鏈嶅姟杩斿洖鐨刯son杞负ReturnModel-->鍖呭惈TablePage鍒嗛〉锛�
/// </summary>
/// <param name="strReturn"></param>
/// <returns></returns>
- public static ReturnModel<PageListModel> GetTableByJson(string strReturn)
+ public static ReturnModel<PageListModel> ReturnToTablePage(
+ string strReturn)
{
- ReturnModel<PageListModel> rto = new ReturnModel<PageListModel>();
- JObject json = JObject.Parse(strReturn);
+ var rto = new ReturnModel<PageListModel>();
+ var json = JObject.Parse(strReturn);
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
rto.rtnMsg = json["rtnMsg"].ToString();
rto.rtnData = new PageListModel();
rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString());
rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString());
- rto.rtnData.everyPageSize = int.Parse(json["rtnData"]["everyPageSize"].ToString());
- JArray array = new JArray();
+ rto.rtnData.everyPageSize =
+ int.Parse(json["rtnData"]["everyPageSize"].ToString());
+ var array = new JArray();
var d = json["rtnData"]["list"];
- foreach (var a in d)
- {
- array.Add(a);
- }
- DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+ foreach (var a in d) array.Add(a);
+ var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
rto.rtnData.list = dt;
return rto;
}
+
/// <summary>
- /// 鏍囧噯json涓茶繑鍥濺eturnModel->瀛楃涓诧紝
+ /// 鏈嶅姟杩斿洖鐨刯son杩斿洖ReturnModel锛�
/// </summary>
/// <param name="strReturn"></param>
/// <returns></returns>
- public static ReturnModel<dynamic> GetDataByJson(string strReturn)
+ public static ReturnModel<dynamic> ReturnToDynamic(string strReturn)
{
- ReturnModel<dynamic> rto = new ReturnModel<dynamic>();
- JObject json = JObject.Parse(strReturn);
+ var rto = new ReturnModel<dynamic>();
+ var json = JObject.Parse(strReturn);
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
rto.rtnMsg = json["rtnMsg"].ToString();
rto.rtnData = json["rtnData"];
return rto;
}
+
/// <summary>
- /// 璁剧疆绯荤粺瀛椾綋澶у皬锛岀洰鍓嶅苟涓嶉�氱敤
+ /// 鏈嶅姟杩斿洖鐨刯son涓茶繑鍥濺eturnModel-->浠呬粎鏈塴ist,涓嶅垎椤碉紝
/// </summary>
- public static float GetFontSize = 10;
- public static void SetFont(Control control)
+ /// <param name="strReturn"></param>
+ /// <returns></returns>
+ public static ReturnModel<DataTable> ReturnToList(string strReturn)
{
- float size = GetFontSize;
- foreach (Control childControl in control.Controls)
+ var rto = new ReturnModel<DataTable>();
+ var json = JObject.Parse(strReturn);
+ rto.rtnCode = int.Parse(json["rtnCode"].ToString());
+ rto.rtnMsg = json["rtnMsg"].ToString();
+ rto.rtnData = new DataTable();
+ var array = new JArray();
+ var d = json["rtnData"];
+ foreach (var a in d) array.Add(a);
+ var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+ rto.rtnData = dt;
+ return rto;
+ }
+
+ /// <summary>
+ /// 鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰妗嗙殑鍊�
+ /// </summary>
+ /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+ /// <param name="dynamicObject">瀵瑰儚</param>
+ /// <param name="isEdt">鏄惁鍙紪杈�</param>
+ /// <param name="gridViews">鍏宠仈鐨刧rid</param>
+ public static void SetValueByObj(ControlCollection controls,
+ dynamic dynamicObject, bool isEdt, List<GridView> gridViews = null)
+ {
+ isEdt = !isEdt;
+ if (gridViews != null)
+ foreach (var gv in gridViews)
+ gv.OptionsBehavior.Editable = !isEdt;
+
+ var _btnAry= controls.Find("btnSelect", false);
+ if (_btnAry.Length > 0) {
+ var _btnType = _btnAry[0];
+ _btnType.Enabled = !isEdt;
+ }
+
+ foreach (JProperty property in dynamicObject.Properties())
{
- childControl.Font = new Font(childControl.Font.FontFamily, size, childControl.Font.Style);
- SetFont(childControl);
+ var strName = property.Name;
+ var strVal = property.Value.ToString();
+ try
+ {
+ var _dddddd = "txt_" + strName;
+ var cols = controls.Find(_dddddd, true);
+ if (cols.Length > 0)
+ {
+ var colType = cols[0];
+ if (colType is LookUpEdit)
+ {
+ var txt = colType as LookUpEdit;
+ if (txt != null) txt.EditValue = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ if (colType is ImageComboBoxEdit)
+ {
+ var txt = colType as ImageComboBoxEdit;
+ for (var i = 0; i < txt.Properties.Items.Count; i++)
+ {
+ if (txt.Properties.Items[i].Description ==
+ strVal)
+ {
+ txt.ReadOnly = isEdt;
+ txt.SelectedIndex = i;
+ }
+ }
+ continue;
+ }
+
+ if (colType is ComboBoxEdit)
+ {
+ var txt = colType as ComboBoxEdit;
+ if (txt.Properties.TextEditStyle ==
+ TextEditStyles.DisableTextEditor)
+ txt.SelectedIndex = int.Parse(strVal);
+ else
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //涓嬫媺
+ if (colType is ComboBoxEdit)
+ {
+ var txt = colType as ComboBoxEdit;
+ if (txt.Properties.TextEditStyle ==
+ TextEditStyles.DisableTextEditor)
+ txt.SelectedIndex = int.Parse(strVal);
+ else
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //鑷畾涔変笅鎷�
+ if (colType is UcComBox)
+ {
+ var txt = colType as UcComBox;
+ txt.Val = strVal;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+
+ //鏂囨湰
+ if (colType is TextEdit)
+ {
+ var txt = colType as TextEdit;
+ if (txt != null)
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (colType is MemoEdit)
+ {
+ var txt = colType as MemoEdit;
+ if (txt != null)
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //鏁板瓧鍗�
+ if (colType is NumericUpDown)
+ {
+ var txt = colType as NumericUpDown;
+ if (txt != null)
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //鍗曢��
+ if (colType is CheckEdit)
+ {
+ var txt = colType as CheckEdit;
+ if (txt != null)
+ switch (strVal)
+ {
+ case "True":
+ txt.Checked = true;
+ break;
+ case "1":
+ txt.Checked = true;
+ break;
+ case "False":
+ txt.Checked = false;
+ break;
+ default:
+ txt.Checked = false;
+ break;
+ }
+
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //鍗曢��
+ if (colType is CheckBox)
+ {
+ var txt = colType as CheckBox;
+ if (txt != null)
+ txt.Checked = bool.Parse(strVal);
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ if (colType is CheckEdit)
+ {
+ var txt = colType as CheckEdit;
+ if (txt != null)
+ txt.Checked = bool.Parse(strVal);
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏃堕棿
+ if (colType is DateTimePicker)
+ {
+ var txt = colType as DateTimePicker;
+ txt.Text = strVal;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+
+ //Label
+ if (colType is Label)
+ {
+ var txt = colType as Label;
+ if (_dddddd == "txt_checkStatus")
+ {
+ if (strVal == "True" || strVal=="1")
+ txt.Text = "宸插鏍�";
+ if (strVal == "False" || strVal=="0" || strVal=="")
+ txt.Text = "鏈鏍�";
+ }
+ else
+ {
+ txt.Text = strVal;
+ }
+ }
+ //鑷畾涔変粨搴�
+ if (colType is UcLookCk)
+ {
+ var txt = colType as UcLookCk;
+ txt.SetIdOrCode( strVal);
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾涔変緵搴斿晢
+ if (colType is UcLookSupplier)
+ {
+ var txt = colType as UcLookSupplier;
+ txt.SetIdOrCode(strVal);
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾涔夌墿鏂�
+ if (colType is UcLookItems)
+ {
+ var txt = colType as UcLookItems;
+ txt.SetIdOrCode(strVal);
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ if (colType is SimpleButton)
+ {
+ var txt = colType as SimpleButton;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ }
}
}
+
+ /// <summary>
+ /// 娓呯┖瀹瑰櫒閲岄潰鐨勬帶浠�
+ /// </summary>
+ /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+ /// <param name="isEdt">鏄惁鍙紪杈�</param>
+ /// <param name="gridViews">鍏宠仈鐨刧rid</param>
+ public static void CleanValueByControl(ControlCollection controls,
+ bool isEdt, List<GridView> gridViews = null)
+ {
+ isEdt = !isEdt;
+ if (gridViews != null)
+ foreach (var gv in gridViews)
+ gv.OptionsBehavior.Editable = !isEdt;
+ foreach (Control ctrl in controls)
+ {
+ //澶氳鏂囨湰
+ if (ctrl is MemoEdit)
+ {
+ var txt = ctrl as MemoEdit;
+ txt.Text = "";
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //涓嬫媺
+ if (ctrl is ComboBoxEdit)
+ {
+ var txt = ctrl as ComboBoxEdit;
+ if (txt.Properties.TextEditStyle ==
+ TextEditStyles.DisableTextEditor)
+ txt.SelectedIndex = 0;
+ else
+ txt.Text = "";
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //鑷畾涔夌殑涓嬫媺
+ if (ctrl is UcComBox)
+ {
+ var txt = ctrl as UcComBox;
+ txt.Val = "0";
+ txt.Enabled = !isEdt;
+ continue;
+ }
+
+ //鏂囨湰
+ if (ctrl is TextEdit)
+ {
+ var txt = ctrl as TextEdit;
+ txt.Text = "";
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (ctrl is MemoEdit)
+ {
+ var txt = ctrl as MemoEdit;
+ if (txt != null)
+ txt.Text = "";
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏃堕棿
+ if (ctrl is DateTimePicker)
+ {
+ var txt = ctrl as DateTimePicker;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鍗曢��
+ if (ctrl is CheckBox)
+ {
+ var txt = ctrl as CheckBox;
+ txt.Checked = false;
+ txt.Enabled = !isEdt;
+ }
+ if (ctrl is CheckEdit)
+ {
+ var txt = ctrl as CheckEdit;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+
+ //鑷畾涔変粨搴�
+ if (ctrl is UcLookCk)
+ {
+ var txt = ctrl as UcLookCk;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾涔変緵搴斿晢
+ if (ctrl is UcLookSupplier)
+ {
+ var txt = ctrl as UcLookSupplier;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾涔夌墿鏂�
+ if (ctrl is UcLookItems)
+ {
+ var txt = ctrl as UcLookItems;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ if (ctrl is SimpleButton)
+ {
+ var txt = ctrl as SimpleButton;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+
+ }
+ }
+
+ /// <summary>
+ /// 绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢
+ /// </summary>
+ /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+ /// <param name="isEdt"></param>
+ /// <param name="gridViews"></param>
+ public static void ChangeEnableByControl(ControlCollection controls,
+ bool isEdt, List<GridView> gridViews = null)
+ {
+ isEdt = !isEdt;
+ if (gridViews != null)
+ foreach (var gv in gridViews)
+ gv.OptionsBehavior.Editable = !isEdt;
+ foreach (Control ctrl in controls)
+ {
+ //鏂囨湰
+ if (ctrl is TextEdit)
+ {
+ var txt = ctrl as TextEdit;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (ctrl is MemoEdit)
+ {
+ var txt = ctrl as MemoEdit;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏁板瓧鍗�
+ if (ctrl is NumericUpDown)
+ {
+ var txt = ctrl as NumericUpDown;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //涓嬫媺
+ if (ctrl is UcComBox)
+ {
+ var txt = ctrl as UcComBox;
+ txt.Val = "0";
+ txt.Enabled = !isEdt;
+ continue;
+ }
+
+ //鏃ユ湡
+ if (ctrl is DateTimePicker)
+ {
+ ctrl.Enabled = !isEdt;
+ continue;
+ }
+
+ //鍗曢��
+ if (ctrl is CheckBox) {
+ ctrl.Enabled = !isEdt;
+ continue;
+ }
+
+ if (ctrl is CheckEdit)
+ {
+ var txt = ctrl as CheckEdit;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ }
+ }
+
+ /// <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>
+ /// TreeView鑱斿姩閫夋嫨
+ /// </summary>
+ /// <param name="e"></param>
+ public static void TreeViewCheck(TreeViewEventArgs e)
+ {
+ try
+ {
+ if (e.Node.Nodes.Count > 0)
+ foreach (TreeNode tn in e.Node.Nodes)
+ {
+ tn.Checked = e.Node.Checked;
+ foreach (TreeNode x in tn.Nodes)
+ {
+ x.Checked = e.Node.Checked;
+ foreach (TreeNode y in x.Nodes)
+ y.Checked = e.Node.Checked;
+ }
+ }
+
+ if (e.Node.Checked && e.Node.Parent != null &&
+ e.Node.Parent.Nodes.Count > 0)
+ {
+ var currentNode = e.Node;
+ while (currentNode != null)
+ {
+ currentNode.Checked = e.Node.Checked;
+ currentNode = currentNode.Parent;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MsgHelper.ShowError(ex.Message);
+ }
+ }
+
+ /// <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
+ /// </summary>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ public static Guid ToGuid(string str)
+ {
+ if (string.IsNullOrEmpty(str)) return Guid.Empty;
+ return Guid.Parse(str);
+ }
+
+ /// <summary>
+ /// 璇诲彇grid鐨勫綋鍓嶈
+ /// </summary>
+ /// <param name="xtraTabControl1"></param>
+ /// <param name="lbGuid">缂栬緫妗嗕腑鐨勪富閿悕</param>
+ /// <param name="txtName">缂栬緫妗嗕腑鐨勬枃鏈鍚�</param>
+ /// <param name="gridView1"></param>
+ /// <param name="SelectedTabPageIndex"></param>
+ /// <returns></returns>
+ public static (string, string) GetCurrentRow(
+ XtraTabControl xtraTabControl1
+ , Label lbGuid
+ , TextEdit txtName
+ , GridView gridView1
+ , int SelectedTabPageIndex = 1)
+ {
+ var _strGuid = "";
+ var _strName = "";
+ if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+ lbGuid.Text.Length > 10)
+ {
+ _strGuid = lbGuid.Text.Trim();
+ _strName = txtName.Text.Trim();
+ }
+ else
+ {
+ var dr = gridView1.GetFocusedDataRow();
+ if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+ {
+ }
+ else
+ {
+ _strGuid = dr["guid"].ToString();
+ _strName = dr[1].ToString();
+ }
+ }
+
+ return (_strGuid, _strName);
+ }
+
+ /// <summary>
+ /// 璇诲彇TreeView鐨勫綋鍓嶈
+ /// </summary>
+ /// <param name="xtraTabControl1"></param>
+ /// <param name="lbGuid"></param>
+ /// <param name="txtName"></param>
+ /// <param name="tlMenu"></param>
+ /// <param name="SelectedTabPageIndex"></param>
+ /// <returns></returns>
+ public static (string, string) GetCurrentRow(
+ XtraTabControl xtraTabControl1
+ , Label lbGuid
+ , TextEdit txtName
+ , TreeView tlMenu
+ , int SelectedTabPageIndex = 1)
+ {
+ var _strGuid = "";
+ var _strName = "";
+ if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+ lbGuid.Text.Length > 10)
+ {
+ _strGuid = lbGuid.Text.Trim();
+ _strName = txtName.Text.Trim();
+ }
+ else
+ {
+ var clickedNode = tlMenu.SelectedNode;
+ if (clickedNode != null)
+ {
+ _strGuid = clickedNode.Name;
+ _strName = clickedNode.Text.Trim();
+ }
+ }
+
+ return (_strGuid, _strName);
+ }
+
+ /// <summary>
+ /// 璇诲彇TreeList鐨勫綋鍓嶈
+ /// </summary>
+ /// <param name="xtraTabControl1"></param>
+ /// <param name="lbGuid"></param>
+ /// <param name="txtName"></param>
+ /// <param name="tlMenu"></param>
+ /// <param name="SelectedTabPageIndex"></param>
+ /// <returns></returns>
+ public static (string, string) GetCurrentRow(
+ XtraTabControl xtraTabControl1
+ , Label lbGuid
+ , TextEdit txtName
+ , TreeList tlMenu
+ , int SelectedTabPageIndex = 1)
+ {
+ var _strGuid = "";
+ var _strName = "";
+ if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+ lbGuid.Text.Length > 10)
+ {
+ _strGuid = lbGuid.Text.Trim();
+ _strName = txtName.Text.Trim();
+ }
+ else
+ {
+ _strGuid = tlMenu.FocusedNode.GetValue("guid").ToString();
+ _strName = tlMenu.FocusedNode.GetValue(0).ToString();
+ }
+
+ return (_strGuid, _strName);
+ }
+
+ /// <summary>
+ /// 璇诲彇GridView鍙屽嚮鐨勪富閿�
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="e"></param>
+ /// <param name="colName"></param>
+ /// <returns></returns>
+ public static string GetCurrentDoubleRow(GridView gridView1
+ , MouseEventArgs e
+ , string colName)
+ {
+ var info = gridView1.CalcHitInfo(e.Location);
+ if (info.InRow)
+ {
+ var view = info.View;
+ if (view != null)
+ {
+ var row = view.GetDataRow(info.RowHandle);
+ if (row != null)
+ {
+ var rowGuid = row[colName].ToString();
+ return rowGuid;
+ }
+ }
+ }
+
+ return "";
+ }
+
+
+ /// <summary>
+ /// 璇诲彇GridView鍙屽嚮鐨勪富閿�
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="e"></param>
+ /// <param name="colName"></param>
+ /// <returns></returns>
+ public static string GetCurrentDoubleRow(TreeList tlMenu
+ , MouseEventArgs e
+ , string colName)
+ {
+ var info = tlMenu.CalcHitInfo(e.Location);
+ if (info.Node != null)
+ {
+ var clickedNode = tlMenu.FocusedNode;
+ if (clickedNode.FirstNode == null)
+ {
+ var rowGuid = clickedNode.GetValue(colName).ToString();
+ return rowGuid;
+ }
+ }
+
+ return "";
+ }
}
-}
+
+ /// <summary>
+ /// 涓嬫媺妗嗘潯鐩被
+ /// </summary>
+ public class CboItemEntity
+ {
+ public CboItemEntity()
+ {
+ }
+
+ public CboItemEntity(string val, string text)
+ {
+ Text = text;
+ Value = val;
+ }
+
+ /// <summary>
+ /// 鏄剧ず鍊�
+ /// </summary>
+ public object Text { get; set; } = 0;
+
+ /// <summary>
+ /// 瀵硅薄鍊�
+ /// </summary>
+ public object Value { get; set; } = "";
+
+ public override string ToString()
+ {
+ return Text.ToString();
+ }
+ }
+
+ /// <summary>
+ /// 鏌ヨ妗�
+ /// </summary>
+ public class FilterEntity
+ {
+ /// <summary>
+ /// </summary>
+ /// <param name="id">瀛楁鍚�</param>
+ /// <param name="idDec">瀛楁鍚嶅娉�</param>
+ /// <param name="oper">鎿嶄綔绗�</param>
+ /// <param name="operDec">鎿嶄綔绗﹀娉�</param>
+ /// <param name="val"></param>
+ public FilterEntity(string id, string idDec, string oper,
+ string operDec, string val)
+ {
+ fileId = id;
+ fileIdDec = idDec;
+ fileOper = oper;
+ fileOperDec = operDec;
+ fileValue = val;
+ }
+
+ public string fileId { get; set; }
+
+ public string fileIdDec { get; set; }
+
+ public string fileOper { get; set; }
+
+ public string fileOperDec { get; set; }
+
+ public string fileValue { get; set; }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3