feat:完成历史告警数据的加载逻辑
This commit is contained in:
parent
ed64a0378d
commit
b22eedf228
|
|
@ -106,13 +106,14 @@ private:
|
|||
|
||||
private:
|
||||
void iniHeaderData();
|
||||
void updateCurPageData(); //更新当前页的数据
|
||||
void updateTotalCount(); //更新总记录数
|
||||
void updatePaginationInfo();
|
||||
int findEventDataIndexById(const QString& eventId);
|
||||
void updateEventData(int index, const EventData& updatedEvent);
|
||||
void updateCurPageData();
|
||||
|
||||
QVector<EventData> m_displayEvents; //当前(页)展示的事件
|
||||
QVector<EventData> m_allEvents; //所有事件
|
||||
QVector<EventData> m_filteredEvents; //过滤后的事件
|
||||
QVector<EventData> m_displayEvents; //当前(页)展示的事件
|
||||
QVector<SectionData> m_headerData;
|
||||
PaginationInfo m_paginationInfo;
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ AlarmEventDataModel::AlarmEventDataModel(QObject* parent)
|
|||
//实时数据测试
|
||||
m_simulatedDataTimer = new QTimer(this);
|
||||
connect(m_simulatedDataTimer, &QTimer::timeout, this, &AlarmEventDataModel::onTimeoutSimulateData);
|
||||
m_simulatedDataTimer->start(5000);
|
||||
m_simulatedDataTimer->start(2500);
|
||||
}
|
||||
|
||||
AlarmEventDataModel::~AlarmEventDataModel()
|
||||
|
|
@ -218,19 +218,30 @@ void AlarmEventDataModel::applyFilter()
|
|||
{}
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
@ -254,6 +265,20 @@ void AlarmEventDataModel::updateEventData(int index, const EventData& updatedEve
|
|||
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()
|
||||
{
|
||||
//模拟实时告警数据
|
||||
|
|
|
|||
Loading…
Reference in New Issue