From 5efd96cc316f8a704f0f6315b85078b738ddee04 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期二, 26 十一月 2024 23:37:02 +0800 Subject: [PATCH] 1126 --- internal_system_v1/threemergeproblemlist.cpp | 197 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 164 insertions(+), 33 deletions(-) diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp index e3ecf7f..5ccc493 100644 --- a/internal_system_v1/threemergeproblemlist.cpp +++ b/internal_system_v1/threemergeproblemlist.cpp @@ -6,6 +6,9 @@ #include <QMessageBox> #include <QDir> #include <QFileDevice> +#include "noedititemdelegate.h" + +#pragma execution_character_set("utf-8") ThreeMergeProblemList::ThreeMergeProblemList(QWidget *parent) : QMainWindow(parent), @@ -14,6 +17,7 @@ ui->setupUi(this); m_fdd = new FileDialogDelegate; + //m_noEdit = new ThreeComboBox; ui->statusbar->hide(); ui->menubar->hide(); @@ -38,10 +42,17 @@ ui->line->hide(); ui->line_2->hide(); + ui->groupBox->hide(); // 棣栨鍏堥殣钘� + + // pdf鏂囦欢鐩稿叧 + //m_pdfView = new QWebEngineView(); + + } ThreeMergeProblemList::~ThreeMergeProblemList() { + //delete m_noEdit; delete ui; } @@ -93,6 +104,15 @@ qDebug()<<"褰撳墠琛岄涓虹┖"<<row; return 0; } + // 澶勭悊涓虹┖鐨勯潪棣栧垪鍗曞厓锛岃嚜鍔ㄨˉ闆� + for(int i=1;i<ui->tableWidget->columnCount();++i){ + if(ui->tableWidget->item(row,i) == nullptr){ + qDebug()<<"鍙戠幇绌洪」:"<<row<<i; + ui->tableWidget->setItem(row,i,new QTableWidgetItem(" ")); + } + } + + // 鍙栧嚭绱㈠紩鍙锋潵鍒ゆ柇涓�涓� QString sql = QString("select id from standing_book_info where id=%1").arg(ui->tableWidget->item(row,0)->text()); qDebug()<<"id sql:"<<sql; @@ -155,7 +175,7 @@ // path 涓烘枃浠跺畬鏁磋矾寰� // id涓哄瓙鐩綍鍚嶅瓧 -int ThreeMergeProblemList::saveFile(QString path, QString id,QString &absSavePath) +int ThreeMergeProblemList::saveFile(QString path, QString id,QString &absSavePath,QString proName) { // 鏍规嵁id鏉ユ寚瀹氬瓙鐩綍杩涜鏂囦欢鐨勬嫹璐濆拰瀛樺偍 // 榛樿淇濆瓨鍒板綋鍓峞vidence鐩綍涓嬬殑id瀛愮洰褰曚腑 @@ -165,7 +185,7 @@ return -1; } - QString curPath = QString("./evidence/%1/").arg(id); + QString curPath = QString("./evidence/%1_%2/").arg(id).arg(proName); QDir dir; if(!dir.exists(curPath)){ // 鍒欑洿鎺ュ垱寤� @@ -187,6 +207,22 @@ return -2; } +} + +// 浣跨敤web鎶�鏈� 鍔犺浇pdf鏂囦欢 +int ThreeMergeProblemList::loadPdfFile(QString path) +{ +// QString dirPath = QApplication::applicationDirPath(); +// qDebug()<<"pdf:"<<path<<dirPath; +// qDebug()<<QDir::currentPath(); +// qDebug()<<path.mid(1); +// QString pdfJS = "file://"+QDir::currentPath()+"/web/viewer.html"; +// QString link = "?file="; +// QString fullPath = pdfJS+link+QDir::currentPath()+path.mid(1); +// qDebug()<<"fullPath"<<fullPath; +// m_pdfView->page()->load(QUrl::fromUserInput(fullPath)); + + return 0; } void ThreeMergeProblemList::initUi() { @@ -225,6 +261,7 @@ QTableWidgetItem *item_1 = new QTableWidgetItem(label); item_1->setForeground(QBrush(QColor("#ff00ff"))); ui->tableWidget->setHorizontalHeaderItem(i,item_1); + //ui->tableWidget->setItem(1,i,item_1); } for(int i=14;i<14+10;++i){ @@ -290,19 +327,50 @@ QStringList fwLabels; fwLabels << "褰曞叆(鐩存帴杈撳叆鍚庡洖杞﹀嵆鍙�)"<<"涓婁紶"; m_cbb_file_wri = new ComboBoxDelegate(fwLabels,this,true); - ui->tableWidget->setItemDelegateForColumn(13,m_cbb_file_wri); - ui->tableWidget->setItemDelegateForColumn(17,m_cbb_file_wri); - ui->tableWidget->setItemDelegateForColumn(23,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(13+2,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(17+2,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(23+2,m_cbb_file_wri); // 澶勭悊骞存湀鏃ユ椂闂� m_date_ymd = new DateDelegate(this,"yyyy/MM/dd"); - ui->tableWidget->setItemDelegateForColumn(19,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(21,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(24,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(29,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(31,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(34,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(19+2,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(21+2,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(24+2,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(29+2,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(31+2,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(34+2,m_date_ymd); + + // 灏嗘爣棰樺鍏ョ涓夎 + for(int i=0;i<ui->tableWidget->columnCount();++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item = new QTableWidgetItem(label); + if(i < 16){ + item->setBackground(QBrush(QColor("#ff00ff"))); + }else if(i < 16+10){ + item->setBackground(QBrush(QColor("#00aaff"))); + } + + ui->tableWidget->setItem(2,i,item); + } + + // 骞朵笖绂佺敤缂栬緫鍔熻兘 + //ui->tableWidget->setItemDelegateForRow(1,m_noEdit); + //ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); + m_noEdit = new TableItemDelegate; + ui->tableWidget->setItemDelegateForRow(0,m_noEdit); + ui->tableWidget->setItemDelegateForRow(1,m_noEdit); + ui->tableWidget->setItemDelegateForRow(2,m_noEdit); + + + // 鍚堝苟绗竴琛岀殑鎯呭喌锛岃繘琛屽垎绫� + + + ui->tableWidget->setItem(0,1,new QTableWidgetItem("鍙戠幇闂")); + ui->tableWidget->setItem(0,18,new QTableWidgetItem("鍙戠幇闂22")); + ui->tableWidget->setSpan(0,1,2,15); + ui->tableWidget->item(0,1)->setTextAlignment(Qt::AlignCenter); + ui->tableWidget->item(0,1)->font().setBold(true); // 鍔犺浇鍏徃鍚� readCompanyFromSQL(); @@ -431,12 +499,14 @@ m_menuRectBook = new QMenu(this); m_menuRectBook->addAction("鍒犻櫎褰撳墠琛�"); m_menuRectBook->addAction("淇濆瓨褰撳墠琛�"); + m_menuRectBook->addAction("鏌ョ湅宸插瓨浣愯瘉"); ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenuSlotRectBook(QPoint))); connect(m_menuRectBook->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteActionRectBook())); connect(m_menuRectBook->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(saveActionRectBook())); + connect(m_menuRectBook->actions().at(2),SIGNAL(triggered(bool)),this,SLOT(showSaveFile())); } @@ -581,25 +651,26 @@ int rows = saveDataLine(row); if(rows>0){ // 闇�瑕佸皢鏂囦欢鎷疯礉鍒癷d鐩綍 - QString fpath = ui->tableWidget->item(row,13)->text(); - QString spath = ui->tableWidget->item(row,17)->text(); - QString tpath = ui->tableWidget->item(row,23)->text(); + QString fpath = ui->tableWidget->item(row,13+2)->text(); + QString spath = ui->tableWidget->item(row,17+2)->text(); + QString tpath = ui->tableWidget->item(row,23+2)->text(); QString fid = ui->tableWidget->item(row,0)->text(); - qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<fpath; + QString proName = ui->tableWidget->item(row,7)->text(); // 椤圭洰鍚嶇О + qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<proName<<fpath; QString absSavePath1,absSavePath2,absSavePath3; - int sflag1 = saveFile(fpath,fid,absSavePath1); // 淇濆瓨绗竴涓� + int sflag1 = saveFile(fpath,fid,absSavePath1,proName); // 淇濆瓨绗竴涓� if(sflag1==1){ - ui->tableWidget->setItem(row,13,new QTableWidgetItem(absSavePath1)); + ui->tableWidget->setItem(row,13+2,new QTableWidgetItem(absSavePath1)); } - int sflag2 = saveFile(spath,fid,absSavePath2); // 淇濆瓨绗簩涓� + int sflag2 = saveFile(spath,fid,absSavePath2,proName); // 淇濆瓨绗簩涓� if(sflag2==1){ - ui->tableWidget->setItem(row,17,new QTableWidgetItem(absSavePath2)); + ui->tableWidget->setItem(row,17+2,new QTableWidgetItem(absSavePath2)); } - int sflag3 = saveFile(tpath,fid,absSavePath3); // 淇濆瓨绗笁涓� + int sflag3 = saveFile(tpath,fid,absSavePath3,proName); // 淇濆瓨绗笁涓� if(sflag3==1){ - ui->tableWidget->setItem(row,23,new QTableWidgetItem(absSavePath3)); + ui->tableWidget->setItem(row,23+2,new QTableWidgetItem(absSavePath3)); } qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3; if(sflag1 || sflag2 || sflag3){ @@ -765,11 +836,11 @@ }else if(curText == "娑夊強閲戦" || strcmp(curText.toLocal8Bit().data(),"娑夊強閲戦")==0){ qDebug()<<"娑夊強閲戦"; - condition = QString(" where 娑夊強閲戦='%1'").arg(ui->lineEdit_sbook_condition->text()); + condition = QString(" where 娑夊強閲戦 <=%1").arg(ui->lineEdit_sbook_condition->text()); }else if(curText == "鏁撮】閲戦" || strcmp(curText.toLocal8Bit().data(),"鏁撮】閲戦")==0){ qDebug()<<"鏁撮】閲戦"; - condition = QString(" where 鏁撮】閲戦='%1'").arg(ui->lineEdit_sbook_condition->text()); + condition = QString(" where 鏁撮】閲戦 <=%1").arg(ui->lineEdit_sbook_condition->text()); } @@ -804,21 +875,22 @@ QString spath = ui->tableWidget->item(i,17)->text(); QString tpath = ui->tableWidget->item(i,23)->text(); QString fid = ui->tableWidget->item(i,0)->text(); - qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<fpath; + QString proName = ui->tableWidget->item(i,7)->text(); // 椤圭洰鍚嶇О + qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<proName<<fpath; QString absSavePath1,absSavePath2,absSavePath3; - int sflag1 = saveFile(fpath,fid,absSavePath1); // 淇濆瓨绗竴涓� + int sflag1 = saveFile(fpath,fid,absSavePath1,proName); // 淇濆瓨绗竴涓� if(sflag1==1){ - ui->tableWidget->setItem(i,13,new QTableWidgetItem(absSavePath1)); + ui->tableWidget->setItem(i,13+2,new QTableWidgetItem(absSavePath1)); } - int sflag2 = saveFile(spath,fid,absSavePath2); // 淇濆瓨绗簩涓� + int sflag2 = saveFile(spath,fid,absSavePath2,proName); // 淇濆瓨绗簩涓� if(sflag2==1){ - ui->tableWidget->setItem(i,17,new QTableWidgetItem(absSavePath2)); + ui->tableWidget->setItem(i,17+2,new QTableWidgetItem(absSavePath2)); } - int sflag3 = saveFile(tpath,fid,absSavePath3); // 淇濆瓨绗笁涓� + int sflag3 = saveFile(tpath,fid,absSavePath3,proName); // 淇濆瓨绗笁涓� if(sflag3==1){ - ui->tableWidget->setItem(i,23,new QTableWidgetItem(absSavePath3)); + ui->tableWidget->setItem(i,23+2,new QTableWidgetItem(absSavePath3)); } qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3; if(sflag1 || sflag2 || sflag3){ @@ -870,15 +942,15 @@ vecCon.append(condition); } if(ui->checkBox_qdx->isChecked()){ - QString condition= QString(" 闂瀹氭��='%1' ").arg(ui->comboBox_qdx->currentText()); + QString condition= QString(" 闂瀹氭��='%1'").arg(ui->comboBox_qdx->currentText()); vecCon.append(condition); } if(ui->checkBox_about_money->isChecked()){ - QString condition= QString(" 娑夊強閲戦>='%1' and 娑夊強閲戦<='%2' ").arg(ui->comboBox_about_bgMonney->currentText()).arg(ui->comboBox_about_edMoney->currentText()); + QString condition= QString(" 娑夊強閲戦 >= %1 and 娑夊強閲戦 <= %2").arg(ui->comboBox_about_bgMonney->currentText()).arg(ui->comboBox_about_edMoney->currentText()); vecCon.append(condition); } if(ui->checkBox_changeMoney->isChecked()){ - QString condition= QString(" 鏁存敼閲戦>='%1' and 鏁存敼閲戦<='%2' ").arg(ui->comboBox_change_bgMoney->currentText()).arg(ui->comboBox_change_edMoney->currentText()); + QString condition= QString(" 鏁存敼閲戦>=%1 and 鏁存敼閲戦<=%2").arg(ui->comboBox_change_bgMoney->currentText()).arg(ui->comboBox_change_edMoney->currentText()); vecCon.append(condition); } if(ui->checkBox_change_over_time->isChecked()){ @@ -915,3 +987,62 @@ } } + +void ThreeMergeProblemList::on_pushButton_multiSearch_clicked() +{ + static int cnt=0; + if(cnt%2 == 1){ + ui->groupBox->hide(); + ui->pushButton_multiSearch->setText("澶氱淮搴︽暟鎹煡璇煈�"); + }else{ + ui->groupBox->show(); + ui->pushButton_multiSearch->setText("澶氱淮搴︽暟鎹煡璇煈�"); + } + cnt++; +} + +void ThreeMergeProblemList::showSaveFile() +{ + int row = ui->tableWidget->currentRow(); + auto item = ui->tableWidget->currentItem(); + if(row>=0 && item){ + qDebug()<<"row"<<row; + // 鍙栦笅鏍� 13 17 23 + auto item_13 = ui->tableWidget->item(row,13+2); + auto item_17 = ui->tableWidget->item(row,17+2); + auto item_23 = ui->tableWidget->item(row,23+2); + if(item_13){ + qDebug()<<item_13->text(); + QString text = item_13->text(); + QStringList listPath = text.split("/"); + if(listPath.size() > 2){ + qDebug()<<"鍙戠幇鏂囦欢"<<listPath.back(); + QString type = listPath.back().split(".").back(); + qDebug()<<"type"<<type; + if(type == "pdf"){ + loadPdfFile(text); + } + } + } + if(item_17){ + qDebug()<<item_17->text(); + } + if(item_23){ + qDebug()<<item_23->text(); + } + } +} + +void ThreeMergeProblemList::updateComboList(QMap<QString, ComInfo> & nameAndComInfos) +{ + ui->comboBox_company->clear(); + + for(auto it = nameAndComInfos.begin();it != nameAndComInfos.end();++it){ + ui->comboBox_company->addItem(it.key()); + } +} + +void ThreeMergeProblemList::on_pushButton_save_export_clicked() +{ + qDebug()<<"涓夊悎涓�瀵煎嚭淇濆瓨"; +} -- Gitblit v1.8.0