From 20ffcfb5507daf34f81346ca3dfa4c031e7b2fe3 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期日, 27 四月 2025 22:13:53 +0800 Subject: [PATCH] 0427 --- internal_system_v1/problemrectification.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 50 insertions(+), 4 deletions(-) diff --git a/internal_system_v1/problemrectification.cpp b/internal_system_v1/problemrectification.cpp index ed5b2dd..7edc4f8 100644 --- a/internal_system_v1/problemrectification.cpp +++ b/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()); } -- Gitblit v1.8.0