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 |  182 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 149 insertions(+), 33 deletions(-)

diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp
index cea9c81..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();
@@ -40,10 +44,15 @@
 
     ui->groupBox->hide(); // 棣栨鍏堥殣钘�
 
+    // pdf鏂囦欢鐩稿叧
+    //m_pdfView = new QWebEngineView();
+
+
 }
 
 ThreeMergeProblemList::~ThreeMergeProblemList()
 {
+    //delete m_noEdit;
     delete ui;
 }
 
@@ -95,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;
@@ -157,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瀛愮洰褰曚腑
@@ -167,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)){
         // 鍒欑洿鎺ュ垱寤�
@@ -189,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()
 {
@@ -227,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){
@@ -292,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();
@@ -433,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()));
 
 }
 
@@ -583,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){
@@ -767,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());
 
     }
 
@@ -806,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){
@@ -872,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()){
@@ -930,3 +1000,49 @@
     }
     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