|
@@ -74,6 +74,8 @@ CompareItemListDialog::CompareItemListDialog(QWidget *parent) :
|
|
|
connect(ui->pBtn_add, &QPushButton::clicked, this, &CompareItemListDialog::do_pBtn_add_Clicked);
|
|
|
connect(ui->pBtn_delete, &QPushButton::clicked, this, &CompareItemListDialog::do_pBtn_delete_Clicked);
|
|
|
connect(ui->pBtn_modify, &QPushButton::clicked, this, &CompareItemListDialog::do_pBtn_edit_Clicked);
|
|
|
+ connect(ui->pBtn_enableCPItem, &QPushButton::clicked, this, &CompareItemListDialog::do_pBtn_enable_Clicked);
|
|
|
+ connect(ui->pBtn_disableCPItem, &QPushButton::clicked, this, &CompareItemListDialog::do_pBtn_disable_Clicked);
|
|
|
|
|
|
/* 初始化表格 */
|
|
|
initTable();
|
|
@@ -205,6 +207,92 @@ void CompareItemListDialog::do_pBtn_edit_Clicked()
|
|
|
SPDLOG_LOGGER_ERROR(m_logger, "对比项ID {} 修改失败", nID);
|
|
|
return;
|
|
|
}
|
|
|
+ /* 判断有没有修改启用状态 */
|
|
|
+ if(newCiInfo.isEnable != ciInfo.isEnable)
|
|
|
+ {
|
|
|
+ /* 如果启用状态有变化,更新表格中的状态 */
|
|
|
+ m_model->setData(m_model->index(index.row(), 1), newCiInfo.isEnable ? "启用" : "未启用");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/* 启用对比项 */
|
|
|
+void CompareItemListDialog::do_pBtn_enable_Clicked()
|
|
|
+{
|
|
|
+ /* 获取当前选中的行 */
|
|
|
+ QModelIndexList selectedRows = ui->tableView->selectionModel()->selectedRows();
|
|
|
+ if(selectedRows.isEmpty())
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_WARN, "请先选择要修改的对比项", GInfo.getTopWindow());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ /* 只取出第一个 */
|
|
|
+ QModelIndex index = selectedRows.first();
|
|
|
+ /* 获取对比项ID */
|
|
|
+ int nID = m_model->data(m_model->index(index.row(), 0), m_userRole_CompareItemID).toInt();
|
|
|
+ /* 查找对比项信息 */
|
|
|
+ CompareItemInfo_t ciInfo = CIData.findCompareItemByID(nID);
|
|
|
+ if(ciInfo.nID < 0)
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_WARN, "对比项不存在,无法启用", GInfo.getTopWindow());
|
|
|
+ SPDLOG_LOGGER_WARN(m_logger, "对比项ID {} 不存在,无法启用", nID);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ /* 判断是否已经启用 */
|
|
|
+ if(ciInfo.isEnable)
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_OK, "对比项已经处于启用状态", GInfo.getTopWindow());
|
|
|
+ return; /* 如果已经启用,直接返回 */
|
|
|
+ }
|
|
|
+ /* 修改对比项状态为启用 */
|
|
|
+ ciInfo.isEnable = true;
|
|
|
+ if(!CIData.modifyCompareItem(ciInfo))
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_WARN, "对比项启用失败,请稍后重试", GInfo.getTopWindow());
|
|
|
+ SPDLOG_LOGGER_ERROR(m_logger, "对比项ID {} 启用失败", nID);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ /* 更新表格中的状态 */
|
|
|
+ m_model->setData(m_model->index(index.row(), 1), "启用");
|
|
|
+}
|
|
|
+
|
|
|
+/* 禁用对比项 */
|
|
|
+void CompareItemListDialog::do_pBtn_disable_Clicked()
|
|
|
+{
|
|
|
+ /* 获取当前选中的行 */
|
|
|
+ QModelIndexList selectedRows = ui->tableView->selectionModel()->selectedRows();
|
|
|
+ if(selectedRows.isEmpty())
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_WARN, "请先选择要修改的对比项", GInfo.getTopWindow());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ /* 只取出第一个 */
|
|
|
+ QModelIndex index = selectedRows.first();
|
|
|
+ /* 获取对比项ID */
|
|
|
+ int nID = m_model->data(m_model->index(index.row(), 0), m_userRole_CompareItemID).toInt();
|
|
|
+ /* 查找对比项信息 */
|
|
|
+ CompareItemInfo_t ciInfo = CIData.findCompareItemByID(nID);
|
|
|
+ if(ciInfo.nID < 0)
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_WARN, "对比项不存在,无法禁用", GInfo.getTopWindow());
|
|
|
+ SPDLOG_LOGGER_WARN(m_logger, "对比项ID {} 不存在,无法禁用", nID);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ /* 判断是否已经启用 */
|
|
|
+ if(!ciInfo.isEnable)
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_OK, "对比项已经处于禁用状态", GInfo.getTopWindow());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ /* 修改对比项状态为启用 */
|
|
|
+ ciInfo.isEnable = false;
|
|
|
+ if(!CIData.modifyCompareItem(ciInfo))
|
|
|
+ {
|
|
|
+ TipWidget::display(TipWidget::OPERATOR_WARN, "对比项禁用失败,请稍后重试", GInfo.getTopWindow());
|
|
|
+ SPDLOG_LOGGER_ERROR(m_logger, "对比项ID {} 禁用失败", nID);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ /* 更新表格中的状态 */
|
|
|
+ m_model->setData(m_model->index(index.row(), 1), "未启用");
|
|
|
}
|
|
|
|
|
|
/* 初始化表格 */
|