using DevExpress.XtraEditors; using DevExpress.XtraLayout; using Yw; using Yw.WinFrmUI; namespace IBox.WinFrmUI { public partial class IBoxFormLog : DocumentPage { public IBoxFormLog() { this.PageTitle.Caption = "日志管理"; InitializeComponent(); } public void HideButton() { //simpleButton1.Visible = simpleButton2.Visible = false; /*layoutControlItem2.Visibility =*/ layoutControlItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; } private void EboxFormLog_Load(object sender, EventArgs e) { this.dateEditStartDate.EditValue = DateTime.Now.ToString("yyyy-MM-dd"); this.dateEditEndDate.EditValue = DateTime.Now.ToString("yyyy-MM-dd"); SetData(); var m = new GetCalcValueModel() { StartDate = DateTime.Parse(this.dateEditStartDate.EditValue.ToString()), EndDate = DateTime.Parse(this.dateEditEndDate.EditValue.ToString()), LogEvent = "", LogResult = "" }; SendText(IBoxHelper.startCode + IBoxHelper.getlogCode + IBoxHelper.paramCode + JsonHelper.Object2Json(m) + IBoxHelper.endCode); } public void SetData() { var dic = GetDic(); imageComboBoxEdit1.Properties.Items.Add("全部", "", -1); foreach (var item in dic) { imageComboBoxEdit1.Properties.Items.Add(item.Value, item.Key, -1); } imageComboBoxEdit2.Properties.Items.Add("全部", "", -1); imageComboBoxEdit2.Properties.Items.Add("成功", "success", -1); imageComboBoxEdit2.Properties.Items.Add("提示", "info", -1); imageComboBoxEdit2.Properties.Items.Add("失败", "fail", -1); imageComboBoxEdit2.Properties.Items.Add("异常", "error", -1); imageComboBoxEdit1.SelectedIndex = 0; imageComboBoxEdit2.SelectedIndex = 0; } public event EventHandler SendData; private void SendText(string content) { if (SendData != null) { SendData?.Invoke(null, content); } else { if (IBoxHelper.Ping()) { var smsg = content.Split(new string[] { IBoxHelper.paramCode, IBoxHelper.startCode }, StringSplitOptions.RemoveEmptyEntries); if (smsg.Length < 2) { return; } switch (smsg[0].Trim()) { case IBoxHelper.getlogCode: { var order = IBoxHelper.HttpGet(content); var result = IBoxHelper.GetContent(order); if (!string.IsNullOrEmpty(result)) { var model = JsonHelper.Json2Object>(result); BindData(model, false); } break; } default: IBoxHelper.HttpGet(content); break; } } else { MessageBoxHelper.ShowWarning("网络连接失败,请检查网络"); } } } private void simpleButton1_Click(object sender, EventArgs e) { Search(); } /// /// 查询 /// public void Search() { //查询 var m = new GetCalcValueModel() { StartDate = DateTime.Parse(this.dateEditStartDate.EditValue.ToString()), EndDate = DateTime.Parse(this.dateEditEndDate.EditValue.ToString()), LogResult = imageComboBoxEdit2.EditValue?.ToString(), LogEvent = imageComboBoxEdit1.EditValue?.ToString() }; SendText(IBoxHelper.startCode + IBoxHelper.getlogCode + IBoxHelper.paramCode + JsonHelper.Object2Json(m) + IBoxHelper.endCode); } private void simpleButton2_Click(object sender, EventArgs e) { Clear(); } /// /// 清空 /// public void Clear() { //清空 this.Invoke(new Action(() => { eboxLogViewModelBindingSource.DataSource = null; this.gridView1.RefreshData(); })); SendText(IBoxHelper.startCode + IBoxHelper.clearlogCode + IBoxHelper.paramCode + IBoxHelper.endCode); } private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { if (e.Column.FieldName == "LogResult") { var celValue = e.CellValue.ToString(); var celNewValue = "成功"; switch (celValue) { case "info": celNewValue = "提示"; e.Appearance.ForeColor = Color.Blue; break; case "fail": celNewValue = "失败"; e.Appearance.ForeColor = Color.Coral; break; case "error": celNewValue = "异常"; e.Appearance.ForeColor = Color.Red; break; default: celNewValue = "成功"; e.Appearance.ForeColor = Color.Green; break; } e.CellValue = celNewValue; } } private Dictionary GetDic() { return new Dictionary { { "controll", "智能控制" }, { "postdata", "数据推送" }, { "default", "常规" }, { "datadocking", "数据采集" }, }; } private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.FieldName == "LogEvent") { var celValue = e.Value.ToString(); var celNewValue = ""; // 创建一个字典,键为字符串,值为字符串 var commandDescriptions = GetDic(); string key = celValue; string value; if (commandDescriptions.TryGetValue(key, out value)) { celNewValue = value; } e.DisplayText = celNewValue; } if (e.Column.FieldName == "LogResult") { var celValue = e.Value.ToString(); var celNewValue = "成功"; switch (celValue) { case "info": celNewValue = "提示"; break; case "fail": celNewValue = "失败"; break; case "error": celNewValue = "异常"; break; default: celNewValue = "成功"; break; } e.DisplayText = celNewValue; } } /// /// 绑定数据 /// /// /// public void BindData(List eboxLogs, bool isBlue = true) { if (isBlue) { this.Invoke(new Action(() => { eboxLogViewModelBindingSource.DataSource = eboxLogs; this.gridView1.RefreshData(); })); } else { eboxLogViewModelBindingSource.DataSource = eboxLogs; this.gridView1.RefreshData(); } } } }