diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index 39e247a..ccc4541 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,7 +194,7 @@ - 设备名称 + 计量标准证书编号 @@ -204,7 +204,7 @@ - 型号规格 + 标准装置名称 @@ -214,7 +214,7 @@ - 出厂编号 + 实验室 @@ -224,7 +224,7 @@ - 生产厂家 + 部门 @@ -234,7 +234,17 @@ - 设备类型 + 管理状态 + + + + 12 + + + + + + 检定校准项目 @@ -446,6 +456,16 @@ + + + 检定校准项目 + + + + 12 + + + diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index 39e247a..ccc4541 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,7 +194,7 @@ - 设备名称 + 计量标准证书编号 @@ -204,7 +204,7 @@ - 型号规格 + 标准装置名称 @@ -214,7 +214,7 @@ - 出厂编号 + 实验室 @@ -224,7 +224,7 @@ - 生产厂家 + 部门 @@ -234,7 +234,17 @@ - 设备类型 + 管理状态 + + + + 12 + + + + + + 检定校准项目 @@ -446,6 +456,16 @@ + + + 检定校准项目 + + + + 12 + + + diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index 9706dfe..b3f1d63 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -7,6 +7,7 @@ #include #include "formcommsetting.h" #include "formaddrsetting.h" +#include "formbizdeviceselect.h" NewCheckMethod::NewCheckMethod(QWidget *parent,QString sId,bool bEdit) : QWidget(parent), @@ -16,7 +17,7 @@ { ui->setupUi(this); ui->tableWidget->verticalHeader()->setParent(nullptr); - for(int i=0;i<7;i++) + for(int i=1;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->pushButton_3->setEnabled(bEditMode); ui->comboBoxEquipment->addItems(equipList); @@ -60,7 +61,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(programInfo.tested_device_id,programInfo.standard_device_id); + chooseDevices(""); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -74,9 +75,15 @@ void NewCheckMethod::showCheckDevice() { - CheckDevice *checkWindow = new CheckDevice; - checkWindow->newCheckWnd = this; +// CheckDevice *checkWindow = new CheckDevice; +// checkWindow->newCheckWnd = this; +// checkWindow->setWindowState(Qt::WindowMaximized); +// checkWindow->setWindowModality(Qt::ApplicationModal); +// checkWindow->show(); + FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; + //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -198,90 +205,96 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString checkIds, QString bizIds) +void NewCheckMethod::chooseDevices(QString bizIds) { - programInfo.tested_device_id=checkIds; - programInfo.standard_device_id = bizIds; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(checkIds!="") - { - idList = checkIds.split(","); - for(const QString& id : idList) - { - checkId = id; - QList result = BaseCommonApi::getTestedCatDevice(id); - if(result.length()>0){ - rowCount = ui->tableWidget->rowCount(); +// if(checkIds!="") +// { +// idList = checkIds.split(","); +// for(const QString& id : idList) +// { +// checkId = id; +// 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].help_instruction)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); - row++; - } - } - idList.clear(); - } +// 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].help_instruction)); //设置数据 +// ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 +// ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); +// row++; +// } +// } +// idList.clear(); +// } - if(bizIds!="") + if(programInfo.standard_device_id!="") { - idList = bizIds.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ rowCount = ui->tableWidget->rowCount(); - ui->tableWidget->insertRow(rowCount); - ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + 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(result[0].equipment_name)); //设置数据 ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].remark)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].type)); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("设置命令")); btn_1->setStyleSheet("QPushButton{" @@ -360,3 +373,26 @@ } ui->lineEditName->setText(sName); } + +void NewCheckMethod::on_pushButton_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + idList.removeAt(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index 39e247a..ccc4541 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,7 +194,7 @@ - 设备名称 + 计量标准证书编号 @@ -204,7 +204,7 @@ - 型号规格 + 标准装置名称 @@ -214,7 +214,7 @@ - 出厂编号 + 实验室 @@ -224,7 +224,7 @@ - 生产厂家 + 部门 @@ -234,7 +234,17 @@ - 设备类型 + 管理状态 + + + + 12 + + + + + + 检定校准项目 @@ -446,6 +456,16 @@ + + + 检定校准项目 + + + + 12 + + + diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index 9706dfe..b3f1d63 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -7,6 +7,7 @@ #include #include "formcommsetting.h" #include "formaddrsetting.h" +#include "formbizdeviceselect.h" NewCheckMethod::NewCheckMethod(QWidget *parent,QString sId,bool bEdit) : QWidget(parent), @@ -16,7 +17,7 @@ { ui->setupUi(this); ui->tableWidget->verticalHeader()->setParent(nullptr); - for(int i=0;i<7;i++) + for(int i=1;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->pushButton_3->setEnabled(bEditMode); ui->comboBoxEquipment->addItems(equipList); @@ -60,7 +61,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(programInfo.tested_device_id,programInfo.standard_device_id); + chooseDevices(""); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -74,9 +75,15 @@ void NewCheckMethod::showCheckDevice() { - CheckDevice *checkWindow = new CheckDevice; - checkWindow->newCheckWnd = this; +// CheckDevice *checkWindow = new CheckDevice; +// checkWindow->newCheckWnd = this; +// checkWindow->setWindowState(Qt::WindowMaximized); +// checkWindow->setWindowModality(Qt::ApplicationModal); +// checkWindow->show(); + FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; + //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -198,90 +205,96 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString checkIds, QString bizIds) +void NewCheckMethod::chooseDevices(QString bizIds) { - programInfo.tested_device_id=checkIds; - programInfo.standard_device_id = bizIds; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(checkIds!="") - { - idList = checkIds.split(","); - for(const QString& id : idList) - { - checkId = id; - QList result = BaseCommonApi::getTestedCatDevice(id); - if(result.length()>0){ - rowCount = ui->tableWidget->rowCount(); +// if(checkIds!="") +// { +// idList = checkIds.split(","); +// for(const QString& id : idList) +// { +// checkId = id; +// 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].help_instruction)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); - row++; - } - } - idList.clear(); - } +// 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].help_instruction)); //设置数据 +// ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 +// ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); +// row++; +// } +// } +// idList.clear(); +// } - if(bizIds!="") + if(programInfo.standard_device_id!="") { - idList = bizIds.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ rowCount = ui->tableWidget->rowCount(); - ui->tableWidget->insertRow(rowCount); - ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + 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(result[0].equipment_name)); //设置数据 ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].remark)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].type)); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("设置命令")); btn_1->setStyleSheet("QPushButton{" @@ -360,3 +373,26 @@ } ui->lineEditName->setText(sName); } + +void NewCheckMethod::on_pushButton_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + idList.removeAt(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 5a8f5ea..b80b45e 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -17,9 +17,10 @@ explicit NewCheckMethod(QWidget *parent = nullptr,QString sId="",bool bEdit=true); ~NewCheckMethod(); void getMethodInfo(); - void chooseDevices(QString checkIds,QString bizIds); + void setMethodName(); private slots: + void chooseDevices(QString bizIds); void showCheckDevice(); void choosePicture(); void deletePicture(); @@ -38,6 +39,8 @@ void on_lineEdit_3_textChanged(const QString &arg1); + void on_pushButton_clicked(); + protected: void showEvent(QShowEvent *event); public: diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index 39e247a..ccc4541 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,7 +194,7 @@ - 设备名称 + 计量标准证书编号 @@ -204,7 +204,7 @@ - 型号规格 + 标准装置名称 @@ -214,7 +214,7 @@ - 出厂编号 + 实验室 @@ -224,7 +224,7 @@ - 生产厂家 + 部门 @@ -234,7 +234,17 @@ - 设备类型 + 管理状态 + + + + 12 + + + + + + 检定校准项目 @@ -446,6 +456,16 @@ + + + 检定校准项目 + + + + 12 + + + diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index 9706dfe..b3f1d63 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -7,6 +7,7 @@ #include #include "formcommsetting.h" #include "formaddrsetting.h" +#include "formbizdeviceselect.h" NewCheckMethod::NewCheckMethod(QWidget *parent,QString sId,bool bEdit) : QWidget(parent), @@ -16,7 +17,7 @@ { ui->setupUi(this); ui->tableWidget->verticalHeader()->setParent(nullptr); - for(int i=0;i<7;i++) + for(int i=1;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->pushButton_3->setEnabled(bEditMode); ui->comboBoxEquipment->addItems(equipList); @@ -60,7 +61,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(programInfo.tested_device_id,programInfo.standard_device_id); + chooseDevices(""); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -74,9 +75,15 @@ void NewCheckMethod::showCheckDevice() { - CheckDevice *checkWindow = new CheckDevice; - checkWindow->newCheckWnd = this; +// CheckDevice *checkWindow = new CheckDevice; +// checkWindow->newCheckWnd = this; +// checkWindow->setWindowState(Qt::WindowMaximized); +// checkWindow->setWindowModality(Qt::ApplicationModal); +// checkWindow->show(); + FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; + //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -198,90 +205,96 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString checkIds, QString bizIds) +void NewCheckMethod::chooseDevices(QString bizIds) { - programInfo.tested_device_id=checkIds; - programInfo.standard_device_id = bizIds; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(checkIds!="") - { - idList = checkIds.split(","); - for(const QString& id : idList) - { - checkId = id; - QList result = BaseCommonApi::getTestedCatDevice(id); - if(result.length()>0){ - rowCount = ui->tableWidget->rowCount(); +// if(checkIds!="") +// { +// idList = checkIds.split(","); +// for(const QString& id : idList) +// { +// checkId = id; +// 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].help_instruction)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); - row++; - } - } - idList.clear(); - } +// 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].help_instruction)); //设置数据 +// ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 +// ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); +// row++; +// } +// } +// idList.clear(); +// } - if(bizIds!="") + if(programInfo.standard_device_id!="") { - idList = bizIds.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ rowCount = ui->tableWidget->rowCount(); - ui->tableWidget->insertRow(rowCount); - ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + 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(result[0].equipment_name)); //设置数据 ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].remark)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].type)); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("设置命令")); btn_1->setStyleSheet("QPushButton{" @@ -360,3 +373,26 @@ } ui->lineEditName->setText(sName); } + +void NewCheckMethod::on_pushButton_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + idList.removeAt(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 5a8f5ea..b80b45e 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -17,9 +17,10 @@ explicit NewCheckMethod(QWidget *parent = nullptr,QString sId="",bool bEdit=true); ~NewCheckMethod(); void getMethodInfo(); - void chooseDevices(QString checkIds,QString bizIds); + void setMethodName(); private slots: + void chooseDevices(QString bizIds); void showCheckDevice(); void choosePicture(); void deletePicture(); @@ -38,6 +39,8 @@ void on_lineEdit_3_textChanged(const QString &arg1); + void on_pushButton_clicked(); + protected: void showEvent(QShowEvent *event); public: diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.ui b/softwareDirectory/AutoVerScheme/newcheckmethod.ui index f7c7d0f..66d3ae8 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.ui +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.ui @@ -527,12 +527,31 @@ color: rgb(255, 255, 255); - 选择设备 + 批量增加 - - - :/image/Index/u7453.svg - + + + + + + + 0 + 0 + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(100, 132, 68); + + + 删除行 @@ -549,7 +568,7 @@ - 设备类型 + 选择 @@ -579,16 +598,6 @@ - 辅助字段 - - - - 12 - - - - - 出厂编号 @@ -609,6 +618,16 @@ + 设备类型 + + + + 12 + + + + + 操作 diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index 39e247a..ccc4541 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,7 +194,7 @@ - 设备名称 + 计量标准证书编号 @@ -204,7 +204,7 @@ - 型号规格 + 标准装置名称 @@ -214,7 +214,7 @@ - 出厂编号 + 实验室 @@ -224,7 +224,7 @@ - 生产厂家 + 部门 @@ -234,7 +234,17 @@ - 设备类型 + 管理状态 + + + + 12 + + + + + + 检定校准项目 @@ -446,6 +456,16 @@ + + + 检定校准项目 + + + + 12 + + + diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index 9706dfe..b3f1d63 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -7,6 +7,7 @@ #include #include "formcommsetting.h" #include "formaddrsetting.h" +#include "formbizdeviceselect.h" NewCheckMethod::NewCheckMethod(QWidget *parent,QString sId,bool bEdit) : QWidget(parent), @@ -16,7 +17,7 @@ { ui->setupUi(this); ui->tableWidget->verticalHeader()->setParent(nullptr); - for(int i=0;i<7;i++) + for(int i=1;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->pushButton_3->setEnabled(bEditMode); ui->comboBoxEquipment->addItems(equipList); @@ -60,7 +61,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(programInfo.tested_device_id,programInfo.standard_device_id); + chooseDevices(""); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -74,9 +75,15 @@ void NewCheckMethod::showCheckDevice() { - CheckDevice *checkWindow = new CheckDevice; - checkWindow->newCheckWnd = this; +// CheckDevice *checkWindow = new CheckDevice; +// checkWindow->newCheckWnd = this; +// checkWindow->setWindowState(Qt::WindowMaximized); +// checkWindow->setWindowModality(Qt::ApplicationModal); +// checkWindow->show(); + FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; + //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -198,90 +205,96 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString checkIds, QString bizIds) +void NewCheckMethod::chooseDevices(QString bizIds) { - programInfo.tested_device_id=checkIds; - programInfo.standard_device_id = bizIds; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(checkIds!="") - { - idList = checkIds.split(","); - for(const QString& id : idList) - { - checkId = id; - QList result = BaseCommonApi::getTestedCatDevice(id); - if(result.length()>0){ - rowCount = ui->tableWidget->rowCount(); +// if(checkIds!="") +// { +// idList = checkIds.split(","); +// for(const QString& id : idList) +// { +// checkId = id; +// 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].help_instruction)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); - row++; - } - } - idList.clear(); - } +// 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].help_instruction)); //设置数据 +// ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 +// ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); +// row++; +// } +// } +// idList.clear(); +// } - if(bizIds!="") + if(programInfo.standard_device_id!="") { - idList = bizIds.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ rowCount = ui->tableWidget->rowCount(); - ui->tableWidget->insertRow(rowCount); - ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + 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(result[0].equipment_name)); //设置数据 ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].remark)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].type)); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("设置命令")); btn_1->setStyleSheet("QPushButton{" @@ -360,3 +373,26 @@ } ui->lineEditName->setText(sName); } + +void NewCheckMethod::on_pushButton_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + idList.removeAt(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 5a8f5ea..b80b45e 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -17,9 +17,10 @@ explicit NewCheckMethod(QWidget *parent = nullptr,QString sId="",bool bEdit=true); ~NewCheckMethod(); void getMethodInfo(); - void chooseDevices(QString checkIds,QString bizIds); + void setMethodName(); private slots: + void chooseDevices(QString bizIds); void showCheckDevice(); void choosePicture(); void deletePicture(); @@ -38,6 +39,8 @@ void on_lineEdit_3_textChanged(const QString &arg1); + void on_pushButton_clicked(); + protected: void showEvent(QShowEvent *event); public: diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.ui b/softwareDirectory/AutoVerScheme/newcheckmethod.ui index f7c7d0f..66d3ae8 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.ui +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.ui @@ -527,12 +527,31 @@ color: rgb(255, 255, 255); - 选择设备 + 批量增加 - - - :/image/Index/u7453.svg - + + + + + + + 0 + 0 + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(100, 132, 68); + + + 删除行 @@ -549,7 +568,7 @@ - 设备类型 + 选择 @@ -579,16 +598,6 @@ - 辅助字段 - - - - 12 - - - - - 出厂编号 @@ -609,6 +618,16 @@ + 设备类型 + + + + 12 + + + + + 操作 diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index 5638c52..b8414c2 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -49,7 +49,9 @@ qDebug() << "strStyle:" << strStyle ; ui->labelImage->setStyleSheet(strStyle); } - chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + //chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + selectStandard(""); + selectBizDevice(""); } } @@ -93,17 +95,21 @@ } void NewVerifyMethod::selectStandard(QString ids){ - programInfo.standard_device_id = ids; - + if(ids!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = ids; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(ids); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(ids!="") + if(programInfo.standard_device_id!="") { - idList = ids.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { checkId = id; @@ -161,6 +167,78 @@ } } +void NewVerifyMethod::selectBizDevice(QString ids){ + if(ids!=""){ + if( programInfo.verification_documents_id=="") + programInfo.verification_documents_id = ids; + else + programInfo.verification_documents_id =QString("%1,%2").arg(programInfo.verification_documents_id).arg(ids); + } + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + if(programInfo.verification_documents_id!="") + { + idList = programInfo.verification_documents_id.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0) + { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + 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(result[0].equipment_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + + 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_2->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) { programInfo.standard_device_id = bizIds; @@ -379,7 +457,52 @@ FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); - //connect(checkWindow, SIGNAL(selectStandard(QString)), this,SLOT(selectStandard(QString))); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(selectBizDevice(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_pushButton_3_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_2_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget_2->rowCount()-1;i>=0;i--){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.verification_documents_id.split(","); + for(int i=ui->tableWidget_2->rowCount()-1;i>=0;i--){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget_2->removeRow(i); + idList.removeAt(i); + } + } + programInfo.verification_documents_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index 39e247a..ccc4541 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,7 +194,7 @@ - 设备名称 + 计量标准证书编号 @@ -204,7 +204,7 @@ - 型号规格 + 标准装置名称 @@ -214,7 +214,7 @@ - 出厂编号 + 实验室 @@ -224,7 +224,7 @@ - 生产厂家 + 部门 @@ -234,7 +234,17 @@ - 设备类型 + 管理状态 + + + + 12 + + + + + + 检定校准项目 @@ -446,6 +456,16 @@ + + + 检定校准项目 + + + + 12 + + + diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index 9706dfe..b3f1d63 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -7,6 +7,7 @@ #include #include "formcommsetting.h" #include "formaddrsetting.h" +#include "formbizdeviceselect.h" NewCheckMethod::NewCheckMethod(QWidget *parent,QString sId,bool bEdit) : QWidget(parent), @@ -16,7 +17,7 @@ { ui->setupUi(this); ui->tableWidget->verticalHeader()->setParent(nullptr); - for(int i=0;i<7;i++) + for(int i=1;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->pushButton_3->setEnabled(bEditMode); ui->comboBoxEquipment->addItems(equipList); @@ -60,7 +61,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(programInfo.tested_device_id,programInfo.standard_device_id); + chooseDevices(""); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -74,9 +75,15 @@ void NewCheckMethod::showCheckDevice() { - CheckDevice *checkWindow = new CheckDevice; - checkWindow->newCheckWnd = this; +// CheckDevice *checkWindow = new CheckDevice; +// checkWindow->newCheckWnd = this; +// checkWindow->setWindowState(Qt::WindowMaximized); +// checkWindow->setWindowModality(Qt::ApplicationModal); +// checkWindow->show(); + FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; + //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -198,90 +205,96 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString checkIds, QString bizIds) +void NewCheckMethod::chooseDevices(QString bizIds) { - programInfo.tested_device_id=checkIds; - programInfo.standard_device_id = bizIds; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(checkIds!="") - { - idList = checkIds.split(","); - for(const QString& id : idList) - { - checkId = id; - QList result = BaseCommonApi::getTestedCatDevice(id); - if(result.length()>0){ - rowCount = ui->tableWidget->rowCount(); +// if(checkIds!="") +// { +// idList = checkIds.split(","); +// for(const QString& id : idList) +// { +// checkId = id; +// 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].help_instruction)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); - row++; - } - } - idList.clear(); - } +// 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].help_instruction)); //设置数据 +// ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 +// ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); +// row++; +// } +// } +// idList.clear(); +// } - if(bizIds!="") + if(programInfo.standard_device_id!="") { - idList = bizIds.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ rowCount = ui->tableWidget->rowCount(); - ui->tableWidget->insertRow(rowCount); - ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + 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(result[0].equipment_name)); //设置数据 ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].remark)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].type)); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("设置命令")); btn_1->setStyleSheet("QPushButton{" @@ -360,3 +373,26 @@ } ui->lineEditName->setText(sName); } + +void NewCheckMethod::on_pushButton_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + idList.removeAt(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 5a8f5ea..b80b45e 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -17,9 +17,10 @@ explicit NewCheckMethod(QWidget *parent = nullptr,QString sId="",bool bEdit=true); ~NewCheckMethod(); void getMethodInfo(); - void chooseDevices(QString checkIds,QString bizIds); + void setMethodName(); private slots: + void chooseDevices(QString bizIds); void showCheckDevice(); void choosePicture(); void deletePicture(); @@ -38,6 +39,8 @@ void on_lineEdit_3_textChanged(const QString &arg1); + void on_pushButton_clicked(); + protected: void showEvent(QShowEvent *event); public: diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.ui b/softwareDirectory/AutoVerScheme/newcheckmethod.ui index f7c7d0f..66d3ae8 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.ui +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.ui @@ -527,12 +527,31 @@ color: rgb(255, 255, 255); - 选择设备 + 批量增加 - - - :/image/Index/u7453.svg - + + + + + + + 0 + 0 + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(100, 132, 68); + + + 删除行 @@ -549,7 +568,7 @@ - 设备类型 + 选择 @@ -579,16 +598,6 @@ - 辅助字段 - - - - 12 - - - - - 出厂编号 @@ -609,6 +618,16 @@ + 设备类型 + + + + 12 + + + + + 操作 diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index 5638c52..b8414c2 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -49,7 +49,9 @@ qDebug() << "strStyle:" << strStyle ; ui->labelImage->setStyleSheet(strStyle); } - chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + //chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + selectStandard(""); + selectBizDevice(""); } } @@ -93,17 +95,21 @@ } void NewVerifyMethod::selectStandard(QString ids){ - programInfo.standard_device_id = ids; - + if(ids!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = ids; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(ids); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(ids!="") + if(programInfo.standard_device_id!="") { - idList = ids.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { checkId = id; @@ -161,6 +167,78 @@ } } +void NewVerifyMethod::selectBizDevice(QString ids){ + if(ids!=""){ + if( programInfo.verification_documents_id=="") + programInfo.verification_documents_id = ids; + else + programInfo.verification_documents_id =QString("%1,%2").arg(programInfo.verification_documents_id).arg(ids); + } + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + if(programInfo.verification_documents_id!="") + { + idList = programInfo.verification_documents_id.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0) + { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + 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(result[0].equipment_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + + 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_2->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) { programInfo.standard_device_id = bizIds; @@ -379,7 +457,52 @@ FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); - //connect(checkWindow, SIGNAL(selectStandard(QString)), this,SLOT(selectStandard(QString))); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(selectBizDevice(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_pushButton_3_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_2_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget_2->rowCount()-1;i>=0;i--){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.verification_documents_id.split(","); + for(int i=ui->tableWidget_2->rowCount()-1;i>=0;i--){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget_2->removeRow(i); + idList.removeAt(i); + } + } + programInfo.verification_documents_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 7612d3f..8e03f4e 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -33,9 +33,14 @@ void on_comboBoxEquipment_currentIndexChanged(int index); void selectStandard(QString ids); + void selectBizDevice(QString ids); void on_pushButton_clicked(); + void on_pushButton_3_clicked(); + + void on_pushButton_2_clicked(); + public: VerifyMethodManage *verifyManageWnd=nullptr; private: diff --git a/softwareDirectory/AutoVerScheme/checkdevice.cpp b/softwareDirectory/AutoVerScheme/checkdevice.cpp index 437b7ef..ca8c64c 100644 --- a/softwareDirectory/AutoVerScheme/checkdevice.cpp +++ b/softwareDirectory/AutoVerScheme/checkdevice.cpp @@ -153,7 +153,7 @@ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - newCheckWnd->chooseDevices(checkIds,bizIds); + //newCheckWnd->chooseDevices(checkIds,bizIds); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 4ebce72..1567a6a 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -1,26 +1,193 @@ #include "formbizdeviceselect.h" #include "ui_formbizdeviceselect.h" #include "PageControl.h" +#include + FormBizDeviceSelect::FormBizDeviceSelect(QWidget *parent) : QWidget(parent), ui(new Ui::FormBizDeviceSelect) { ui->setupUi(this); + for(int i=1;i<7;i++){ + ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + ui->comboBox_3->addItem("请选择标准装置名称"); + ui->comboBox_3->addItems(equipList); + getStandardInfo(); +} - page=20; +void FormBizDeviceSelect::getStandardInfo(){ + stdInfo.clear(); + stdInfo = BaseCommonApi::getStandardInfo(); + + if(ui->comboBox_3->currentIndex()!=0){ + for(int i=stdInfo.length()-1;i>=0;i--){ + if(stdInfo.at(i).standard_name!=ui->comboBox_3->currentText()) + stdInfo.removeAt(i); + } + } pageIndex=-1; PagedTableWidget *pagedTable = new PagedTableWidget(this, ui->HBoxPageLayout); - pagedTable->setData(10, page); // 每页10行 + pagedTable->setData(stdInfo.count(), page); // 每页10行 connect(pagedTable, SIGNAL(pageChanged(int)), this,SLOT(onpageChanged(int))); this->onpageChanged(0); +// ui->comboBox_3->clear(); +// for(StandardInfo item : stdInfo){ +// ui->comboBox_3->addItem(item.standard_name); +// } +} + +void FormBizDeviceSelect::getBizDeviceInfo(){ + if(stdIdx>=0&&stdIdxlineEdit_7->text(); + QString sFilterModal = ui->lineEdit_8->text(); + QString sFilterNo = ui->lineEdit_9->text(); + for(int i=bizInfo.length()-1;i>=0;i--){ + bool bAdd=true; + if(sFilterName!=""&&!bizInfo[i].equipment_name.contains(sFilterName)){ + bAdd=false; + } + if(sFilterModal!=""&&!bizInfo[i].model.contains(sFilterModal)){ + bAdd=false; + } + if(sFilterNo!=""&&!bizInfo[i].manufacture_no.contains(sFilterNo)){ + bAdd=false; + } + if(!bAdd){ + bizInfo.removeAt(i); + } + } + ui->tableWidget_3->clearContents(); + ui->tableWidget_3->setRowCount(0); + int rowCount = 0; + int row=0; + for(BizDevice info : bizInfo){ + rowCount = ui->tableWidget_3->rowCount(); + ui->tableWidget_3->insertRow(rowCount); + + QTableWidgetItem* p_check = new QTableWidgetItem(); + p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 + ui->tableWidget_3->setItem(row,0,p_check); + ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(info.equipment_name)); //设置数据 + ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(info.model)); //设置数据 + ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(info.manufacture_no)); + ui->tableWidget_3->setItem(row, 4, new QTableWidgetItem(info.manufacturer)); //设置数据 + ui->tableWidget_3->setItem(row, 5, new QTableWidgetItem(info.type)); //设置数据 + ui->tableWidget_3->setItem(row, 6, new QTableWidgetItem(info.measure_param)); + row++; + } + } } FormBizDeviceSelect::~FormBizDeviceSelect() { + stdInfo.clear(); + bizInfo.clear(); delete ui; } void FormBizDeviceSelect::onpageChanged(int currPage){ + if(pageIndex==currPage) + return; + qDebug() << currPage; + pageIndex =currPage; + // 计算当前页的开始和结束索引 + int start = pageIndex * page; + int end = std::min(start + page, stdInfo.size()); + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + int rowCount = 0; + int row=0; + for (int i=start;itableWidget_2->rowCount(); + ui->tableWidget_2->insertRow(rowCount); + 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(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + row++; + } +} + +void FormBizDeviceSelect::on_comboBox_3_currentIndexChanged(int index) +{ + +} + +void FormBizDeviceSelect::on_pushButton_12_clicked() +{ + getStandardInfo(); +} + +void FormBizDeviceSelect::on_pushButton_13_clicked() +{ + ui->comboBox_3->setCurrentIndex(0); + getStandardInfo(); +} + +void FormBizDeviceSelect::on_tableWidget_2_cellChanged(int row, int column) +{ + Qt::CheckState state = ui->tableWidget_2->item(row,0)->checkState(); + if(state == Qt::Checked) + { + stdIdx = row+pageIndex * page; + getBizDeviceInfo(); + for(int i=0;itableWidget_2->rowCount();i++){ + if(i!=row) + { + ui->tableWidget_2->item(i,0)->setCheckState(Qt::Unchecked); + } + } + } +} + +void FormBizDeviceSelect::on_pushButton_15_clicked() +{ + QString checkIds=""; + QString bizIds = ""; + for(int i=0;itableWidget_3->rowCount();i++){ + if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ + if(bizIds=="") + bizIds = bizInfo[i].id; + else + bizIds+=","+bizInfo[i].id; + } + } + + if(bizIds==""){ + QMessageBox::warning(this, "提示", "请选择标准设备!"); + return; + } + emit selectBizDevice(bizIds); + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_clicked() +{ + this->close(); +} + +void FormBizDeviceSelect::on_pushButton_16_clicked() +{ + getBizDeviceInfo(); +} + +void FormBizDeviceSelect::on_pushButton_17_clicked() +{ + ui->lineEdit_7->setText(""); + ui->lineEdit_8->setText(""); + ui->lineEdit_9->setText(""); + getBizDeviceInfo(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 9bafa34..30e5608 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -2,6 +2,7 @@ #define FORMBIZDEVICESELECT_H #include +#include "basecommonapi.h" namespace Ui { class FormBizDeviceSelect; @@ -18,10 +19,35 @@ private slots: void onpageChanged(int currPage); + void on_comboBox_3_currentIndexChanged(int index); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_tableWidget_2_cellChanged(int row, int column); + + void on_pushButton_15_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_16_clicked(); + + void on_pushButton_17_clicked(); +signals: + void selectBizDevice(QString ids); private: - int page; + void getStandardInfo(); + void getBizDeviceInfo(); +private: + int page=20; int totalcount; - int pageIndex; + int pageIndex=-1; + int stdIdx=-1; + QList stdInfo; + QList bizInfo; + QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", + "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; private: Ui::FormBizDeviceSelect *ui; }; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index 39e247a..ccc4541 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,7 +194,7 @@ - 设备名称 + 计量标准证书编号 @@ -204,7 +204,7 @@ - 型号规格 + 标准装置名称 @@ -214,7 +214,7 @@ - 出厂编号 + 实验室 @@ -224,7 +224,7 @@ - 生产厂家 + 部门 @@ -234,7 +234,17 @@ - 设备类型 + 管理状态 + + + + 12 + + + + + + 检定校准项目 @@ -446,6 +456,16 @@ + + + 检定校准项目 + + + + 12 + + + diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index 9706dfe..b3f1d63 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -7,6 +7,7 @@ #include #include "formcommsetting.h" #include "formaddrsetting.h" +#include "formbizdeviceselect.h" NewCheckMethod::NewCheckMethod(QWidget *parent,QString sId,bool bEdit) : QWidget(parent), @@ -16,7 +17,7 @@ { ui->setupUi(this); ui->tableWidget->verticalHeader()->setParent(nullptr); - for(int i=0;i<7;i++) + for(int i=1;i<7;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->pushButton_3->setEnabled(bEditMode); ui->comboBoxEquipment->addItems(equipList); @@ -60,7 +61,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(programInfo.tested_device_id,programInfo.standard_device_id); + chooseDevices(""); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -74,9 +75,15 @@ void NewCheckMethod::showCheckDevice() { - CheckDevice *checkWindow = new CheckDevice; - checkWindow->newCheckWnd = this; +// CheckDevice *checkWindow = new CheckDevice; +// checkWindow->newCheckWnd = this; +// checkWindow->setWindowState(Qt::WindowMaximized); +// checkWindow->setWindowModality(Qt::ApplicationModal); +// checkWindow->show(); + FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; + //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -198,90 +205,96 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString checkIds, QString bizIds) +void NewCheckMethod::chooseDevices(QString bizIds) { - programInfo.tested_device_id=checkIds; - programInfo.standard_device_id = bizIds; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(checkIds!="") - { - idList = checkIds.split(","); - for(const QString& id : idList) - { - checkId = id; - QList result = BaseCommonApi::getTestedCatDevice(id); - if(result.length()>0){ - rowCount = ui->tableWidget->rowCount(); +// if(checkIds!="") +// { +// idList = checkIds.split(","); +// for(const QString& id : idList) +// { +// checkId = id; +// 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].help_instruction)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); - row++; - } - } - idList.clear(); - } +// 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].help_instruction)); //设置数据 +// ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 +// ui->tableWidget->setItem(row, 5, 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,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,6,tmp_widget); +// row++; +// } +// } +// idList.clear(); +// } - if(bizIds!="") + if(programInfo.standard_device_id!="") { - idList = bizIds.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { QList result = BaseCommonApi::getCatDeviceInfor(id); if(result.length()>0){ rowCount = ui->tableWidget->rowCount(); - ui->tableWidget->insertRow(rowCount); - ui->tableWidget->setItem(row, 0, new QTableWidgetItem("标准设备")); + 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(result[0].equipment_name)); //设置数据 ui->tableWidget->setItem(row, 2, new QTableWidgetItem(result[0].model)); //设置数据 - ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].remark)); //设置数据 - ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 - ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 3, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + ui->tableWidget->setItem(row, 4, new QTableWidgetItem(result[0].manufacturer)); + ui->tableWidget->setItem(row, 5, new QTableWidgetItem(result[0].type)); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("设置命令")); btn_1->setStyleSheet("QPushButton{" @@ -360,3 +373,26 @@ } ui->lineEditName->setText(sName); } + +void NewCheckMethod::on_pushButton_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + idList.removeAt(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 5a8f5ea..b80b45e 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -17,9 +17,10 @@ explicit NewCheckMethod(QWidget *parent = nullptr,QString sId="",bool bEdit=true); ~NewCheckMethod(); void getMethodInfo(); - void chooseDevices(QString checkIds,QString bizIds); + void setMethodName(); private slots: + void chooseDevices(QString bizIds); void showCheckDevice(); void choosePicture(); void deletePicture(); @@ -38,6 +39,8 @@ void on_lineEdit_3_textChanged(const QString &arg1); + void on_pushButton_clicked(); + protected: void showEvent(QShowEvent *event); public: diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.ui b/softwareDirectory/AutoVerScheme/newcheckmethod.ui index f7c7d0f..66d3ae8 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.ui +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.ui @@ -527,12 +527,31 @@ color: rgb(255, 255, 255); - 选择设备 + 批量增加 - - - :/image/Index/u7453.svg - + + + + + + + 0 + 0 + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(100, 132, 68); + + + 删除行 @@ -549,7 +568,7 @@ - 设备类型 + 选择 @@ -579,16 +598,6 @@ - 辅助字段 - - - - 12 - - - - - 出厂编号 @@ -609,6 +618,16 @@ + 设备类型 + + + + 12 + + + + + 操作 diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index 5638c52..b8414c2 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -49,7 +49,9 @@ qDebug() << "strStyle:" << strStyle ; ui->labelImage->setStyleSheet(strStyle); } - chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + //chooseDevices(programInfo.standard_device_id,programInfo.verification_documents_id); + selectStandard(""); + selectBizDevice(""); } } @@ -93,17 +95,21 @@ } void NewVerifyMethod::selectStandard(QString ids){ - programInfo.standard_device_id = ids; - + if(ids!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = ids; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(ids); + } ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; int rowCount = 0; int row=0; checkId=""; - if(ids!="") + if(programInfo.standard_device_id!="") { - idList = ids.split(","); + idList = programInfo.standard_device_id.split(","); for(const QString& id : idList) { checkId = id; @@ -161,6 +167,78 @@ } } +void NewVerifyMethod::selectBizDevice(QString ids){ + if(ids!=""){ + if( programInfo.verification_documents_id=="") + programInfo.verification_documents_id = ids; + else + programInfo.verification_documents_id =QString("%1,%2").arg(programInfo.verification_documents_id).arg(ids); + } + ui->tableWidget_2->clearContents(); + ui->tableWidget_2->setRowCount(0); + QStringList idList; + int rowCount = 0; + int row=0; + if(programInfo.verification_documents_id!="") + { + idList = programInfo.verification_documents_id.split(","); + for(const QString& id : idList) + { + QList result = BaseCommonApi::getCatDeviceInfor(id); + if(result.length()>0) + { + rowCount = ui->tableWidget_2->rowCount(); + + ui->tableWidget_2->insertRow(rowCount); + 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(result[0].equipment_name)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(result[0].model)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no)); //设置数据 + + 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_2->setCellWidget(row,5,tmp_widget); + row++; + } + } + idList.clear(); + } +} + void NewVerifyMethod::chooseDevices(QString bizIds,QString checkIds) { programInfo.standard_device_id = bizIds; @@ -379,7 +457,52 @@ FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); - //connect(checkWindow, SIGNAL(selectStandard(QString)), this,SLOT(selectStandard(QString))); + connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(selectBizDevice(QString))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } + +void NewVerifyMethod::on_pushButton_3_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.standard_device_id.split(","); + for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ + if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget->removeRow(i); + } + } + programInfo.standard_device_id = idList.join(","); + idList.clear(); + } +} + +void NewVerifyMethod::on_pushButton_2_clicked() +{ + int cnt=0; + for(int i=ui->tableWidget_2->rowCount()-1;i>=0;i--){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + cnt=1; + break; + } + } + if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) + { + QStringList idList = programInfo.verification_documents_id.split(","); + for(int i=ui->tableWidget_2->rowCount()-1;i>=0;i--){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + ui->tableWidget_2->removeRow(i); + idList.removeAt(i); + } + } + programInfo.verification_documents_id = idList.join(","); + idList.clear(); + } +} diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 7612d3f..8e03f4e 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -33,9 +33,14 @@ void on_comboBoxEquipment_currentIndexChanged(int index); void selectStandard(QString ids); + void selectBizDevice(QString ids); void on_pushButton_clicked(); + void on_pushButton_3_clicked(); + + void on_pushButton_2_clicked(); + public: VerifyMethodManage *verifyManageWnd=nullptr; private: diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.ui b/softwareDirectory/AutoVerScheme/newverifymethod.ui index 3ec3d96..ed29fce 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.ui +++ b/softwareDirectory/AutoVerScheme/newverifymethod.ui @@ -392,7 +392,7 @@ - 选择标准设备和核查件: + 选择标准设备: