From a3f97ceb36d4cb60bacdfbcb04c364faaca6138a Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期五, 29 十一月 2024 23:29:07 +0800
Subject: [PATCH] 1129

---
 internal_system_v1/threemergeproblemlist.cpp |  197 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 170 insertions(+), 27 deletions(-)

diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp
index 6e10620..1a0290e 100644
--- a/internal_system_v1/threemergeproblemlist.cpp
+++ b/internal_system_v1/threemergeproblemlist.cpp
@@ -6,6 +6,7 @@
 #include <QMessageBox>
 #include <QDir>
 #include <QFileDevice>
+#include "noedititemdelegate.h"
 
 #pragma execution_character_set("utf-8")
 
@@ -16,6 +17,7 @@
     ui->setupUi(this);
 
     m_fdd = new FileDialogDelegate;
+    //m_noEdit = new ThreeComboBox;
 
     ui->statusbar->hide();
     ui->menubar->hide();
@@ -50,6 +52,7 @@
 
 ThreeMergeProblemList::~ThreeMergeProblemList()
 {
+    //delete m_noEdit;
     delete ui;
 }
 
@@ -102,7 +105,7 @@
         return 0;
     }
     // 澶勭悊涓虹┖鐨勯潪棣栧垪鍗曞厓锛岃嚜鍔ㄨˉ闆�
-    for(int i=1;i<ui->tableWidget->columnCount();++i){
+    for(int i=3;i<ui->tableWidget->columnCount();++i){
         if(ui->tableWidget->item(row,i) == nullptr){
             qDebug()<<"鍙戠幇绌洪」:"<<row<<i;
             ui->tableWidget->setItem(row,i,new QTableWidgetItem(" "));
@@ -227,6 +230,7 @@
     initProblemListUi(); // 鍒濆鍖栭棶棰樻竻鍗曠晫闈�
     initProblemResultUi(); // 鍒濆鍖栭棶棰樺鐞嗙粨鏋滅晫闈�
 
+    ui->tableWidget->setRowCount(4); // 璁剧疆鍒濆琛屾暟
     ui->tableWidget->setMinimumHeight(500);  // 鏁存敼鍙拌处
     ui->tableWidget_2->setMinimumHeight(500); // 鏁存敼缁撴灉
     ui->tableWidget_3->setMinimumHeight(500); // 闂娓呭崟
@@ -258,6 +262,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){
@@ -318,24 +323,148 @@
     m_cbb_way = new ComboBoxDelegate(proLabels,this);
     ui->tableWidget->setItemDelegateForColumn(6,m_cbb_way);
 
+        // 瀹¤鍙戠幇闂閲戦瀹氭��
+    QStringList moneyLabels;
+    moneyLabels<<"鍏朵腑锛氱哗鏁堢被闂閲戦"<<"鍚堣鎬ч棶棰橀噾棰�"<<"鍏朵腑锛氫細璁℃牳绠楁柟闈�"<<"杩濊浣跨敤璧勯噾"<<"鎴暀銆佹矇娣�璧勯噾"<<"鎹熷け娴垂"<<"鎸敤璧勯噾"<<"鍋锋紡绋庤垂"<<"杩濊鍙栧緱鏀跺叆"<<"鍏朵粬";
+    m_cbb_money = new ComboBoxDelegate(moneyLabels,this);
+    ui->tableWidget->setItemDelegateForColumn(12,m_cbb_money);
+
+        // 瀹¤鍙戠幇闂涓暟瀹氭��
+    QStringList cntLabels;
+    cntLabels<<"鍏朵腑锛氶噾棰濈被闂涓暟"<<"闈為噾棰濈被闂涓暟"<<"鍏朵腑锛氬浗瀹舵斂绛栨帾鏂借惤瀹炴柟闈�"<<"鍙戝睍瑙勫垝涓庢垬鐣ュ喅绛栨柟闈�"<<"鍐呴儴鎺у埗涓庨闄╃鐞嗘柟闈�"<<"鍏朵粬";
+    m_cbb_cnt = new ComboBoxDelegate(cntLabels,this);
+    ui->tableWidget->setItemDelegateForColumn(13,m_cbb_cnt);
+
+        // 鏁存敼缁撴灉
+    QStringList resLabels;
+    resLabels<<"绔嬭鏁存敼"<<"鍒嗛樁娈垫暣鏀�"<<"灏氭湭鏁存敼";
+    m_cbb_result = new ComboBoxDelegate(resLabels,this);
+    ui->tableWidget->setItemDelegateForColumn(20,m_cbb_result);
+
+        // 澶勫垎绫诲瀷
+    QStringList typeLabels;
+    typeLabels<<"鍏朵腑锛氬厷绾鍒�"<<"鏀垮姟澶勫垎"<<"鍐呴儴绾緥澶勫垎"<<"鏃犲鍒�";
+    m_cbb_type = new ComboBoxDelegate(typeLabels,this);
+    ui->tableWidget->setItemDelegateForColumn(26,m_cbb_type);
+
+        // 妫�鏌ョ粨鏋�
+    QStringList checkResLabels;
+    checkResLabels<<"宸插畬鎴�"<<"鏈畬鎴�";
+    m_cbb_check_res = new ComboBoxDelegate(checkResLabels,this);
+    ui->tableWidget->setItemDelegateForColumn(33,m_cbb_check_res);
+
+        // 閲戦绫绘暣鏀规垚鏋�
+    QStringList moneyResLabels;
+    moneyResLabels<<"鍏朵腑锛氳皟鏁翠細璁¤处鐩�"<<"鏀跺洖璧勯噾"<<"鎸藉洖鎹熷け"<<"褰掕繕鍘熻祫閲戞笭閬�"<<"琛ョ即绋庤垂"<<"鍏朵粬";
+    m_cbb_money_res = new ComboBoxDelegate(moneyResLabels,this);
+    ui->tableWidget->setItemDelegateForColumn(42,m_cbb_money_res);
+
+        // 闈為噾棰濈被鏁存敼鎴愭灉
+    QStringList noMoneyResLabels;
+    noMoneyResLabels<<"鍏朵腑锛氭柊鍒跺畾鍒跺害"<<"淇瀹屽杽鍒跺害"<<"浼樺寲瀹屽杽涓氬姟娴佺▼"<<"鍏朵粬";
+    m_cbb_no_money_res = new ComboBoxDelegate(noMoneyResLabels,this);
+    ui->tableWidget->setItemDelegateForColumn(44,m_cbb_no_money_res);
+
+
         // 闂鎻忚堪浣愯瘉璧勬枡(涓婁紶鍙栬瘉鍗�) 褰曞叆鎴栬�呬笂浼�
     //ui->tableWidget->setItemDelegateForColumn(13,m_fdd);
     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+5,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(29+2+5,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(31+2+5,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(34+2+5,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,16,new QTableWidgetItem("鏁存敼鎯呭喌"));
+    // 澶勫垎缁撴灉锛堣兘鑷姩缁熻缁煎悎瀹¤缁熻琛ㄤ腑锛氭牴鎹璁″缓璁粰浜堝厷绾�佹斂鍔″拰鍐呴儴绾緥澶勫垎锛�
+    ui->tableWidget->setItem(0,26,new QTableWidgetItem("澶勫垎缁撴灉"));
+    // 绉婚�佷俊鎭紙鑳借嚜鍔ㄧ粺璁$患鍚堝璁$粺璁¤〃涓細鍚戝徃娉曟満鍏崇Щ閫佹垨鎶ュ憡妗堜欢绾跨储锛�
+    ui->tableWidget->setItem(0,28,new QTableWidgetItem("绉婚�佷俊鎭�"));
+    ui->tableWidget->setItem(0,31,new QTableWidgetItem("鏁存敼妫�鏌ョ粨鏋�"));
+    ui->tableWidget->setItem(0,34,new QTableWidgetItem("鏁存敼绫诲瀷"));
+    ui->tableWidget->setItem(1,34,new QTableWidgetItem("宸叉暣鏀�"));
+    ui->tableWidget->setItem(1,37,new QTableWidgetItem("姝e湪鏁存敼"));
+    ui->tableWidget->setItem(1,39,new QTableWidgetItem("灏氭湭鏁存敼"));
+    ui->tableWidget->setItem(0,42,new QTableWidgetItem("鏁存敼鎴愭灉"));
+    ui->tableWidget->setItem(1,42,new QTableWidgetItem("闂鏁存敼锛堥噾棰濈被锛�"));
+    ui->tableWidget->setItem(1,44,new QTableWidgetItem("闂鏁存敼锛堥潪閲戦绫伙級"));
+
+
+    ui->tableWidget->setSpan(0,1,2,15); // 鍙戠幇闂
+    ui->tableWidget->item(0,1)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(0,16,2,10); // 鏁存敼鎯呭喌
+    ui->tableWidget->item(0,16)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(0,26,2,2); // 澶勫垎缁撴灉
+    ui->tableWidget->item(0,26)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(0,28,2,3); // 绉婚�佷俊鎭�
+    ui->tableWidget->item(0,28)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(0,31,2,3); // 鏁存敼妫�鏌ョ粨鏋�
+    ui->tableWidget->item(0,31)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(0,34,1,8); // 鏁存敼绫诲瀷
+    ui->tableWidget->item(0,34)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(1,34,1,3); // 宸叉暣鏀�
+    ui->tableWidget->item(1,34)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(1,37,1,2); // 姝e湪鏁存敼
+    ui->tableWidget->item(1,37)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(1,39,1,3); // 灏氭湭鏁存敼
+    ui->tableWidget->item(1,39)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(0,42,1,4); // 鏁存敼鎴愭灉
+    ui->tableWidget->item(0,42)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(1,42,1,2); // 闂鏁存敼锛堥噾棰濈被锛�
+    ui->tableWidget->item(1,42)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(1,44,1,2); // 闂鏁存敼锛堥潪閲戦绫伙級
+    ui->tableWidget->item(1,44)->setTextAlignment(Qt::AlignCenter);
+
+
+    // 闅愯棌鍒楁爣棰�
+    ui->tableWidget->horizontalHeader()->setVisible(false);
 
     // 鍔犺浇鍏徃鍚�
     readCompanyFromSQL();
@@ -616,9 +745,9 @@
         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();
             QString proName = ui->tableWidget->item(row,7)->text(); // 椤圭洰鍚嶇О
             qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<proName<<fpath;
@@ -627,15 +756,15 @@
 
             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,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,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){
@@ -815,10 +944,10 @@
     QVector<QVector<QString>> res;
     int rows = selectSQL(sql,res);
     if(rows > 0){
-        ui->tableWidget->setRowCount(rows);
+        ui->tableWidget->setRowCount(rows+3);
         for(int i=0;i<res.size();++i){
             for(int j=0;j<res.at(0).size()-1;++j){ // 鍘绘帀璁板綍鏃堕棿
-                ui->tableWidget->setItem(i,j,new QTableWidgetItem(res[i][j]));
+                ui->tableWidget->setItem(i+3,j,new QTableWidgetItem(res[i][j]));
             }
         }
     }else{
@@ -830,7 +959,7 @@
 void ThreeMergeProblemList::on_pushButton_save_3_clicked()
 {
     int hasContentRow=0;
-    for(int i=0;i<ui->tableWidget->rowCount();++i){
+    for(int i=3;i<ui->tableWidget->rowCount();++i){
         int row = saveDataLine(i);
         if(row > 0) {
             hasContentRow++;
@@ -847,15 +976,15 @@
 
             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,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,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){
@@ -941,10 +1070,10 @@
     QVector<QVector<QString>> res;
     int rows = selectSQL(sql,res);
     if(rows > 0){
-        ui->tableWidget->setRowCount(rows);
+        ui->tableWidget->setRowCount(rows+3);
         for(int i=0;i<res.size();++i){
             for(int j=0;j<res.at(0).size()-1;++j){ // 鍘绘帀璁板綍鏃堕棿
-                ui->tableWidget->setItem(i,j,new QTableWidgetItem(res[i][j]));
+                ui->tableWidget->setItem(i+3,j,new QTableWidgetItem(res[i][j]));
             }
         }
     }else{
@@ -973,9 +1102,9 @@
     if(row>=0 && item){
         qDebug()<<"row"<<row;
         // 鍙栦笅鏍�  13  17  23
-        auto item_13 = ui->tableWidget->item(row,13);
-        auto item_17 = ui->tableWidget->item(row,17);
-        auto item_23 = ui->tableWidget->item(row,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();
@@ -997,3 +1126,17 @@
         }
     }
 }
+
+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