mrDarker
2025-10-22 e8a27bb203fe2aff70390a5eca002d7438da9b0f
SourceCode/Bond/BondEq/View/SystemLogManagerDlg.cpp
@@ -5,18 +5,15 @@
#include "BondEq.h"
#include "afxdialogex.h"
#include "SystemLogManagerDlg.h"
#include "UserManager.h"
#include "SystemLogManager.h"
// CSystemLogManagerDlg 对话框
IMPLEMENT_DYNAMIC(CSystemLogManagerDlg, CDialogEx)
IMPLEMENT_DYNAMIC(CSystemLogManagerDlg, CBaseDlg)
CSystemLogManagerDlg::CSystemLogManagerDlg(CWnd* pParent /*=nullptr*/)
   : CDialogEx(IDD_DIALOG_SYSTEM_LOG_MANAGER, pParent)
   : CBaseDlg(IDD_DIALOG_SYSTEM_LOG_MANAGER, pParent)
{
}
CSystemLogManagerDlg::~CSystemLogManagerDlg()
@@ -25,7 +22,7 @@
void CSystemLogManagerDlg::DoDataExchange(CDataExchange* pDX)
{
   CDialogEx::DoDataExchange(pDX);
   CBaseDlg::DoDataExchange(pDX);
   DDX_Control(pDX, IDC_COMBO_TYPE, m_comboType);
   DDX_Control(pDX, IDC_COMBO_USER, m_comboUser);
   DDX_Control(pDX, IDC_DATETIMEPICKER_START, m_dateTimeStart);
@@ -61,15 +58,15 @@
   m_listLogs.SetFixedColumnCount(nFixCols);
   // Col
   m_listLogs.SetColumnWidth(nColIdx, 20);
   m_listLogs.SetColumnWidth(nColIdx, 10);
   m_listLogs.SetItemText(nRowIdx, nColIdx++, _T("No."));
   m_listLogs.SetColumnWidth(nColIdx, 70);
   m_listLogs.SetColumnWidth(nColIdx, 10);
   m_listLogs.SetItemText(nRowIdx, nColIdx++, _T("类型"));
   m_listLogs.SetColumnWidth(nColIdx, 150);
   m_listLogs.SetColumnWidth(nColIdx, 100);
   m_listLogs.SetItemText(nRowIdx, nColIdx++, _T("事件"));
   m_listLogs.SetColumnWidth(nColIdx, 70);
   m_listLogs.SetColumnWidth(nColIdx, 30);
   m_listLogs.SetItemText(nRowIdx, nColIdx++, _T("用户"));
   m_listLogs.SetColumnWidth(nColIdx, 70);
   m_listLogs.SetColumnWidth(nColIdx, 50);
   m_listLogs.SetItemText(nRowIdx, nColIdx++, _T("时间"));
   // 创建 20 行空白数据行
@@ -147,10 +144,11 @@
      }
   }
   m_listLogs.Invalidate();
   m_listLogs.UpdateWindow();
   m_listLogs.ExpandColumnsToFit(FALSE);
   m_listLogs.ExpandLastColumn();
   m_listLogs.Invalidate();
   m_listLogs.UpdateWindow();
   UpdatePageInfo();
}
@@ -163,10 +161,12 @@
}
BEGIN_MESSAGE_MAP(CSystemLogManagerDlg, CDialogEx)
BEGIN_MESSAGE_MAP(CSystemLogManagerDlg, CBaseDlg)
   ON_BN_CLICKED(IDC_BUTTON_SEARCH, &CSystemLogManagerDlg::OnBnClickedButtonSearch)
   ON_BN_CLICKED(IDC_BUTTON_PREV_PAGE, &CSystemLogManagerDlg::OnBnClickedButtonPrevPage)
   ON_BN_CLICKED(IDC_BUTTON_NEXT_PAGE, &CSystemLogManagerDlg::OnBnClickedButtonNextPage)
   ON_CBN_SELCHANGE(IDC_COMBO_TYPE, &CSystemLogManagerDlg::OnSelchangeComboType)
   ON_CBN_SELCHANGE(IDC_COMBO_USER, &CSystemLogManagerDlg::OnSelchangeComboUser)
END_MESSAGE_MAP()
@@ -175,9 +175,11 @@
BOOL CSystemLogManagerDlg::OnInitDialog()
{
   CDialogEx::OnInitDialog();
   CBaseDlg::OnInitDialog();
   // TODO:  在此添加额外的初始化
   SetWindowText(_T("系统运行日志"));
   m_nCurrentPage = 1;  // 从第一页开始
   m_nTotalPages = 1;   // 默认总页数为 1
@@ -208,8 +210,6 @@
   // 异常: OCX 属性页应返回 FALSE
}
void CSystemLogManagerDlg::OnBnClickedButtonSearch()
{
   // TODO: 在此添加控件通知处理程序代码
@@ -223,7 +223,6 @@
      AfxMessageBox(errorMsg, MB_ICONERROR);
   }
}
void CSystemLogManagerDlg::OnBnClickedButtonPrevPage()
{
@@ -244,7 +243,6 @@
   }
}
void CSystemLogManagerDlg::OnBnClickedButtonNextPage()
{
   // TODO: 在此添加控件通知处理程序代码
@@ -264,3 +262,30 @@
   }
}
void CSystemLogManagerDlg::OnSelchangeComboType()
{
   // TODO: 在此添加控件通知处理程序代码
   try {
      m_nCurrentPage = 1;
      FillSystemLogManager();
   }
   catch (const std::exception& ex) {
      CString errorMsg;
      errorMsg.Format(_T("切换类型失败:%s"), CString(ex.what()));
      AfxMessageBox(errorMsg, MB_ICONERROR);
   }
}
void CSystemLogManagerDlg::OnSelchangeComboUser()
{
   // TODO: 在此添加控件通知处理程序代码
   try {
      m_nCurrentPage = 1;
      FillSystemLogManager();
   }
   catch (const std::exception& ex) {
      CString errorMsg;
      errorMsg.Format(_T("切换角色失败:%s"), CString(ex.what()));
      AfxMessageBox(errorMsg, MB_ICONERROR);
   }
}