#include "problemcount.h" #include "ui_problemcount.h" #include #include #include #include #include #pragma execution_character_set("utf-8") extern int g_comId; extern QString g_auditDate; extern QString g_dataRootPath; ProblemCount::ProblemCount(QWidget *parent) : QMainWindow(parent), ui(new Ui::ProblemCount) { ui->setupUi(this); ui->tableWidget->setColumnWidth(0,300); m_comId = g_comId; for(int i=0;itableWidget->rowCount();++i){ QPushButton *btn = new QPushButton("上传",this); ui->tableWidget->setCellWidget(i,3,btn); connect(btn,&QPushButton::clicked,this,[=]{ QStringList files = QFileDialog::getOpenFileNames(); QString str; for(auto f:files){ copyFile(f); QString targetPath = g_dataRootPath + QString("/%1/%2").arg(g_comId).arg(f.split("/").back()); str += targetPath + " "; } ui->tableWidget->setItem(i,4,new QTableWidgetItem(str)); }); // 查看佐证 QPushButton *lookBtn = new QPushButton("查看",this); ui->tableWidget->setCellWidget(i,5,lookBtn); connect(lookBtn,&QPushButton::clicked,this,[=]{ QStringList files = ui->tableWidget->item(i,4)->text().split(" "); if(files.size() > 0 ){ QString f = files.at(0); qDebug()<<"f:"< 10){ f.replace("/", "\\"); //win32下替换斜杠 QProcess process; process.startDetached("explorer", QStringList() << QString("/select,") << QString("%1").arg(f)); } } }); } } ProblemCount::~ProblemCount() { delete ui; } void ProblemCount::copyFile(QString path) { QStringList paths = path.split("/"); QString comPath = g_dataRootPath + QString("/%1").arg(g_comId); QDir comDir(comPath); if(!comDir.exists()){ // 创建路径 if(QDir().mkdir(comPath)){ qDebug()<<"创建目录成功:"<tableWidget->item(i,2)->text().toInt(); } ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::number(noMonCnt))); int allCnt = ui->tableWidget->item(1,2)->text().toInt()+ui->tableWidget->item(2,2)->text().toInt(); ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allCnt))); } void ProblemCount::on_tableWidget_activated(const QModelIndex &index) { qDebug()<<"activated index"<tableWidget->item(i,2)->text().toInt(); } ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::number(noMonCnt))); int allCnt = ui->tableWidget->item(1,2)->text().toInt()+ui->tableWidget->item(2,2)->text().toInt(); ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allCnt))); } void ProblemCount::on_pushButton_clicked() { // 再统计一把 on_tableWidget_activated(QModelIndex()); QString values = ""; for(int i=0;itableWidget->rowCount();++i){ values += QString("('%1','%2',%3,'%4',%5,'%6'),").arg(ui->tableWidget->item(i,0)->text()) .arg(ui->tableWidget->item(i,1)->text()).arg(ui->tableWidget->item(i,2)->text().toInt()) .arg(ui->tableWidget->item(i,4)->text()) .arg(g_comId).arg(g_auditDate); } values = values.left(values.length()-1); QString sql = QString("insert into problem_count (kpi_name,code,num,evidences,com_id,time) values %1").arg(values); qDebug()<pushButton->setText(QString("提交--问题数量_%1次").arg(cnt++)); } void ProblemCount::showData(QVariantList vlist) { for(int i=0;itableWidget->setItem(i,2,new QTableWidgetItem(vlist.at(i).toString())); } } // 再统计一把 on_tableWidget_activated(QModelIndex()); }