|
@@ -1,5 +1,7 @@
|
|
|
#include "blastrecord.h"
|
|
|
|
|
|
+#include "../backendapimanager.h"
|
|
|
+#include "../loadingWidget.h"
|
|
|
#include "ui_blastrecord.h"
|
|
|
|
|
|
BlastRecord::BlastRecord(QWidget* parent)
|
|
@@ -9,22 +11,38 @@ BlastRecord::BlastRecord(QWidget* parent)
|
|
|
connect(m_pPageWidget, &PageWidget::currentPageChanged, this, &BlastRecord::PageChanged);
|
|
|
connect(m_pPageWidget->getComboBox(), QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
|
|
&BlastRecord::onComboBoxIndexChanged);
|
|
|
- m_httpClient = new HttpClient(this);
|
|
|
- pageSize = 10;
|
|
|
- currentPage = 1;
|
|
|
+ m_pageSize = 10;
|
|
|
+ m_currentPage = 1;
|
|
|
ui->verticalLayout_4->addWidget(m_pPageWidget);
|
|
|
loadAndRefreshData();
|
|
|
}
|
|
|
|
|
|
-void BlastRecord::loadAndRefreshData() { loadDataFromSource(currentPage, pageSize); }
|
|
|
+void BlastRecord::loadAndRefreshData() {
|
|
|
+ LoadingWidget::showLoading(this, "正在加载数据,请稍候...");
|
|
|
+ QJsonObject blastData = backendAPIManager::getBlastRecords(m_currentPage, m_pageSize);
|
|
|
+ LoadingWidget::hideLoading();
|
|
|
+ m_currentPage = blastData["pageIndex"].toInt();
|
|
|
+ m_pageSize = blastData["pageSize"].toInt();
|
|
|
+ m_totalCount = blastData["count"].toInt();
|
|
|
|
|
|
-void BlastRecord::loadDataFromSource(int currentPage, int pageSize) {
|
|
|
- PaginatedHBlastRecordResult result = dao.getAllHRecords(currentPage, pageSize);
|
|
|
+ QList<QSharedPointer<HBlastRecord>> blastRecords;
|
|
|
+ for (const QJsonValue& value : blastData["list"].toArray()) {
|
|
|
+ QJsonObject jsonObj = value.toObject();
|
|
|
+ QSharedPointer<HBlastRecord> record(new HBlastRecord);
|
|
|
+ record->setProjectName(jsonObj["projectName"].toString());
|
|
|
+ record->setIsOfflineBlast(jsonObj["isOfflineBlast"].toBool());
|
|
|
+ record->setAppVersion(jsonObj["appVersion"].toString());
|
|
|
+ record->setEquipmentSn(jsonObj["equipmentSn"].toString());
|
|
|
+ record->setRegDetCount(jsonObj["regDetCount"].toString().toInt());
|
|
|
+ record->setBlastAt(QDateTime::fromString(jsonObj["blastAt"].toString(), Qt::ISODateWithMs));
|
|
|
+ blastRecords.append(record);
|
|
|
+ }
|
|
|
|
|
|
- QList<QSharedPointer<HBlastRecord>> blastRecordsList = result.BlastRecords;
|
|
|
- totalCount = result.totalCount;
|
|
|
+ drawTable(blastRecords);
|
|
|
+}
|
|
|
|
|
|
- m_pPageWidget->setMaxPage(ceil(static_cast<double>(totalCount) / pageSize));
|
|
|
+void BlastRecord::drawTable(QList<QSharedPointer<HBlastRecord>> blastRecordsList) {
|
|
|
+ m_pPageWidget->setMaxPage(ceil(static_cast<double>(m_totalCount) / m_pageSize));
|
|
|
QStandardItemModel* model;
|
|
|
model = new QStandardItemModel(this);
|
|
|
// 定义表头信息
|
|
@@ -74,19 +92,18 @@ void BlastRecord::loadDataFromSource(int currentPage, int pageSize) {
|
|
|
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
|
}
|
|
|
void BlastRecord::PageChanged(int page) {
|
|
|
- currentPage = page;
|
|
|
- loadDataFromSource(currentPage, pageSize);
|
|
|
+ m_currentPage = page;
|
|
|
+ loadAndRefreshData();
|
|
|
}
|
|
|
|
|
|
void BlastRecord::onComboBoxIndexChanged(int index) {
|
|
|
QVariant variant = m_pPageWidget->getComboBox()->itemData(index);
|
|
|
int value = variant.toInt();
|
|
|
- pageSize = value;
|
|
|
- loadDataFromSource(currentPage, pageSize);
|
|
|
+ m_pageSize = value;
|
|
|
+ loadAndRefreshData();
|
|
|
}
|
|
|
|
|
|
void BlastRecord::dataTable(const QJsonDocument& jsonDoc) {
|
|
|
- parseJsonString(jsonDoc);
|
|
|
model = new QStandardItemModel(this);
|
|
|
model->setHorizontalHeaderLabels(
|
|
|
{"工程名称", "离线爆破", "app版本", "起爆器编号", "注册雷管", "起爆时间", "上报时间"});
|
|
@@ -119,11 +136,4 @@ QList<QStandardItem*> BlastRecord::jsonToItem(const QJsonObject& jsonObj) {
|
|
|
return QList<QStandardItem*>() << nameItem << isOfflineBlastItem << equipItem << typeItem << statusItem
|
|
|
<< onlineItem;
|
|
|
}
|
|
|
-void BlastRecord::parseJsonString(const QJsonDocument& jsonDoc) {
|
|
|
- QJsonObject jsonObj = jsonDoc.object();
|
|
|
- QJsonObject dataObj = jsonObj["data"].toObject();
|
|
|
- dataArray = dataObj["list"].toArray();
|
|
|
- totalCount = dataObj["count"].toInt();
|
|
|
- m_pPageWidget->setMaxPage(ceil(static_cast<double>(totalCount) / pageSize));
|
|
|
-}
|
|
|
BlastRecord::~BlastRecord() { delete ui; }
|