#include "LAMPTaskManagerMainWindows.h" #include "LAMPWBDDManager.h" #include "ui_LAMPTaskManagerMainWindows.h" #include "DialogTaskOrder.h" #include "DialogSubmitTaskResult.h" namespace WBFZTASK { LAMPTaskManagerMainWindows::LAMPTaskManagerMainWindows(QWidget* parent) : QMainWindow(parent) , ui(new Ui::LAMPTaskManagerMainWindowsClass) { connectmanager = new LAMPWBCONNECT::LAMPWBDDManager; ui->setupUi(this); QObject::connect(TaskCollect::getInstance(), SIGNAL(updateSIG(WBTASKSAPIREQURSTSTATE, QString)), this, SLOT(updateTaskListCollect(WBTASKSAPIREQURSTSTATE , QString ))); QObject::connect(ui->pushButton_Search ,SIGNAL(clicked()),this,SLOT(on_clicked_pushButton_Search ())); QObject::connect(ui->pushButton_ShowTask,SIGNAL(clicked()),this,SLOT(on_clicked_pushButton_ShowTask())); QObject::connect(ui->pushButton_LastPage,SIGNAL(clicked()),this,SLOT(on_clicked_pushButton_LastPage())); QObject::connect(ui->pushButton_NextPage,SIGNAL(clicked()),this,SLOT(on_clicked_pushButton_NextPage())); QObject::connect(ui->pushButton_submitResult, SIGNAL(clicked()), this, SLOT(on_clicked_pushButton_submitResult())); ui->spinBox_PageIdx->setMinimum(1); ui->spinBox_PageIdx->setValue(1); ui->spinBox_PageIdx->setMaximum(10000); ui->pushButton_LastPage->setEnabled(false); ui->pushButton_NextPage->setEnabled(false); } LAMPTaskManagerMainWindows::~LAMPTaskManagerMainWindows() {} void LAMPTaskManagerMainWindows::ClearTable() { // ui->table ui->tableWidget->clear(); } void LAMPTaskManagerMainWindows::ShowTable() { this->ClearTable(); TaskCollect* taskcollect = TaskCollect::getInstance(); QStringList headers = { u8"订单ID",u8"订单模式",u8"订单状态",u8"订单目的",u8"申请人",u8"创建时间" }; ui->tableWidget->setColumnCount(headers.size()); ui->tableWidget->setHorizontalHeaderLabels(headers); ui->tableWidget->setRowCount(taskcollect->getPagecount()); qDebug() << "page Count : " << taskcollect->getPagecount(); QString colname = ""; for (int rowidx = 0; rowidx < taskcollect->getPagecount();rowidx++) { // 按照列添加 for (int colidx = 0; colidx < headers.count(); colidx++) { colname= ui->tableWidget->model()->headerData(colidx, Qt::Horizontal).toString(); if(colname.contains(u8"订单ID")){ ui->tableWidget->setItem(rowidx, colidx, new QTableWidgetItem(QString("%1").arg(taskcollect->getCurrentTaskAt(rowidx)->getOrderId()))); } else if(colname.contains(u8"订单模式")){ ui->tableWidget->setItem(rowidx, colidx, new QTableWidgetItem(QString("%1").arg(taskcollect->getCurrentTaskAt(rowidx)->getOrderMode()))); } else if(colname.contains(u8"订单状态")){ ui->tableWidget->setItem(rowidx, colidx, new QTableWidgetItem(QString("%1").arg(taskcollect->getCurrentTaskAt(rowidx)->getOrderStatus()))); } else if(colname.contains(u8"订单目的")){ ui->tableWidget->setItem(rowidx, colidx, new QTableWidgetItem(QString("%1").arg(taskcollect->getCurrentTaskAt(rowidx)->getIntention()))); } else if(colname.contains(u8"申请人")){ ui->tableWidget->setItem(rowidx, colidx, new QTableWidgetItem(QString("%1").arg(taskcollect->getCurrentTaskAt(rowidx)->getApplicant()))); } else if (colname.contains(u8"创建时间")) { ui->tableWidget->setItem(rowidx, colidx, new QTableWidgetItem(QString("%1").arg(taskcollect->getCurrentTaskAt(rowidx)->getCreateTime()))); } else { } } } // 处理显示信息 int alltaskcount = taskcollect->getTotal(); int pageCount = taskcollect->getPagecount(); int Pagetotal = alltaskcount / pageCount +( alltaskcount % pageCount == 0 ? 0 : 1); ui->spinBox_PageIdx->setMaximum(Pagetotal); ui->statusBar->showMessage(QString(u8"第 %1 页 / 共 %2 页").arg(taskcollect->getPagenum()).arg(Pagetotal)); ui->spinBox_PageIdx->setValue(taskcollect->getPagenum()); if (taskcollect->getPagenum() == 1) { ui->pushButton_LastPage->setEnabled(false); } else { ui->pushButton_LastPage->setEnabled(true); } if (taskcollect->getPagenum() == Pagetotal) { ui->pushButton_NextPage->setEnabled(false); } else { ui->pushButton_NextPage->setEnabled(true); } } void LAMPTaskManagerMainWindows::on_clicked_pushButton_Search() { int searchPage = ui->spinBox_PageIdx->value(); int searchPageNum = ui->spinBox_tasknum->value(); ui->statusBar->showMessage(QString(u8"正在查询 第 %1 页 中, 每页任务数:%2 ....").arg(searchPage).arg(searchPageNum)); connectmanager->getTaskList(searchPageNum, searchPage); } void LAMPTaskManagerMainWindows::on_clicked_pushButton_ShowTask() { if (ui->tableWidget->selectedItems().isEmpty()) { return; } int currentRow = ui->tableWidget->currentRow(); WBFZTASK::DialogTaskOrder* dialogtaskshow = new WBFZTASK::DialogTaskOrder(this); dialogtaskshow->SetTaskOrder(TaskCollect::getInstance()->getCurrentTaskAt(currentRow)); dialogtaskshow->exec(); } void LAMPTaskManagerMainWindows::on_clicked_pushButton_LastPage() { int searchPage = TaskCollect::getInstance()->getPagenum()-1; int searchPageNum = ui->spinBox_tasknum->value(); ui->statusBar->showMessage(QString(u8"正在查询 第 %1 页 中, 每页任务数:%2 ....").arg(searchPage).arg(searchPageNum)); connectmanager->getTaskList(searchPageNum, searchPage); } void LAMPTaskManagerMainWindows::on_clicked_pushButton_NextPage() { int searchPage = TaskCollect::getInstance()->getPagenum()+1; int searchPageNum = ui->spinBox_tasknum->value(); ui->statusBar->showMessage(QString(u8"正在查询 第 %1 页 中, 每页任务数:%2 ....").arg(searchPage).arg(searchPageNum)); connectmanager->getTaskList(searchPageNum, searchPage); } void LAMPTaskManagerMainWindows::on_clicked_pushButton_submitResult() { if (ui->tableWidget->selectedItems().isEmpty()) { return; } int currentRow = ui->tableWidget->currentRow(); DialogSubmitTaskResult* dialog = new DialogSubmitTaskResult; dialog->SetTaskOrder(TaskCollect::getInstance()->getCurrentTaskAt(currentRow)); dialog->exec(); } void LAMPTaskManagerMainWindows::updateTaskListCollect(WBTASKSAPIREQURSTSTATE state, QString message) { // 触发更新 switch (state) { case WBTASKSAPIREQURSTSTATE::ERROR: { ui->statusBar->showMessage(QString(u8"查询错误: ").arg(message)); break; } case WBTASKSAPIREQURSTSTATE::FAIL: { ui->statusBar->showMessage(QString(u8"查询失败: ").arg(message)); break; } case WBTASKSAPIREQURSTSTATE::SUCCESS: { this->ShowTable(); break; } default: ui->statusBar->showMessage(QString(u8"请重试,信息:").arg(message)); break; } } }