From 9ddb25babb774f773b62106fb4d1a9404af71fd9 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期四, 09 五月 2024 23:22:18 +0800 Subject: [PATCH] 0509 --- internal_system_v1/threemergeproblemlist.cpp | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 285 insertions(+), 0 deletions(-) diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp index 8cc2e65..eb6c8ad 100644 --- a/internal_system_v1/threemergeproblemlist.cpp +++ b/internal_system_v1/threemergeproblemlist.cpp @@ -10,9 +10,15 @@ ui(new Ui::ThreeMergeProblemList) { ui->setupUi(this); + + m_fdd = new FileDialogDelegate; + ui->statusbar->hide(); ui->menubar->hide(); initUi(); // 鍒濆鍖栨墍鏈夌晫闈� + + //ui->tableWidget_2->hide(); + //ui->tableWidget_3->hide(); } @@ -23,8 +29,103 @@ void ThreeMergeProblemList::initUi() { + initProblemRectBookUi(); // 鍒濆鍖栨暣鏀瑰彴璐� initProblemListUi(); // 鍒濆鍖栭棶棰樻竻鍗曠晫闈� initProblemResultUi(); // 鍒濆鍖栭棶棰樺鐞嗙粨鏋滅晫闈� + + ui->tableWidget->setMinimumHeight(500); // 鏁存敼鍙拌处 + ui->tableWidget_2->setMinimumHeight(500); // 鏁存敼缁撴灉 + ui->tableWidget_3->setMinimumHeight(500); // 闂娓呭崟 + + ui->tableWidget->setItemDelegateForColumn(1,m_fdd); + + // 鑷�傚簲鎿嶄綔 + ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); + ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); + + ui->tableWidget->resizeColumnsToContents(); + ui->tableWidget->resizeRowsToContents(); + + // 鎺у埗琛ㄥご棰滆壊 + // 鑷畾涔夌殑鏂瑰紡鏈夌己闄锋槸瀹规槗璁╁搴旈」閿佹 + //m_custonHV = new CustomHeaderView(Qt::Horizontal,ui->tableWidget); + //ui->tableWidget->setHorizontalHeader(m_custonHV); + + // 缁欐寚瀹氶」鏀硅儗鏅鑹� + //ui->tableWidget->horizontalHeaderItem(1)->setBackground(QBrush(Qt::red)); + //ui->tableWidget->horizontalHeaderItem(3)->setBackground(QBrush(Qt::blue)); + +// QTableWidgetItem *item_1 = new QTableWidgetItem("瀹¤绫诲埆"); +// item_1->setForeground(QBrush(QColor("#FF1493"))); +// ui->tableWidget->setHorizontalHeaderItem(1,item_1); + + for(int i=0;i<14;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#ff00ff"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=14;i<14+10;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#00aaff"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=24;i<24+3;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#00aa00"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=27;i<27+8;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#007a50"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=35;i<35+5;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#500a50"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + // 澶勭悊鍏蜂綋鏌愬垪鐨勬儏鍐� + // 瀹¤绫诲埆 + QStringList nwLabels; + nwLabels << "鍐呭"<<"澶栧"; + m_cbb_nw = new ComboBoxDelegate(nwLabels,this); + ui->tableWidget->setItemDelegateForColumn(1,m_cbb_nw); + + // 瀹¤骞村害 + m_date_year = new DateDelegate(this); + ui->tableWidget->setItemDelegateForColumn(2,m_date_year); + + // 瀹¤鍗曚綅 + QStringList comLabels; + comLabels << "瀹¤灞�"<<"瀹¤鍘�"<<"瀹¤缃�"<<"鍏朵粬"; + m_cbb_company = new ComboBoxDelegate(comLabels,this); + ui->tableWidget->setItemDelegateForColumn(3,m_cbb_company); + + // 瀹¤鏂瑰紡 + QStringList wayLabels; + wayLabels << "灏卞湴瀹¤"<<"鎶ラ�佸璁�"; + m_cbb_way = new ComboBoxDelegate(wayLabels,this); + ui->tableWidget->setItemDelegateForColumn(4,m_cbb_way); + + // 瀹¤椤圭洰 + QStringList proLabels; + proLabels <<" "<< "璐交钀藉疄鍥藉閲嶅ぇ鏀跨瓥鎺柦瀹¤"<<"璐㈡斂璐㈠姟鏀舵敮瀹¤"<<"鍥哄畾璧勪骇鎶曡祫瀹¤"<<"鍐呴儴鎺у埗鍜岄闄╃鐞嗗璁�" + <<"缁忔祹璐d换瀹¤"<<"淇℃伅绯荤粺瀹¤"<<"澧冨瀹¤"<<"鍏朵粬"; + m_cbb_way = new ComboBoxDelegate(proLabels,this); + ui->tableWidget->setItemDelegateForColumn(6,m_cbb_way); + + // 闂鎻忚堪浣愯瘉璧勬枡(涓婁紶鍙栬瘉鍗�) 褰曞叆鎴栬�呬笂浼� + ui->tableWidget->setItemDelegateForColumn(13,m_fdd); // 鍔犺浇鍏徃鍚� readCompanyFromSQL(); @@ -135,6 +236,7 @@ ui->tableWidget_2->setItemDelegateForRow(i,new TableItemDelegate()); } + // 鍙抽敭鑿滃崟 m_menuResult = new QMenu(this); m_menuResult->addAction("鍒犻櫎褰撳墠琛�"); @@ -144,6 +246,17 @@ // 鍔犺浇涓嬫媺妗嗙殑鍏徃鍚� //readCompanyFromSQL(); +} + +void ThreeMergeProblemList::initProblemRectBookUi() +{ + // 鍙抽敭鑿滃崟 + m_menuRectBook = new QMenu(this); + 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())); + } void ThreeMergeProblemList::readCompanyFromSQL() @@ -164,6 +277,66 @@ qDebug()<<QString("select all_company_info fail...")<<query.lastError().text(); } +} + +void ThreeMergeProblemList::loadDataFromSQL(const QString &arg1) +{ + // 闂鍙拌处 + + + // 闂娓呭崟 + // 瑕佹竻闄や笂涓�瀹跺叕鍙哥殑鏁版嵁 + ui->tableWidget_3->setRowCount(4); + ui->tableWidget_3->setRowCount(7); + // 鍔犺浇琛ㄦ牸淇℃伅 + qDebug()<<"current :"<<arg1; + + QString sql = QString("select * from problem_list_info where name='%1'").arg(arg1); + QSqlQuery query; + if(query.exec(sql)){ + qDebug()<<QString("select problem_list_info ok"); + int row=0; + while(query.next()){ // 娣诲姞琛屾暟鎹� + for(int i=0;i<14;++i){ + ui->tableWidget_3->setItem(row+4,i,new QTableWidgetItem(query.value(2+i).toString())); + } + row++; + ui->tableWidget_3->setRowCount(ui->tableWidget_3->rowCount()+1); // 澧炲姞涓�涓柊鐨勮 + } + qDebug()<<"row:"<<row; + + }else{ + qDebug()<<QString("select problem_list_info fail...")<<query.lastError().text(); + + } + + // 闂鏁存敼缁撴灉 + // 瑕佹竻闄や笂涓�瀹跺叕鍙哥殑鏁版嵁 + ui->tableWidget_2->setRowCount(3); + ui->tableWidget_2->setRowCount(6); + // 鍔犺浇琛ㄦ牸淇℃伅 + //qDebug()<<"current :"<<arg1; + + sql = QString("select * from rectify_result_info where name='%1'").arg(arg1); + //QString sql = QString("select * from rectify_result_info where name='%1'").arg(arg1); + //QSqlQuery query; + if(query.exec(sql)){ + qDebug()<<QString("select rectify_result_info ok"); + int row=0; + while(query.next()){ // 娣诲姞琛屾暟鎹� + for(int i=0;i<10;++i){ + ui->tableWidget_2->setItem(row+3,i,new QTableWidgetItem(query.value(2+i).toString())); + } + row++; + ui->tableWidget_2->setRowCount(ui->tableWidget_2->rowCount()+1); // 澧炲姞涓�涓柊鐨勮 + } + qDebug()<<"row:"<<row; + + }else{ + qDebug()<<QString("select rectify_result_info fail...")<<query.lastError().text(); + + } + } void ThreeMergeProblemList::showMenuSlot(QPoint) @@ -198,6 +371,22 @@ } } +void ThreeMergeProblemList::showMenuSlotRectBook(QPoint) +{ + m_menuRectBook->exec(QCursor::pos()); +} + +void ThreeMergeProblemList::deleteActionRectBook() +{ + int row = ui->tableWidget->currentRow(); + if(row>=0){ + qDebug()<<"ok"; + ui->tableWidget->removeRow(row); + }else{ + qDebug()<<"fail"; + } +} + // 澧炲姞鍒扮涓�涓〃鏍肩殑琛� void ThreeMergeProblemList::on_pushButton_addRow_3_clicked() { @@ -213,3 +402,99 @@ { ui->tableWidget_2->insertRow(ui->tableWidget_2->rowCount()); } + +void ThreeMergeProblemList::on_comboBox_company_currentIndexChanged(const QString &arg1) +{ + loadDataFromSQL(arg1); +} + +void ThreeMergeProblemList::on_pushButton_save_2_clicked() +{ + // 闂娓呭崟淇濆瓨 + + QString sql = QString("insert into problem_list_info (name,搴忓彿,鎽樿,妫�鏌ユ椂闂�,妫�鏌ユ柟寮�,绾犳闂,瀹屽杽鍒跺害\ +,瀹屾垚鏃堕棿,涓昏鍘熷洜,瀹屾垚鏃堕檺,涓昏鍘熷洜1,璐d换閮ㄩ棬鎴栬矗浠讳汉,瀹屾垚鏃堕檺1,鏄惁閿�鍙�,閿�鍙锋椂闂�) values "); + QString name = ui->comboBox_company->currentText(); + + for(int i=4;i<ui->tableWidget_3->rowCount();++i){ + QStringList labels; + + for(int j=0;j<ui->tableWidget_3->columnCount();++j){ + QTableWidgetItem *item = ui->tableWidget_3->item(i,j);; + qDebug() <<i<<j <<item; + if(item){ + qDebug()<<"OK"; + labels<<item->data(Qt::EditRole).toString(); + }else{ + labels<<" "; + } + } + qDebug()<<labels; + if(labels.at(0)==" ")continue; + if(name.size()==0){ + QMessageBox::information(this,"鍗曚綅淇℃伅涓虹┖ ","璇疯緭鍏ュ崟浣嶅悕绉�"); + continue; + } + sql += QString("('%1',").arg(name); + for(int k=0;k<labels.size()-1;++k){ + sql += QString("'%1',").arg(labels[k]); + } + sql += QString("'%1'),").arg(labels.back()); + } + sql = sql.left(sql.size()-1); // 鍘绘帀鏈�鍚庝竴涓�楀彿 + qDebug()<<"sql="<<sql; + QSqlQuery query; + if(query.exec(sql)) + { + qDebug()<<QString("insert problem_list_info ok..."); + QMessageBox::information(this,"OK","娣诲姞鎴愬姛"); + }else{ + qDebug()<<QString("insert problem_list_info fail...")<<query.lastError().text(); + QMessageBox::information(this,"娣诲姞澶辫触","鍙兘娣诲姞鐨勬暟鎹笉鍏ㄥ鑷寸殑锛屽緱纭姣忚鐨勯椤规湁鏁版嵁"); + } +} + +void ThreeMergeProblemList::on_pushButton_save_clicked() +{ + // 闂鏁存敼淇濆瓨 + + QString sql = QString("insert into rectify_result_info (name,淇鍒跺害,鏂板鍒跺害,鎸藉洖鎹熷け,鍓旈櫎,瀹″噺,澶勭悊浜�,瀹h疮鍩硅,鍏朵粬,瀹℃牳缁撴灉,娉ㄩ攢) values "); + QString name = ui->comboBox_company->currentText(); + + for(int i=3;i<ui->tableWidget_2->rowCount();++i){ + QStringList labels; + + for(int j=0;j<ui->tableWidget_2->columnCount();++j){ + QTableWidgetItem *item = ui->tableWidget_2->item(i,j);; + qDebug() <<i<<j <<item; + if(item){ + qDebug()<<"OK"; + labels<<item->data(Qt::EditRole).toString(); + }else{ + labels<<" "; + } + } + qDebug()<<labels; + if(labels.at(0)==" ")continue; + if(name.size()==0){ + QMessageBox::information(this,"鍗曚綅淇℃伅涓虹┖ ","璇疯緭鍏ュ崟浣嶅悕绉�"); + continue; + } + sql += QString("('%1',").arg(name); + for(int k=0;k<labels.size()-1;++k){ + sql += QString("'%1',").arg(labels[k]); + } + sql += QString("'%1'),").arg(labels.back()); + } + sql = sql.left(sql.size()-1); // 鍘绘帀鏈�鍚庝竴涓�楀彿 + qDebug()<<"sql="<<sql; + QSqlQuery query; + if(query.exec(sql)) + { + qDebug()<<QString("insert rectify_result_info ok..."); + QMessageBox::information(this,"OK","娣诲姞鎴愬姛"); + }else{ + qDebug()<<QString("insert rectify_result_info fail...")<<query.lastError().text(); + QMessageBox::information(this,"娣诲姞澶辫触","鍙兘娣诲姞鐨勬暟鎹笉鍏ㄥ鑷寸殑锛屽緱纭姣忚鐨勯椤规湁鏁版嵁"); + } +} -- Gitblit v1.8.0