diff --git a/bin/xyylMCWEACSystem.exe b/bin/xyylMCWEACSystem.exe index 51c1a80..18657d8 100644 Binary files a/bin/xyylMCWEACSystem.exe and b/bin/xyylMCWEACSystem.exe differ diff --git a/xyylMCWEACSystem/datamanager.cpp b/xyylMCWEACSystem/datamanager.cpp index 403e879..b57f6c8 100644 --- a/xyylMCWEACSystem/datamanager.cpp +++ b/xyylMCWEACSystem/datamanager.cpp @@ -2,7 +2,7 @@ #include #include #include -DataManager::DataManager(QObject * parent ) +DataManager::DataManager(QObject * parent ):QObject(parent) { init(); }; @@ -110,7 +110,7 @@ bool DataManager::updateHospitalInfo(QString sHostpitalName, SqlGenerate sqlGener; QString sql = sqlGener.insertData("t_Hostpital",map); qDebug()<next()) + { + + + + MedicRecord info; + info.m_CheckNum= query->value(0).toString(); + info.m_Type = query->value(1).toString(); + info.m_Name = query->value(2).toString(); + info.m_Sex = query->value(3).toString(); + info.m_Birthday = query->value(4).toString(); + info.m_Year = query->value(5).toString(); + info.m_Laterality = query->value(6).toString(); + info.m_Other = query->value(7).toString(); + + filesInfo.append(info); + ++ret; + } + if (ret > 0) + { + ++curPage; + } + + query->finish(); + query->clear(); + + return ret; +} diff --git a/xyylMCWEACSystem/datamanager.h b/xyylMCWEACSystem/datamanager.h index b3180a3..2ebc16a 100644 --- a/xyylMCWEACSystem/datamanager.h +++ b/xyylMCWEACSystem/datamanager.h @@ -4,6 +4,17 @@ #include #include "SqlCore.h" #include "SqlGenerate.h" +struct MedicRecord +{ + QString m_CheckNum ; + QString m_Type ; + QString m_Name ; + QString m_Sex; + QString m_Birthday; + QString m_Year; + QString m_Laterality; + QString m_Other; +}; class DataManager:public QObject { Q_OBJECT @@ -23,13 +34,17 @@ public: bool updateMedicRecord( QString CheckNum , QString Type , - QString _Name , + QString Name , QString Sex, QString _Birthday, QString Year, QString Laterality, QString Other); - + int getMedicRecordCount(QString sName); + uint getMedicRecordList(const QString& fileName, + QList& filesInfo, + int& curPage, + int perPageCnt); private: void init(); void initTable(); diff --git a/xyylMCWEACSystem/hospitalinfo.cpp b/xyylMCWEACSystem/hospitalinfo.cpp index ef6369f..3891ca7 100644 --- a/xyylMCWEACSystem/hospitalinfo.cpp +++ b/xyylMCWEACSystem/hospitalinfo.cpp @@ -380,28 +380,34 @@ void HospitalInfo::slotSave() //医院名称 - QString sName = m_editHospitalName.text(); + QString sHostpitalName = m_editHospitalName.text(); //科室 QString sSection = m_editSection.text(); //用户人数 - QString sNum = m_editUserNum.text(); + QString UserNum = m_editUserNum.text(); //数据名称 - QString sDataNAme = m_editDataBaseName.text(); + QString DataName = m_editDataBaseName.text(); //用户名称 - QString sUserName = m_editUser.text(); + QString UserName = m_editUser.text(); //用户密码 - QString sUserPasswd = m_editPasswd.text(); + QString UserPasswd = m_editPasswd.text(); //确认密码 - QString sRePasswwd = m_editRePasswd.text(); + QString RePasswd = m_editRePasswd.text(); + + DataManager::instance().updateHospitalInfo( sHostpitalName, + UserName, + sSection, + UserPasswd, + UserNum, + RePasswd, + DataName); - DataManager::instance().updateHospitalInfo( - ); } void HospitalInfo::slotCancel() { diff --git a/xyylMCWEACSystem/medicalrecordmanager.cpp b/xyylMCWEACSystem/medicalrecordmanager.cpp index cae7088..60fd076 100644 --- a/xyylMCWEACSystem/medicalrecordmanager.cpp +++ b/xyylMCWEACSystem/medicalrecordmanager.cpp @@ -174,6 +174,9 @@ MedicalRecordManager::~MedicalRecordManager() } void MedicalRecordManager::init() { + //当前页 + m_currentPage = 0 ; + m_labMedRecManager.setText("病例管理"); //QAction m_actSearch = new QAction; @@ -348,3 +351,109 @@ void MedicalRecordManager::initTable() m_tableWidget.setHorizontalHeaderLabels(lstHHead);//setWordWrap(true) //m_tableWidget.show(); } +void MedicalRecordManager::slotPreviousPage() +{ + +} +void MedicalRecordManager::slotNextPage() +{ + +} + +void MedicalRecordManager::updateContext() +{ + QString fileName = m_editSearch.text(); + fileName = fileName.simplified(); + QList lstInfo; + int rowCounts = DataManager::instance().getMedicRecordCount(fileName); + //logInfo() << fileName << rowCounts << endl; + double page = (double)rowCounts / (double)100; + if (page > (int)page) + { + page = page + 1; + } + else if (page == 0) + { + page = 1; + } + if (m_currentPage == (int)page) + { + return; + } + + DataManager::instance().getMedicRecordList(fileName, lstInfo, m_currentPage, m_tableWidget.rowCount()); + m_tableWidget.horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); + m_tableWidget.verticalHeader()->setSectionResizeMode(QHeaderView::Fixed); + QString::number((int)page);//设置一共有多少页 + int row = 0; + for (; row < lstInfo.size(); row++) + { + int col=0; + QTableWidgetItem *item_id = m_tableWidget.item(row, col++); + QTableWidgetItem *item_m_CheckNum = m_tableWidget.item(row, col++); + QTableWidgetItem *item_type = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Name = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Sex = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Age = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Laterality = m_tableWidget.item(row, col++); + QTableWidgetItem *item_other = m_tableWidget.item(row, col++); + item_id->setCheckState(Qt::Unchecked); + item_id->setFlags(Qt::ItemIsEditable| Qt::ItemIsSelectable| Qt::ItemIsUserCheckable| Qt::ItemIsEnabled| Qt::ItemIsDragEnabled| Qt::ItemIsDropEnabled); + int id_page = 0; + if (m_currentPage == 0) + { + id_page = 1; + } + else + { + id_page = m_currentPage; + } + item_id->setData(Qt::DisplayRole, row + 1 + (id_page - 1) * 100); + //设置数据 + + } + + if (row < m_tableWidget.rowCount()) + { + for (int i = row; i < m_tableWidget.rowCount(); i++) + { + int col=0; + QTableWidgetItem *item_id = m_tableWidget.item(row, col++); + QTableWidgetItem *item_m_CheckNum = m_tableWidget.item(row, col++); + QTableWidgetItem *item_type = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Name = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Sex = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Age = m_tableWidget.item(row, col++); + QTableWidgetItem *item_Laterality = m_tableWidget.item(row, col++); + QTableWidgetItem *item_other = m_tableWidget.item(row, col++); + item_id->setData(Qt::CheckStateRole, QVariant()); + item_id->setData(Qt::DisplayRole, ""); + //item_id->setFlags(Qt::NoItemFlags); + item_m_CheckNum->setData(Qt::DisplayRole, ""); + item_type->setData(Qt::UserRole, ""); + item_Name->setData(Qt::DisplayRole, ""); + item_Sex->setData(Qt::DisplayRole, ""); + item_Age->setData(Qt::DisplayRole, ""); + item_Age->setData(Qt::DisplayRole, ""); + item_Laterality->setData(Qt::DisplayRole, ""); + item_other->setData(Qt::DisplayRole, ""); + + } + } + if (m_currentPage == 0) + { + //m_labCurentPage.setText(QString::number(1)); + } + else + { + //m_labCurentPage.setText(QString::number(m_currentPage)); + } + m_tableWidget.horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//单独使用--每一列宽度平均//Qt::4 //horizontalHeader()->setResizeMode(QHeaderView::Stretch); + m_tableWidget.horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(4, QHeaderView::ResizeToContents); + m_tableWidget.verticalHeader()->scrollToTop(); + m_tableWidget.scrollToTop(); + +} diff --git a/xyylMCWEACSystem/medicalrecordmanager.h b/xyylMCWEACSystem/medicalrecordmanager.h index 72f287d..6e6ac8f 100644 --- a/xyylMCWEACSystem/medicalrecordmanager.h +++ b/xyylMCWEACSystem/medicalrecordmanager.h @@ -14,9 +14,10 @@ #include #include #include - #include #include +#include "datamanager.h" + class MedicalRecordManager:public QWidget { Q_OBJECT @@ -33,6 +34,15 @@ private slots: des: 搜索 */ void slotSearch(); + + + //页面跳转 + + void slotPreviousPage();//上一页update + void slotNextPage(); //下一页 + void updateContext(); +private: + int m_currentPage; private: QLabel m_labMedRecManager; QAction * m_actSearch;