|
@@ -238,13 +238,12 @@ void BlastOpePage::initPagination() {
|
|
|
connect(pageWidget->getComboBox(), QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
|
|
&BlastOpePage::onComboBoxIndexChanged);
|
|
|
ui->verticalLayout_4->addWidget(pageWidget);
|
|
|
- ;
|
|
|
- pageSize = 10;
|
|
|
- currentPage = 1;
|
|
|
+ m_pageSize = 10;
|
|
|
+ m_currentPage = 1;
|
|
|
RefreshData();
|
|
|
}
|
|
|
|
|
|
-void BlastOpePage::RefreshData() { loadDataAndDrawTable(currentPage, pageSize); }
|
|
|
+void BlastOpePage::RefreshData() { loadDataAndDrawTable(m_currentPage, m_pageSize); }
|
|
|
|
|
|
void BlastOpePage::loadDataAndDrawTable(int currentPage, int pageSize) {
|
|
|
PaginatedHProjectResult result = dao.getAllHProjectsByOpera(currentPage, pageSize);
|
|
@@ -322,6 +321,7 @@ void BlastOpePage::loadDataAndDrawTable(int currentPage, int pageSize) {
|
|
|
connectionItem =
|
|
|
QObject::connect(model, &QStandardItemModel::itemChanged, this, &BlastOpePage::onItemCheckboxChanged);
|
|
|
ui->tableView->setColumnWidth(0, 30);
|
|
|
+ ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); // 禁止编辑
|
|
|
for (int i = 1; i < headerCount; ++i) {
|
|
|
if (i == 8) { // Column: 进度
|
|
|
ui->tableView->horizontalHeader()->setSectionResizeMode(i, QHeaderView::Custom);
|
|
@@ -420,16 +420,16 @@ void BlastOpePage::loadDataAndDrawTable(int currentPage, int pageSize) {
|
|
|
|
|
|
// 切换页数
|
|
|
void BlastOpePage::PageChanged(int page) {
|
|
|
- currentPage = page;
|
|
|
- loadDataAndDrawTable(currentPage, pageSize);
|
|
|
+ m_currentPage = page;
|
|
|
+ loadDataAndDrawTable(m_currentPage, m_pageSize);
|
|
|
}
|
|
|
|
|
|
void BlastOpePage::onComboBoxIndexChanged(int index) {
|
|
|
QVariant variant = pageWidget->getComboBox()->itemData(index);
|
|
|
int value = variant.toInt();
|
|
|
- pageSize = value;
|
|
|
- currentPage = 1;
|
|
|
- loadDataAndDrawTable(currentPage, pageSize);
|
|
|
+ m_pageSize = value;
|
|
|
+ m_currentPage = 1;
|
|
|
+ loadDataAndDrawTable(m_currentPage, m_pageSize);
|
|
|
}
|
|
|
|
|
|
void BlastOpePage::updateProgressBar(int firingStage, int row) {
|
|
@@ -474,6 +474,9 @@ void BlastOpePage::updateProgressBar(int firingStage, int row) {
|
|
|
progressBar3->setValue(100);
|
|
|
break;
|
|
|
default:
|
|
|
+ progressBar1->setValue(0);
|
|
|
+ progressBar2->setValue(0);
|
|
|
+ progressBar3->setValue(0);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -488,6 +491,7 @@ void BlastOpePage::onFiringStageUpdated(int stage, int row) {
|
|
|
QColor customColor;
|
|
|
QFont boldFont;
|
|
|
boldFont.setBold(true);
|
|
|
+ qDebug() << "opage::onFiringStageUpdated: stage = " << stage << ", row = " << row;
|
|
|
switch (stage) {
|
|
|
case FiringStages::Starting:
|
|
|
model->setData(firingStatusItem, "待起爆");
|
|
@@ -531,6 +535,11 @@ void BlastOpePage::onFiringStageUpdated(int stage, int row) {
|
|
|
customColor = QColor("#8e620");
|
|
|
model->setData(firingStatusItem, customColor, Qt::ForegroundRole);
|
|
|
break;
|
|
|
+ case FiringStages::ForceCanceled:
|
|
|
+ model->setData(firingStatusItem, "已强制取消");
|
|
|
+ customColor = QColor("#ff0000");
|
|
|
+ model->setData(firingStatusItem, customColor, Qt::ForegroundRole);
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
@@ -561,7 +570,7 @@ void BlastOpePage::handleSingleBlastButtonClicked(int row, QPushButton *button)
|
|
|
button->setMinimumWidth(80);
|
|
|
button->setText(stopBlastButtonTxt);
|
|
|
firingWidget *widget = new firingWidget(row, false, uuid);
|
|
|
- connect(widget, &firingWidget::updateBlastStatus, this, &BlastOpePage::onFiringStageUpdated);
|
|
|
+ connect(widget, &firingWidget::updatefiringStage, this, &BlastOpePage::onFiringStageUpdated);
|
|
|
connect(widget, &firingWidget::countdown, this, &BlastOpePage::showCountDownWidget);
|
|
|
connect(widget, &firingWidget::updateProjectStatus, this, &BlastOpePage::handlerUpdateProjectStatus);
|
|
|
connect(widget, &firingWidget::closeFiring, this, &BlastOpePage::destroyFiringWidget);
|
|
@@ -656,6 +665,10 @@ void BlastOpePage::handleUpdateOpButton(int stage, int row) {
|
|
|
button->setIcon(QIcon(":/icons/icons/svg/blast.svg"));
|
|
|
button->setIconSize(QSize(32, 32));
|
|
|
break;
|
|
|
+ case FiringStages::ForceCanceled:
|
|
|
+ button->setDisabled(true);
|
|
|
+ button->setText(reStartButtonTxt);
|
|
|
+ break;
|
|
|
default:
|
|
|
button->setEnabled(true);
|
|
|
break;
|
|
@@ -674,7 +687,6 @@ void BlastOpePage::destroyFiringWidget(const QString &uuid, int row) {
|
|
|
widget->disconnect(); // 断开信号连接
|
|
|
firingWidgetByUuid.remove(uuid); // 从映射中移除
|
|
|
}
|
|
|
- RefreshData();
|
|
|
}
|
|
|
|
|
|
// 槽函数,当 item 状态改变时触发
|
|
@@ -730,7 +742,7 @@ void BlastOpePage::on_btnSelect_clicked() {
|
|
|
}
|
|
|
|
|
|
// 信号连接
|
|
|
- connect(widgetSelect, &firingWidget::updateBlastStatus, this, &BlastOpePage::onFiringStageUpdated);
|
|
|
+ connect(widgetSelect, &firingWidget::updatefiringStage, this, &BlastOpePage::onFiringStageUpdated);
|
|
|
connect(widgetSelect, &firingWidget::batchFiringSignal, this, &BlastOpePage::setBatchBlastTrigger);
|
|
|
connect(widgetSelect, &firingWidget::updateProjectStatus, this, &BlastOpePage::handlerUpdateProjectStatus);
|
|
|
connect(widgetSelect, &firingWidget::closeFiring, this, &BlastOpePage::destroyBatchFiringWidget);
|
|
@@ -765,7 +777,6 @@ void BlastOpePage::setBatchBlastTrigger(QString uuid) {
|
|
|
serialTool, &SerialTool::enableButtonReceived, this,
|
|
|
[this]() {
|
|
|
for (const auto &row : uuidMap.keys()) {
|
|
|
- qDebug() << "Key:" << row;
|
|
|
onFiringStageUpdated(10, row);
|
|
|
}
|
|
|
},
|
|
@@ -839,6 +850,4 @@ void BlastOpePage::destroyBatchFiringWidget(const QString &uuid, int row) {
|
|
|
item->setFlags(flags);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- RefreshData();
|
|
|
}
|