diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/images/tipsFailure.png b/images/tipsFailure.png new file mode 100644 index 0000000..964ba46 --- /dev/null +++ b/images/tipsFailure.png Binary files differ diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/images/tipsFailure.png b/images/tipsFailure.png new file mode 100644 index 0000000..964ba46 --- /dev/null +++ b/images/tipsFailure.png Binary files differ diff --git a/images/tipsSuccess.png b/images/tipsSuccess.png new file mode 100644 index 0000000..423a729 --- /dev/null +++ b/images/tipsSuccess.png Binary files differ diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/images/tipsFailure.png b/images/tipsFailure.png new file mode 100644 index 0000000..964ba46 --- /dev/null +++ b/images/tipsFailure.png Binary files differ diff --git a/images/tipsSuccess.png b/images/tipsSuccess.png new file mode 100644 index 0000000..423a729 --- /dev/null +++ b/images/tipsSuccess.png Binary files differ diff --git a/qss/dialogTips.css b/qss/dialogTips.css new file mode 100644 index 0000000..9c9b4d6 --- /dev/null +++ b/qss/dialogTips.css @@ -0,0 +1,20 @@ +QLabel { + color: #6868A6; + font-family: "Microsoft YaHei"; +} + +QLabel#labDate { + font-size: 36px; +} + +QLabel#labTime { + font-size: 100px; +} + +QToolButton { + color: #6868A6; + font-family: "Microsoft YaHei"; + font-size: 48px; + background: transparent; + border-style: none; +} diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/images/tipsFailure.png b/images/tipsFailure.png new file mode 100644 index 0000000..964ba46 --- /dev/null +++ b/images/tipsFailure.png Binary files differ diff --git a/images/tipsSuccess.png b/images/tipsSuccess.png new file mode 100644 index 0000000..423a729 --- /dev/null +++ b/images/tipsSuccess.png Binary files differ diff --git a/qss/dialogTips.css b/qss/dialogTips.css new file mode 100644 index 0000000..9c9b4d6 --- /dev/null +++ b/qss/dialogTips.css @@ -0,0 +1,20 @@ +QLabel { + color: #6868A6; + font-family: "Microsoft YaHei"; +} + +QLabel#labDate { + font-size: 36px; +} + +QLabel#labTime { + font-size: 100px; +} + +QToolButton { + color: #6868A6; + font-family: "Microsoft YaHei"; + font-size: 48px; + background: transparent; + border-style: none; +} diff --git a/resource.qrc b/resource.qrc index e4d7d8c..1d26f80 100644 --- a/resource.qrc +++ b/resource.qrc @@ -19,5 +19,8 @@ images/faceNotCap.png images/irisCaped.png images/irisNotCap.png + images/tipsFailure.png + images/tipsSuccess.png + images/tipsConfirm.png diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/images/tipsFailure.png b/images/tipsFailure.png new file mode 100644 index 0000000..964ba46 --- /dev/null +++ b/images/tipsFailure.png Binary files differ diff --git a/images/tipsSuccess.png b/images/tipsSuccess.png new file mode 100644 index 0000000..423a729 --- /dev/null +++ b/images/tipsSuccess.png Binary files differ diff --git a/qss/dialogTips.css b/qss/dialogTips.css new file mode 100644 index 0000000..9c9b4d6 --- /dev/null +++ b/qss/dialogTips.css @@ -0,0 +1,20 @@ +QLabel { + color: #6868A6; + font-family: "Microsoft YaHei"; +} + +QLabel#labDate { + font-size: 36px; +} + +QLabel#labTime { + font-size: 100px; +} + +QToolButton { + color: #6868A6; + font-family: "Microsoft YaHei"; + font-size: 48px; + background: transparent; + border-style: none; +} diff --git a/resource.qrc b/resource.qrc index e4d7d8c..1d26f80 100644 --- a/resource.qrc +++ b/resource.qrc @@ -19,5 +19,8 @@ images/faceNotCap.png images/irisCaped.png images/irisNotCap.png + images/tipsFailure.png + images/tipsSuccess.png + images/tipsConfirm.png diff --git a/utils/QDblClickLabel.cpp b/utils/QDblClickLabel.cpp new file mode 100644 index 0000000..d68899c --- /dev/null +++ b/utils/QDblClickLabel.cpp @@ -0,0 +1,16 @@ +#include "QDblClickLabel.h" + +QDblClickLabel::QDblClickLabel(QWidget *parent) : QLabel(parent) +{ + +} + +QDblClickLabel::~QDblClickLabel() +{ + +} + +void QDblClickLabel::mouseDoubleClickEvent(QMouseEvent *event) +{ + emit doubleClicked(); +} diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/images/tipsFailure.png b/images/tipsFailure.png new file mode 100644 index 0000000..964ba46 --- /dev/null +++ b/images/tipsFailure.png Binary files differ diff --git a/images/tipsSuccess.png b/images/tipsSuccess.png new file mode 100644 index 0000000..423a729 --- /dev/null +++ b/images/tipsSuccess.png Binary files differ diff --git a/qss/dialogTips.css b/qss/dialogTips.css new file mode 100644 index 0000000..9c9b4d6 --- /dev/null +++ b/qss/dialogTips.css @@ -0,0 +1,20 @@ +QLabel { + color: #6868A6; + font-family: "Microsoft YaHei"; +} + +QLabel#labDate { + font-size: 36px; +} + +QLabel#labTime { + font-size: 100px; +} + +QToolButton { + color: #6868A6; + font-family: "Microsoft YaHei"; + font-size: 48px; + background: transparent; + border-style: none; +} diff --git a/resource.qrc b/resource.qrc index e4d7d8c..1d26f80 100644 --- a/resource.qrc +++ b/resource.qrc @@ -19,5 +19,8 @@ images/faceNotCap.png images/irisCaped.png images/irisNotCap.png + images/tipsFailure.png + images/tipsSuccess.png + images/tipsConfirm.png diff --git a/utils/QDblClickLabel.cpp b/utils/QDblClickLabel.cpp new file mode 100644 index 0000000..d68899c --- /dev/null +++ b/utils/QDblClickLabel.cpp @@ -0,0 +1,16 @@ +#include "QDblClickLabel.h" + +QDblClickLabel::QDblClickLabel(QWidget *parent) : QLabel(parent) +{ + +} + +QDblClickLabel::~QDblClickLabel() +{ + +} + +void QDblClickLabel::mouseDoubleClickEvent(QMouseEvent *event) +{ + emit doubleClicked(); +} diff --git a/utils/QDblClickLabel.h b/utils/QDblClickLabel.h new file mode 100644 index 0000000..bd7c532 --- /dev/null +++ b/utils/QDblClickLabel.h @@ -0,0 +1,19 @@ +#ifndef QDBLCLICKLABEL_H +#define QDBLCLICKLABEL_H + +#include +#include + +class QDblClickLabel : public QLabel +{ + Q_OBJECT +public: + QDblClickLabel(QWidget * parent = 0); + ~QDblClickLabel(); + void mouseDoubleClickEvent(QMouseEvent * event); + +signals: + void doubleClicked(); +}; + +#endif // QDBLCLICKLABEL_H diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index a112bd7..7d9172b 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -17,6 +17,9 @@ } SelectDeptUtil::getInstance().initSelectDept(ui->selectDept, CacheManager::getInstance().getDeptCachePtr()); + + // 绑定图像双击槽函数 + connect(ui->labPhotoFace, &QDblClickLabel::doubleClicked, this, &AddPersonForm::on_btnHome_clicked); } AddPersonForm::~AddPersonForm() @@ -170,7 +173,13 @@ gender = "2"; } perToEdit.insert("gender", gender); - personDao.edit(perToEdit, personId); + bool succ = personDao.edit(perToEdit, personId); + + // 弹出提示框 + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); } else { // 人员注册 QVariantMap perToRegist; @@ -189,7 +198,21 @@ perToRegist.insert("gender", gender); QString perIdReg = personDao.save(perToRegist); - emit switchToUserListForm(); + // 注册人脸信息 + + // 注册虹膜信息 + + // 弹出提示框 + bool succ = perIdReg == "-1" ? false : true; + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败")); + int ret = tipsDlg.exec(); + + if (ret == 1) + { + emit switchToUserListForm(); + } } } diff --git a/AddPersonForm.h b/AddPersonForm.h index 2dea8b0..1e26253 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -3,8 +3,10 @@ #include #include +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" +#include "utils/QDblClickLabel.h" namespace Ui { class AddPersonForm; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 392a221..dca59d8 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -372,7 +372,7 @@ 0 - + @@ -390,7 +390,7 @@ 60 - + @@ -403,7 +403,7 @@ - + @@ -445,6 +445,13 @@ + + + QDblClickLabel + QLabel +
QDblClickLabel.h
+
+
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro index c337b6e..426ca49 100644 --- a/CasicBioRecNew.pro +++ b/CasicBioRecNew.pro @@ -24,24 +24,31 @@ SOURCES += PersonListForm.cpp SOURCES += SettingForm.cpp SOURCES += AddPersonForm.cpp +SOURCES += OperationTipsDialog.cpp +SOURCES += ConfirmTipsDialog.cpp HEADERS += CasicBioRecWin.h HEADERS += StartupForm.h HEADERS += PersonListForm.h HEADERS += SettingForm.h HEADERS += AddPersonForm.h +HEADERS += OperationTipsDialog.h +HEADERS += ConfirmTipsDialog.h FORMS += CasicBioRecWin.ui FORMS += StartupForm.ui FORMS += PersonListForm.ui FORMS += SettingForm.ui FORMS += AddPersonForm.ui +FORMS += OperationTipsDialog.ui +FORMS += ConfirmTipsDialog.ui DISTFILES += conf/config.ini DISTFILES += conf/log.conf DISTFILES += qss/startup.css DISTFILES += qss/personList.css DISTFILES += qss/addPerson.css +DISTFILES += qss/dialogTips.css RESOURCES += resource.qrc diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 43c1e4a..0a5ccd2 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -71,6 +71,7 @@ { addPersonForm->updateFormTitle("人员注册"); addPersonForm->clearPersonInfo(); + addPersonForm->setPersonId(""); } // 切换页面 diff --git a/ConfirmTipsDialog.cpp b/ConfirmTipsDialog.cpp new file mode 100644 index 0000000..c8bbf2f --- /dev/null +++ b/ConfirmTipsDialog.cpp @@ -0,0 +1,35 @@ +#include "ConfirmTipsDialog.h" +#include "ui_ConfirmTipsDialog.h" + +ConfirmTipsDialog::ConfirmTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ConfirmTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setText("确定"); + ui->btnBoxConfirm->button(QDialogButtonBox::Ok)->setStyleSheet("background: #E74C3C"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setText("取消"); + ui->btnBoxConfirm->button(QDialogButtonBox::Cancel)->setStyleSheet("background: #CCCCCC"); +} + +ConfirmTipsDialog::~ConfirmTipsDialog() +{ + delete ui; +} + +void ConfirmTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/ConfirmTipsDialog.h b/ConfirmTipsDialog.h new file mode 100644 index 0000000..94f7add --- /dev/null +++ b/ConfirmTipsDialog.h @@ -0,0 +1,26 @@ +#ifndef CONFIRMTIPSDIALOG_H +#define CONFIRMTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class ConfirmTipsDialog; +} + +class ConfirmTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ConfirmTipsDialog(QWidget *parent = nullptr); + ~ConfirmTipsDialog(); + + void setTipsText(QString text); + +private: + Ui::ConfirmTipsDialog *ui; +}; + +#endif // CONFIRMTIPSDIALOG_H diff --git a/ConfirmTipsDialog.ui b/ConfirmTipsDialog.ui new file mode 100644 index 0000000..5ea46dc --- /dev/null +++ b/ConfirmTipsDialog.ui @@ -0,0 +1,105 @@ + + + ConfirmTipsDialog + + + + 0 + 0 + 500 + 360 + + + + Dialog + + + + + 0 + 280 + 500 + 50 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 186 + 30 + 128 + 128 + + + + + + + :/images/tipsConfirm.png + + + true + + + + + + 0 + 200 + 500 + 50 + + + + + + + Qt::AlignCenter + + + + + + + + + btnBoxConfirm + accepted() + ConfirmTipsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + btnBoxConfirm + rejected() + ConfirmTipsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/OperationTipsDialog.cpp b/OperationTipsDialog.cpp new file mode 100644 index 0000000..862505d --- /dev/null +++ b/OperationTipsDialog.cpp @@ -0,0 +1,43 @@ +#include "OperationTipsDialog.h" +#include "ui_OperationTipsDialog.h" + +OperationTipsDialog::OperationTipsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::OperationTipsDialog) +{ + ui->setupUi(this); + + this->setWindowFlags(Qt::FramelessWindowHint); + + // 加载css文件设置控件样式 + QFile file(QApplication::applicationDirPath() + "/qss/dialogTips.css"); + if (file.open(QFile::ReadOnly)) + { + QString qssStr = QLatin1String(file.readAll()); + this->setStyleSheet(qssStr); + file.close(); + } + + ui->btnBoxOk->button(QDialogButtonBox::Ok)->setText("确定"); +} + +OperationTipsDialog::~OperationTipsDialog() +{ + delete ui; +} + +void OperationTipsDialog::setTipsDialogType(bool succ) +{ + if (succ == true) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsSuccess.png")); + } else if (succ == false) + { + ui->labTipsIcon->setPixmap(QPixmap(":/images/tipsFailure.png")); + } +} + +void OperationTipsDialog::setTipsText(QString text) +{ + ui->labTipsContent->setText(text); +} diff --git a/OperationTipsDialog.h b/OperationTipsDialog.h new file mode 100644 index 0000000..3fdef7f --- /dev/null +++ b/OperationTipsDialog.h @@ -0,0 +1,28 @@ +#ifndef OPERATIONTIPSDIALOG_H +#define OPERATIONTIPSDIALOG_H + +#include +#include +#include + +namespace Ui { +class OperationTipsDialog; +} + +class OperationTipsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit OperationTipsDialog(QWidget *parent = nullptr); + ~OperationTipsDialog(); + + void setTipsDialogType(bool succ); + void setTipsText(QString text); + +private: + Ui::OperationTipsDialog *ui; + +}; + +#endif // OPERATIONTIPSDIALOG_H diff --git a/OperationTipsDialog.ui b/OperationTipsDialog.ui new file mode 100644 index 0000000..e04f712 --- /dev/null +++ b/OperationTipsDialog.ui @@ -0,0 +1,112 @@ + + + OperationTipsDialog + + + + 0 + 0 + 600 + 500 + + + + Dialog + + + + + 30 + 0 + 100 + 50 + + + + 提示 + + + + + + 1 + 50 + 598 + 16 + + + + Qt::Horizontal + + + + + + 236 + 100 + 128 + 128 + + + + + + + :/images/tipsSuccess.png + + + true + + + + + + 0 + 250 + 600 + 100 + + + + 编辑成功 + + + Qt::AlignCenter + + + + + + 350 + 400 + 200 + 50 + + + + QDialogButtonBox::Ok + + + + + + + + + btnBoxOk + accepted() + OperationTipsDialog + accept() + + + 449 + 424 + + + 299 + 249 + + + + + diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 22b2101..83f8a48 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -169,6 +169,7 @@ QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); + btnDele->setProperty("personName", personList->at(i).find("name")->toString()); btnDele->setProperty("class", "btnDelete"); connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); @@ -248,11 +249,25 @@ // 获取发送者的信息 QPushButton * senderObj = (QPushButton *) sender(); QString personId = senderObj->property("personId").toString(); - SysPersonDao personDao; - bool succ = personDao.dele(personId); - if (succ == 1) + QString personName = senderObj->property("personName").toString(); + + ConfirmTipsDialog confirmDlg; + confirmDlg.setTipsText(QString("是否删除 %1").arg(personName)); + int ret = confirmDlg.exec(); + if (ret == 1) { - findPersonList(); + SysPersonDao personDao; + bool succ = personDao.dele(personId); + + OperationTipsDialog tipsDlg; + tipsDlg.setTipsDialogType(succ); + tipsDlg.setTipsText(QString("%1 删除%2").arg(personName).arg(succ == true ? "成功" : "失败")); + tipsDlg.exec(); + + if (succ == 1) + { + findPersonList(); + } } } diff --git a/PersonListForm.h b/PersonListForm.h index d4b2a71..db352c6 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -4,6 +4,8 @@ #include #include #include +#include "ConfirmTipsDialog.h" +#include "OperationTipsDialog.h" #include "dao/util/CacheManager.h" #include "utils/SelectDeptUtil.h" diff --git a/images/tipsConfirm.png b/images/tipsConfirm.png new file mode 100644 index 0000000..9101945 --- /dev/null +++ b/images/tipsConfirm.png Binary files differ diff --git a/images/tipsFailure.png b/images/tipsFailure.png new file mode 100644 index 0000000..964ba46 --- /dev/null +++ b/images/tipsFailure.png Binary files differ diff --git a/images/tipsSuccess.png b/images/tipsSuccess.png new file mode 100644 index 0000000..423a729 --- /dev/null +++ b/images/tipsSuccess.png Binary files differ diff --git a/qss/dialogTips.css b/qss/dialogTips.css new file mode 100644 index 0000000..9c9b4d6 --- /dev/null +++ b/qss/dialogTips.css @@ -0,0 +1,20 @@ +QLabel { + color: #6868A6; + font-family: "Microsoft YaHei"; +} + +QLabel#labDate { + font-size: 36px; +} + +QLabel#labTime { + font-size: 100px; +} + +QToolButton { + color: #6868A6; + font-family: "Microsoft YaHei"; + font-size: 48px; + background: transparent; + border-style: none; +} diff --git a/resource.qrc b/resource.qrc index e4d7d8c..1d26f80 100644 --- a/resource.qrc +++ b/resource.qrc @@ -19,5 +19,8 @@ images/faceNotCap.png images/irisCaped.png images/irisNotCap.png + images/tipsFailure.png + images/tipsSuccess.png + images/tipsConfirm.png diff --git a/utils/QDblClickLabel.cpp b/utils/QDblClickLabel.cpp new file mode 100644 index 0000000..d68899c --- /dev/null +++ b/utils/QDblClickLabel.cpp @@ -0,0 +1,16 @@ +#include "QDblClickLabel.h" + +QDblClickLabel::QDblClickLabel(QWidget *parent) : QLabel(parent) +{ + +} + +QDblClickLabel::~QDblClickLabel() +{ + +} + +void QDblClickLabel::mouseDoubleClickEvent(QMouseEvent *event) +{ + emit doubleClicked(); +} diff --git a/utils/QDblClickLabel.h b/utils/QDblClickLabel.h new file mode 100644 index 0000000..bd7c532 --- /dev/null +++ b/utils/QDblClickLabel.h @@ -0,0 +1,19 @@ +#ifndef QDBLCLICKLABEL_H +#define QDBLCLICKLABEL_H + +#include +#include + +class QDblClickLabel : public QLabel +{ + Q_OBJECT +public: + QDblClickLabel(QWidget * parent = 0); + ~QDblClickLabel(); + void mouseDoubleClickEvent(QMouseEvent * event); + +signals: + void doubleClicked(); +}; + +#endif // QDBLCLICKLABEL_H diff --git a/utils/utils.pri b/utils/utils.pri index 6050e5a..2f81cd9 100644 --- a/utils/utils.pri +++ b/utils/utils.pri @@ -13,6 +13,9 @@ HEADERS += $$PWD/SelectDeptUtil.h SOURCES += $$PWD/SelectDeptUtil.cpp +HEADERS += $$PWD/QDblClickLabel.h +SOURCES += $$PWD/QDblClickLabel.cpp + #HEADERS += $$PWD/QByteUtil.h #HEADERS += $$PWD/QImageUtil.h #HEADERS += $$PWD/QSocketClientUtil.h