diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index efc8d50..12ea2ea 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -41,6 +41,8 @@ ui->comboBoxName->addItem("ALL"); ui->comboBoxModal->addItem("ALL"); ui->comboBoxCustomer->addItem("ALL"); + ui->comboBoxName_2->addItem("ALL"); + ui->comboBoxModal_2->addItem("ALL"); //统一定义单位转换系数 unitTransList.insert("V",1); @@ -107,6 +109,63 @@ } } +void CheckWindow::updateStandardTable() +{ + ui->tableWidgetStd->clearContents(); + ui->tableWidgetStd->setRowCount(0); + QString sFilterName = ui->comboBoxName_2->currentText(); + QString sFilterModal = ui->comboBoxModal_2->currentText(); + QString sFilterDepart = ui->lineEdit_4->text(); + QString sFilterNo = ui->lineEditNo_2->text(); + int rowCount=0; + int row=0; + //catDeviceList.clear(); + catIdList.clear(); + if(programInfo.standard_device_id!=""){ + catIdList = programInfo.standard_device_id.split(","); + for(int i=catIdList.length()-1;i>=0; i--) + { + QString id = catIdList[i]; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + CatDeviceInfor item = result[0]; + bool bAdd=true; + if(sFilterName!="ALL"&&!item.equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!="ALL"&&!item.model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterDepart!=""&&!item.dept_name.contains(sFilterDepart)){ + bAdd=false; + } + if(sFilterNo!=""&&!item.manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(bAdd){ + //更新标准设备表格 + //rowCount = ui->tableWidgetStd->rowCount(); + ui->tableWidgetStd->insertRow(0); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetStd->setItem(0,0,p_check); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + row++; + //catDeviceList.append(item); + }else{ + catIdList.removeAt(i); + } + } + result.clear(); + } + } +} + void CheckWindow::showStandard(){ QString sId=""; for(int i=0;itableWidgetMethod->rowCount();i++){ @@ -120,36 +179,24 @@ QMessageBox::warning(this, "提示", "请选择检定程序!"); }else{ programInfo = BaseCommonApi::getVerificationProgramInfo(sId); - QStringList idList; - int rowCount=0; - int row=0; - ui->tableWidgetStd->clearContents(); - ui->tableWidgetStd->setRowCount(0); - catDeviceList.clear(); + //catDeviceList.clear(); if(programInfo.standard_device_id!=""){ - idList = programInfo.standard_device_id.split(","); + QStringList idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ - catDeviceList.append(result[0]); - //更新标准设备表格 - rowCount = ui->tableWidgetStd->rowCount(); - ui->tableWidgetStd->insertRow(rowCount); - QTableWidgetItem* p_check = new QTableWidgetItem(); - p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 - ui->tableWidgetStd->setItem(row,0,p_check); - ui->tableWidgetStd->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); - ui->tableWidgetStd->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidgetStd->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); - ui->tableWidgetStd->setItem(row, 4, new QTableWidgetItem(result[0].dept_name)); - ui->tableWidgetStd->setItem(row, 5, new QTableWidgetItem(result[0].director_name)); - ui->tableWidgetStd->setItem(row, 6, new QTableWidgetItem(result[0].measure_valid_date)); - row++; + SetStandardCombox(result[0]); + //catDeviceList.append(result[0]); } result.clear(); } idList.clear(); + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } ui->stackedWidget->setCurrentIndex(2); } @@ -157,12 +204,12 @@ void CheckWindow::showDevice() { - QStringList idList = programInfo.standard_device_id.split(","); + //QStringList idList = programInfo.standard_device_id.split(","); QString sId=""; for(int i=0;itableWidgetStd->rowCount();i++){ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ - sId = idList[i]; + sId = catIdList[i]; break; } } @@ -453,6 +500,16 @@ } } +void CheckWindow::SetStandardCombox(CatDeviceInfor info) +{ + if(comboBoxContainsItem(ui->comboBoxName_2,info.equipment_name)){ + ui->comboBoxName_2->addItem(info.equipment_name); + } + if(comboBoxContainsItem(ui->comboBoxModal_2,info.model)){ + ui->comboBoxModal_2->addItem(info.model); + } +} + bool CheckWindow::comboBoxContainsItem(QComboBox *comboBox, const QString &itemText) { for (int i = 0; i < comboBox->count(); ++i) { @@ -973,12 +1030,16 @@ void CheckWindow::on_pushButton_4_clicked() { - + updateStandardTable(); } void CheckWindow::on_pushButton_5_clicked() { - + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } void CheckWindow::on_pushButton_6_clicked() diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index efc8d50..12ea2ea 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -41,6 +41,8 @@ ui->comboBoxName->addItem("ALL"); ui->comboBoxModal->addItem("ALL"); ui->comboBoxCustomer->addItem("ALL"); + ui->comboBoxName_2->addItem("ALL"); + ui->comboBoxModal_2->addItem("ALL"); //统一定义单位转换系数 unitTransList.insert("V",1); @@ -107,6 +109,63 @@ } } +void CheckWindow::updateStandardTable() +{ + ui->tableWidgetStd->clearContents(); + ui->tableWidgetStd->setRowCount(0); + QString sFilterName = ui->comboBoxName_2->currentText(); + QString sFilterModal = ui->comboBoxModal_2->currentText(); + QString sFilterDepart = ui->lineEdit_4->text(); + QString sFilterNo = ui->lineEditNo_2->text(); + int rowCount=0; + int row=0; + //catDeviceList.clear(); + catIdList.clear(); + if(programInfo.standard_device_id!=""){ + catIdList = programInfo.standard_device_id.split(","); + for(int i=catIdList.length()-1;i>=0; i--) + { + QString id = catIdList[i]; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + CatDeviceInfor item = result[0]; + bool bAdd=true; + if(sFilterName!="ALL"&&!item.equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!="ALL"&&!item.model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterDepart!=""&&!item.dept_name.contains(sFilterDepart)){ + bAdd=false; + } + if(sFilterNo!=""&&!item.manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(bAdd){ + //更新标准设备表格 + //rowCount = ui->tableWidgetStd->rowCount(); + ui->tableWidgetStd->insertRow(0); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetStd->setItem(0,0,p_check); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + row++; + //catDeviceList.append(item); + }else{ + catIdList.removeAt(i); + } + } + result.clear(); + } + } +} + void CheckWindow::showStandard(){ QString sId=""; for(int i=0;itableWidgetMethod->rowCount();i++){ @@ -120,36 +179,24 @@ QMessageBox::warning(this, "提示", "请选择检定程序!"); }else{ programInfo = BaseCommonApi::getVerificationProgramInfo(sId); - QStringList idList; - int rowCount=0; - int row=0; - ui->tableWidgetStd->clearContents(); - ui->tableWidgetStd->setRowCount(0); - catDeviceList.clear(); + //catDeviceList.clear(); if(programInfo.standard_device_id!=""){ - idList = programInfo.standard_device_id.split(","); + QStringList idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ - catDeviceList.append(result[0]); - //更新标准设备表格 - rowCount = ui->tableWidgetStd->rowCount(); - ui->tableWidgetStd->insertRow(rowCount); - QTableWidgetItem* p_check = new QTableWidgetItem(); - p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 - ui->tableWidgetStd->setItem(row,0,p_check); - ui->tableWidgetStd->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); - ui->tableWidgetStd->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidgetStd->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); - ui->tableWidgetStd->setItem(row, 4, new QTableWidgetItem(result[0].dept_name)); - ui->tableWidgetStd->setItem(row, 5, new QTableWidgetItem(result[0].director_name)); - ui->tableWidgetStd->setItem(row, 6, new QTableWidgetItem(result[0].measure_valid_date)); - row++; + SetStandardCombox(result[0]); + //catDeviceList.append(result[0]); } result.clear(); } idList.clear(); + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } ui->stackedWidget->setCurrentIndex(2); } @@ -157,12 +204,12 @@ void CheckWindow::showDevice() { - QStringList idList = programInfo.standard_device_id.split(","); + //QStringList idList = programInfo.standard_device_id.split(","); QString sId=""; for(int i=0;itableWidgetStd->rowCount();i++){ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ - sId = idList[i]; + sId = catIdList[i]; break; } } @@ -453,6 +500,16 @@ } } +void CheckWindow::SetStandardCombox(CatDeviceInfor info) +{ + if(comboBoxContainsItem(ui->comboBoxName_2,info.equipment_name)){ + ui->comboBoxName_2->addItem(info.equipment_name); + } + if(comboBoxContainsItem(ui->comboBoxModal_2,info.model)){ + ui->comboBoxModal_2->addItem(info.model); + } +} + bool CheckWindow::comboBoxContainsItem(QComboBox *comboBox, const QString &itemText) { for (int i = 0; i < comboBox->count(); ++i) { @@ -973,12 +1030,16 @@ void CheckWindow::on_pushButton_4_clicked() { - + updateStandardTable(); } void CheckWindow::on_pushButton_5_clicked() { - + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } void CheckWindow::on_pushButton_6_clicked() diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index ce91e11..b7f4a2b 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -80,6 +80,8 @@ int getIndexByHeader(QString sLabel,QString sName); double transUnit(QString sData,QString sUnit,bool reverse=false); QString transCmd(QString sCmd,QString sLabel,QStringList data); + void SetStandardCombox(CatDeviceInfor info); + void updateStandardTable(); private: Ui::CheckWindow *ui; QList programList; @@ -96,6 +98,7 @@ QMap> caliDataList; QMap headTableList; QList catDeviceList; + QStringList catIdList; int curHeadIdx=-1; int iEquipType=1; QMap unitTransList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index efc8d50..12ea2ea 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -41,6 +41,8 @@ ui->comboBoxName->addItem("ALL"); ui->comboBoxModal->addItem("ALL"); ui->comboBoxCustomer->addItem("ALL"); + ui->comboBoxName_2->addItem("ALL"); + ui->comboBoxModal_2->addItem("ALL"); //统一定义单位转换系数 unitTransList.insert("V",1); @@ -107,6 +109,63 @@ } } +void CheckWindow::updateStandardTable() +{ + ui->tableWidgetStd->clearContents(); + ui->tableWidgetStd->setRowCount(0); + QString sFilterName = ui->comboBoxName_2->currentText(); + QString sFilterModal = ui->comboBoxModal_2->currentText(); + QString sFilterDepart = ui->lineEdit_4->text(); + QString sFilterNo = ui->lineEditNo_2->text(); + int rowCount=0; + int row=0; + //catDeviceList.clear(); + catIdList.clear(); + if(programInfo.standard_device_id!=""){ + catIdList = programInfo.standard_device_id.split(","); + for(int i=catIdList.length()-1;i>=0; i--) + { + QString id = catIdList[i]; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + CatDeviceInfor item = result[0]; + bool bAdd=true; + if(sFilterName!="ALL"&&!item.equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!="ALL"&&!item.model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterDepart!=""&&!item.dept_name.contains(sFilterDepart)){ + bAdd=false; + } + if(sFilterNo!=""&&!item.manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(bAdd){ + //更新标准设备表格 + //rowCount = ui->tableWidgetStd->rowCount(); + ui->tableWidgetStd->insertRow(0); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetStd->setItem(0,0,p_check); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + row++; + //catDeviceList.append(item); + }else{ + catIdList.removeAt(i); + } + } + result.clear(); + } + } +} + void CheckWindow::showStandard(){ QString sId=""; for(int i=0;itableWidgetMethod->rowCount();i++){ @@ -120,36 +179,24 @@ QMessageBox::warning(this, "提示", "请选择检定程序!"); }else{ programInfo = BaseCommonApi::getVerificationProgramInfo(sId); - QStringList idList; - int rowCount=0; - int row=0; - ui->tableWidgetStd->clearContents(); - ui->tableWidgetStd->setRowCount(0); - catDeviceList.clear(); + //catDeviceList.clear(); if(programInfo.standard_device_id!=""){ - idList = programInfo.standard_device_id.split(","); + QStringList idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ - catDeviceList.append(result[0]); - //更新标准设备表格 - rowCount = ui->tableWidgetStd->rowCount(); - ui->tableWidgetStd->insertRow(rowCount); - QTableWidgetItem* p_check = new QTableWidgetItem(); - p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 - ui->tableWidgetStd->setItem(row,0,p_check); - ui->tableWidgetStd->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); - ui->tableWidgetStd->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidgetStd->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); - ui->tableWidgetStd->setItem(row, 4, new QTableWidgetItem(result[0].dept_name)); - ui->tableWidgetStd->setItem(row, 5, new QTableWidgetItem(result[0].director_name)); - ui->tableWidgetStd->setItem(row, 6, new QTableWidgetItem(result[0].measure_valid_date)); - row++; + SetStandardCombox(result[0]); + //catDeviceList.append(result[0]); } result.clear(); } idList.clear(); + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } ui->stackedWidget->setCurrentIndex(2); } @@ -157,12 +204,12 @@ void CheckWindow::showDevice() { - QStringList idList = programInfo.standard_device_id.split(","); + //QStringList idList = programInfo.standard_device_id.split(","); QString sId=""; for(int i=0;itableWidgetStd->rowCount();i++){ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ - sId = idList[i]; + sId = catIdList[i]; break; } } @@ -453,6 +500,16 @@ } } +void CheckWindow::SetStandardCombox(CatDeviceInfor info) +{ + if(comboBoxContainsItem(ui->comboBoxName_2,info.equipment_name)){ + ui->comboBoxName_2->addItem(info.equipment_name); + } + if(comboBoxContainsItem(ui->comboBoxModal_2,info.model)){ + ui->comboBoxModal_2->addItem(info.model); + } +} + bool CheckWindow::comboBoxContainsItem(QComboBox *comboBox, const QString &itemText) { for (int i = 0; i < comboBox->count(); ++i) { @@ -973,12 +1030,16 @@ void CheckWindow::on_pushButton_4_clicked() { - + updateStandardTable(); } void CheckWindow::on_pushButton_5_clicked() { - + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } void CheckWindow::on_pushButton_6_clicked() diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index ce91e11..b7f4a2b 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -80,6 +80,8 @@ int getIndexByHeader(QString sLabel,QString sName); double transUnit(QString sData,QString sUnit,bool reverse=false); QString transCmd(QString sCmd,QString sLabel,QStringList data); + void SetStandardCombox(CatDeviceInfor info); + void updateStandardTable(); private: Ui::CheckWindow *ui; QList programList; @@ -96,6 +98,7 @@ QMap> caliDataList; QMap headTableList; QList catDeviceList; + QStringList catIdList; int curHeadIdx=-1; int iEquipType=1; QMap unitTransList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 806eadb..794c8a4 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -756,6 +756,13 @@ 36 + + + 12 + 75 + true + + color: rgb(255, 255, 255); background-color: rgb(55, 83, 123); @@ -798,10 +805,18 @@ - + + + true + + - + + + true + + @@ -1042,6 +1057,12 @@ + + + 120 + 36 + + 12 @@ -1057,6 +1078,11 @@ 查看详情 + + + :/image/Index/u794.svg + + @@ -1149,6 +1175,24 @@ 0 + + + 80 + 32 + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(55, 83, 123); +border-radius:5px; + 确定 diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index efc8d50..12ea2ea 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -41,6 +41,8 @@ ui->comboBoxName->addItem("ALL"); ui->comboBoxModal->addItem("ALL"); ui->comboBoxCustomer->addItem("ALL"); + ui->comboBoxName_2->addItem("ALL"); + ui->comboBoxModal_2->addItem("ALL"); //统一定义单位转换系数 unitTransList.insert("V",1); @@ -107,6 +109,63 @@ } } +void CheckWindow::updateStandardTable() +{ + ui->tableWidgetStd->clearContents(); + ui->tableWidgetStd->setRowCount(0); + QString sFilterName = ui->comboBoxName_2->currentText(); + QString sFilterModal = ui->comboBoxModal_2->currentText(); + QString sFilterDepart = ui->lineEdit_4->text(); + QString sFilterNo = ui->lineEditNo_2->text(); + int rowCount=0; + int row=0; + //catDeviceList.clear(); + catIdList.clear(); + if(programInfo.standard_device_id!=""){ + catIdList = programInfo.standard_device_id.split(","); + for(int i=catIdList.length()-1;i>=0; i--) + { + QString id = catIdList[i]; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + CatDeviceInfor item = result[0]; + bool bAdd=true; + if(sFilterName!="ALL"&&!item.equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!="ALL"&&!item.model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterDepart!=""&&!item.dept_name.contains(sFilterDepart)){ + bAdd=false; + } + if(sFilterNo!=""&&!item.manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(bAdd){ + //更新标准设备表格 + //rowCount = ui->tableWidgetStd->rowCount(); + ui->tableWidgetStd->insertRow(0); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetStd->setItem(0,0,p_check); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + row++; + //catDeviceList.append(item); + }else{ + catIdList.removeAt(i); + } + } + result.clear(); + } + } +} + void CheckWindow::showStandard(){ QString sId=""; for(int i=0;itableWidgetMethod->rowCount();i++){ @@ -120,36 +179,24 @@ QMessageBox::warning(this, "提示", "请选择检定程序!"); }else{ programInfo = BaseCommonApi::getVerificationProgramInfo(sId); - QStringList idList; - int rowCount=0; - int row=0; - ui->tableWidgetStd->clearContents(); - ui->tableWidgetStd->setRowCount(0); - catDeviceList.clear(); + //catDeviceList.clear(); if(programInfo.standard_device_id!=""){ - idList = programInfo.standard_device_id.split(","); + QStringList idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ - catDeviceList.append(result[0]); - //更新标准设备表格 - rowCount = ui->tableWidgetStd->rowCount(); - ui->tableWidgetStd->insertRow(rowCount); - QTableWidgetItem* p_check = new QTableWidgetItem(); - p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 - ui->tableWidgetStd->setItem(row,0,p_check); - ui->tableWidgetStd->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); - ui->tableWidgetStd->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidgetStd->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); - ui->tableWidgetStd->setItem(row, 4, new QTableWidgetItem(result[0].dept_name)); - ui->tableWidgetStd->setItem(row, 5, new QTableWidgetItem(result[0].director_name)); - ui->tableWidgetStd->setItem(row, 6, new QTableWidgetItem(result[0].measure_valid_date)); - row++; + SetStandardCombox(result[0]); + //catDeviceList.append(result[0]); } result.clear(); } idList.clear(); + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } ui->stackedWidget->setCurrentIndex(2); } @@ -157,12 +204,12 @@ void CheckWindow::showDevice() { - QStringList idList = programInfo.standard_device_id.split(","); + //QStringList idList = programInfo.standard_device_id.split(","); QString sId=""; for(int i=0;itableWidgetStd->rowCount();i++){ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ - sId = idList[i]; + sId = catIdList[i]; break; } } @@ -453,6 +500,16 @@ } } +void CheckWindow::SetStandardCombox(CatDeviceInfor info) +{ + if(comboBoxContainsItem(ui->comboBoxName_2,info.equipment_name)){ + ui->comboBoxName_2->addItem(info.equipment_name); + } + if(comboBoxContainsItem(ui->comboBoxModal_2,info.model)){ + ui->comboBoxModal_2->addItem(info.model); + } +} + bool CheckWindow::comboBoxContainsItem(QComboBox *comboBox, const QString &itemText) { for (int i = 0; i < comboBox->count(); ++i) { @@ -973,12 +1030,16 @@ void CheckWindow::on_pushButton_4_clicked() { - + updateStandardTable(); } void CheckWindow::on_pushButton_5_clicked() { - + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } void CheckWindow::on_pushButton_6_clicked() diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index ce91e11..b7f4a2b 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -80,6 +80,8 @@ int getIndexByHeader(QString sLabel,QString sName); double transUnit(QString sData,QString sUnit,bool reverse=false); QString transCmd(QString sCmd,QString sLabel,QStringList data); + void SetStandardCombox(CatDeviceInfor info); + void updateStandardTable(); private: Ui::CheckWindow *ui; QList programList; @@ -96,6 +98,7 @@ QMap> caliDataList; QMap headTableList; QList catDeviceList; + QStringList catIdList; int curHeadIdx=-1; int iEquipType=1; QMap unitTransList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 806eadb..794c8a4 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -756,6 +756,13 @@ 36 + + + 12 + 75 + true + + color: rgb(255, 255, 255); background-color: rgb(55, 83, 123); @@ -798,10 +805,18 @@ - + + + true + + - + + + true + + @@ -1042,6 +1057,12 @@ + + + 120 + 36 + + 12 @@ -1057,6 +1078,11 @@ 查看详情 + + + :/image/Index/u794.svg + + @@ -1149,6 +1175,24 @@ 0 + + + 80 + 32 + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(55, 83, 123); +border-radius:5px; + 确定 diff --git a/softwareDirectory/AutoVerScheme/res/image/Index/u794.svg b/softwareDirectory/AutoVerScheme/res/image/Index/u794.svg new file mode 100644 index 0000000..e12cff7 --- /dev/null +++ b/softwareDirectory/AutoVerScheme/res/image/Index/u794.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index efc8d50..12ea2ea 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -41,6 +41,8 @@ ui->comboBoxName->addItem("ALL"); ui->comboBoxModal->addItem("ALL"); ui->comboBoxCustomer->addItem("ALL"); + ui->comboBoxName_2->addItem("ALL"); + ui->comboBoxModal_2->addItem("ALL"); //统一定义单位转换系数 unitTransList.insert("V",1); @@ -107,6 +109,63 @@ } } +void CheckWindow::updateStandardTable() +{ + ui->tableWidgetStd->clearContents(); + ui->tableWidgetStd->setRowCount(0); + QString sFilterName = ui->comboBoxName_2->currentText(); + QString sFilterModal = ui->comboBoxModal_2->currentText(); + QString sFilterDepart = ui->lineEdit_4->text(); + QString sFilterNo = ui->lineEditNo_2->text(); + int rowCount=0; + int row=0; + //catDeviceList.clear(); + catIdList.clear(); + if(programInfo.standard_device_id!=""){ + catIdList = programInfo.standard_device_id.split(","); + for(int i=catIdList.length()-1;i>=0; i--) + { + QString id = catIdList[i]; + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0){ + CatDeviceInfor item = result[0]; + bool bAdd=true; + if(sFilterName!="ALL"&&!item.equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!="ALL"&&!item.model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterDepart!=""&&!item.dept_name.contains(sFilterDepart)){ + bAdd=false; + } + if(sFilterNo!=""&&!item.manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(bAdd){ + //更新标准设备表格 + //rowCount = ui->tableWidgetStd->rowCount(); + ui->tableWidgetStd->insertRow(0); + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidgetStd->setItem(0,0,p_check); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + row++; + //catDeviceList.append(item); + }else{ + catIdList.removeAt(i); + } + } + result.clear(); + } + } +} + void CheckWindow::showStandard(){ QString sId=""; for(int i=0;itableWidgetMethod->rowCount();i++){ @@ -120,36 +179,24 @@ QMessageBox::warning(this, "提示", "请选择检定程序!"); }else{ programInfo = BaseCommonApi::getVerificationProgramInfo(sId); - QStringList idList; - int rowCount=0; - int row=0; - ui->tableWidgetStd->clearContents(); - ui->tableWidgetStd->setRowCount(0); - catDeviceList.clear(); + //catDeviceList.clear(); if(programInfo.standard_device_id!=""){ - idList = programInfo.standard_device_id.split(","); + QStringList idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ - catDeviceList.append(result[0]); - //更新标准设备表格 - rowCount = ui->tableWidgetStd->rowCount(); - ui->tableWidgetStd->insertRow(rowCount); - QTableWidgetItem* p_check = new QTableWidgetItem(); - p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 - ui->tableWidgetStd->setItem(row,0,p_check); - ui->tableWidgetStd->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name)); - ui->tableWidgetStd->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidgetStd->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); - ui->tableWidgetStd->setItem(row, 4, new QTableWidgetItem(result[0].dept_name)); - ui->tableWidgetStd->setItem(row, 5, new QTableWidgetItem(result[0].director_name)); - ui->tableWidgetStd->setItem(row, 6, new QTableWidgetItem(result[0].measure_valid_date)); - row++; + SetStandardCombox(result[0]); + //catDeviceList.append(result[0]); } result.clear(); } idList.clear(); + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } ui->stackedWidget->setCurrentIndex(2); } @@ -157,12 +204,12 @@ void CheckWindow::showDevice() { - QStringList idList = programInfo.standard_device_id.split(","); + //QStringList idList = programInfo.standard_device_id.split(","); QString sId=""; for(int i=0;itableWidgetStd->rowCount();i++){ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ - sId = idList[i]; + sId = catIdList[i]; break; } } @@ -453,6 +500,16 @@ } } +void CheckWindow::SetStandardCombox(CatDeviceInfor info) +{ + if(comboBoxContainsItem(ui->comboBoxName_2,info.equipment_name)){ + ui->comboBoxName_2->addItem(info.equipment_name); + } + if(comboBoxContainsItem(ui->comboBoxModal_2,info.model)){ + ui->comboBoxModal_2->addItem(info.model); + } +} + bool CheckWindow::comboBoxContainsItem(QComboBox *comboBox, const QString &itemText) { for (int i = 0; i < comboBox->count(); ++i) { @@ -973,12 +1030,16 @@ void CheckWindow::on_pushButton_4_clicked() { - + updateStandardTable(); } void CheckWindow::on_pushButton_5_clicked() { - + ui->comboBoxName_2->setCurrentIndex(0); + ui->comboBoxModal_2->setCurrentIndex(0); + ui->lineEditNo_2->setText(""); + ui->lineEdit_4->setText(""); + updateStandardTable(); } void CheckWindow::on_pushButton_6_clicked() diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index ce91e11..b7f4a2b 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -80,6 +80,8 @@ int getIndexByHeader(QString sLabel,QString sName); double transUnit(QString sData,QString sUnit,bool reverse=false); QString transCmd(QString sCmd,QString sLabel,QStringList data); + void SetStandardCombox(CatDeviceInfor info); + void updateStandardTable(); private: Ui::CheckWindow *ui; QList programList; @@ -96,6 +98,7 @@ QMap> caliDataList; QMap headTableList; QList catDeviceList; + QStringList catIdList; int curHeadIdx=-1; int iEquipType=1; QMap unitTransList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 806eadb..794c8a4 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -756,6 +756,13 @@ 36 + + + 12 + 75 + true + + color: rgb(255, 255, 255); background-color: rgb(55, 83, 123); @@ -798,10 +805,18 @@ - + + + true + + - + + + true + + @@ -1042,6 +1057,12 @@ + + + 120 + 36 + + 12 @@ -1057,6 +1078,11 @@ 查看详情 + + + :/image/Index/u794.svg + + @@ -1149,6 +1175,24 @@ 0 + + + 80 + 32 + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(55, 83, 123); +border-radius:5px; + 确定 diff --git a/softwareDirectory/AutoVerScheme/res/image/Index/u794.svg b/softwareDirectory/AutoVerScheme/res/image/Index/u794.svg new file mode 100644 index 0000000..e12cff7 --- /dev/null +++ b/softwareDirectory/AutoVerScheme/res/image/Index/u794.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/softwareDirectory/AutoVerScheme/res/res.qrc b/softwareDirectory/AutoVerScheme/res/res.qrc index 6a63995..1c6d395 100644 --- a/softwareDirectory/AutoVerScheme/res/res.qrc +++ b/softwareDirectory/AutoVerScheme/res/res.qrc @@ -55,5 +55,6 @@ image/Index/u2188.svg image/Index/u2189.svg image/Index/u642.svg + image/Index/u794.svg