wumu
2025-04-27 20ffcfb5507daf34f81346ca3dfa4c031e7b2fe3
internal_system_v1/problemrectification.cpp
@@ -1,13 +1,17 @@
#include "problemrectification.h"
#include "problemrectification.h"
#include "ui_problemrectification.h"
#include <QFileDialog>
#include <QPushButton>
#include <QSqlQuery>
#include <QDebug>
#include <QProcess>
#pragma execution_character_set("utf-8")
extern int g_comId;
extern QString g_auditDate;
extern QString g_dataRootPath;
ProblemRectification::ProblemRectification(QWidget *parent) :
    QMainWindow(parent),
@@ -23,9 +27,27 @@
            QStringList files = QFileDialog::getOpenFileNames();
            QString str;
            for(auto f:files){
                str += f + " ";
                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:"<<f;
                if(f.size() > 10){
                    f.replace("/", "\\");    //win32下替换斜杠
                    QProcess process;
                    process.startDetached("explorer", QStringList() << QString("/select,") << QString("%1").arg(f));
                }
            }
        });
    }
}
@@ -35,11 +57,31 @@
    delete ui;
}
void ProblemRectification::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()<<"创建目录成功:"<<comPath;
        }
    }
    QString targetPath = g_dataRootPath + QString("/%1/%2").arg(g_comId).arg(paths.back());
    qDebug()<<"targetPath"<<targetPath;
    if(QFile::copy(path,targetPath)){
        qDebug()<<"成功拷贝:"<<path;
    }else{
        qDebug()<<"拷贝失败"<<path;
    }
}
void ProblemRectification::on_tableWidget_clicked(const QModelIndex &index)
{
    int allCnt = 0;
    double allCnt = 0;
    for(int i=1;i<ui->tableWidget->rowCount();++i){
        allCnt += ui->tableWidget->item(i,2)->text().toInt();
        allCnt += ui->tableWidget->item(i,2)->text().toDouble();
    }
    ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allCnt)));
}
@@ -65,6 +107,8 @@
    }else{
        qDebug()<<"fail sql"<<__FUNCTION__;
    }
    static int cnt=1;
    ui->pushButton->setText(QString("提交--问题整改_%1次").arg(cnt++));
}
void ProblemRectification::showData(QVariantList vlist)
@@ -74,4 +118,6 @@
            ui->tableWidget->setItem(i,2,new QTableWidgetItem(vlist.at(i).toString()));
        }
    }
    // 再统计一把
    on_tableWidget_clicked(QModelIndex());
}