LAPTOP-SNT8I5JK\Boounion
2025-05-10 709e6278abe167a6ff96a7f9814651a7812f142c
SourceCode/Bond/Servo/AlarmDlg.cpp
@@ -115,7 +115,6 @@
   GetDlgItem(IDC_BUTTON_NEXT_PAGE)->EnableWindow(m_nCurPage < m_nTotalPages);
}
static char* pszAlarmLevel[] = {"Warning", "Error"};
void CAlarmDlg::FillDataToListCtrl(CListCtrl* pListCtrl, const std::vector<AlarmData>& vecData)
{
   if (pListCtrl == nullptr || pListCtrl->m_hWnd == nullptr) {
@@ -127,17 +126,7 @@
   // 遍历数据并插入到CListCtrl中
   for (const auto& alarm : vecData) {
      int nItem = pListCtrl->InsertItem(pListCtrl->GetItemCount(), _T(""));    // 插入新行
      CString str;
      // 设置列内容
      str.Format(_T("%d"), alarm.nId);
      pListCtrl->SetItemText(nItem, 1, str);                                // 报警ID
      pListCtrl->SetItemText(nItem, 2, pszAlarmLevel[alarm.nSeverityLevel % 2]);                                 // 等级
      pListCtrl->SetItemText(nItem, 3, alarm.strDeviceName.c_str());                // 设备名称
      pListCtrl->SetItemText(nItem, 4, alarm.strUnitName.c_str());                  // 单元名称
      pListCtrl->SetItemText(nItem, 5, alarm.strStartTime.c_str());                 // 开始时间
      pListCtrl->SetItemText(nItem, 6, alarm.strEndTime.c_str());                   // 结束时间
      pListCtrl->SetItemText(nItem, 7, alarm.strDescription.c_str());               // 描述
      InsertAlarmData(pListCtrl, alarm);
   }
   // 获取列数
@@ -145,6 +134,7 @@
   pListCtrl->SetColumnWidth(nColCount - 1, LVSCW_AUTOSIZE_USEHEADER);
}
static char* pszAlarmLevel[] = { "Warning", "Error" };
void CAlarmDlg::InsertAlarmData(CListCtrl* pListCtrl, const AlarmData& alarmData)
{
   if (pListCtrl == nullptr || pListCtrl->m_hWnd == nullptr) {
@@ -197,6 +187,7 @@
   ON_WM_DESTROY()
   ON_WM_CLOSE()
   ON_WM_SIZE()
   ON_WM_TIMER()
   ON_CBN_SELCHANGE(IDC_COMBO_DATETIME, &CAlarmDlg::OnCbnSelchangeComboDatetime)
   ON_BN_CLICKED(IDC_BUTTON_SEARCH, &CAlarmDlg::OnBnClickedButtonSearch)
   ON_BN_CLICKED(IDC_BUTTON_EXPORT, &CAlarmDlg::OnBnClickedButtonExport)
@@ -209,7 +200,7 @@
BOOL CAlarmDlg::OnInitDialog()
{
   CDialogEx::OnInitDialog();
   InitRxWindow();
   SetTimer(1, 3000, nullptr);
   // 下拉框控件
   CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_DATETIME);
@@ -254,7 +245,6 @@
   pListCtrl->InsertColumn(6, _T("解除时间"), LVCFMT_LEFT, width[6]);
   pListCtrl->InsertColumn(7, _T("描述"), LVCFMT_LEFT, width[7]);
   pListCtrl->SetColumnWidth(7, LVSCW_AUTOSIZE_USEHEADER);
   // 计算总页数
@@ -325,6 +315,14 @@
   Resize();
}
void CAlarmDlg::OnTimer(UINT_PTR nIDEvent)
{
   if (1 == nIDEvent) {
      KillTimer(1);
      InitRxWindow();
   }
}
void CAlarmDlg::OnCbnSelchangeComboDatetime()
{
   CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_DATETIME);