| | |
| | | using DevExpress.Utils; |
| | | using DevExpress.XtraEditors; |
| | | using DevExpress.XtraEditors.Controls; |
| | | using DevExpress.XtraEditors.Drawing; |
| | | using DevExpress.XtraGrid; |
| | | using DevExpress.XtraGrid.Columns; |
| | | using DevExpress.XtraGrid.Menu; |
| | |
| | | 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; |
| | |
| | | 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"></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(); |
| | |
| | | wdf.BackColor = _color; |
| | | wdf.Padding = _pad; |
| | | wdf.SetCaption("加载进度:" + meth); |
| | | wdf.Visible = isLoading; |
| | | HttpWebRequest request = null; |
| | | StreamWriter requestStream = null; |
| | | WebResponse response = null; |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 默认页大小 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static int GetPageSize() |
| | | { |
| | | return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize")); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据图片名读取资源文件,不带后缀名 |
| | | /// </summary> |
| | | /// <param name="imageName"></param> |
| | |
| | | gc.BindingContext = new BindingContext(); |
| | | gc.DataSource = dt; |
| | | gc.ForceInitialize(); |
| | | gv.BestFitColumns(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | 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; |
| | |
| | | { |
| | | foreach (var gv in gridViews) |
| | | { |
| | | gv.ClearSorting(); |
| | | gv.OptionsCustomization.AllowSort = isEdt; |
| | | foreach (GridColumn colmn in gv.Columns) |
| | | { |
| | | colmn.OptionsColumn.AllowEdit = true; |
| | |
| | | { |
| | | foreach (var gv in gridViews) |
| | | { |
| | | gv.ClearSorting(); |
| | | gv.OptionsCustomization.AllowSort = isEdt; |
| | | foreach (GridColumn colmn in gv.Columns) |
| | | { |
| | | colmn.OptionsColumn.AllowEdit = true; |
| | |
| | | { |
| | | foreach (var gv in gridViews) |
| | | { |
| | | gv.ClearSorting(); |
| | | gv.OptionsCustomization.AllowSort = isEdt; |
| | | foreach (GridColumn colmn in gv.Columns) |
| | | { |
| | | colmn.OptionsColumn.AllowEdit = true; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | /// <summary> |
| | | /// 判断控件只读状态 |
| | | /// </summary> |
| | | /// <param name="obj"></param> |
| | | /// <param name="isEdt"></param> |
| | | /// <returns></returns> |
| | | private static bool _isRead(object obj, bool isEdt = false) |
| | | { |
| | | ///永远是只读的 |
| | |
| | | } |
| | | } |
| | | |
| | | /// <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> |
| | | /// 转Guid |
| | |
| | | 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) |
| | | { |
| | |
| | | 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) |
| | | { |
| | |
| | | DataRow row = gridView1.GetDataRow(e.RowHandle); |
| | | if (row == null) |
| | | return; |
| | | //这是danger色 |
| | | bool columnExists = row.Table.Columns.Contains("isRed"); |
| | | if (columnExists == true) |
| | | { |
| | |
| | | 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); |
| | | } |
| | | } |
| | | // 设置焦点行的背景色 |
| | |
| | | } |
| | | action(_guid); |
| | | } |
| | | if (xtraTabControl1.SelectedTabPageIndex == 0) |
| | | if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0) |
| | | { |
| | | page(pageBar1.CurrentPage); |
| | | int rowHandle = 0; |
| | |
| | | /// <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) => |
| | | { |
| | |
| | | } |
| | | } |
| | | }; |
| | | |
| | | 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 |
| | |
| | | return true; |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 判断是不是一个有效的正整数 |
| | | /// </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) |
| | |
| | | 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) |
| | | txt_yuliang.Text = 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, DevExpress.XtraEditors.TextEdit txt_yuliang = null) |
| | | { |
| | |
| | | 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> |
| | | /// 绘制表头全选勾选框 |
| | |
| | | } |
| | | } |
| | | #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> |
| | |
| | | |
| | | public string fileType { get; set; } |
| | | } |
| | | |
| | | |
| | | public enum QcSeason |
| | | { |
| | | iqc, |
| | | ipqc巡检, |
| | | ipqc首检, |
| | | fqc, |
| | | 生产退料入库检, |
| | | 其它入库检, |
| | | 销售退货入库检, |
| | | 超期检 |
| | | } |
| | | |
| | | |
| | | |
| | | } |