Merge branch 'medical-profile-services' into 'development'

medical report fixes and vital sign

See merge request Cloud_Solution/doctor_app_flutter!706
merge-requests/707/head
Mohammad Aljammal 5 years ago
commit cbf7ccebe8

@ -6,10 +6,19 @@ class MedicalReportModel {
String invoiceNo;
int status;
String verifiedOn;
int verifiedBy;
String verifiedBy;
String editedOn;
int editedBy;
int lineItemNo;
String createdOn;
int templateID;
int doctorID;
int doctorGender;
String doctorGenderDescription;
String doctorGenderDescriptionN;
String doctorImageURL;
String doctorName;
String doctorNameN;
String reportDataHtml;
MedicalReportModel(
@ -24,6 +33,15 @@ class MedicalReportModel {
this.editedOn,
this.editedBy,
this.lineItemNo,
this.createdOn,
this.templateID,
this.doctorID,
this.doctorGender,
this.doctorGenderDescription,
this.doctorGenderDescriptionN,
this.doctorImageURL,
this.doctorName,
this.doctorNameN,
this.reportDataHtml});
MedicalReportModel.fromJson(Map<String, dynamic> json) {
@ -38,6 +56,15 @@ class MedicalReportModel {
editedOn = json['EditedOn'];
editedBy = json['EditedBy'];
lineItemNo = json['LineItemNo'];
createdOn = json['CreatedOn'];
templateID = json['TemplateID'];
doctorID = json['DoctorID'];
doctorGender = json['DoctorGender'];
doctorGenderDescription = json['DoctorGenderDescription'];
doctorGenderDescriptionN = json['DoctorGenderDescriptionN'];
doctorImageURL = json['DoctorImageURL'];
doctorName = json['DoctorName'];
doctorNameN = json['DoctorNameN'];
reportDataHtml = json['ReportDataHtml'];
}
@ -54,6 +81,15 @@ class MedicalReportModel {
data['EditedOn'] = this.editedOn;
data['EditedBy'] = this.editedBy;
data['LineItemNo'] = this.lineItemNo;
data['CreatedOn'] = this.createdOn;
data['TemplateID'] = this.templateID;
data['DoctorID'] = this.doctorID;
data['DoctorGender'] = this.doctorGender;
data['DoctorGenderDescription'] = this.doctorGenderDescription;
data['DoctorGenderDescriptionN'] = this.doctorGenderDescriptionN;
data['DoctorImageURL'] = this.doctorImageURL;
data['DoctorName'] = this.doctorName;
data['DoctorNameN'] = this.doctorNameN;
data['ReportDataHtml'] = this.reportDataHtml;
return data;
}

@ -1,4 +1,5 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/PatientMedicalReportViewModel.dart';
import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/models/patient/MedicalReport/MeidcalReportModel.dart';
@ -23,10 +24,11 @@ class MedicalReportDetailPage extends StatelessWidget {
String arrivalType = routeArgs['arrivalType'];
MedicalReportModel medicalReport = routeArgs['medicalReport'];
return BaseView<BaseViewModel>(
return BaseView<PatientMedicalReportViewModel>(
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
isShowAppBar: true,
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
appBar: PatientProfileHeaderNewDesignAppBar(
patient,
patientType,
@ -57,7 +59,7 @@ class MedicalReportDetailPage extends StatelessWidget {
],
),
),
Container(
medicalReport.reportDataHtml != null ? Container(
width: double.infinity,
margin: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
@ -73,8 +75,10 @@ class MedicalReportDetailPage extends StatelessWidget {
),
),
child: Html(
data: medicalReport.reportDataHtml
data: medicalReport.reportDataHtml ?? ""
),
) : Container(
),
],
),

@ -17,6 +17,7 @@ import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:provider/provider.dart';
import '../../../../routes.dart';
@ -84,113 +85,142 @@ class MedicalReportPage extends StatelessWidget {
},
label: TranslationBase.of(context).createNewMedicalReport,
),
// if (model.state == ViewState.ErrorLocal)
// Container(
// child: ErrorMessage(error: model.error),
// ),
if (model.state != ViewState.ErrorLocal)
...List.generate(
model.medicalReportList.length,
(index) => CardWithBgWidget(
hasBorder: false,
bgColor: model.medicalReportList[index].status == 1
? Colors.red[700]
: Colors.green[700],
widget: Column(
children: [
Row(
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
model.medicalReportList[index].status == 1
? TranslationBase.of(context).onHold
: TranslationBase.of(context).verified,
color: model.medicalReportList[index].status == 1
? Colors.red[700]
: Colors.green[700],
),
AppText(
"Jammal" ?? "",
fontSize: 15,
bold: true,
),
],
)),
Expanded(
child: Column(
(index) => Container(
margin: EdgeInsets.symmetric(horizontal: 8),
child: CardWithBgWidget(
hasBorder: false,
bgColor: model.medicalReportList[index].status == 1
? Colors.red[700]
: Colors.green[700],
widget: Column(
children: [
Row(
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
model.medicalReportList[index].status == 1
? TranslationBase.of(context).onHold
: TranslationBase.of(context).verified,
color:
model.medicalReportList[index].status ==
1
? Colors.red[700]
: Colors.green[700],
fontSize: 1.4 * SizeConfig.textMultiplier,
bold: true,
),
AppText(
projectViewModel.isArabic
? model.medicalReportList[index]
.doctorNameN
: model.medicalReportList[index]
.doctorName,
fontSize: 1.9 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w700,
color: Color(0xFF2E303A),
),
],
)),
Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
AppText(
'${AppDateUtils.convertDateFromServerFormat(
model.medicalReportList[index].editedOn,
"dd/MM/yyyy")}',
color: Colors.black,
'${AppDateUtils.convertDateFromServerFormat(model.medicalReportList[index].editedOn ?? model.medicalReportList[index].createdOn, "dd MMM yyyy")}',
color: Color(0xFF2E303A),
fontWeight: FontWeight.w600,
fontSize: 14,
fontSize: 1.6 * SizeConfig.textMultiplier,
),
AppText(
'${AppDateUtils.convertDateFromServerFormat(
model.medicalReportList[index].editedOn,
"hh:mm a")}',
'${AppDateUtils.convertDateFromServerFormat(model.medicalReportList[index].editedOn ?? model.medicalReportList[index].createdOn, "hh:mm a")}',
color: Color(0xFF2E303A),
fontWeight: FontWeight.w600,
color: Colors.grey[700],
fontSize: 14,
fontSize: 1.5 * SizeConfig.textMultiplier,
),
],
),
),
],
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
child: LargeAvatar(
name: "Jammal",
url: null,
],
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Container(
margin: EdgeInsets.only(
left: 0, top: 4, right: 8, bottom: 0),
child: LargeAvatar(
name: projectViewModel.isArabic
? model
.medicalReportList[index].doctorNameN
: model
.medicalReportList[index].doctorName,
url: model
.medicalReportList[index].doctorImageURL,
),
width: 50,
height: 50,
),
width: 55,
height: 55,
),
Expanded(child: AppText("")),
InkWell(
onTap: () {
if (model.medicalReportList[index].status ==
1) {
Navigator.of(context).pushNamed(
PATIENT_MEDICAL_REPORT_INSERT,
arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'type': MedicalReportStatus.ADD,
'medicalReport':
model.medicalReportList[index]
});
} else {
Navigator.of(context).pushNamed(
PATIENT_MEDICAL_REPORT_DETAIL,
arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'medicalReport':
model.medicalReportList[index]
});
}
},
child: Icon(
model.medicalReportList[index].status == 1
? EvaIcons.eye
: DoctorApp.edit_1,
Expanded(
child: Container(
height: 50,
child: AppText(
TranslationBase.of(context).showDetail,
fontSize: 1.4 * SizeConfig.textMultiplier,
),
),
// child: Html(
// data: model.medicalReportList[index]
// .reportDataHtml ??
// ""),
),
)
],
),
],
Container(
child: InkWell(
onTap: () {
if (model.medicalReportList[index].status ==
1) {
Navigator.of(context).pushNamed(
PATIENT_MEDICAL_REPORT_DETAIL,
arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'medicalReport':
model.medicalReportList[index]
});
} else {
Navigator.of(context).pushNamed(
PATIENT_MEDICAL_REPORT_INSERT,
arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'type': MedicalReportStatus.ADD,
'medicalReport':
model.medicalReportList[index]
});
}
},
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Icon(
model.medicalReportList[index].status ==
1
? EvaIcons.eye
: DoctorApp.edit_1,
),
],
),
),
)
],
),
],
),
),
),
),

@ -57,7 +57,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"${patient.firstName ?? patient.patientDetails?.firstName??''}'s",
"${patient.firstName ?? patient.patientDetails != null ? patient.patientDetails.firstName : patient.fullName}'s",
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.w700,
color: Color(0xFF2E303A),

@ -202,7 +202,7 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"${patient.firstName ?? patient.patientDetails.firstName}'s",
"${patient.firstName ?? patient.patientDetails != null ? patient.patientDetails.firstName : patient.fullName}'s",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.w600,

Loading…
Cancel
Save