#include "problemrectificationresult.h" #include "ui_problemrectificationresult.h" #include <QMessageBox> #include <QSqlQuery> #include <QSqlError> #include <QDebug> #pragma execution_character_set("utf-8") ProblemRectificationResult::ProblemRectificationResult(QWidget *parent) : QMainWindow(parent), ui(new Ui::ProblemRectificationResult) { ui->setupUi(this); initUi(); } ProblemRectificationResult::~ProblemRectificationResult() { delete ui; } void ProblemRectificationResult::initUi() { ui->tableWidget->setSpan(0,0,1,5); ui->tableWidget->setItem(0,0,new QTableWidgetItem("æ•´æ”¹æˆæžœ")); ui->tableWidget->item(0,0)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setSpan(1,0,1,2); ui->tableWidget->setItem(1,0,new QTableWidgetItem("制度建设")); ui->tableWidget->item(1,0)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setSpan(1,2,1,3); ui->tableWidget->setItem(1,2,new QTableWidgetItem("资金收回")); ui->tableWidget->item(1,2)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setSpan(0,5,3,1); ui->tableWidget->setItem(0,5,new QTableWidgetItem("处ç†äºº")); ui->tableWidget->setSpan(0,6,3,1); ui->tableWidget->setItem(0,6,new QTableWidgetItem("宣贯培è®")); ui->tableWidget->setSpan(0,7,3,1); ui->tableWidget->setItem(0,7,new QTableWidgetItem("å…¶ä»–")); ui->tableWidget->setSpan(0,8,3,1); ui->tableWidget->setItem(0,8,new QTableWidgetItem("å®¡æ ¸ç»“æžœ")); ui->tableWidget->setSpan(0,9,3,1); ui->tableWidget->setItem(0,9,new QTableWidgetItem("注销")); // ä¸‹çº§æ ‡é¢˜ ui->tableWidget->setItem(2,0,new QTableWidgetItem("修订制度")); ui->tableWidget->setItem(2,1,new QTableWidgetItem("新增制度")); ui->tableWidget->setItem(2,2,new QTableWidgetItem("挽回æŸå¤±")); ui->tableWidget->setItem(2,3,new QTableWidgetItem("剔除")); ui->tableWidget->setItem(2,4,new QTableWidgetItem("审å‡")); // ç¦æ¢ç¼–辑 for(int i=0;i<3;++i){ ui->tableWidget->setItemDelegateForRow(i,new TableItemDelegate()); } // å³é”®èœå• m_menu = new QMenu(this); m_menu->addAction("åˆ é™¤å½“å‰è¡Œ"); ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenuSlot(QPoint))); connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteAction())); // åŠ è½½ä¸‹æ‹‰æ¡†çš„å…¬å¸å readCompanyFromSQL(); } void ProblemRectificationResult::readCompanyFromSQL() { ui->comboBox_company->clear(); QString sql = "select DISTINCT name from all_company_info"; QSqlQuery query; if(query.exec(sql)){ qDebug()<<QString("select DISTINCT all_company_info ok"); while(query.next()){ // æ·»åŠ å…¬å¸å QString name = query.value(0).toString(); ui->comboBox_company->addItem(name); } }else{ qDebug()<<QString("select all_company_info fail...")<<query.lastError().text(); } } void ProblemRectificationResult::showMenuSlot(QPoint){ m_menu->exec(QCursor::pos()); } void ProblemRectificationResult::deleteAction(){ int row = ui->tableWidget->currentRow(); if(row>=3){ qDebug()<<"ok"; ui->tableWidget->removeRow(row); }else{ qDebug()<<"fail"; } } void ProblemRectificationResult::on_pushButton_addRow_clicked() { ui->tableWidget->insertRow(ui->tableWidget->rowCount()); } void ProblemRectificationResult::on_pushButton_save_clicked() { QString sql = QString("insert into rectify_result_info (name,修订制度,新增制度,挽回æŸå¤±,剔除,审å‡,处ç†äºº,宣贯培è®,å…¶ä»–,å®¡æ ¸ç»“æžœ,注销) values "); QString name = ui->comboBox_company->currentText(); for(int i=3;i<ui->tableWidget->rowCount();++i){ QStringList labels; for(int j=0;j<ui->tableWidget->columnCount();++j){ QTableWidgetItem *item = ui->tableWidget->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,"æ·»åŠ å¤±è´¥","å¯èƒ½æ·»åŠ çš„æ•°æ®ä¸å…¨å¯¼è‡´çš„,得确认æ¯è¡Œçš„首项有数æ®"); } } void ProblemRectificationResult::on_comboBox_company_currentIndexChanged(const QString &arg1) { // è¦æ¸…除上一家公å¸çš„æ•°æ® ui->tableWidget->setRowCount(3); ui->tableWidget->setRowCount(6); // åŠ è½½è¡¨æ ¼ä¿¡æ¯ qDebug()<<"current :"<<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->setItem(row+3,i,new QTableWidgetItem(query.value(2+i).toString())); } row++; ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1); // å¢žåŠ ä¸€ä¸ªæ–°çš„è¡Œ } qDebug()<<"row:"<<row; }else{ qDebug()<<QString("select rectify_result_info fail...")<<query.lastError().text(); } }