Add Anonymous mode
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include <QDebug>
|
||||
|
||||
#include "components/SlideTableView.h"
|
||||
#include "json/jsonobject.h"
|
||||
#include "db/SQLHelper.h"
|
||||
#include "event/EventCenter.h"
|
||||
#include "dialogs/DialogManager.h"
|
||||
@@ -62,16 +63,23 @@ SelectFormWidget::SelectFormWidget(QWidget* parent)
|
||||
});
|
||||
// event ReloadLanguage slot;
|
||||
connect(EventCenter::Default(), &EventCenter::ReloadLanguage, this, &SelectFormWidget::reloadLanguage);
|
||||
|
||||
connect(EventCenter::Default(), &EventCenter::AnonymousModeChanged, this, &SelectFormWidget::updateDataByAnonymousMode);
|
||||
|
||||
//first prepare buttons!
|
||||
prepareButtons(false);
|
||||
}
|
||||
|
||||
void SelectFormWidget::prepareButtons(bool disableALL) {
|
||||
bool anonymousMode = JsonObject::Instance()->getAnonymousMode();
|
||||
bool stateFlag = (mPatTable->currentIndex().row() >= 0);
|
||||
|
||||
mBtnAdd->setEnabled(!anonymousMode && !disableALL);
|
||||
mBtnWorklist->setEnabled(!anonymousMode && !disableALL);
|
||||
patientDetailForm->setBtnEnable(!anonymousMode && stateFlag && !disableALL);
|
||||
// if (mBtnAdd)mBtnEdit->setEnabled(!anonymousMode && stateFlag && !disableALL);
|
||||
// if (mBtnAdd)mBtnDelete->setEnabled(!anonymousMode&& stateFlag && !disableALL);
|
||||
mBtnSelect->setEnabled(stateFlag && !disableALL);
|
||||
// mBtnDelete->setEnabled(stateFlag && !disableALL);
|
||||
// mBtnEdit->setEnabled(stateFlag && !disableALL);
|
||||
mBtnAdd->setEnabled(!disableALL);
|
||||
}
|
||||
|
||||
void SelectFormWidget::initGeneralButtons(QHBoxLayout *layout) {
|
||||
@@ -231,7 +239,26 @@ void SelectFormWidget::initTableView(QHBoxLayout *contentLayout) {// TableView f
|
||||
void SelectFormWidget::initDataModel() {//TODO:单独初始化预防SQL错误
|
||||
mModel = SQLHelper::getTable("Patient");
|
||||
mModel->sort(mModel->record().indexOf("AddDate"), Qt::DescendingOrder);
|
||||
mModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
|
||||
bool anonymousMode = JsonObject::Instance()->getAnonymousMode();
|
||||
if (anonymousMode)
|
||||
{
|
||||
mModel->setFilter("1=2");
|
||||
}
|
||||
mModel->select();
|
||||
if (anonymousMode)
|
||||
{
|
||||
mModel->insertRow(0);
|
||||
mModel->setData(mModel->index(0,0),"000000001");
|
||||
mModel->setData(mModel->index(0,1),"AnonymousPatient");
|
||||
mModel->setData(mModel->index(0,2),"");
|
||||
mModel->setData(mModel->index(0,3),"AnonymousPatient");
|
||||
mModel->setData(mModel->index(0,4),"2000-01-01");
|
||||
mModel->setData(mModel->index(0,5),"M");
|
||||
mModel->setData(mModel->index(0,6),"2000-01-01");
|
||||
mModel->setData(mModel->index(0,7),"");
|
||||
}
|
||||
|
||||
mModel->setHeaderData(1, Qt::Horizontal, "ID");
|
||||
mModel->setHeaderData(2, Qt::Horizontal, tr("AccessionNumber"));
|
||||
mModel->setHeaderData(3, Qt::Horizontal, tr("Name"));
|
||||
@@ -264,8 +291,37 @@ void SelectFormWidget::reloadLanguage(){
|
||||
//mBtnWorklist->setText(tr("Worklist"));
|
||||
mBtnAdd->setText(tr("Add"));
|
||||
mBtnEdit->setText(tr("Edit"));
|
||||
mBtnDelete->setText(tr("Delete"));
|
||||
mBtnSelect->setText(tr("Select"));
|
||||
}
|
||||
|
||||
void SelectFormWidget::updateDataByAnonymousMode(){
|
||||
bool anonymousMode = JsonObject::Instance()->getAnonymousMode();
|
||||
EventCenter::Default()->triggerEvent(GUIEvents::PatientSelected,this,nullptr);
|
||||
if (anonymousMode)
|
||||
{
|
||||
mModel->setFilter("1=2");
|
||||
mModel->select();
|
||||
mModel->insertRow(0);
|
||||
mModel->setData(mModel->index(0,0),"000000001");
|
||||
mModel->setData(mModel->index(0,1),"AnonymousPatient");
|
||||
mModel->setData(mModel->index(0,2),"");
|
||||
mModel->setData(mModel->index(0,3),"AnonymousPatient");
|
||||
mModel->setData(mModel->index(0,4),"2000-01-01");
|
||||
mModel->setData(mModel->index(0,5),"M");
|
||||
mModel->setData(mModel->index(0,6),"2000-01-01");
|
||||
mModel->setData(mModel->index(0,7),"");
|
||||
mPatTable->selectRow(0);
|
||||
mModel->selectRow(0);
|
||||
}
|
||||
else{
|
||||
mModel->revertAll();
|
||||
mModel->setFilter("");
|
||||
mModel->select();
|
||||
if (mModel->rowCount()>0){
|
||||
mPatTable->selectRow(0);
|
||||
mModel->selectRow(0);
|
||||
}
|
||||
}
|
||||
prepareButtons(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user