Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / checkwindow.cpp
陈实 on 15 Mar 2024 5 KB 自动检定修改
#include "checkwindow.h"
#include "ui_checkwindow.h"
#include "dialogcheckresult.h"
#include <QMessageBox>
#include "basecommonapi.h"

CheckWindow::CheckWindow(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::CheckWindow)
{
    ui->setupUi(this);
    //ui->tableWidgetDevice->setColumnCount(8);
    //ui->tableWidgetMethod->setColumnCount(7);
    ui->tableWidgetDevice->verticalHeader()->setParent(nullptr);
    for(int i=2;i<8;i++)
        ui->tableWidgetDevice->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
    ui->tableWidgetMethod->verticalHeader()->setParent(nullptr); //隐藏行头
    for(int i=1;i<5;i++)
        ui->tableWidgetMethod->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
    ui->tableWidgetMethod->setColumnWidth(0, 60);
    ui->tableWidgetMethod->setColumnWidth(5, 100);
    ui->tableWidget_3->verticalHeader()->setParent(nullptr);
    for(int i=0;i<2;i++)
        ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
    getCheckDevice();
    //ui->stackedWidget_2->setCurrentIndex(1);
    //ui->tableWidgetDevice->verticalHeader()->sectionResizeMode(QHeaderView::Stretch);
}

CheckWindow::~CheckWindow()
{
    myTaskList.clear();
    programList.clear();
    delete ui;
}

void CheckWindow::showMethod()
{
    ui->stackedWidget->setCurrentIndex(1);
    getCheckMethod();
}

void CheckWindow::showDevice()
{
    ui->stackedWidget->setCurrentIndex(2);
}

void CheckWindow::showCheck()
{
    ui->stackedWidget_2->setCurrentIndex(1);
}

void CheckWindow::showMethodWidget()
{
    ui->stackedWidget_2->setCurrentIndex(0);
    ui->stackedWidget->setCurrentIndex(0);
    getCheckDevice();
}

void CheckWindow::showResult()
{
    DialogCheckResult* dlg = new DialogCheckResult;
    dlg->setModal(true);
    dlg->show();
}

void CheckWindow::getCheckDevice()
{
    myTaskList.clear();
    ui->tableWidgetDevice->clearContents();
    ui->tableWidgetDevice->setRowCount(0);
    //模拟用户ID
    QString userId="1695282436182188034";
    myTaskList = BaseCommonApi::getMyTasks(userId,"3");

    int rowCount = 0;
    int row=0;
    QString State;
    for (const MyTask& myTask : myTaskList) {
        rowCount = ui->tableWidgetDevice->rowCount();

        ui->tableWidgetDevice->insertRow(rowCount);
        QTableWidgetItem* p_check = new QTableWidgetItem();
        p_check->setCheckState(Qt::Unchecked);        //设置首列为 CheckBox 控件
        ui->tableWidgetDevice->setItem(row,0,p_check);

        ui->tableWidgetDevice->setItem(row, 1, new QTableWidgetItem(QString::number(row+1)));
        //ui->tableWidget->setItem(row, 0, new QTableWidgetItem(dept.id));
        ui->tableWidgetDevice->setItem(row, 2, new QTableWidgetItem(myTask.sample_name)); //设置数据
        ui->tableWidgetDevice->setItem(row, 3, new QTableWidgetItem(myTask.sample_model)); //设置数据
        ui->tableWidgetDevice->setItem(row, 4, new QTableWidgetItem(myTask.help_instruction)); //设置数据
        ui->tableWidgetDevice->setItem(row, 5, new QTableWidgetItem(myTask.manufacture_no)); //设置数据
        ui->tableWidgetDevice->setItem(row, 6, new QTableWidgetItem(myTask.manufacturer)); //设置数据
        ui->tableWidgetDevice->setItem(row, 7, new QTableWidgetItem(myTask.customer_name)); //设置数据
        row++;
    }
}

void CheckWindow::getCheckMethod()
{
    programList.clear();
    ui->tableWidgetMethod->clearContents();
    ui->tableWidgetMethod->setRowCount(0);
    programList = BaseCommonApi::getVerificationProgramInfoMain();
    int rowCount = 0;
    int row=0;
    for (const VerificationProgramInfo& program : programList) {
         rowCount = ui->tableWidgetMethod->rowCount();

         ui->tableWidgetMethod->insertRow(rowCount);
         QTableWidgetItem* p_check = new QTableWidgetItem();
         p_check->setCheckState(Qt::Unchecked);        //设置首列为 CheckBox 控件
         ui->tableWidgetMethod->setItem(row,0,p_check);
         ui->tableWidgetMethod->setItem(row, 1, new QTableWidgetItem(program.program_name)); //设置数据
         ui->tableWidgetMethod->setItem(row, 2, new QTableWidgetItem(program.create_name)); //设置数据
         ui->tableWidgetMethod->setItem(row, 3, new QTableWidgetItem(program.create_time.toString())); //设置数据
         ui->tableWidgetMethod->setItem(row, 4, new QTableWidgetItem(program.remark)); //设置数据

         QPushButton *btn_1 = new QPushButton();
         btn_1->setText(tr("详情"));
         btn_1->setStyleSheet("QPushButton{"
                              "background-color:rgba(255,255,255,0);"
                              "color:rgba(0,0,255,100);"
                              "text-decoration:underline;"
                              "}");
         btn_1->setCursor(Qt::PointingHandCursor);
         connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked()));

         btn_1->setIconSize(QSize(16,16));
         btn_1->setIcon(QIcon(":/image/Index/u2324.svg"));
         QWidget *tmp_widget = new QWidget();
         QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget);
         tmp_layout->addWidget(btn_1);
         tmp_layout->setMargin(0);
         ui->tableWidgetMethod->setCellWidget(row,5,tmp_widget);
         row++;
    }
}

void CheckWindow::on_editButton_clicked()
{

}