feat:完成历史告警数据的加载逻辑
This commit is contained in:
parent
ed64a0378d
commit
b22eedf228
|
|
@ -106,13 +106,14 @@ private:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void iniHeaderData();
|
void iniHeaderData();
|
||||||
void updateCurPageData(); //更新当前页的数据
|
void updatePaginationInfo();
|
||||||
void updateTotalCount(); //更新总记录数
|
|
||||||
int findEventDataIndexById(const QString& eventId);
|
int findEventDataIndexById(const QString& eventId);
|
||||||
void updateEventData(int index, const EventData& updatedEvent);
|
void updateEventData(int index, const EventData& updatedEvent);
|
||||||
|
void updateCurPageData();
|
||||||
|
|
||||||
QVector<EventData> m_displayEvents; //当前(页)展示的事件
|
|
||||||
QVector<EventData> m_allEvents; //所有事件
|
QVector<EventData> m_allEvents; //所有事件
|
||||||
|
QVector<EventData> m_filteredEvents; //过滤后的事件
|
||||||
|
QVector<EventData> m_displayEvents; //当前(页)展示的事件
|
||||||
QVector<SectionData> m_headerData;
|
QVector<SectionData> m_headerData;
|
||||||
PaginationInfo m_paginationInfo;
|
PaginationInfo m_paginationInfo;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ AlarmEventDataModel::AlarmEventDataModel(QObject* parent)
|
||||||
//实时数据测试
|
//实时数据测试
|
||||||
m_simulatedDataTimer = new QTimer(this);
|
m_simulatedDataTimer = new QTimer(this);
|
||||||
connect(m_simulatedDataTimer, &QTimer::timeout, this, &AlarmEventDataModel::onTimeoutSimulateData);
|
connect(m_simulatedDataTimer, &QTimer::timeout, this, &AlarmEventDataModel::onTimeoutSimulateData);
|
||||||
m_simulatedDataTimer->start(5000);
|
m_simulatedDataTimer->start(2500);
|
||||||
}
|
}
|
||||||
|
|
||||||
AlarmEventDataModel::~AlarmEventDataModel()
|
AlarmEventDataModel::~AlarmEventDataModel()
|
||||||
|
|
@ -218,19 +218,30 @@ void AlarmEventDataModel::applyFilter()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void AlarmEventDataModel::refresh()
|
void AlarmEventDataModel::refresh()
|
||||||
{}
|
|
||||||
|
|
||||||
void AlarmEventDataModel::updateCurPageData()
|
|
||||||
{
|
{
|
||||||
beginResetModel();
|
m_allEvents.clear();
|
||||||
|
m_filteredEvents.clear();
|
||||||
|
|
||||||
m_displayEvents.clear();
|
//1.通过服务获取当前时间段的所有事件-m_allEvents
|
||||||
|
|
||||||
endResetModel();
|
//2.过滤事件(时间区间作为服务请求参数,其它过滤在本地完成)-m_filteredEvents
|
||||||
|
if(m_allEvents.size() > 0)
|
||||||
|
{}
|
||||||
|
//3.更新页码数据
|
||||||
|
updatePaginationInfo();
|
||||||
|
//4.根据页码刷新当前页面数据()-m_displayEvents
|
||||||
|
updateCurPageData();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AlarmEventDataModel::updateTotalCount()
|
void AlarmEventDataModel::updatePaginationInfo()
|
||||||
{}
|
{
|
||||||
|
m_paginationInfo.totalEntries = m_filteredEvents.size();
|
||||||
|
m_paginationInfo.totalPages = qCeil(static_cast<qreal>(m_paginationInfo.totalEntries) / m_paginationInfo.entriesPerPage);
|
||||||
|
if(m_paginationInfo.totalPages == 0)
|
||||||
|
m_paginationInfo.currentPage = 1;
|
||||||
|
else if(m_paginationInfo.currentPage > m_paginationInfo.totalPages)
|
||||||
|
m_paginationInfo.currentPage = m_paginationInfo.totalPages;
|
||||||
|
}
|
||||||
|
|
||||||
int AlarmEventDataModel::findEventDataIndexById(const QString& eventId)
|
int AlarmEventDataModel::findEventDataIndexById(const QString& eventId)
|
||||||
{
|
{
|
||||||
|
|
@ -254,6 +265,20 @@ void AlarmEventDataModel::updateEventData(int index, const EventData& updatedEve
|
||||||
emit dataChanged(modelIndex, modelIndex);
|
emit dataChanged(modelIndex, modelIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AlarmEventDataModel::updateCurPageData()
|
||||||
|
{
|
||||||
|
m_displayEvents.clear();
|
||||||
|
int startIndex = (m_paginationInfo.currentPage - 1) * m_paginationInfo.entriesPerPage;
|
||||||
|
int endIndex = qMin(startIndex + m_paginationInfo.entriesPerPage, m_filteredEvents.size());
|
||||||
|
|
||||||
|
beginResetModel();
|
||||||
|
|
||||||
|
if(startIndex < m_filteredEvents.size())
|
||||||
|
m_displayEvents = m_filteredEvents.mid(startIndex, endIndex - startIndex);
|
||||||
|
|
||||||
|
endResetModel();
|
||||||
|
}
|
||||||
|
|
||||||
void AlarmEventDataModel::onTimeoutSimulateData()
|
void AlarmEventDataModel::onTimeoutSimulateData()
|
||||||
{
|
{
|
||||||
//模拟实时告警数据
|
//模拟实时告警数据
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue