project/xyylMCWEACSystem/medicalrecordwidget.cpp

346 lines
9.4 KiB
C++
Raw Normal View History

2024-10-30 09:27:16 +08:00
#include "medicalrecordwidget.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QFontMetrics>
#include <QDebug>
#include <QGroupBox>
#include "datamanager.h"
2024-11-25 11:00:08 +08:00
#include <QButtonGroup>
2024-10-30 09:27:16 +08:00
MedicalRecordWidget::MedicalRecordWidget(QWidget * parent ):QWidget(parent)
{
init();
initLay();
initConnect();
}
MedicalRecordWidget::~MedicalRecordWidget()
{
}
void MedicalRecordWidget::init()
{
2024-11-05 15:42:02 +08:00
setObjectName("MedicalRecordWidget");
this->setStyleSheet("QWidget \
{\
background-color:white;\
border-radius:10px;\
}"\
);
// setFixedSize(600,600);
m_labStar.setText(tr("*"));
m_labStar2.setText(tr("*"));
2024-11-06 15:59:13 +08:00
m_labStar.setStyleSheet("color:red");
m_labStar2.setStyleSheet("color:red");
#if 0
2024-10-30 09:27:16 +08:00
//检查号
m_labCheckNum.setText(tr("CheckNum"));
//住院 hospitalized
m_labType.setText(tr("type"));
m_chHospitalized.setText(tr("hospitalized"));
2024-10-30 09:27:16 +08:00
//门诊
m_chOutpatient.setText(tr("Outpatient"));
2024-10-30 09:27:16 +08:00
//姓名
m_labName.setText(tr("Name"));
//性别
m_labSex.setText(tr("Sex"));;
//左右利
m_labLaterality.setText(tr("Laterality"));
//检查日期
m_labDate_Of_inspection.setText(tr("DateInspection"));
m_labAge.setText(tr("Age"));
m_labBirthDay.setText(tr("birthDay"));
2024-10-30 09:27:16 +08:00
//诊断病历
m_labDiagnosticRecord.setText(tr("Record"));
m_btnOk.setText(tr("ok"));
m_btnCancel.setText(tr("Cancel"));
int iwidth = QFontMetrics(this->font()).width("Laterality");
//m_labCheckNum.setFixedWidth(iwidth);
// m_labName.setFixedWidth(iwidth);
// m_labLaterality.setFixedWidth(iwidth);
//m_labDiagnosticRecord.setFixedWidth(iwidth);
#else
2024-11-04 17:26:34 +08:00
m_gbx.setTitle("病历资料");
//检查号
m_labCheckNum.setText(tr("检查号"));
//住院 hospitalized
m_labType.setText(tr("类型"));
m_chHospitalized.setText(tr("住院"));
//门诊
m_chOutpatient.setText(tr("门诊"));
//姓名
2024-11-04 17:26:34 +08:00
m_labName.setText(tr("姓 名"));
//性别
m_labSex.setText(tr("性别"));;
2024-11-04 17:26:34 +08:00
m_chMan.setText(tr(""));;
m_chWan.setText(tr(""));;
2024-11-25 11:00:08 +08:00
QButtonGroup *SexpButtonGroup = new QButtonGroup(this);
// 设置互斥
SexpButtonGroup->setExclusive(true);
SexpButtonGroup->addButton(&m_chMan);
SexpButtonGroup->addButton(&m_chWan);
// bool ok = connect(pButtonGroup, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(onButtonClicked(QAbstractButton*)));
//左右利
2024-11-05 15:42:02 +08:00
m_labLaterality.setText(tr(" 左右利"));
2024-11-04 17:26:34 +08:00
m_chLeft.setText(tr(""));;
m_chRfight.setText(tr(""));;
2024-11-25 11:00:08 +08:00
QButtonGroup *LabpButtonGroup = new QButtonGroup(this);
// 设置互斥
LabpButtonGroup->setExclusive(true);
LabpButtonGroup->addButton(&m_chLeft);
LabpButtonGroup->addButton(&m_chRfight);
//检查日期
m_labDate_Of_inspection.setText(tr("检查日期"));
m_labAge.setText(tr("年龄"));
m_labBirthDay.setText(tr("出生日期"));
//诊断病历
2024-11-04 17:26:34 +08:00
m_labDiagnosticRecord.setText(tr("其 他:"));
m_labDiagnosticRecord.setFixedHeight(30);
m_btnOk.setText(tr("保存"));
m_btnCancel.setText(tr("取消"));
int iwidth = QFontMetrics(this->font()).width("Laterality");
//m_labCheckNum.setFixedWidth(iwidth);
// m_labName.setFixedWidth(iwidth);
// m_labLaterality.setFixedWidth(iwidth);
//m_labDiagnosticRecord.setFixedWidth(iwidth);
m_btnOk.setStyleSheet("QPushButton{\
background: white;\
border-radius:10px;padding:7px 10px;\
}\
QPushButton:hover{\
background: #0d9ddb;\
border-radius:10px;padding:7px 10px;\
}\
QPushButton:pressed{\
background: #0d9aab;\
border-radius:10px;padding:7px 10px;\
}\
QPushButton:checked{\
background: #0d9ddb;\
border-radius:10px;padding:7px 10px;\
}");
m_btnCancel.setStyleSheet("QPushButton{\
background: white;\
border-radius:10px;padding:7px 10px;\
}\
QPushButton:hover{\
background: #0d9ddb;\
border-radius:10px;padding:7px 10px;\
}\
QPushButton:pressed{\
background: #0d9aab;\
border-radius:10px;padding:7px 10px;\
}\
QPushButton:checked{\
background: #0d9ddb;\
border-radius:10px;padding:7px 10px;\
}");
#endif
2024-10-30 09:27:16 +08:00
}
void MedicalRecordWidget::initLay()
{
2024-11-04 17:26:34 +08:00
#if 1
QHBoxLayout * hlayStart1 = new QHBoxLayout;
hlayStart1->addWidget(&m_labStar);
hlayStart1->addWidget(&m_labCheckNum);
hlayStart1->addWidget(&m_editCheckNum);
2024-10-30 09:27:16 +08:00
hlayStart1->addWidget(&m_labType);
hlayStart1->addWidget(&m_chHospitalized);
hlayStart1->addWidget(&m_chOutpatient);
2024-11-04 17:26:34 +08:00
hlayStart1->addStretch();
2024-10-30 09:27:16 +08:00
QHBoxLayout * hlayStart2 = new QHBoxLayout;
hlayStart2->addWidget(&m_labStar2);
hlayStart2->addWidget(&m_labName);
hlayStart2->addWidget(&m_editName);
2024-10-30 09:27:16 +08:00
hlayStart2->addWidget(&m_labSex);
hlayStart2->addWidget(&m_chMan);
hlayStart2->addWidget(&m_chWan);
2024-11-04 17:26:34 +08:00
hlayStart2->addStretch();
2024-10-30 09:27:16 +08:00
QHBoxLayout * hlay3 = new QHBoxLayout;
hlay3->addWidget(&m_labBirthDay);
hlay3->addWidget(&m_dateBirthDay);
2024-11-04 17:26:34 +08:00
hlay3->addWidget(&m_labAge);
hlay3->addWidget(&m_editAge);
2024-11-04 17:26:34 +08:00
hlay3->addStretch();
QHBoxLayout * hlay4 = new QHBoxLayout;
hlay4->addWidget(&m_labLaterality);
hlay4->addWidget(&m_chLeft);
hlay4->addWidget(&m_chRfight);
hlay4->addWidget(&m_labDate_Of_inspection);
hlay4->addWidget(&m_dateInspection);
2024-11-04 17:26:34 +08:00
hlay4->addStretch();
QHBoxLayout * hlay5 = new QHBoxLayout;
hlay5->addWidget(&m_labDiagnosticRecord);
hlay5->addWidget(&m_textDiagnosticRecord);
2024-11-04 17:26:34 +08:00
QHBoxLayout * hlay6 = new QHBoxLayout;
hlay6->addStretch();
hlay6->addWidget(&m_btnCancel);
hlay6->addWidget(&m_btnOk);
hlay6->addStretch();
QVBoxLayout *vlay = new QVBoxLayout;
vlay->addLayout(hlayStart1);
vlay->addLayout(hlayStart2);
vlay->addLayout(hlay3);
vlay->addLayout(hlay4);
vlay->addLayout(hlay5);
2024-11-04 17:26:34 +08:00
vlay->addLayout(hlay6);
2024-11-05 15:42:02 +08:00
//vlay->addStretch();
2024-10-30 09:27:16 +08:00
2024-11-04 17:26:34 +08:00
m_gbx.setLayout(vlay);
QHBoxLayout * vlayall = new QHBoxLayout;
vlayall->addWidget(&m_gbx);
2024-11-05 15:42:02 +08:00
int widthi =50;
vlay->setContentsMargins(widthi,widthi,widthi,widthi);
2024-11-04 17:26:34 +08:00
setLayout(vlayall);
int iwidth = 200;
m_editCheckNum.setFixedWidth(iwidth);
m_editName.setFixedWidth(iwidth);
m_dateBirthDay.setFixedWidth(iwidth);
m_chLeft.setFixedWidth(iwidth);
m_editAge.setFixedWidth(iwidth);
2024-11-05 15:42:02 +08:00
m_chLeft.setFixedWidth(iwidth/2);
m_chRfight.setFixedWidth(iwidth/2);
2024-11-04 17:26:34 +08:00
#else
QVBoxLayout * vlay1 = new QVBoxLayout;
QHBoxLayout * hlayStart1 = new QHBoxLayout;
hlayStart1->addWidget(&m_labStar);
hlayStart1->addWidget(&m_labCheckNum);
vlay1->addLayout(hlayStart1);
QHBoxLayout * hlayStart2 = new QHBoxLayout;
hlayStart2->addWidget(&m_labStar2);
hlayStart2->addWidget(&m_labName);
vlay1->addLayout(hlayStart2);
vlay1->addWidget(&m_labBirthDay);
vlay1->addWidget(&m_labLaterality);
vlay1->addWidget(&m_labDiagnosticRecord);
QVBoxLayout * vlay2 = new QVBoxLayout;
vlay2->addWidget(&m_editCheckNum);
vlay2->addWidget(&m_editName);
vlay2->addWidget(&m_dateBirthDay);
QHBoxLayout * hlay3 = new QHBoxLayout;
hlay3->addWidget(&m_chLeft);
hlay3->addWidget(&m_chRfight);
vlay2->addLayout(hlay3);
#endif
2024-10-30 09:27:16 +08:00
}
bool MedicalRecordWidget::initConnect()
{
bool reok;
reok = connect(&m_btnOk,SIGNAL(clicked()),this,SLOT(slotSave()));
if(!reok)
{
qDebug()<<"save connect failed"<<endl;
}
reok = connect(&m_btnCancel,SIGNAL(clicked()),this,SLOT(slotCancel()));
if(!reok)
{
qDebug()<<"save connect failed"<<endl;
}
}
void MedicalRecordWidget::slotSave()
{
QString CheckNum = m_editCheckNum.text();
//住院 hospitalized
QString Type ;
if(m_chHospitalized.isChecked())
{
Type = m_chHospitalized.text();
}
else
{
2024-11-25 14:28:17 +08:00
Type = m_chOutpatient.text();
}
2024-11-25 14:28:17 +08:00
qDebug()<<Type<<endl;
//姓名
QString Name = m_editName.text();
//性别
QString Sex;
if(m_chMan.isChecked())
{
Sex = m_chMan.text();
}
else
{
Sex = m_chWan.text();
}
//年龄
QString Year = m_editAge.text();
//左右利
QString Laterality;
if(m_chLeft.isChecked())
{
Laterality = m_chLeft.text();
}
else
{
Laterality = m_chRfight.text();
}
//出生日期
QString Birthday = m_dateBirthDay.dateTime().toString("yyyy/MM/dd hh:mm:ss");
//检查日期
QString inspectDate = m_dateInspection.dateTime().toString("yyyy/MM/dd hh:mm:ss");;
//诊断病历
QString Other = m_textDiagnosticRecord.toPlainText();
DataManager::instance().updateMedicRecord(
CheckNum ,
Type ,
Name ,
Sex,
Birthday,
Year,
Laterality,
inspectDate,
Other);
}
void MedicalRecordWidget::slotCancel()
2024-10-30 09:27:16 +08:00
{
}