| | |
| | | { |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | public static (Size, string, Color, Padding) getLoading() |
| | | { |
| | | Size _size = new Size(360, 90); |
| | |
| | | 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; |
| | |
| | | txt.Text = strVal; |
| | | } |
| | | } |
| | | |
| | | //自定义仓库 |
| | | if (colType is UcLookCk) |
| | | { |
| | |
| | | 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; |
| | | } |
| | | //自定工序 |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | ctrl.Enabled = !isEdt; |
| | | continue; |
| | | } |
| | | // |
| | | if (ctrl is CheckEdit) |
| | | { |
| | | var txt = ctrl as CheckEdit; |
| | |
| | | txt.IsReadly = isEdt; |
| | | continue; |
| | | } |
| | | |
| | | //自定部门 |
| | | if (ctrl is UcLookDepartment) |
| | | { |
| | |
| | | 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) |
| | | { |
| | | ///永远是只读的 |
| | |
| | | } |
| | | } |
| | | |
| | | /// <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 |
| | | /// </summary> |
| | |
| | | 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) |
| | | { |
| | |
| | | switch (type) |
| | | { |
| | | case "Bit类型": |
| | | string _val = (val.ToUpper()== "true".ToUpper() ? "1": "0"); |
| | | 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) |
| | | { |
| | |
| | | ColumnFilterInfo filter = col.FilterInfo; |
| | | if (string.IsNullOrEmpty(filter.FilterString)) |
| | | continue; |
| | | string _filterString= filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", ""); |
| | | string[] ddd= _filterString.Split(','); |
| | | 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 { |
| | | else |
| | | { |
| | | ddd = _filterString.Split('='); |
| | | _val = ddd[1].Trim(); |
| | | } |
| | |
| | | _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; |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | gridView1.IndicatorWidth = 50; |
| | | gridView1.IndicatorWidth = 60; |
| | | gridView1.CustomDrawRowIndicator += (s, e) => |
| | | { |
| | | if (e.Info.IsRowIndicator && e.RowHandle >= 0) |
| | |
| | | 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) |
| | |
| | | } |
| | | |
| | | #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> |
| | | /// 判断是不是一个有效果的decimal数值 |
| | | /// </summary> |
| | | /// <param name="str"></param> |
| | | /// <returns></returns> |
| | | public static bool IsNumeric2(string str) |
| | | { |
| | | string input = str; |
| | |
| | | return true; |
| | | return false; |
| | | } |
| | | public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd) |
| | | |
| | | /// <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; |
| | |
| | | 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) |
| | | { |
| | | 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); |
| | | } |
| | | |
| | | |
| | | #region 绘制表头全选勾选框 |
| | | /// <summary> |
| | | /// 绘制表头全选勾选框 |