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<string> 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<List<IBoxLogViewModel>>(result);
|
BindData(model, false);
|
}
|
break;
|
}
|
default:
|
IBoxHelper.HttpGet(content);
|
break;
|
}
|
}
|
else
|
{
|
MessageBoxHelper.ShowWarning("网络连接失败,请检查网络");
|
}
|
}
|
}
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
{
|
Search();
|
}
|
|
/// <summary>
|
/// 查询
|
/// </summary>
|
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();
|
}
|
|
/// <summary>
|
/// 清空
|
/// </summary>
|
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<string, string> GetDic()
|
{
|
return new Dictionary<string, string>
|
{
|
{ "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;
|
}
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
/// <param name="eboxLogs"></param>
|
/// <param name="isBlue"></param>
|
public void BindData(List<IBoxLogViewModel> eboxLogs, bool isBlue = true)
|
{
|
if (isBlue)
|
{
|
this.Invoke(new Action(() =>
|
{
|
eboxLogViewModelBindingSource.DataSource = eboxLogs;
|
this.gridView1.RefreshData();
|
}));
|
}
|
else
|
{
|
eboxLogViewModelBindingSource.DataSource = eboxLogs;
|
this.gridView1.RefreshData();
|
}
|
}
|
}
|
}
|