wumu
2024-03-04 31ed29f804a6850ef9a8f60326f4da603e7c8a39
0304
11个文件已修改
8个文件已添加
1048 ■■■■■ 已修改文件
internal_system_v1/clientmainwindow.cpp 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/clientmainwindow.h 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/clientmainwindow.ui 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/converinfo2.cpp 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/converinfo2.ui 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/coverinfo.cpp 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/internal_system_v1.pro 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/problemlist.cpp 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/problemlist.h 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/problemlist.ui 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/problemrectificationresult.cpp 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/problemrectificationresult.h 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/problemrectificationresult.ui 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/problemrectstandingbook.ui 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/searchinfo.cpp 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/searchinfo.h 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/tableitemdelegate.cpp 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/tableitemdelegate.h 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
审计系统.mmap 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/clientmainwindow.cpp
@@ -83,7 +83,12 @@
//    m_coverInfo->setParent(ui->tab);
    // éšè—æŽ‰æŸä¸ªé€‰é¡¹
    // æŒ‰ç´¢å¼•来,从大到小
    ui->tabWidget->removeTab(3); // OK
    ui->tabWidget->removeTab(1); // OK  è€ä¸šåŠ¡æƒ…å†µè¡¨
    ui->tabWidget->removeTab(0); // OK  è€å°é¢
    // é—®é¢˜æ•´æ”¹å°è´¦
    m_proRecStandingBook = new ProblemRectStandingBook(this);
@@ -103,7 +108,14 @@
    // æ–°ç‰ˆæœ¬
    m_conInfo2 = new ConverInfo2(this);
    ui->tabWidget->addTab(m_conInfo2,"基本信息");
    //ui->tabWidget->addTab(m_conInfo2,"基本信息");
    ui->tabWidget->insertTab(0,m_conInfo2,"封面信息");
    m_problemList = new ProblemList(this);
    ui->tabWidget->addTab(m_problemList,"问题清单");
    m_problemRectifResult = new ProblemRectificationResult(this);
    ui->tabWidget->addTab(m_problemRectifResult,"整改成果");
}
@@ -447,3 +459,10 @@
    qDebug()<<__FUNCTION__<<row<<column;
    calc();
}
void ClientMainWindow::on_pushButton_save_clicked()
{
    // ä¿å­˜æ•°æ®ï¼Œç»“构比较特殊,需要多行多列同时写入
    // å¾—考虑分段单表处理方可
    // èŽ·å–å†™åˆ°æ–‡ä»¶é‡Œé¢ï¼Œæ¯ä¸ªå•ä½ä¸€ä¸ªæ–‡ä»¶
}
internal_system_v1/clientmainwindow.h
@@ -17,6 +17,8 @@
#include "converinfo2.h"
#include "xlsxdocument.h"
#include "problemlist.h"
#include "problemrectificationresult.h"
namespace Ui {
class ClientMainWindow;
@@ -73,6 +75,8 @@
    void on_tableWidget_cellClicked(int row, int column);
    void on_pushButton_save_clicked();
signals:
    void sendDataToAuditProject(QVariantList);
    void sendDataToAuditWorkLoad(QVariantList);
@@ -100,6 +104,8 @@
    // æ–°ç‰ˆæœ¬
    ConverInfo2* m_conInfo2;
    ProblemList *m_problemList;
    ProblemRectificationResult *m_problemRectifResult;
};
internal_system_v1/clientmainwindow.ui
@@ -11,10 +11,10 @@
   </rect>
  </property>
  <property name="windowTitle">
   <string>IS v1.1</string>
   <string>IS v2.0</string>
  </property>
  <widget class="QWidget" name="centralWidget">
   <layout class="QGridLayout" name="gridLayout">
   <layout class="QGridLayout" name="gridLayout_3">
    <item row="0" column="0">
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
@@ -205,9 +205,16 @@
      </widget>
      <widget class="QWidget" name="tab_4">
       <attribute name="title">
        <string>统计综合表</string>
        <string>综合录入</string>
       </attribute>
       <layout class="QGridLayout" name="gridLayout_3">
       <layout class="QGridLayout" name="gridLayout">
        <item row="0" column="0">
         <widget class="QComboBox" name="comboBox_company">
          <property name="editable">
           <bool>true</bool>
          </property>
         </widget>
        </item>
        <item row="1" column="0">
         <widget class="QTableWidget" name="tableWidget">
          <attribute name="verticalHeaderVisible">
@@ -4110,8 +4117,36 @@
          </item>
         </widget>
        </item>
        <item row="0" column="0">
         <widget class="QComboBox" name="comboBox_company"/>
        <item row="2" column="0">
         <layout class="QHBoxLayout" name="horizontalLayout_2">
          <item>
           <spacer name="horizontalSpacer">
            <property name="orientation">
             <enum>Qt::Horizontal</enum>
            </property>
            <property name="sizeHint" stdset="0">
             <size>
              <width>40</width>
              <height>20</height>
             </size>
            </property>
           </spacer>
          </item>
          <item>
           <widget class="QLabel" name="label_2">
            <property name="text">
             <string>汇总修改完成点击按钮--&gt;</string>
            </property>
           </widget>
          </item>
          <item>
           <widget class="QPushButton" name="pushButton_save">
            <property name="text">
             <string>汇总录入</string>
            </property>
           </widget>
          </item>
         </layout>
        </item>
       </layout>
      </widget>
internal_system_v1/converinfo2.cpp
@@ -241,16 +241,16 @@
                QVariant  val = usedRange->dynamicCall("Value"); // æ‹¿åˆ°äºŒç»´è¡¨æ ¼
                QVariantList valRows = val.toList();
                // éåŽ†æ¯ä¸€é¡¹
                for(int i=0;i<rows;++i){
                    QVariantList valrow = valRows[i].toList();
                    for(int j=0;j<columns;++j){
                        QVariant valData = valrow[j];
                        if(valData.isValid()){
                            qDebug()<<"val:"<< i<< j << valData;
                        }
//                for(int i=0;i<rows;++i){
//                    QVariantList valrow = valRows[i].toList();
//                    for(int j=0;j<columns;++j){
//                        QVariant valData = valrow[j];
//                        if(valData.isValid()){
//                            qDebug()<<"val:"<< i<< j << valData;
//                        }
                    }
                }
//                    }
//                }
                // å®žä¾‹åŒ–结构体,然后挨个赋值
                ComInfo curComInfo;
internal_system_v1/converinfo2.ui
@@ -38,10 +38,10 @@
      <widget class="QWidget" name="scrollAreaWidgetContents">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>-1097</y>
         <width>1000</width>
         <height>3000</height>
         <x>-115</x>
         <y>-637</y>
         <width>1100</width>
         <height>1600</height>
        </rect>
       </property>
       <widget class="QLabel" name="label_webSite">
@@ -557,22 +557,6 @@
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
       <widget class="QPushButton" name="pushButton_importExcel">
        <property name="geometry">
         <rect>
          <x>660</x>
          <y>90</y>
          <width>291</width>
          <height>28</height>
         </rect>
        </property>
        <property name="styleSheet">
         <string notr="true">background-color: rgb(0, 170, 255);</string>
        </property>
        <property name="text">
         <string>手动导入</string>
        </property>
       </widget>
       <widget class="QLabel" name="label_22">
        <property name="geometry">
         <rect>
@@ -686,21 +670,6 @@
        <property name="alignment">
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
       <widget class="QComboBox" name="comboBox">
        <property name="geometry">
         <rect>
          <x>660</x>
          <y>60</y>
          <width>291</width>
          <height>22</height>
         </rect>
        </property>
        <item>
         <property name="text">
          <string>公司名称</string>
         </property>
        </item>
       </widget>
       <widget class="QLabel" name="label_3">
        <property name="geometry">
@@ -973,7 +942,7 @@
         <rect>
          <x>250</x>
          <y>50</y>
          <width>391</width>
          <width>581</width>
          <height>41</height>
         </rect>
        </property>
@@ -983,7 +952,7 @@
         <rect>
          <x>250</x>
          <y>90</y>
          <width>391</width>
          <width>581</width>
          <height>41</height>
         </rect>
        </property>
@@ -3522,14 +3491,12 @@
       <zorder>label_31</zorder>
       <zorder>label</zorder>
       <zorder>label_people</zorder>
       <zorder>pushButton_importExcel</zorder>
       <zorder>label_22</zorder>
       <zorder>label_name</zorder>
       <zorder>label_29</zorder>
       <zorder>label_creditCode</zorder>
       <zorder>label_18</zorder>
       <zorder>label_25</zorder>
       <zorder>comboBox</zorder>
       <zorder>label_3</zorder>
       <zorder>label_15</zorder>
       <zorder>label_8</zorder>
internal_system_v1/coverinfo.cpp
@@ -17,8 +17,8 @@
    ui->setupUi(this);
    CoInitializeEx(NULL, COINIT_MULTITHREADED); // å…ˆå°†COM库初始化
    readInfo();
    readDataFromSQL(); // ä»Žæ•°æ®åº“读取数据
    //readInfo();
    //readDataFromSQL(); // ä»Žæ•°æ®åº“读取数据
}
internal_system_v1/internal_system_v1.pro
@@ -37,7 +37,10 @@
    coverinfo.cpp \
    searchinfo.cpp \
    problemrectstandingbook.cpp \
    converinfo2.cpp
    converinfo2.cpp \
    problemlist.cpp \
    problemrectificationresult.cpp \
    tableitemdelegate.cpp
HEADERS += \
        clientmainwindow.h \
@@ -53,7 +56,10 @@
    searchinfo.h \
    problemrectstandingbook.h \
    converinfo2.h \
    struct_data.h
    struct_data.h \
    problemlist.h \
    problemrectificationresult.h \
    tableitemdelegate.h
FORMS += \
        clientmainwindow.ui \
@@ -68,7 +74,9 @@
    coverinfo.ui \
    searchinfo.ui \
    problemrectstandingbook.ui \
    converinfo2.ui
    converinfo2.ui \
    problemlist.ui \
    problemrectificationresult.ui
include(QXlsx/QXlsx.pri)
internal_system_v1/problemlist.cpp
New file
@@ -0,0 +1,201 @@
#include "problemlist.h"
#include "ui_problemlist.h"
#include <QDebug>
#include <QSqlQuery>
#include <QSqlError>
#include <QMessageBox>
ProblemList::ProblemList(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::ProblemList)
{
    ui->setupUi(this);
    initUi();
}
ProblemList::~ProblemList()
{
    delete ui;
}
void ProblemList::initUi()
{
    ui->tableWidget->setItem(0,0,new QTableWidgetItem("问题清单"));
    ui->tableWidget->setSpan(0,0,3,2);
    ui->tableWidget->item(0,0)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(0,2,new QTableWidgetItem("整改检查结果及对账销号清单"));
    ui->tableWidget->setSpan(0,2,1,12);
    ui->tableWidget->item(0,2)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(1,2,new QTableWidgetItem("整改检查结果"));
    ui->tableWidget->setSpan(1,2,2,2);
    ui->tableWidget->item(1,2)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(1,4,new QTableWidgetItem("整改类型"));
    ui->tableWidget->setSpan(1,4,1,8);
    ui->tableWidget->item(1,4)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(2,4,new QTableWidgetItem("已整改"));
    ui->tableWidget->setSpan(2,4,1,3);
    ui->tableWidget->item(2,4)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(2,7,new QTableWidgetItem("正在整改"));
    ui->tableWidget->setSpan(2,7,1,2);
    ui->tableWidget->item(2,7)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(2,9,new QTableWidgetItem("尚未整改"));
    ui->tableWidget->setSpan(2,9,1,3);
    ui->tableWidget->item(2,9)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(1,12,new QTableWidgetItem("是否销号"));
    ui->tableWidget->setSpan(1,12,3,1);
    ui->tableWidget->item(1,12)->setTextAlignment(Qt::AlignCenter);
    ui->tableWidget->setItem(1,13,new QTableWidgetItem("销号时间"));
    ui->tableWidget->setSpan(1,13,3,1);
    ui->tableWidget->item(1,13)->setTextAlignment(Qt::AlignCenter);
    // ä¸‹çº§åˆ—标题 12个
    ui->tableWidget->setItem(3,0,new QTableWidgetItem("序号"));
    ui->tableWidget->setItem(3,1,new QTableWidgetItem("摘要"));
    ui->tableWidget->setItem(3,2,new QTableWidgetItem("检查时间"));
    ui->tableWidget->setItem(3,3,new QTableWidgetItem("检查方式"));
    ui->tableWidget->setItem(3,4,new QTableWidgetItem("纠正问题"));
    ui->tableWidget->setItem(3,5,new QTableWidgetItem("完善制度"));
    ui->tableWidget->setItem(3,6,new QTableWidgetItem("完成时间"));
    ui->tableWidget->setItem(3,7,new QTableWidgetItem("主要原因"));
    ui->tableWidget->setItem(3,8,new QTableWidgetItem("完成时限"));
    ui->tableWidget->setItem(3,9,new QTableWidgetItem("主要原因"));
    ui->tableWidget->setItem(3,10,new QTableWidgetItem("责任部门或责任人"));
    ui->tableWidget->setItem(3,11,new QTableWidgetItem("完成时限"));
    // ç¦æ­¢ç¼–辑
    for(int i=0;i<4;++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 ProblemList::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 ProblemList::showMenuSlot(QPoint){
    m_menu->exec(QCursor::pos());
}
void ProblemList::deleteAction(){
    int row = ui->tableWidget->currentRow();
    if(row>=4){
        qDebug()<<"ok";
        ui->tableWidget->removeRow(row);
    }else{
        qDebug()<<"fail";
    }
}
void ProblemList::on_pushButton_addRow_clicked()
{
    ui->tableWidget->insertRow(ui->tableWidget->rowCount());
}
void ProblemList::on_pushButton_save_clicked()
{
    QString sql = QString("insert into problem_list_info (name,序号,摘要,检查时间,检查方式,纠正问题,完善制度\
,完成时间,主要原因,完成时限,主要原因1,责任部门或责任人,完成时限1,是否销号,销号时间) values ");
    QString name = ui->comboBox_company->currentText();
    for(int i=4;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());
    }
    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 ProblemList::on_comboBox_company_currentIndexChanged(const QString &arg1)
{
    // è¦æ¸…除上一家公司的数据
    ui->tableWidget->setRowCount(4);
    ui->tableWidget->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->setItem(row+4,i,new QTableWidgetItem(query.value(2+i).toString()));
            }
            row++;
            ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1); // å¢žåŠ ä¸€ä¸ªæ–°çš„è¡Œ
        }
        qDebug()<<"row:"<<row;
    }else{
        qDebug()<<QString("select problem_list_info fail...")<<query.lastError().text();
    }
}
internal_system_v1/problemlist.h
New file
@@ -0,0 +1,38 @@
#ifndef PROBLEMLIST_H
#define PROBLEMLIST_H
#include <QMainWindow>
#include "tableitemdelegate.h"
#include <QMenu>
#include <QAction>
namespace Ui {
class ProblemList;
}
class ProblemList : public QMainWindow
{
    Q_OBJECT
public:
    explicit ProblemList(QWidget *parent = 0);
    ~ProblemList();
    void initUi();
    void readCompanyFromSQL();
private slots:
    void on_pushButton_addRow_clicked();
    void on_pushButton_save_clicked();
    void showMenuSlot(QPoint);
    void deleteAction();
    void on_comboBox_company_currentIndexChanged(const QString &arg1);
private:
    Ui::ProblemList *ui;
    QMenu *m_menu;
};
#endif // PROBLEMLIST_H
internal_system_v1/problemlist.ui
New file
@@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>ProblemList</class>
 <widget class="QMainWindow" name="ProblemList">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>1031</width>
    <height>609</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
     <widget class="QComboBox" name="comboBox_company">
      <property name="editable">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item row="1" column="0">
     <widget class="QTableWidget" name="tableWidget">
      <attribute name="horizontalHeaderVisible">
       <bool>false</bool>
      </attribute>
      <attribute name="verticalHeaderVisible">
       <bool>false</bool>
      </attribute>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
     </widget>
    </item>
    <item row="2" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
       <widget class="QPushButton" name="pushButton_addRow">
        <property name="text">
         <string>增加一行</string>
        </property>
       </widget>
      </item>
      <item>
       <spacer name="horizontalSpacer">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
          <width>40</width>
          <height>20</height>
         </size>
        </property>
       </spacer>
      </item>
      <item>
       <widget class="QPushButton" name="pushButton_save">
        <property name="text">
         <string>保存</string>
        </property>
       </widget>
      </item>
     </layout>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>1031</width>
     <height>26</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>
internal_system_v1/problemrectificationresult.cpp
New file
@@ -0,0 +1,177 @@
#include "problemrectificationresult.h"
#include "ui_problemrectificationresult.h"
#include <QMessageBox>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
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());
    }
    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();
    }
}
internal_system_v1/problemrectificationresult.h
New file
@@ -0,0 +1,38 @@
#ifndef PROBLEMRECTIFICATIONRESULT_H
#define PROBLEMRECTIFICATIONRESULT_H
#include <QMainWindow>
#include "tableitemdelegate.h"
#include <QMenu>
#include <QAction>
namespace Ui {
class ProblemRectificationResult;
}
class ProblemRectificationResult : public QMainWindow
{
    Q_OBJECT
public:
    explicit ProblemRectificationResult(QWidget *parent = 0);
    ~ProblemRectificationResult();
    void initUi();
    void readCompanyFromSQL();
private slots:
    void on_pushButton_addRow_clicked();
    void on_pushButton_save_clicked();
    void showMenuSlot(QPoint);
    void deleteAction();
    void on_comboBox_company_currentIndexChanged(const QString &arg1);
private:
    Ui::ProblemRectificationResult *ui;
    QMenu *m_menu;
};
#endif // PROBLEMRECTIFICATIONRESULT_H
internal_system_v1/problemrectificationresult.ui
New file
@@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>ProblemRectificationResult</class>
 <widget class="QMainWindow" name="ProblemRectificationResult">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>1076</width>
    <height>639</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
     <widget class="QComboBox" name="comboBox_company">
      <property name="editable">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item row="1" column="0">
     <widget class="QTableWidget" name="tableWidget">
      <attribute name="horizontalHeaderVisible">
       <bool>false</bool>
      </attribute>
      <attribute name="verticalHeaderVisible">
       <bool>false</bool>
      </attribute>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <row>
       <property name="text">
        <string>新建行</string>
       </property>
      </row>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
      <column>
       <property name="text">
        <string>新建列</string>
       </property>
      </column>
     </widget>
    </item>
    <item row="2" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
       <widget class="QPushButton" name="pushButton_addRow">
        <property name="text">
         <string>增加一行</string>
        </property>
       </widget>
      </item>
      <item>
       <spacer name="horizontalSpacer">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
          <width>40</width>
          <height>20</height>
         </size>
        </property>
       </spacer>
      </item>
      <item>
       <widget class="QPushButton" name="pushButton_save">
        <property name="text">
         <string>保存</string>
        </property>
       </widget>
      </item>
     </layout>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>1076</width>
     <height>26</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>
internal_system_v1/problemrectstandingbook.ui
@@ -16,7 +16,11 @@
  <widget class="QWidget" name="centralwidget">
   <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0" colspan="2">
     <widget class="QComboBox" name="comboBox_company"/>
     <widget class="QComboBox" name="comboBox_company">
      <property name="editable">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item row="1" column="0">
     <widget class="QTextEdit" name="textEdit">
internal_system_v1/searchinfo.cpp
@@ -140,6 +140,65 @@
    // å•位的所有信息表  åˆ›å»º
    createTableAllComInfo("all_company_info");
    // æ•´æ”¹ç»“果信息表 åˆ›å»º
    createTableRectifyResultInfo("rectify_result_info");
    // é—®é¢˜æ¸…单信息表 åˆ›å»º
    createTableProblemListInfo("problem_list_info");
}
// æ•´æ”¹ç»“果信息表
void SearchInfo::createTableRectifyResultInfo(QString tableName){
    QString sql = QString("CREATE TABLE %1 (\
            id       INTEGER      PRIMARY KEY AUTOINCREMENT,\
            name     VARCHAR (30),\
            ä¿®è®¢åˆ¶åº¦     TEXT,\
            æ–°å¢žåˆ¶åº¦     TEXT,\
            æŒ½å›žæŸå¤±     TEXT,\
            å‰”除     TEXT,\
            å®¡å‡     TEXT,\
            å¤„理人     TEXT,\
            å®£è´¯åŸ¹è®­     TEXT,\
            å…¶ä»–     TEXT,\
            å®¡æ ¸ç»“æžœ     TEXT,\
            æ³¨é”€     TEXT)").arg(tableName);
    QSqlQuery query;
    if(query.exec(sql))
    {
      qDebug()<<QString("create %1 ok...").arg(tableName);
    }else{
      qDebug()<<QString("create %1 fail...").arg(tableName)<<query.lastError().text();
    }
}
// é—®é¢˜æ¸…单信息表
void SearchInfo::createTableProblemListInfo(QString tableName){
    QString sql = QString("CREATE TABLE %1 (\
            id       INTEGER      PRIMARY KEY AUTOINCREMENT,\
            name     VARCHAR (30),\
            åºå·     TEXT,\
            æ‘˜è¦     TEXT,\
            æ£€æŸ¥æ—¶é—´     TEXT,\
            æ£€æŸ¥æ–¹å¼     TEXT,\
            çº æ­£é—®é¢˜     TEXT,\
            å®Œå–„制度     TEXT,\
            å®Œæˆæ—¶é—´     TEXT,\
            ä¸»è¦åŽŸå›      TEXT,\
            å®Œæˆæ—¶é™     TEXT,\
            ä¸»è¦åŽŸå› 1     TEXT,\
            è´£ä»»éƒ¨é—¨æˆ–责任人     TEXT,\
            å®Œæˆæ—¶é™1     TEXT,\
            æ˜¯å¦é”€å·     TEXT,\
            é”€å·æ—¶é—´     TEXT)").arg(tableName);
    QSqlQuery query;
    if(query.exec(sql))
    {
      qDebug()<<QString("create %1 ok...").arg(tableName);
    }else{
      qDebug()<<QString("create %1 fail...").arg(tableName)<<query.lastError().text();
    }
}
internal_system_v1/searchinfo.h
@@ -26,7 +26,9 @@
    QVector<QVector<QString>> getResult(QString &sql,int colCnt);
    void setLabels();
    void createTableAllComInfo(QString tableName);
    void createTableAllComInfo(QString tableName); // å•位信息表全
    void createTableRectifyResultInfo(QString tableName); // æ•´æ”¹ç»“果信息表
    void createTableProblemListInfo(QString tableName);  // é—®é¢˜æ¸…单列表信息表
private slots:
    void on_pushButton_search_clicked();
internal_system_v1/tableitemdelegate.cpp
New file
@@ -0,0 +1,11 @@
#include "tableitemdelegate.h"
TableItemDelegate::TableItemDelegate()
{
}
QWidget *TableItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
    return nullptr;
}
internal_system_v1/tableitemdelegate.h
New file
@@ -0,0 +1,15 @@
#ifndef TABLEITEMDELEGATE_H
#define TABLEITEMDELEGATE_H
#include <QStyledItemDelegate>
class TableItemDelegate : public QStyledItemDelegate
{
public:
    TableItemDelegate();
    QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
#endif // TABLEITEMDELEGATE_H
Éó¼ÆÏµÍ³.mmap
Binary files differ