diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/verifydevice.h b/softwareDirectory/AutoVerScheme/verifydevice.h index 82afc24..9a59026 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.h +++ b/softwareDirectory/AutoVerScheme/verifydevice.h @@ -2,6 +2,8 @@ #define VERIFYDEVICE_H #include +#include "basecommonapi.h" +#include "newverifymethod.h" namespace Ui { class VerifyDevice; @@ -14,12 +16,18 @@ public: explicit VerifyDevice(QWidget *parent = nullptr); ~VerifyDevice(); +private slots: + void on_pushButton_14_clicked(); + private: void getVerifyDevice(); void getCheckDevice(); - +public: + NewVerifyMethod *newVerifyWnd=nullptr; private: Ui::VerifyDevice *ui; + QList testedDeviceList; + QList bizDeviceList; }; #endif // VERIFYDEVICE_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/verifydevice.h b/softwareDirectory/AutoVerScheme/verifydevice.h index 82afc24..9a59026 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.h +++ b/softwareDirectory/AutoVerScheme/verifydevice.h @@ -2,6 +2,8 @@ #define VERIFYDEVICE_H #include +#include "basecommonapi.h" +#include "newverifymethod.h" namespace Ui { class VerifyDevice; @@ -14,12 +16,18 @@ public: explicit VerifyDevice(QWidget *parent = nullptr); ~VerifyDevice(); +private slots: + void on_pushButton_14_clicked(); + private: void getVerifyDevice(); void getCheckDevice(); - +public: + NewVerifyMethod *newVerifyWnd=nullptr; private: Ui::VerifyDevice *ui; + QList testedDeviceList; + QList bizDeviceList; }; #endif // VERIFYDEVICE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp index 2a0d9e3..8711c74 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp @@ -1,14 +1,18 @@ #include "verifymethodmanage.h" #include "ui_verifymethodmanage.h" #include "newverifymethod.h" +#include VerifyMethodManage::VerifyMethodManage(QWidget *parent) : QWidget(parent), ui(new Ui::VerifyMethodManage) { ui->setupUi(this); - for(int i=2;i<7;i++) + for(int i=1;i<5;i++) ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_2->setColumnWidth(0, 60); + ui->tableWidget_2->setColumnWidth(5, 200); + getVerifyMethod(); } VerifyMethodManage::~VerifyMethodManage() @@ -19,7 +23,130 @@ void VerifyMethodManage::showNewMethod() { NewVerifyMethod* checkWindow = new NewVerifyMethod; + checkWindow->verifyManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void VerifyMethodManage::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + updateRow(row,program); + row++; + } +} + +void VerifyMethodManage::updateTable(bool insert,CheckProgramManage program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void VerifyMethodManage::updateRow(int row,CheckProgramManage program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} + +void VerifyMethodManage::on_editButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + editIdx = index.row(); + //int column = index.column(); + QString sId = programList[editIdx].id; + NewVerifyMethod* checkWindow = new NewVerifyMethod(nullptr,sId); + checkWindow->verifyManageWnd=this; + checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + +void VerifyMethodManage::on_deleteButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + //int column = index.column(); + if(QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + if(BaseCommonApi::DeleteCheckProgramManage(programList[row].id)) + { + programList.removeAt(row); + ui->tableWidget_2->removeRow(row); + } + } +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/verifydevice.h b/softwareDirectory/AutoVerScheme/verifydevice.h index 82afc24..9a59026 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.h +++ b/softwareDirectory/AutoVerScheme/verifydevice.h @@ -2,6 +2,8 @@ #define VERIFYDEVICE_H #include +#include "basecommonapi.h" +#include "newverifymethod.h" namespace Ui { class VerifyDevice; @@ -14,12 +16,18 @@ public: explicit VerifyDevice(QWidget *parent = nullptr); ~VerifyDevice(); +private slots: + void on_pushButton_14_clicked(); + private: void getVerifyDevice(); void getCheckDevice(); - +public: + NewVerifyMethod *newVerifyWnd=nullptr; private: Ui::VerifyDevice *ui; + QList testedDeviceList; + QList bizDeviceList; }; #endif // VERIFYDEVICE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp index 2a0d9e3..8711c74 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp @@ -1,14 +1,18 @@ #include "verifymethodmanage.h" #include "ui_verifymethodmanage.h" #include "newverifymethod.h" +#include VerifyMethodManage::VerifyMethodManage(QWidget *parent) : QWidget(parent), ui(new Ui::VerifyMethodManage) { ui->setupUi(this); - for(int i=2;i<7;i++) + for(int i=1;i<5;i++) ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_2->setColumnWidth(0, 60); + ui->tableWidget_2->setColumnWidth(5, 200); + getVerifyMethod(); } VerifyMethodManage::~VerifyMethodManage() @@ -19,7 +23,130 @@ void VerifyMethodManage::showNewMethod() { NewVerifyMethod* checkWindow = new NewVerifyMethod; + checkWindow->verifyManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void VerifyMethodManage::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + updateRow(row,program); + row++; + } +} + +void VerifyMethodManage::updateTable(bool insert,CheckProgramManage program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void VerifyMethodManage::updateRow(int row,CheckProgramManage program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} + +void VerifyMethodManage::on_editButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + editIdx = index.row(); + //int column = index.column(); + QString sId = programList[editIdx].id; + NewVerifyMethod* checkWindow = new NewVerifyMethod(nullptr,sId); + checkWindow->verifyManageWnd=this; + checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + +void VerifyMethodManage::on_deleteButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + //int column = index.column(); + if(QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + if(BaseCommonApi::DeleteCheckProgramManage(programList[row].id)) + { + programList.removeAt(row); + ui->tableWidget_2->removeRow(row); + } + } +} diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.h b/softwareDirectory/AutoVerScheme/verifymethodmanage.h index 716ec2e..b21232f 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.h +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.h @@ -2,6 +2,7 @@ #define VERIFYMETHODMANAGE_H #include +#include "basecommonapi.h" namespace Ui { class VerifyMethodManage; @@ -14,11 +15,19 @@ public: explicit VerifyMethodManage(QWidget *parent = nullptr); ~VerifyMethodManage(); + void updateTable(bool insert,CheckProgramManage program); +private: + void getVerifyMethod(); + void updateRow(int row,CheckProgramManage program); private slots: void showNewMethod(); + void on_editButton_clicked(); + void on_deleteButton_clicked(); private: Ui::VerifyMethodManage *ui; + QList programList; + int editIdx=-1; }; #endif // VERIFYMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/verifydevice.h b/softwareDirectory/AutoVerScheme/verifydevice.h index 82afc24..9a59026 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.h +++ b/softwareDirectory/AutoVerScheme/verifydevice.h @@ -2,6 +2,8 @@ #define VERIFYDEVICE_H #include +#include "basecommonapi.h" +#include "newverifymethod.h" namespace Ui { class VerifyDevice; @@ -14,12 +16,18 @@ public: explicit VerifyDevice(QWidget *parent = nullptr); ~VerifyDevice(); +private slots: + void on_pushButton_14_clicked(); + private: void getVerifyDevice(); void getCheckDevice(); - +public: + NewVerifyMethod *newVerifyWnd=nullptr; private: Ui::VerifyDevice *ui; + QList testedDeviceList; + QList bizDeviceList; }; #endif // VERIFYDEVICE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp index 2a0d9e3..8711c74 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp @@ -1,14 +1,18 @@ #include "verifymethodmanage.h" #include "ui_verifymethodmanage.h" #include "newverifymethod.h" +#include VerifyMethodManage::VerifyMethodManage(QWidget *parent) : QWidget(parent), ui(new Ui::VerifyMethodManage) { ui->setupUi(this); - for(int i=2;i<7;i++) + for(int i=1;i<5;i++) ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_2->setColumnWidth(0, 60); + ui->tableWidget_2->setColumnWidth(5, 200); + getVerifyMethod(); } VerifyMethodManage::~VerifyMethodManage() @@ -19,7 +23,130 @@ void VerifyMethodManage::showNewMethod() { NewVerifyMethod* checkWindow = new NewVerifyMethod; + checkWindow->verifyManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void VerifyMethodManage::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + updateRow(row,program); + row++; + } +} + +void VerifyMethodManage::updateTable(bool insert,CheckProgramManage program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void VerifyMethodManage::updateRow(int row,CheckProgramManage program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} + +void VerifyMethodManage::on_editButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + editIdx = index.row(); + //int column = index.column(); + QString sId = programList[editIdx].id; + NewVerifyMethod* checkWindow = new NewVerifyMethod(nullptr,sId); + checkWindow->verifyManageWnd=this; + checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + +void VerifyMethodManage::on_deleteButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + //int column = index.column(); + if(QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + if(BaseCommonApi::DeleteCheckProgramManage(programList[row].id)) + { + programList.removeAt(row); + ui->tableWidget_2->removeRow(row); + } + } +} diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.h b/softwareDirectory/AutoVerScheme/verifymethodmanage.h index 716ec2e..b21232f 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.h +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.h @@ -2,6 +2,7 @@ #define VERIFYMETHODMANAGE_H #include +#include "basecommonapi.h" namespace Ui { class VerifyMethodManage; @@ -14,11 +15,19 @@ public: explicit VerifyMethodManage(QWidget *parent = nullptr); ~VerifyMethodManage(); + void updateTable(bool insert,CheckProgramManage program); +private: + void getVerifyMethod(); + void updateRow(int row,CheckProgramManage program); private slots: void showNewMethod(); + void on_editButton_clicked(); + void on_deleteButton_clicked(); private: Ui::VerifyMethodManage *ui; + QList programList; + int editIdx=-1; }; #endif // VERIFYMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui index bd33672..56cc2d5 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui @@ -221,16 +221,6 @@ - 选择 - - - - 12 - - - - - 序号 diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/verifydevice.h b/softwareDirectory/AutoVerScheme/verifydevice.h index 82afc24..9a59026 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.h +++ b/softwareDirectory/AutoVerScheme/verifydevice.h @@ -2,6 +2,8 @@ #define VERIFYDEVICE_H #include +#include "basecommonapi.h" +#include "newverifymethod.h" namespace Ui { class VerifyDevice; @@ -14,12 +16,18 @@ public: explicit VerifyDevice(QWidget *parent = nullptr); ~VerifyDevice(); +private slots: + void on_pushButton_14_clicked(); + private: void getVerifyDevice(); void getCheckDevice(); - +public: + NewVerifyMethod *newVerifyWnd=nullptr; private: Ui::VerifyDevice *ui; + QList testedDeviceList; + QList bizDeviceList; }; #endif // VERIFYDEVICE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp index 2a0d9e3..8711c74 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp @@ -1,14 +1,18 @@ #include "verifymethodmanage.h" #include "ui_verifymethodmanage.h" #include "newverifymethod.h" +#include VerifyMethodManage::VerifyMethodManage(QWidget *parent) : QWidget(parent), ui(new Ui::VerifyMethodManage) { ui->setupUi(this); - for(int i=2;i<7;i++) + for(int i=1;i<5;i++) ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_2->setColumnWidth(0, 60); + ui->tableWidget_2->setColumnWidth(5, 200); + getVerifyMethod(); } VerifyMethodManage::~VerifyMethodManage() @@ -19,7 +23,130 @@ void VerifyMethodManage::showNewMethod() { NewVerifyMethod* checkWindow = new NewVerifyMethod; + checkWindow->verifyManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void VerifyMethodManage::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + updateRow(row,program); + row++; + } +} + +void VerifyMethodManage::updateTable(bool insert,CheckProgramManage program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void VerifyMethodManage::updateRow(int row,CheckProgramManage program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} + +void VerifyMethodManage::on_editButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + editIdx = index.row(); + //int column = index.column(); + QString sId = programList[editIdx].id; + NewVerifyMethod* checkWindow = new NewVerifyMethod(nullptr,sId); + checkWindow->verifyManageWnd=this; + checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + +void VerifyMethodManage::on_deleteButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + //int column = index.column(); + if(QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + if(BaseCommonApi::DeleteCheckProgramManage(programList[row].id)) + { + programList.removeAt(row); + ui->tableWidget_2->removeRow(row); + } + } +} diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.h b/softwareDirectory/AutoVerScheme/verifymethodmanage.h index 716ec2e..b21232f 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.h +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.h @@ -2,6 +2,7 @@ #define VERIFYMETHODMANAGE_H #include +#include "basecommonapi.h" namespace Ui { class VerifyMethodManage; @@ -14,11 +15,19 @@ public: explicit VerifyMethodManage(QWidget *parent = nullptr); ~VerifyMethodManage(); + void updateTable(bool insert,CheckProgramManage program); +private: + void getVerifyMethod(); + void updateRow(int row,CheckProgramManage program); private slots: void showNewMethod(); + void on_editButton_clicked(); + void on_deleteButton_clicked(); private: Ui::VerifyMethodManage *ui; + QList programList; + int editIdx=-1; }; #endif // VERIFYMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui index bd33672..56cc2d5 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui @@ -221,16 +221,6 @@ - 选择 - - - - 12 - - - - - 序号 diff --git a/softwareDirectory/AutoVerScheme/verifywindow.cpp b/softwareDirectory/AutoVerScheme/verifywindow.cpp index 5a79fc1..f51ac9d 100644 --- a/softwareDirectory/AutoVerScheme/verifywindow.cpp +++ b/softwareDirectory/AutoVerScheme/verifywindow.cpp @@ -6,6 +6,12 @@ ui(new Ui::VerifyWindow) { ui->setupUi(this); + ui->tableWidgetMethod->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=1;i<5;i++) + ui->tableWidgetMethod->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidgetMethod->setColumnWidth(0, 60); + ui->tableWidgetMethod->setColumnWidth(5, 100); + getVerifyMethod(); } VerifyWindow::~VerifyWindow() @@ -13,7 +19,49 @@ delete ui; } +void VerifyWindow::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidgetMethod->rowCount(); + + ui->tableWidgetMethod->insertRow(rowCount); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetMethod->setItem(row,0,p_check); + ui->tableWidgetMethod->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidgetMethod->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidgetMethod->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidgetMethod->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("详情")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(0,0,255,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->setMargin(0); + ui->tableWidgetMethod->setCellWidget(row,5,tmp_widget); + row++; + } +} + void VerifyWindow::showDevice() { ui->stackedWidget->setCurrentIndex(1); } + +void VerifyWindow::on_editButton_clicked() +{ + +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/verifydevice.h b/softwareDirectory/AutoVerScheme/verifydevice.h index 82afc24..9a59026 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.h +++ b/softwareDirectory/AutoVerScheme/verifydevice.h @@ -2,6 +2,8 @@ #define VERIFYDEVICE_H #include +#include "basecommonapi.h" +#include "newverifymethod.h" namespace Ui { class VerifyDevice; @@ -14,12 +16,18 @@ public: explicit VerifyDevice(QWidget *parent = nullptr); ~VerifyDevice(); +private slots: + void on_pushButton_14_clicked(); + private: void getVerifyDevice(); void getCheckDevice(); - +public: + NewVerifyMethod *newVerifyWnd=nullptr; private: Ui::VerifyDevice *ui; + QList testedDeviceList; + QList bizDeviceList; }; #endif // VERIFYDEVICE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp index 2a0d9e3..8711c74 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp @@ -1,14 +1,18 @@ #include "verifymethodmanage.h" #include "ui_verifymethodmanage.h" #include "newverifymethod.h" +#include VerifyMethodManage::VerifyMethodManage(QWidget *parent) : QWidget(parent), ui(new Ui::VerifyMethodManage) { ui->setupUi(this); - for(int i=2;i<7;i++) + for(int i=1;i<5;i++) ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_2->setColumnWidth(0, 60); + ui->tableWidget_2->setColumnWidth(5, 200); + getVerifyMethod(); } VerifyMethodManage::~VerifyMethodManage() @@ -19,7 +23,130 @@ void VerifyMethodManage::showNewMethod() { NewVerifyMethod* checkWindow = new NewVerifyMethod; + checkWindow->verifyManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void VerifyMethodManage::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + updateRow(row,program); + row++; + } +} + +void VerifyMethodManage::updateTable(bool insert,CheckProgramManage program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void VerifyMethodManage::updateRow(int row,CheckProgramManage program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} + +void VerifyMethodManage::on_editButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + editIdx = index.row(); + //int column = index.column(); + QString sId = programList[editIdx].id; + NewVerifyMethod* checkWindow = new NewVerifyMethod(nullptr,sId); + checkWindow->verifyManageWnd=this; + checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + +void VerifyMethodManage::on_deleteButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + //int column = index.column(); + if(QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + if(BaseCommonApi::DeleteCheckProgramManage(programList[row].id)) + { + programList.removeAt(row); + ui->tableWidget_2->removeRow(row); + } + } +} diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.h b/softwareDirectory/AutoVerScheme/verifymethodmanage.h index 716ec2e..b21232f 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.h +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.h @@ -2,6 +2,7 @@ #define VERIFYMETHODMANAGE_H #include +#include "basecommonapi.h" namespace Ui { class VerifyMethodManage; @@ -14,11 +15,19 @@ public: explicit VerifyMethodManage(QWidget *parent = nullptr); ~VerifyMethodManage(); + void updateTable(bool insert,CheckProgramManage program); +private: + void getVerifyMethod(); + void updateRow(int row,CheckProgramManage program); private slots: void showNewMethod(); + void on_editButton_clicked(); + void on_deleteButton_clicked(); private: Ui::VerifyMethodManage *ui; + QList programList; + int editIdx=-1; }; #endif // VERIFYMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui index bd33672..56cc2d5 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui @@ -221,16 +221,6 @@ - 选择 - - - - 12 - - - - - 序号 diff --git a/softwareDirectory/AutoVerScheme/verifywindow.cpp b/softwareDirectory/AutoVerScheme/verifywindow.cpp index 5a79fc1..f51ac9d 100644 --- a/softwareDirectory/AutoVerScheme/verifywindow.cpp +++ b/softwareDirectory/AutoVerScheme/verifywindow.cpp @@ -6,6 +6,12 @@ ui(new Ui::VerifyWindow) { ui->setupUi(this); + ui->tableWidgetMethod->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=1;i<5;i++) + ui->tableWidgetMethod->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidgetMethod->setColumnWidth(0, 60); + ui->tableWidgetMethod->setColumnWidth(5, 100); + getVerifyMethod(); } VerifyWindow::~VerifyWindow() @@ -13,7 +19,49 @@ delete ui; } +void VerifyWindow::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidgetMethod->rowCount(); + + ui->tableWidgetMethod->insertRow(rowCount); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetMethod->setItem(row,0,p_check); + ui->tableWidgetMethod->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidgetMethod->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidgetMethod->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidgetMethod->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("详情")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(0,0,255,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->setMargin(0); + ui->tableWidgetMethod->setCellWidget(row,5,tmp_widget); + row++; + } +} + void VerifyWindow::showDevice() { ui->stackedWidget->setCurrentIndex(1); } + +void VerifyWindow::on_editButton_clicked() +{ + +} diff --git a/softwareDirectory/AutoVerScheme/verifywindow.h b/softwareDirectory/AutoVerScheme/verifywindow.h index 3bf5d68..e44f955 100644 --- a/softwareDirectory/AutoVerScheme/verifywindow.h +++ b/softwareDirectory/AutoVerScheme/verifywindow.h @@ -2,6 +2,7 @@ #define VERIFYWINDOW_H #include +#include "basecommonapi.h" namespace Ui { class VerifyWindow; @@ -14,11 +15,15 @@ public: explicit VerifyWindow(QWidget *parent = nullptr); ~VerifyWindow(); +private: + void getVerifyMethod(); private slots: void showDevice(); + void on_editButton_clicked(); private: Ui::VerifyWindow *ui; + QList programList; }; #endif // VERIFYWINDOW_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user index 373bbda..a7c95f9 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 06ab274..1d04dad 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1406,7 +1406,7 @@ return isSuccess; } //删除核查程序 -bool DeleteCheckProgramManage(QString id) +bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp index fca8ee7..27a21c9 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.cpp @@ -25,6 +25,7 @@ void CheckMethodManage::showNewMethod() { NewCheckMethod* checkWindow = new NewCheckMethod; + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -43,14 +44,14 @@ // 根据按钮的x和y坐标来定位对应的单元格 QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); // 获取该按钮所在表格的行号和列号 - int row = index.row(); + editIdx = index.row(); //int column = index.column(); - QString sId = programList[row].id; + QString sId = programList[editIdx].id; NewCheckMethod* checkWindow = new NewCheckMethod(nullptr,sId); + checkWindow->checkManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); - checkWindow->getMethodInfo(); } void CheckMethodManage::on_deleteButton_clicked() @@ -87,43 +88,67 @@ rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); - - //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 - - QPushButton *btn_1 = new QPushButton(); - btn_1->setText(tr("编辑")); - btn_1->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(92,170,54,100);" - "text-decoration:underline;" - "}"); - btn_1->setCursor(Qt::PointingHandCursor); - connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - - btn_1->setIconSize(QSize(16,16)); - btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); - QPushButton *btn_2 = new QPushButton(); - btn_2->setText(tr("删除")); - btn_2->setStyleSheet("QPushButton{" - "background-color:rgba(255,255,255,0);" - "color:rgba(170,17,17,100);" - "text-decoration:underline;" - "}"); - btn_2->setCursor(Qt::PointingHandCursor); - connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - btn_2->setIconSize(QSize(16,16)); - btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); - QWidget *tmp_widget = new QWidget(); - QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); - tmp_layout->addWidget(btn_1); - tmp_layout->addWidget(btn_2); - tmp_layout->setMargin(0); - ui->tableWidget_2->setCellWidget(row,5,tmp_widget); + updateRow(row,program); row++; } } + +void CheckMethodManage::updateTable(bool insert,VerificationProgramInfo program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void CheckMethodManage::updateRow(int row,VerificationProgramInfo program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} diff --git a/softwareDirectory/AutoVerScheme/checkmethodmanage.h b/softwareDirectory/AutoVerScheme/checkmethodmanage.h index 7bf5adb..487a8ed 100644 --- a/softwareDirectory/AutoVerScheme/checkmethodmanage.h +++ b/softwareDirectory/AutoVerScheme/checkmethodmanage.h @@ -15,9 +15,10 @@ public: explicit CheckMethodManage(QWidget *parent = nullptr); ~CheckMethodManage(); - + void updateTable(bool insert,VerificationProgramInfo program); private: void getCheckMethod(); + void updateRow(int row,VerificationProgramInfo program); private slots: void showNewMethod(); void on_editButton_clicked(); @@ -26,6 +27,7 @@ private: Ui::CheckMethodManage *ui; QList programList; + int editIdx=-1; }; #endif // CHECKMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 62d0dc1..c0c6866 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -2,11 +2,12 @@ #include "ui_formaddrsetting.h" #include -FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId) : +FormAddrSetting::FormAddrSetting(QWidget *parent,int type,QString id,QString deviceId,bool check) : QWidget(parent), iType(type), sId(id), sDeviceId(deviceId), + checkMode(check), ui(new Ui::FormAddrSetting) { ui->setupUi(this); @@ -31,11 +32,23 @@ updateRow(row,cmd); row++; } - QStringList headlist; - QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); - for (const QStringList& item : caliList){ - this->ui->comboBox->addItem(item[1]); - } + if(checkMode) + { + QStringList headlist; + QList caliList =BaseCommonApi::Search_CalibrationTable(sDeviceId,&headlist); + for (const QStringList& item : caliList){ + this->ui->comboBox->addItem(item[1]); + } + } + else + { + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(sDeviceId,&headlist); + for (const CheckDCPower& item : bizDeviceManageData){ + this->ui->comboBox->addItem(item.check_type); + } + } } void FormAddrSetting::updateRow(int row,InstructionLib cmd) @@ -45,7 +58,10 @@ ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); //设置数据 else ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname));*/ - ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + if(checkMode) + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_vername)); + else + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(cmd.belong_checkname)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(cmd.instruct_config)); //设置数据 ui->tableWidget->setItem(row, 3, new QTableWidgetItem(cmd.instruct_read)); //设置数据 QPushButton *btn_1 = new QPushButton(); @@ -122,7 +138,10 @@ cmd.device_id = sId; cmd.device_name = sName; cmd.type = iType; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.create_time = QDateTime::currentDateTime(); @@ -134,7 +153,10 @@ updateRow(rowCount,cmd); }else{ InstructionLib cmd = cmdList[editIdx]; - cmd.belong_vername = this->ui->comboBox->currentText(); + if(checkMode) + cmd.belong_vername = this->ui->comboBox->currentText(); + else + cmd.belong_checkname = this->ui->comboBox->currentText(); cmd.instruct_config = this->ui->textEdit->toPlainText(); cmd.instruct_read = this->ui->textEdit_2->toPlainText(); cmd.update_time = QDateTime::currentDateTime(); @@ -163,7 +185,10 @@ editIdx = row; InstructionLib cmd = cmdList[row]; - this->ui->comboBox->setCurrentText(cmd.belong_vername); + if(checkMode) + this->ui->comboBox->setCurrentText(cmd.belong_vername); + else + this->ui->comboBox->setCurrentText(cmd.belong_checkname); this->ui->textEdit->setText(cmd.instruct_config); this->ui->textEdit_2->setText(cmd.instruct_read); this->ui->stackedWidget->setCurrentIndex(1); diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.h b/softwareDirectory/AutoVerScheme/formaddrsetting.h index 3243cc8..afabfca 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.h +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.h @@ -13,7 +13,7 @@ Q_OBJECT public: - explicit FormAddrSetting(QWidget *parent = nullptr,int type=1,QString id="",QString deviceId=""); + explicit FormAddrSetting(QWidget *parent = nullptr,int type=0,QString id="",QString deviceId="",bool check=true); ~FormAddrSetting(); private: void initCmdTable(); @@ -42,6 +42,7 @@ QString sDeviceId; int iType=0; int editIdx=-1; + bool checkMode=true; }; #endif // FORMADDRSETTING_H diff --git a/softwareDirectory/AutoVerScheme/formverypoint.cpp b/softwareDirectory/AutoVerScheme/formverypoint.cpp index d1cec57..bff9f7f 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.cpp +++ b/softwareDirectory/AutoVerScheme/formverypoint.cpp @@ -1,14 +1,66 @@ #include "formverypoint.h" #include "ui_formverypoint.h" +#include "basecommonapi.h" -FormVeryPoint::FormVeryPoint(QWidget *parent) : +FormVeryPoint::FormVeryPoint(QWidget *parent,QString sId) : QWidget(parent), + checkId(sId), ui(new Ui::FormVeryPoint) { ui->setupUi(this); + if(checkId!="") + { + updateTable(checkId); + } } FormVeryPoint::~FormVeryPoint() { delete ui; } + +void FormVeryPoint::updateTable(QString id) +{ + //获取核查点tablewight的数据 + QStringList headlist; + //QString DeviceName = BaseCommonApi::getApparatus(id); + QList bizDeviceManageData=BaseCommonApi::getCheckDCPower(id,&headlist); + //QList bizDeviceManageData = BaseCommonApi::getCheckDCPower(id); + //设置tablewight + ui->tableWidget->setRowCount(0); + ui->tableWidget->setColumnCount(headlist.count()); + ui->tableWidget->setHorizontalHeaderLabels(headlist); + ui->tableWidget->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + //循环数据 + int rowCount=0; + int row=0; + + for (const CheckDCPower& checkDCPower : bizDeviceManageData) + { + rowCount = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(checkDCPower.check_type)); //核查类型 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(checkDCPower.params)); //参数 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(checkDCPower.unit)); //单位 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(checkDCPower.datum_point));//基准点 + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(checkDCPower.resolution));//分辨力 + ui->tableWidget->setItem(row, 6, new QTableWidgetItem(checkDCPower.cycle_number));//循环次数 + ui->tableWidget->setItem(row, 7, new QTableWidgetItem(checkDCPower.urel));//urel + ui->tableWidget->setItem(row, 8, new QTableWidgetItem(checkDCPower.resistance_value));//电阻值 + ui->tableWidget->setItem(row, 9, new QTableWidgetItem(checkDCPower.resistance_value_unit));//电阻值单位 + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + + //QDebug + row++; + + } +} +void FormVeryPoint::on_pushButton_14_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/formverypoint.h b/softwareDirectory/AutoVerScheme/formverypoint.h index bb6555c..cb395c7 100644 --- a/softwareDirectory/AutoVerScheme/formverypoint.h +++ b/softwareDirectory/AutoVerScheme/formverypoint.h @@ -12,11 +12,16 @@ Q_OBJECT public: - explicit FormVeryPoint(QWidget *parent = nullptr); + explicit FormVeryPoint(QWidget *parent = nullptr,QString sId=""); ~FormVeryPoint(); +private slots: + void on_pushButton_14_clicked(); private: + void updateTable(QString id); +private: Ui::FormVeryPoint *ui; + QString checkId=""; }; #endif // FORMVERYPOINT_H diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index fe671b1..cef8248 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -17,6 +17,7 @@ ui->tableWidget->verticalHeader()->setParent(nullptr); for(int i=0;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); } @@ -109,6 +110,7 @@ //qDebug() << "programInfo.id" << programInfo.id ; if(BaseCommonApi::InsertVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(true,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); @@ -120,6 +122,7 @@ programInfo.remark = ui->lineEditMark->text(); if(BaseCommonApi::UpdateVerificationProgramInfo(programInfo)) { + checkManageWnd->updateTable(false,programInfo); this->close(); }else{ QMessageBox::warning(this, "警告", "保存失败!"); diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 8ac04c7..0d0f7ad 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -3,6 +3,7 @@ #include #include "basecommonapi.h" +#include "checkmethodmanage.h" namespace Ui { class NewCheckMethod; @@ -30,6 +31,8 @@ void on_commButton_clicked(int type,QString id); protected: void showEvent(QShowEvent *event); +public: + CheckMethodManage *checkManageWnd=nullptr; private: QString methodId=""; QString checkId=""; diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index d3d5abd..4fc3594 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -2,12 +2,45 @@ #include "ui_newverifymethod.h" #include "verifydevice.h" #include "formverypoint.h" +#include "formcommsetting.h" +#include "formaddrsetting.h" +#include "qfiledialog.h" +#include -NewVerifyMethod::NewVerifyMethod(QWidget *parent) : +NewVerifyMethod::NewVerifyMethod(QWidget *parent,QString sId) : QWidget(parent), + methodId(sId), ui(new Ui::NewVerifyMethod) { ui->setupUi(this); + ui->tableWidget->verticalHeader()->setParent(nullptr); + for(int i=0;i<6;i++) + ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + getMethodInfo(); +} + +void NewVerifyMethod::getMethodInfo() +{ + if(methodId!="") + { + programInfo = BaseCommonApi::getCheckProgramManageById(methodId); + ui->lineEditName->setText(programInfo.check_name); + ui->lineEditUser->setText(programInfo.create_name); + ui->dateEditTime->setDateTime(programInfo.create_time); + ui->lineEditMark->setText(programInfo.remark); + if(programInfo.img_path!="") + { + //QImage img(programInfo.img_path); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + QString strStyle = "QLabel{" + "image:url("+programInfo.img_path+");" + "}"; + qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + } + chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + } } NewVerifyMethod::~NewVerifyMethod() @@ -18,6 +51,7 @@ void NewVerifyMethod::showVerifyDevice() { VerifyDevice *checkWindow = new VerifyDevice; + checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); @@ -25,8 +59,213 @@ void NewVerifyMethod::showVeryPoint() { - FormVeryPoint *checkWindow = new FormVeryPoint; + FormVeryPoint *checkWindow = new FormVeryPoint(nullptr,checkId); //checkWindow.setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_cmdButton_clicked(int type,QString id) +{ + //qDebug() << "cmd click:" << type << id ; + FormAddrSetting *form = new FormAddrSetting(nullptr,type,id,checkId,false); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + +void NewVerifyMethod::on_commButton_clicked(int type,QString id) +{ + //qDebug() << "comm click:" << type << id ; + FormCommSetting *form = new FormCommSetting(nullptr,type,id); + form->setWindowModality(Qt::ApplicationModal); + form->show(); +} + + +void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) +{ + programInfo.standard_device_id = bizIds; + programInfo.verification_documents_id=checkIds; + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + checkId=""; + if(bizIds!="") + { + idList = bizIds.split(","); + for(const QString& id : idList) + { + checkId = id; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=1; + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_cmdButton_clicked(1,id))); + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_commButton_clicked(1,id))); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } + + if(checkIds!="") + { + idList = checkIds.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getTestedCatDevice(id); + if(result.length()>0){ + rowCount = ui->tableWidget->rowCount(); + + ui->tableWidget->insertRow(rowCount); + ui->tableWidget->setItem(row, 0, new QTableWidgetItem("核查件")); + ui->tableWidget->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); //设置数据 + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("设置命令")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + int type=0; + connect(btn_1, &QPushButton::clicked, this, [this,type, id]() { + on_cmdButton_clicked(type,id); + }); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("设置设备接口")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2, &QPushButton::clicked, this, [this,type, id]() { + on_commButton_clicked(type,id); + }); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_11_clicked() +{ + QString sName = QFileDialog::getOpenFileName(this,"选择图片","","Image File(*.bmp *.jpg *.jpeg *.png)"); + //第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器 + //QImage img(sName); + //int WindowW = this->width(); + //int WindowH = this->height(); + //ui->label->setGeometry(0, 0, WindowW, WindowH); + //QImage scalimg = img.scaled(ui->label_11->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + //ui->label_11->setPixmap(QPixmap::fromImage(scalimg)); + //ui->label_11->setPixmap(QPixmap(sName)); + QString strStyle = "QLabel{" + "image:url("+sName+");" + "}"; + //qDebug() << "strStyle:" << strStyle ; + ui->labelImage->setStyleSheet(strStyle); + programInfo.img_path = sName; +} + +void NewVerifyMethod::on_pushButton_12_clicked() +{ + ui->labelImage->setStyleSheet(""); + programInfo.img_path = ""; +} + +void NewVerifyMethod::on_pushButton_9_clicked() +{ + if(programInfo.id=="") + { + BaseCommonApi baseApi; + qint64 id = baseApi.generateId(); + programInfo.id = QString::number(id); + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + //qDebug() << "programInfo.id" << programInfo.id ; + if(BaseCommonApi::InsertCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(true,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + }else{ + programInfo.check_name = ui->lineEditName->text(); + programInfo.create_name = ui->lineEditUser->text(); + programInfo.create_time = ui->dateEditTime->dateTime(); + programInfo.remark = ui->lineEditMark->text(); + if(BaseCommonApi::UpdateCheckProgramManage(programInfo)) + { + verifyManageWnd->updateTable(false,programInfo); + this->close(); + }else{ + QMessageBox::warning(this, "警告", "保存失败!"); + } + } +} + +void NewVerifyMethod::on_pushButton_10_clicked() +{ + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 1c262c0..46743de 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -2,6 +2,8 @@ #define NEWVERIFYMETHOD_H #include +#include "verifymethodmanage.h" +#include "basecommonapi.h" namespace Ui { class NewVerifyMethod; @@ -12,13 +14,30 @@ Q_OBJECT public: - explicit NewVerifyMethod(QWidget *parent = nullptr); + explicit NewVerifyMethod(QWidget *parent = nullptr,QString sId=""); ~NewVerifyMethod(); + void getMethodInfo(); + void chooseDevices(QString bizIds,QString checkIds); private slots: void showVerifyDevice(); void showVeryPoint(); + void on_cmdButton_clicked(int type,QString id); + void on_commButton_clicked(int type,QString id); + void on_pushButton_11_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_9_clicked(); + + void on_pushButton_10_clicked(); + +public: + VerifyMethodManage *verifyManageWnd=nullptr; private: Ui::NewVerifyMethod *ui; + QString methodId=""; + QString checkId=""; + CheckProgramManage programInfo; }; #endif // NEWVERIFYMETHOD_H diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 32fd7e2..1b3a1f1 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -127,7 +127,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -264,7 +264,17 @@ - + + + + 0 + 0 + + + + + + @@ -334,7 +344,7 @@ - + 设备类型 diff --git a/softwareDirectory/AutoVerScheme/verifydevice.cpp b/softwareDirectory/AutoVerScheme/verifydevice.cpp index 1a13c60..0762d9f 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.cpp +++ b/softwareDirectory/AutoVerScheme/verifydevice.cpp @@ -2,6 +2,7 @@ #include "ui_verifydevice.h" #include "basecommonapi.h" #include +#include VerifyDevice::VerifyDevice(QWidget *parent) : QWidget(parent), @@ -20,6 +21,8 @@ VerifyDevice::~VerifyDevice() { + testedDeviceList.clear(); + bizDeviceList.clear(); delete ui; } @@ -27,12 +30,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + bizDeviceList = BaseCommonApi::getBizDeviceManage(); + for (const BizDevice& bizDevice : bizDeviceList) { rowCount = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget->setItem(row,0,p_check); ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -45,12 +49,13 @@ { int rowCount=0; int row=0; - QList data = BaseCommonApi::getBizDeviceManage(); - for (const BizDevice& bizDevice : data) { + testedDeviceList = BaseCommonApi::getTestedDevice(); + for (const TestedDevice& bizDevice : testedDeviceList) { rowCount = ui->tableWidget_2->rowCount(); ui->tableWidget_2->insertRow(rowCount); - QCheckBox *checkBox = new QCheckBox; - ui->tableWidget_2->setCellWidget(row, 0, checkBox); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_2->setItem(row,0,p_check); ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name)); ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model)); ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no)); @@ -59,3 +64,35 @@ } } + +void VerifyDevice::on_pushButton_14_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget->rowCount();i++){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizDeviceList[i].id; + else + bizIds+=","+bizDeviceList[i].id; + } + } + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + if(checkIds=="") + checkIds = testedDeviceList[i].id; + else + checkIds+=","+testedDeviceList[i].id; + } + } + if(checkIds==""){ + QMessageBox::warning(this, "提示", "请选择核查件!"); + return; + } + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + newVerifyWnd->chooseDevices(bizIds,checkIds); + this->close(); +} diff --git a/softwareDirectory/AutoVerScheme/verifydevice.h b/softwareDirectory/AutoVerScheme/verifydevice.h index 82afc24..9a59026 100644 --- a/softwareDirectory/AutoVerScheme/verifydevice.h +++ b/softwareDirectory/AutoVerScheme/verifydevice.h @@ -2,6 +2,8 @@ #define VERIFYDEVICE_H #include +#include "basecommonapi.h" +#include "newverifymethod.h" namespace Ui { class VerifyDevice; @@ -14,12 +16,18 @@ public: explicit VerifyDevice(QWidget *parent = nullptr); ~VerifyDevice(); +private slots: + void on_pushButton_14_clicked(); + private: void getVerifyDevice(); void getCheckDevice(); - +public: + NewVerifyMethod *newVerifyWnd=nullptr; private: Ui::VerifyDevice *ui; + QList testedDeviceList; + QList bizDeviceList; }; #endif // VERIFYDEVICE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp index 2a0d9e3..8711c74 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.cpp @@ -1,14 +1,18 @@ #include "verifymethodmanage.h" #include "ui_verifymethodmanage.h" #include "newverifymethod.h" +#include VerifyMethodManage::VerifyMethodManage(QWidget *parent) : QWidget(parent), ui(new Ui::VerifyMethodManage) { ui->setupUi(this); - for(int i=2;i<7;i++) + for(int i=1;i<5;i++) ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_2->setColumnWidth(0, 60); + ui->tableWidget_2->setColumnWidth(5, 200); + getVerifyMethod(); } VerifyMethodManage::~VerifyMethodManage() @@ -19,7 +23,130 @@ void VerifyMethodManage::showNewMethod() { NewVerifyMethod* checkWindow = new NewVerifyMethod; + checkWindow->verifyManageWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void VerifyMethodManage::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + updateRow(row,program); + row++; + } +} + +void VerifyMethodManage::updateTable(bool insert,CheckProgramManage program) +{ + if(insert){ + int rowCount = ui->tableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + /*VerificationProgramInfo info; + info.id = program.id; + info.program_name = program.program_name; + info.create_name = program.create_name; + info.create_time = program.create_time; + info.remark = program.remark;*/ + updateRow(rowCount,program); + programList.append(program); + }else{ + programList[editIdx] =program; + updateRow(editIdx,program); + } +} + +void VerifyMethodManage::updateRow(int row,CheckProgramManage program) +{ + ui->tableWidget_2->setItem(row, 0, new QTableWidgetItem(QString::number(row+1))); + + //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("编辑")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(92,170,54,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("删除")); + btn_2->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(170,17,17,100);" + "text-decoration:underline;" + "}"); + btn_2->setCursor(Qt::PointingHandCursor); + connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + btn_2->setIconSize(QSize(16,16)); + btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->addWidget(btn_2); + tmp_layout->setMargin(0); + ui->tableWidget_2->setCellWidget(row,5,tmp_widget); +} + +void VerifyMethodManage::on_editButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + editIdx = index.row(); + //int column = index.column(); + QString sId = programList[editIdx].id; + NewVerifyMethod* checkWindow = new NewVerifyMethod(nullptr,sId); + checkWindow->verifyManageWnd=this; + checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + +void VerifyMethodManage::on_deleteButton_clicked() +{ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidget_2->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + //int column = index.column(); + if(QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + if(BaseCommonApi::DeleteCheckProgramManage(programList[row].id)) + { + programList.removeAt(row); + ui->tableWidget_2->removeRow(row); + } + } +} diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.h b/softwareDirectory/AutoVerScheme/verifymethodmanage.h index 716ec2e..b21232f 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.h +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.h @@ -2,6 +2,7 @@ #define VERIFYMETHODMANAGE_H #include +#include "basecommonapi.h" namespace Ui { class VerifyMethodManage; @@ -14,11 +15,19 @@ public: explicit VerifyMethodManage(QWidget *parent = nullptr); ~VerifyMethodManage(); + void updateTable(bool insert,CheckProgramManage program); +private: + void getVerifyMethod(); + void updateRow(int row,CheckProgramManage program); private slots: void showNewMethod(); + void on_editButton_clicked(); + void on_deleteButton_clicked(); private: Ui::VerifyMethodManage *ui; + QList programList; + int editIdx=-1; }; #endif // VERIFYMETHODMANAGE_H diff --git a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui index bd33672..56cc2d5 100644 --- a/softwareDirectory/AutoVerScheme/verifymethodmanage.ui +++ b/softwareDirectory/AutoVerScheme/verifymethodmanage.ui @@ -221,16 +221,6 @@ - 选择 - - - - 12 - - - - - 序号 diff --git a/softwareDirectory/AutoVerScheme/verifywindow.cpp b/softwareDirectory/AutoVerScheme/verifywindow.cpp index 5a79fc1..f51ac9d 100644 --- a/softwareDirectory/AutoVerScheme/verifywindow.cpp +++ b/softwareDirectory/AutoVerScheme/verifywindow.cpp @@ -6,6 +6,12 @@ ui(new Ui::VerifyWindow) { ui->setupUi(this); + ui->tableWidgetMethod->verticalHeader()->setParent(nullptr); //隐藏行头 + for(int i=1;i<5;i++) + ui->tableWidgetMethod->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidgetMethod->setColumnWidth(0, 60); + ui->tableWidgetMethod->setColumnWidth(5, 100); + getVerifyMethod(); } VerifyWindow::~VerifyWindow() @@ -13,7 +19,49 @@ delete ui; } +void VerifyWindow::getVerifyMethod() +{ + programList = BaseCommonApi::getCheckProgramManage(); + int rowCount = 0; + int row=0; + for (const CheckProgramManage& program : programList) { + rowCount = ui->tableWidgetMethod->rowCount(); + + ui->tableWidgetMethod->insertRow(rowCount); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetMethod->setItem(row,0,p_check); + ui->tableWidgetMethod->setItem(row, 1, new QTableWidgetItem(program.check_name)); //设置数据 + ui->tableWidgetMethod->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据 + ui->tableWidgetMethod->setItem(row, 3, new QTableWidgetItem(program.create_time.toString("yyyy-MM-dd"))); //设置数据 + ui->tableWidgetMethod->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据 + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("详情")); + btn_1->setStyleSheet("QPushButton{" + "background-color:rgba(255,255,255,0);" + "color:rgba(0,0,255,100);" + "text-decoration:underline;" + "}"); + btn_1->setCursor(Qt::PointingHandCursor); + connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + + btn_1->setIconSize(QSize(16,16)); + btn_1->setIcon(QIcon(":/image/Index/u2324.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1); + tmp_layout->setMargin(0); + ui->tableWidgetMethod->setCellWidget(row,5,tmp_widget); + row++; + } +} + void VerifyWindow::showDevice() { ui->stackedWidget->setCurrentIndex(1); } + +void VerifyWindow::on_editButton_clicked() +{ + +} diff --git a/softwareDirectory/AutoVerScheme/verifywindow.h b/softwareDirectory/AutoVerScheme/verifywindow.h index 3bf5d68..e44f955 100644 --- a/softwareDirectory/AutoVerScheme/verifywindow.h +++ b/softwareDirectory/AutoVerScheme/verifywindow.h @@ -2,6 +2,7 @@ #define VERIFYWINDOW_H #include +#include "basecommonapi.h" namespace Ui { class VerifyWindow; @@ -14,11 +15,15 @@ public: explicit VerifyWindow(QWidget *parent = nullptr); ~VerifyWindow(); +private: + void getVerifyMethod(); private slots: void showDevice(); + void on_editButton_clicked(); private: Ui::VerifyWindow *ui; + QList programList; }; #endif // VERIFYWINDOW_H diff --git a/softwareDirectory/AutoVerScheme/verifywindow.ui b/softwareDirectory/AutoVerScheme/verifywindow.ui index 4279212..5961d76 100644 --- a/softwareDirectory/AutoVerScheme/verifywindow.ui +++ b/softwareDirectory/AutoVerScheme/verifywindow.ui @@ -269,36 +269,61 @@ 选择 - - - - 序号 + + + 12 + - 检定程序名称 + 核查程序名称 + + + + 12 + 创建人 + + + 12 + + 创建时间 + + + 12 + + 说明 + + + 12 + + 操作 + + + 12 + +