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