From 32d1a19248d41511857c7aa45e5c13852ec8ac88 Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Tue, 13 Apr 2021 15:53:46 +0300 Subject: [PATCH 1/7] bug fixes --- lib/screens/dashboard_screen.dart | 15 +++++++------ lib/screens/patients/patients_screen.dart | 9 ++++---- lib/screens/sick-leave/add-sickleave.dart | 14 ++++++++---- lib/screens/sick-leave/show-sickleave.dart | 13 +++++++---- lib/widgets/patients/PatientCard.dart | 25 ++++++++++++++-------- 5 files changed, 48 insertions(+), 28 deletions(-) diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart index 13e17077..252958b1 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -79,7 +79,8 @@ class _DashboardScreenState extends State { PatientID: 0, From: DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd') .toString(), - To: DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd') + To: DateUtils.convertDateToFormat( + DateTime.now().add(Duration(days: 7, hours: 0)), 'yyyy-MM-dd') .toString(), LanguageID: 2, stamp: "2020-03-02T13:56:39.170Z", @@ -1020,12 +1021,12 @@ class _DashboardScreenState extends State { ), hasBorder: false, onTap: () { - // Navigator.push( - // context, - // MaterialPageRoute( - // builder: (context) => - // SearchMedicinePatientScreen(), - // )); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + SearchMedicinePatientScreen(), + )); }, ) ], diff --git a/lib/screens/patients/patients_screen.dart b/lib/screens/patients/patients_screen.dart index 62485f0d..0efd3a95 100644 --- a/lib/screens/patients/patients_screen.dart +++ b/lib/screens/patients/patients_screen.dart @@ -176,11 +176,12 @@ class _PatientsScreenState extends State { patiantAppointment = convertDateFormat(responseModelList[i].appointmentDate); } + if (patiantAppointment != null) { + String dateAppointment = checkDate(patiantAppointment); - String dateAppointment = checkDate(patiantAppointment); - - if (dateAppointment.contains(str) || str == 'All') { - filterDate.add(responseModelList[i]); + if (dateAppointment.contains(str) || str == 'All') { + filterDate.add(responseModelList[i]); + } } } catch (e) { print(e); diff --git a/lib/screens/sick-leave/add-sickleave.dart b/lib/screens/sick-leave/add-sickleave.dart index ba90cf6e..eb59cdc3 100644 --- a/lib/screens/sick-leave/add-sickleave.dart +++ b/lib/screens/sick-leave/add-sickleave.dart @@ -10,7 +10,9 @@ import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; @@ -29,12 +31,16 @@ class AddSickLeavScreen extends StatelessWidget { onModelReady: (model) => model.getSickLeave(patient.patientMRN), builder: (_, model, w) => AppScaffold( baseViewModel: model, - isShowAppBar: false, - appBarTitle: TranslationBase.of(context).sickleave, + isShowAppBar: true, + appBar: PatientProfileHeaderNewDesignAppBar( + patient, + routeArgs['patientType'] ?? "0", + routeArgs['arrivalType'] ?? "0", + ), body: SingleChildScrollView( child: Column(children: [ - PatientProfileHeaderNewDesign( - patient, routeArgs['patientType'], routeArgs['arrivalType']), + // PatientProfileHeaderNewDesign( + // patient, routeArgs['patientType'], routeArgs['arrivalType']), patient.patientStatusType == 43 ? Column( crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/screens/sick-leave/show-sickleave.dart b/lib/screens/sick-leave/show-sickleave.dart index f64147dc..94624b5e 100644 --- a/lib/screens/sick-leave/show-sickleave.dart +++ b/lib/screens/sick-leave/show-sickleave.dart @@ -10,6 +10,7 @@ import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -30,13 +31,17 @@ class ShowSickLeaveScreen extends StatelessWidget { model.getSickLeave(patient.patientMRN ?? patient.patientId), builder: (_, model, w) => AppScaffold( baseViewModel: model, - isShowAppBar: false, - appBarTitle: TranslationBase.of(context).sickleave, + isShowAppBar: true, + appBar: PatientProfileHeaderNewDesignAppBar( + patient, + routeArgs['patientType'] ?? "0", + routeArgs['arrivalType'] ?? "0", + ), body: SingleChildScrollView( child: Column( children: [ - PatientProfileHeaderNewDesign( - patient, routeArgs['patientType'], routeArgs['arrivalType']), + // PatientProfileHeaderNewDesign( + // patient, routeArgs['patientType'], routeArgs['arrivalType']), Column( children: model.getAllSIckLeave .map((GetAllSickLeaveResponse item) { diff --git a/lib/widgets/patients/PatientCard.dart b/lib/widgets/patients/PatientCard.dart index 394ea216..75cfbf7c 100644 --- a/lib/widgets/patients/PatientCard.dart +++ b/lib/widgets/patients/PatientCard.dart @@ -102,14 +102,18 @@ class PatientCard extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row(children: [ - AppText( - (Helpers.capitalize(patientInfo.firstName) + - " " + - Helpers.capitalize(patientInfo.lastName)), - fontSize: SizeConfig.textMultiplier * 2, - fontWeight: FontWeight.bold, - backGroundcolor: Colors.white, - fontFamily: 'Poppins', + Container( + width: 170, + child: AppText( + (Helpers.capitalize(patientInfo.firstName) + + " " + + Helpers.capitalize(patientInfo.lastName)), + fontSize: 16, + fontWeight: FontWeight.bold, + backGroundcolor: Colors.white, + fontFamily: 'Poppins', + textOverflow: TextOverflow.ellipsis, + ), ), patientInfo.gender == 1 ? Icon( @@ -143,7 +147,10 @@ class PatientCard extends StatelessWidget { errorBuilder: (BuildContext context, Object exception, StackTrace stackTrace) { - return Text('No Image'); + return AppText( + 'No Image', + fontSize: 10, + ); }, )) : SizedBox() From 32e10269d49edf64173317390af68c707b56a121 Mon Sep 17 00:00:00 2001 From: mosazaid Date: Tue, 13 Apr 2021 16:01:45 +0300 Subject: [PATCH 2/7] add validation textfield --- .../admission-request-first-screen.dart | 39 ++++++++ .../admission-request-third-screen.dart | 27 ++++++ .../admission-request_second-screen.dart | 92 +++++++++++++++++++ 3 files changed, 158 insertions(+) diff --git a/lib/screens/patients/profile/admission-request/admission-request-first-screen.dart b/lib/screens/patients/profile/admission-request/admission-request-first-screen.dart index 69886efb..876066ce 100644 --- a/lib/screens/patients/profile/admission-request/admission-request-first-screen.dart +++ b/lib/screens/patients/profile/admission-request/admission-request-first-screen.dart @@ -44,6 +44,12 @@ class _AdmissionRequestThirdScreenState bool _isSickLeaveRequired = false; bool _patientPregnant = false; + String clinicError; + String doctorError; + String sickLeaveCommentError; + String medicalHistoryError; + String surgicalHistoryError; + @override Widget build(BuildContext context) { final routeArgs = ModalRoute.of(context).settings.arguments as Map; @@ -117,6 +123,7 @@ class _AdmissionRequestThirdScreenState height: screenSize.height * 0.075, hintText: TranslationBase.of(context).clinic, isDropDown: true, + validationError: clinicError, dropDownText: _selectedClinic != null ? projectViewModel.isArabic? _selectedClinic['clinicNameArabic'] : _selectedClinic['clinicNameEnglish'] : null, @@ -170,6 +177,7 @@ class _AdmissionRequestThirdScreenState ? _selectedDoctor['DoctorName'] : null, enabled: false, + validationError: doctorError, onClick: _selectedClinic != null ? model.doctorsList != null && model.doctorsList.length > 0 @@ -263,6 +271,7 @@ class _AdmissionRequestThirdScreenState controller: _sickLeaveCommentsController, minLines: 2, maxLines: 4, + validationError: sickLeaveCommentError, inputType: TextInputType.multiline, ), SizedBox( @@ -331,6 +340,7 @@ class _AdmissionRequestThirdScreenState controller: _postMedicalHistoryController, minLines: 4, maxLines: 6, + validationError: medicalHistoryError, inputType: TextInputType.multiline, ), SizedBox( @@ -341,6 +351,7 @@ class _AdmissionRequestThirdScreenState controller: _postSurgicalHistoryController, minLines: 2, maxLines: 4, + validationError: surgicalHistoryError, inputType: TextInputType.multiline, ), ], @@ -401,6 +412,34 @@ class _AdmissionRequestThirdScreenState } else { DrAppToastMsg.showErrorToast( TranslationBase.of(context).pleaseFill); + + setState(() { + if(_selectedClinic == null){ + clinicError = TranslationBase.of(context).fieldRequired; + }else { + clinicError = null; + } + if(_selectedDoctor == null){ + doctorError = TranslationBase.of(context).fieldRequired; + }else { + doctorError = null; + } + if(_sickLeaveCommentsController.text == ""){ + sickLeaveCommentError = TranslationBase.of(context).fieldRequired; + }else { + sickLeaveCommentError = null; + } + if(_postMedicalHistoryController.text == ""){ + medicalHistoryError = TranslationBase.of(context).fieldRequired; + }else { + medicalHistoryError = null; + } + if(_postSurgicalHistoryController.text == ""){ + surgicalHistoryError = TranslationBase.of(context).fieldRequired; + }else { + surgicalHistoryError = null; + } + }); } }, ), diff --git a/lib/screens/patients/profile/admission-request/admission-request-third-screen.dart b/lib/screens/patients/profile/admission-request/admission-request-third-screen.dart index a48a7c45..bf896145 100644 --- a/lib/screens/patients/profile/admission-request/admission-request-third-screen.dart +++ b/lib/screens/patients/profile/admission-request/admission-request-third-screen.dart @@ -38,6 +38,10 @@ class _AdmissionRequestThirdScreenState dynamic _selectedIcd; dynamic _selectedDiagnosisType; + String diagnosisError; + String icdError; + String diagnosisTypeError; + @override Widget build(BuildContext context) { final routeArgs = ModalRoute.of(context).settings.arguments as Map; @@ -112,6 +116,7 @@ class _AdmissionRequestThirdScreenState : null, enabled: false, isDropDown: true, + validationError: diagnosisError, onClick: model.diagnosisTypesList != null && model.diagnosisTypesList.length > 0 ? () { @@ -157,6 +162,7 @@ class _AdmissionRequestThirdScreenState : null, enabled: false, isDropDown: true, + validationError: icdError, onClick: model.icdCodes != null && model.icdCodes.length > 0 ? () { @@ -204,6 +210,7 @@ class _AdmissionRequestThirdScreenState : null, enabled: false, isDropDown: true, + validationError: diagnosisTypeError, onClick: model.listOfDiagnosisSelectionTypes != null && model.listOfDiagnosisSelectionTypes.length > @@ -312,6 +319,26 @@ class _AdmissionRequestThirdScreenState } else { DrAppToastMsg.showErrorToast( TranslationBase.of(context).pleaseFill); + + setState(() { + if(_selectedDiagnosis == null){ + diagnosisError = TranslationBase.of(context).fieldRequired; + }else { + diagnosisError = null; + } + + if(_selectedIcd == null){ + icdError = TranslationBase.of(context).fieldRequired; + }else { + icdError = null; + } + + if(_selectedDiagnosisType == null){ + diagnosisTypeError = TranslationBase.of(context).fieldRequired; + }else { + diagnosisTypeError = null; + } + }); } }, ), diff --git a/lib/screens/patients/profile/admission-request/admission-request_second-screen.dart b/lib/screens/patients/profile/admission-request/admission-request_second-screen.dart index 2dcfbbf9..a4aebc9f 100644 --- a/lib/screens/patients/profile/admission-request/admission-request_second-screen.dart +++ b/lib/screens/patients/profile/admission-request/admission-request_second-screen.dart @@ -50,6 +50,18 @@ class _AdmissionRequestSecondScreenState dynamic _selectedRoomCategory; dynamic _selectedAdmissionType; + String costError; + String plansError; + String otherInterventionsError; + String expectedDaysError; + String expectedDatesError; + String floorError; + String roomError; + String treatmentsError; + String complicationsError; + String proceduresError; + String admissionTypeError; + @override Widget build(BuildContext context) { final routeArgs = ModalRoute.of(context).settings.arguments as Map; @@ -125,6 +137,7 @@ class _AdmissionRequestSecondScreenState hintText: TranslationBase.of(context).estimatedCost, controller: _estimatedCostController, + validationError: costError, inputType: TextInputType.number, inputFormatters: [ FilteringTextInputFormatter.allow( @@ -138,6 +151,7 @@ class _AdmissionRequestSecondScreenState hintText: TranslationBase.of(context).postPlans, controller: _postPlansEstimatedCostController, inputType: TextInputType.multiline, + validationError: plansError, minLines: 4, maxLines: 6, ), @@ -150,6 +164,7 @@ class _AdmissionRequestSecondScreenState controller: _otherDepartmentsInterventionsController, inputType: TextInputType.multiline, + validationError: otherInterventionsError, minLines: 2, maxLines: 4, ), @@ -170,6 +185,7 @@ class _AdmissionRequestSecondScreenState hintText: TranslationBase.of(context).expectedDays, controller: _expectedDaysController, + validationError: expectedDaysError, inputType: TextInputType.number, inputFormatters: [ FilteringTextInputFormatter.allow( @@ -188,6 +204,7 @@ class _AdmissionRequestSecondScreenState : null, enabled: false, isDropDown: true, + validationError: expectedDatesError, suffixIcon: Icon( Icons.calendar_today, color: Colors.black, @@ -215,6 +232,7 @@ class _AdmissionRequestSecondScreenState : null, enabled: false, isDropDown: true, + validationError: floorError, onClick: model.floorList != null && model.floorList.length > 0 ? () { @@ -314,6 +332,7 @@ class _AdmissionRequestSecondScreenState : null, enabled: false, isDropDown: true, + validationError: roomError, onClick: model.roomCategoryList != null && model.roomCategoryList.length > 0 ? () { @@ -365,6 +384,7 @@ class _AdmissionRequestSecondScreenState TranslationBase.of(context).treatmentLine, controller: _treatmentLineController, inputType: TextInputType.multiline, + validationError: treatmentsError, minLines: 3, maxLines: 5, ), @@ -376,6 +396,7 @@ class _AdmissionRequestSecondScreenState TranslationBase.of(context).complications, controller: _complicationsController, inputType: TextInputType.multiline, + validationError: complicationsError, minLines: 3, maxLines: 5, ), @@ -387,6 +408,7 @@ class _AdmissionRequestSecondScreenState TranslationBase.of(context).otherProcedure, controller: _otherProceduresController, inputType: TextInputType.multiline, + validationError: proceduresError, minLines: 3, maxLines: 5, ), @@ -402,6 +424,7 @@ class _AdmissionRequestSecondScreenState : null, enabled: false, isDropDown: true, + validationError: admissionTypeError, onClick: model.admissionTypeList != null && model.admissionTypeList.length > 0 ? () { @@ -533,6 +556,75 @@ class _AdmissionRequestSecondScreenState } else { DrAppToastMsg.showErrorToast( TranslationBase.of(context).pleaseFill); + + setState(() { + if (_estimatedCostController.text == "") { + costError = TranslationBase.of(context).fieldRequired; + } else { + costError = null; + } + + if (_postPlansEstimatedCostController.text == "") { + plansError = TranslationBase.of(context).fieldRequired; + } else { + plansError = null; + } + + if (_expectedDaysController.text == "") { + expectedDaysError = TranslationBase.of(context).fieldRequired; + } else { + expectedDaysError = null; + } + + if (_expectedAdmissionDate == null) { + expectedDatesError = TranslationBase.of(context).fieldRequired; + } else { + expectedDatesError = null; + } + + if (_otherDepartmentsInterventionsController.text == "") { + otherInterventionsError = TranslationBase.of(context).fieldRequired; + } else { + otherInterventionsError = null; + } + + if (_selectedFloor == null) { + floorError = TranslationBase.of(context).fieldRequired; + } else { + floorError = null; + } + + if (_selectedRoomCategory == null) { + roomError = TranslationBase.of(context).fieldRequired; + } else { + roomError = null; + } + + if (_treatmentLineController.text == "") { + treatmentsError = TranslationBase.of(context).fieldRequired; + } else { + treatmentsError = null; + } + + if (_complicationsController.text == "") { + complicationsError = TranslationBase.of(context).fieldRequired; + } else { + complicationsError = null; + } + + if (_otherProceduresController.text == "") { + proceduresError = TranslationBase.of(context).fieldRequired; + } else { + proceduresError = null; + } + + if (_selectedAdmissionType == null) { + admissionTypeError = TranslationBase.of(context).fieldRequired; + } else { + admissionTypeError = null; + } + }); + } }, ), From 3586d226e06686e23f3f662a7a37d8270d6b708b Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Tue, 13 Apr 2021 16:37:17 +0300 Subject: [PATCH 3/7] insurance approval & medical file design fix --- lib/core/model/insurance_approval.dart | 6 +- lib/icons_app/config.json | 30 +- .../medical-file/medical_file_details.dart | 355 ++++++++------- .../medical-file/medical_file_page.dart | 30 ++ .../insurance_approval_screen_patient.dart | 2 + lib/screens/procedures/ProcedureCard.dart | 155 +++++-- ..._header_with_appointment_card_app_bar.dart | 406 ++++++++---------- lib/widgets/shared/doctor_card_insurance.dart | 29 +- 8 files changed, 582 insertions(+), 431 deletions(-) diff --git a/lib/core/model/insurance_approval.dart b/lib/core/model/insurance_approval.dart index b8a9d2fe..a3717c42 100644 --- a/lib/core/model/insurance_approval.dart +++ b/lib/core/model/insurance_approval.dart @@ -58,6 +58,7 @@ class InsuranceApprovalModel { String approvalStatusDescption; int unUsedCount; String doctorImage; + String projectName; //String companyName; String expiryDate; @@ -91,7 +92,8 @@ class InsuranceApprovalModel { this.rceiptOn, this.apporvalDetails, this.appointmentNo, - this.doctorImage}); + this.doctorImage, + this.projectName}); //InsuranceApprovalDetails x = InsuranceApprovalDetails(); @@ -115,6 +117,7 @@ class InsuranceApprovalModel { deviceTypeID = json['DeviceTypeID']; patientID = json['PatientID']; tokenID = json['TokenID']; + projectName = json['ProjectName']; patientTypeID = json['PatientTypeID']; patientType = json['PatientType']; eXuldAPPNO = json['EXuldAPPNO']; @@ -148,6 +151,7 @@ class InsuranceApprovalModel { data['PatientID'] = this.patientID; data['TokenID'] = this.tokenID; data['DoctorImageURL'] = this.doctorImage; + data['ProjectName'] = this.projectName; data['PatientTypeID'] = this.patientTypeID; data['PatientType'] = this.patientType; diff --git a/lib/icons_app/config.json b/lib/icons_app/config.json index 7c33c9e0..683e03f3 100644 --- a/lib/icons_app/config.json +++ b/lib/icons_app/config.json @@ -2355,6 +2355,34 @@ "search": [ "verify-sms" ] + }, + { + "uid": "efc8c6ed2dab146bc55ca80fdd9bc511", + "css": "124", + "code": 59555, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M315.2 3.2L315.2 3.2A45.2 45.2 0 0 1 322.4 3.2S326 3.2 328.4 3.2H328.4A42.4 42.4 0 0 1 336 3.2H336A26.4 26.4 0 0 1 342 3.2H342A37.6 37.6 0 0 1 346.8 6.8 40 40 0 0 1 353.6 11.6L353.6 11.6 600.8 278.8A40 40 0 0 1 604.4 335.2 40 40 0 0 1 547.6 335.2L370 142.8V920H1250A40 40 0 0 1 1250 1000H330A40 40 0 0 1 290 960V129.2L66.4 329.2A40 40 0 0 1 10 325.6 40 40 0 0 1 0 299.2 40 40 0 0 1 13.2 269.2L304.8 10.4A36.4 36.4 0 0 1 310 7.2 40 40 0 0 1 315.2 3.2Z", + "width": 1290 + }, + "search": [ + "124" + ] + }, + { + "uid": "2251120e332d8914aca7fb2d3fbe00f2", + "css": "123", + "code": 59556, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M773 755.3S773 755.3 773 755.3A38.8 38.8 0 0 0 773 749.5 21.7 21.7 0 0 0 773 745.1V745.1A55.8 55.8 0 0 0 773 739.2H773A25.7 25.7 0 0 0 773 734.6V734.6S770.9 732.1 769.9 730.5A31 31 0 0 0 766.2 725.3H766.2L558.1 529.6A31 31 0 0 0 514.1 531.5 31 31 0 0 0 516 575.2L665.1 713.2H62V31A31 31 0 0 0 0 31V744.2A31 31 0 0 0 31 775.2H675.3L520.3 948.5A31 31 0 1 0 566.8 989.5L766.2 764.7S766.2 762.2 768.4 760.9A33.5 33.5 0 0 0 773 755.3Z", + "width": 775 + }, + "search": [ + "123" + ] } - ] + ] } \ No newline at end of file diff --git a/lib/screens/medical-file/medical_file_details.dart b/lib/screens/medical-file/medical_file_details.dart index bc3323ad..765275b0 100644 --- a/lib/screens/medical-file/medical_file_details.dart +++ b/lib/screens/medical-file/medical_file_details.dart @@ -9,6 +9,7 @@ import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart'; import 'package:doctor_app_flutter/widgets/shared/Text.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -26,6 +27,11 @@ class MedicalFileDetails extends StatefulWidget { int encounterNumber; int pp; PatiantInformtion patient; + String clinicName; + String episode; + String doctorName; + String vistDate; + String doctorImage; MedicalFileDetails( {this.age, @@ -34,7 +40,12 @@ class MedicalFileDetails extends StatefulWidget { this.gender, this.encounterNumber, this.pp, - this.patient}); + this.patient, + this.doctorName, + this.vistDate, + this.clinicName, + this.episode, + this.doctorImage}); @override _MedicalFileDetailsState createState() => _MedicalFileDetailsState( @@ -45,6 +56,11 @@ class MedicalFileDetails extends StatefulWidget { encounterNumber: encounterNumber, pp: pp, patient: patient, + clinicName: clinicName, + doctorName: doctorName, + episode: episode, + vistDate: vistDate, + doctorImage: doctorImage, ); } @@ -56,6 +72,11 @@ class _MedicalFileDetailsState extends State { String gender; int pp; PatiantInformtion patient; + String clinicName; + String episode; + String doctorName; + String vistDate; + String doctorImage; _MedicalFileDetailsState( {this.age, @@ -64,7 +85,12 @@ class _MedicalFileDetailsState extends State { this.gender, this.encounterNumber, this.pp, - this.patient}); + this.patient, + this.doctorName, + this.vistDate, + this.clinicName, + this.episode, + this.doctorImage}); bool isPhysicalExam = true; bool isProcedureExpand = true; bool isHistoryExpand = true; @@ -78,8 +104,21 @@ class _MedicalFileDetailsState extends State { builder: (BuildContext context, MedicalFileViewModel model, Widget child) => AppScaffold( - appBar: PatientProfileHeaderNewDesignAppBar( - patient, patient.patientType.toString(), patient.arrivedOn), + appBar: PatientProfileHeaderWhitAppointmentAppBar( + patient: patient, + patientType: patient.patientType.toString() ?? "0", + arrivalType: patient.arrivedOn.toString() ?? 0, + doctorName: doctorName, + profileUrl: doctorImage, + clinic: clinicName, + isPrescriptions: true, + isMedicalFile: true, + episode: episode, + vistDate: + '${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat( + vistDate, + ), isArabic: projectViewModel.isArabic)}', + ), isShowAppBar: true, appBarTitle: TranslationBase.of(context).medicalReport.toUpperCase(), body: NetworkBaseView( @@ -105,160 +144,160 @@ class _MedicalFileDetailsState extends State { child: Container( child: Column( children: [ - Container( - width: double.infinity, - margin: EdgeInsets.only( - top: 10, left: 10, right: 10), - padding: EdgeInsets.all(8.0), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all( - Radius.circular(10.0), - ), - border: Border.all( - color: Colors.grey[200], width: 0.5), - ), - child: Column( - children: [ - Row( - children: [ - if (model.medicalFileList.length != - 0 && - model - .medicalFileList[0] - .entityList[0] - .timelines[ - encounterNumber] - .timeLineEvents[0] - .consulations - .length != - 0) - Expanded( - child: AppText( - model - .medicalFileList[0] - .entityList[0] - .timelines[ - encounterNumber] - .timeLineEvents[0] - .consulations[0] - .doctorName - .toUpperCase(), - fontWeight: FontWeight.w700, - ), - ), - ], - ), - if (model.medicalFileList.length != 0) - Row( - children: [ - AppText( - TranslationBase.of(context) - .clinic + - ": ", - ), - if (model.medicalFileList - .length != - 0 && - model - .medicalFileList[0] - .entityList[0] - .timelines[ - encounterNumber] - .timeLineEvents[0] - .consulations - .length != - 0) - AppText( - model - .medicalFileList[0] - .entityList[0] - .timelines[ - encounterNumber] - .timeLineEvents[0] - .consulations[0] - .clinicName, - fontWeight: FontWeight.w700, - ), - ], - ), - Row( - children: [ - AppText( - TranslationBase.of(context) - .episode + - ": ", - //fontWeight: FontWeight.w700, - ), - if (model.medicalFileList.length != - 0 && - model - .medicalFileList[0] - .entityList[0] - .timelines[ - encounterNumber] - .timeLineEvents[0] - .consulations - .length != - 0) - AppText( - model - .medicalFileList[0] - .entityList[0] - .timelines[encounterNumber] - .timeLineEvents[0] - .consulations[0] - .episodeID - .toString(), - fontWeight: FontWeight.w700, - ), - ], - ), - Row( - children: [ - AppText( - TranslationBase.of(context) - .visitDate + - ": ", - //fontWeight: FontWeight.w700, - ), - if (model.medicalFileList.length != - 0 && - model - .medicalFileList[0] - .entityList[0] - .timelines[ - encounterNumber] - .timeLineEvents[0] - .consulations - .length != - 0) - AppText( - '${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat( - model - .medicalFileList[0] - .entityList[0] - .timelines[ - encounterNumber] - .date, - ), isArabic: projectViewModel.isArabic)}', - color: Colors.black, - fontWeight: FontWeight.w700, - fontSize: 14, - ), - SizedBox(width: 35.0), - // AppText( - // 'Appt Date : ', - // fontWeight: FontWeight.w700, - // ), - // AppText( - // '23/12/2020', - // ), - ], - ), - ], - ), - ), + // Container( + // width: double.infinity, + // margin: EdgeInsets.only( + // top: 10, left: 10, right: 10), + // padding: EdgeInsets.all(8.0), + // decoration: BoxDecoration( + // color: Colors.white, + // borderRadius: BorderRadius.all( + // Radius.circular(10.0), + // ), + // border: Border.all( + // color: Colors.grey[200], width: 0.5), + // ), + // child: Column( + // children: [ + // Row( + // children: [ + // if (model.medicalFileList.length != + // 0 && + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[ + // encounterNumber] + // .timeLineEvents[0] + // .consulations + // .length != + // 0) + // Expanded( + // child: AppText( + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[ + // encounterNumber] + // .timeLineEvents[0] + // .consulations[0] + // .doctorName + // .toUpperCase(), + // fontWeight: FontWeight.w700, + // ), + // ), + // ], + // ), + // if (model.medicalFileList.length != 0) + // Row( + // children: [ + // AppText( + // TranslationBase.of(context) + // .clinic + + // ": ", + // ), + // if (model.medicalFileList + // .length != + // 0 && + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[ + // encounterNumber] + // .timeLineEvents[0] + // .consulations + // .length != + // 0) + // AppText( + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[ + // encounterNumber] + // .timeLineEvents[0] + // .consulations[0] + // .clinicName, + // fontWeight: FontWeight.w700, + // ), + // ], + // ), + // Row( + // children: [ + // AppText( + // TranslationBase.of(context) + // .episode + + // ": ", + // //fontWeight: FontWeight.w700, + // ), + // if (model.medicalFileList.length != + // 0 && + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[ + // encounterNumber] + // .timeLineEvents[0] + // .consulations + // .length != + // 0) + // AppText( + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[encounterNumber] + // .timeLineEvents[0] + // .consulations[0] + // .episodeID + // .toString(), + // fontWeight: FontWeight.w700, + // ), + // ], + // ), + // Row( + // children: [ + // AppText( + // TranslationBase.of(context) + // .visitDate + + // ": ", + // //fontWeight: FontWeight.w700, + // ), + // if (model.medicalFileList.length != + // 0 && + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[ + // encounterNumber] + // .timeLineEvents[0] + // .consulations + // .length != + // 0) + // AppText( + // '${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat( + // model + // .medicalFileList[0] + // .entityList[0] + // .timelines[ + // encounterNumber] + // .date, + // ), isArabic: projectViewModel.isArabic)}', + // color: Colors.black, + // fontWeight: FontWeight.w700, + // fontSize: 14, + // ), + // SizedBox(width: 35.0), + // // AppText( + // // 'Appt Date : ', + // // fontWeight: FontWeight.w700, + // // ), + // // AppText( + // // '23/12/2020', + // // ), + // ], + // ), + // ], + // ), + // ), SizedBox(height: 25.0), if (model.medicalFileList.length != 0 && diff --git a/lib/screens/medical-file/medical_file_page.dart b/lib/screens/medical-file/medical_file_page.dart index 46ec0ac3..48118c7e 100644 --- a/lib/screens/medical-file/medical_file_page.dart +++ b/lib/screens/medical-file/medical_file_page.dart @@ -110,6 +110,36 @@ class _MedicalFilePageState extends State { encounterNumber: index, pp: patient.patientId, patient: patient, + doctorName: model + .medicalFileList[0] + .entityList[0] + .timelines[index] + .doctorName, + clinicName: model + .medicalFileList[0] + .entityList[0] + .timelines[index] + .clinicName, + doctorImage: model + .medicalFileList[0] + .entityList[0] + .timelines[index] + .doctorImage, + episode: model + .medicalFileList[0] + .entityList[0] + .timelines[index] + .timeLineEvents[0] + .consulations[0] + .episodeID + .toString(), + vistDate: model + .medicalFileList[0] + .entityList[0] + .timelines[index] + .date + .toString() + .toString(), )), ); }, diff --git a/lib/screens/patients/insurance_approval_screen_patient.dart b/lib/screens/patients/insurance_approval_screen_patient.dart index b342de9c..8fcc9f66 100644 --- a/lib/screens/patients/insurance_approval_screen_patient.dart +++ b/lib/screens/patients/insurance_approval_screen_patient.dart @@ -150,6 +150,8 @@ class _InsuranceApprovalScreenNewState approvalStatus: model.insuranceApproval[index] .approvalStatusDescption ?? '', + branch2: + model.insuranceApproval[index].projectName, ), ), ), diff --git a/lib/screens/procedures/ProcedureCard.dart b/lib/screens/procedures/ProcedureCard.dart index 1b51ba30..9f62d253 100644 --- a/lib/screens/procedures/ProcedureCard.dart +++ b/lib/screens/procedures/ProcedureCard.dart @@ -1,3 +1,4 @@ +import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/model/procedure/get_ordered_procedure_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; @@ -26,7 +27,7 @@ class ProcedureCard extends StatelessWidget { ProjectViewModel projectViewModel = Provider.of(context); return Container( width: double.maxFinite, - height: MediaQuery.of(context).size.height * .22, + //height: MediaQuery.of(context).size.height * .22, margin: EdgeInsets.all(10), padding: EdgeInsets.only(left: 0, right: 5, bottom: 5, top: 5), decoration: BoxDecoration( @@ -79,7 +80,7 @@ class ProcedureCard extends StatelessWidget { ), Texts( entityList.procedureName, - bold: true, + fontWeight: FontWeight.w700, fontSize: 14, ), ], @@ -119,46 +120,48 @@ class ProcedureCard extends StatelessWidget { Texts( entityList.orderNo.toString(), fontSize: 12, - bold: true, - ), - ], - ), - Row( - children: [ - Texts( - TranslationBase.of(context).doctorName + ": ", - //color: Colors.grey, - fontSize: 12, - color: Colors.grey, - ), - Texts( - entityList.doctorName.toString(), - fontSize: 12, - bold: true, - ), - ], - ), - Row( - children: [ - Texts( - TranslationBase.of(context).clinic + ": ", - //color: Colors.grey, - fontSize: 12, - color: Colors.grey, - ), - Texts( - entityList.clinicDescription.toString(), - bold: true, - fontSize: 12, + fontWeight: FontWeight.w700, ), ], ), + // Row( + // children: [ + // Texts( + // TranslationBase.of(context).doctorName + ": ", + // //color: Colors.grey, + // fontSize: 12, + // color: Colors.grey, + // ), + // Texts( + // entityList.doctorName.toString(), + // fontSize: 12, + // bold: true, + // ), + // ], + // ), + // Row( + // children: [ + // Texts( + // TranslationBase.of(context).clinic + ": ", + // //color: Colors.grey, + // fontSize: 12, + // color: Colors.grey, + // ), + // Texts( + // entityList.clinicDescription.toString(), + // bold: true, + // fontSize: 12, + // ), + // ], + // ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Texts( - entityList.remarks.toString() ?? '', - fontSize: 12, + Expanded( + child: Texts( + entityList.remarks.toString() ?? '----', + fontSize: 12, + ), ), if (entityList.categoryID == 2 || entityList.categoryID == 4) @@ -167,7 +170,85 @@ class ProcedureCard extends StatelessWidget { onTap: onTap, ) ], - ) + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: 30, + height: 30, + margin: EdgeInsets.only( + left: + projectViewModel.isArabic ? 5 : 5 /*10:85*/, + right: + projectViewModel.isArabic ? 5 : 5 /*85:10*/, + top: 5), + decoration: BoxDecoration( + shape: BoxShape.rectangle, + border: Border( + bottom: BorderSide( + color: Colors.grey[400], width: 2.5), + left: BorderSide( + color: Colors.grey[400], width: 2.5), + )), + ), + Expanded( + flex: 4, + child: Container( + margin: EdgeInsets.only( + left: 5, top: 25, right: 10, bottom: 0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RichText( + text: TextSpan( + style: TextStyle( + fontSize: + 2.0 * SizeConfig.textMultiplier, + color: Colors.black), + children: [ + TextSpan( + text: "Dr.".toString(), + style: TextStyle( + fontSize: 13, + fontFamily: 'Poppins')), + TextSpan( + text: entityList.doctorName, + style: TextStyle( + fontWeight: FontWeight.w700, + fontFamily: 'Poppins', + fontSize: 14)), + ], + ), + ), + RichText( + text: TextSpan( + style: TextStyle( + fontSize: + 2.0 * SizeConfig.textMultiplier, + color: Colors.black), + children: [ + TextSpan( + text: TranslationBase.of(context) + .clinic, + style: TextStyle( + fontSize: 13, + fontFamily: 'Poppins')), + TextSpan( + text: entityList.clinicDescription, + style: TextStyle( + fontWeight: FontWeight.w700, + fontFamily: 'Poppins', + fontSize: 14)), + ], + ), + ) + ], + ), + ), + ), + ], + ), ], ), //onTap: onTap, diff --git a/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart b/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart index ddb52e84..4a55435d 100644 --- a/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart +++ b/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart @@ -15,8 +15,8 @@ import 'package:provider/provider.dart'; import 'large_avatar.dart'; -class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with PreferredSizeWidget { - +class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget + with PreferredSizeWidget { final PatiantInformtion patient; final String patientType; final String arrivalType; @@ -27,6 +27,9 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre final String invoiceNO; final String orderNo; final bool isPrescriptions; + final bool isMedicalFile; + final String episode; + final String vistDate; final String clinic; PatientProfileHeaderWhitAppointmentAppBar( @@ -38,7 +41,12 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre this.appointmentDate, this.profileUrl, this.invoiceNO, - this.orderNo, this.isPrescriptions = false, this.clinic}); + this.orderNo, + this.isPrescriptions = false, + this.clinic, + this.isMedicalFile = false, + this.episode, + this.vistDate}); @override Widget build(BuildContext context) { @@ -51,8 +59,7 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre } return Container( - padding: EdgeInsets.only( - left: 0, right: 5, bottom: 5, top: 5), + padding: EdgeInsets.only(left: 0, right: 5, bottom: 5, top: 5), decoration: BoxDecoration( color: Colors.white, ), @@ -73,12 +80,12 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), Expanded( child: AppText( - patient.firstName != null ? - (Helpers.capitalize(patient.firstName) + - " " + - Helpers.capitalize( - patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName), - fontSize: SizeConfig.textMultiplier *2.2, + patient.firstName != null + ? (Helpers.capitalize(patient.firstName) + + " " + + Helpers.capitalize(patient.lastName)) + : Helpers.capitalize(patient.patientDetails.fullName), + fontSize: SizeConfig.textMultiplier * 2.2, fontWeight: FontWeight.bold, backGroundcolor: Colors.white, fontFamily: 'Poppins', @@ -86,13 +93,13 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), gender == 1 ? Icon( - DoctorApp.male_2, - color: Colors.blue, - ) + DoctorApp.male_2, + color: Colors.blue, + ) : Icon( - DoctorApp.female_1, - color: Colors.pink, - ), + DoctorApp.female_1, + color: Colors.pink, + ), ]), ), Row(children: [ @@ -114,119 +121,84 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), Expanded( child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, children: [ - SERVICES_PATIANT2[ - int.parse(patientType)] == - "patientArrivalList" + SERVICES_PATIANT2[int.parse(patientType)] == + "patientArrivalList" ? Container( - child: Row( - mainAxisAlignment: - MainAxisAlignment - .spaceBetween, - children: [ - patient.patientStatusType == - 43 - ? AppText( - TranslationBase.of( - context) - .arrivedP, - color: Colors.green, - fontWeight: - FontWeight.bold, - fontFamily: - 'Poppins', - fontSize: 12, - ) - : AppText( - TranslationBase.of( - context) - .notArrived, - color: - Colors.red[800], - fontWeight: - FontWeight.bold, - fontFamily: - 'Poppins', - fontSize: 12, - ), - arrivalType == '1' || patient.arrivedOn == null - ? AppText( - patient.startTime != - null - ? patient - .startTime - : '', - fontFamily: - 'Poppins', - fontWeight: - FontWeight.w600, - ) - : AppText( - DateUtils.convertStringToDateFormat( - patient - .arrivedOn, - 'MM-dd-yyyy HH:mm'), - fontFamily: - 'Poppins', - fontWeight: - FontWeight.w600, - ) - ], - )) + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + patient.patientStatusType == 43 + ? AppText( + TranslationBase.of(context).arrivedP, + color: Colors.green, + fontWeight: FontWeight.bold, + fontFamily: 'Poppins', + fontSize: 12, + ) + : AppText( + TranslationBase.of(context).notArrived, + color: Colors.red[800], + fontWeight: FontWeight.bold, + fontFamily: 'Poppins', + fontSize: 12, + ), + arrivalType == '1' || patient.arrivedOn == null + ? AppText( + patient.startTime != null + ? patient.startTime + : '', + fontFamily: 'Poppins', + fontWeight: FontWeight.w600, + ) + : AppText( + DateUtils.convertStringToDateFormat( + patient.arrivedOn, + 'MM-dd-yyyy HH:mm'), + fontFamily: 'Poppins', + fontWeight: FontWeight.w600, + ) + ], + )) : SizedBox(), - if (SERVICES_PATIANT2[ - int.parse(patientType)] == + if (SERVICES_PATIANT2[int.parse(patientType)] == "List_MyOutPatient") Container( child: Row( - mainAxisAlignment: - MainAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, children: [ AppText( - TranslationBase.of(context) - .appointmentDate + + TranslationBase.of(context).appointmentDate + " : ", fontSize: 14, ), patient.startTime != null ? Container( - height: 15, - width: 60, - decoration: - BoxDecoration( - borderRadius: - BorderRadius - .circular( - 25), - color: HexColor( - "#20A169"), - ), - child: AppText( - patient.startTime, - color: Colors.white, - fontSize: 1.5 * - SizeConfig - .textMultiplier, - textAlign: TextAlign - .center, - fontWeight: - FontWeight.bold, - ), - ) + height: 15, + width: 60, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(25), + color: HexColor("#20A169"), + ), + child: AppText( + patient.startTime, + color: Colors.white, + fontSize: 1.5 * SizeConfig.textMultiplier, + textAlign: TextAlign.center, + fontWeight: FontWeight.bold, + ), + ) : SizedBox(), SizedBox( width: 3.5, ), Container( child: AppText( - convertDateFormat2(patient.appointmentDate.toString()?? ''), - fontSize: 1.5 * - SizeConfig - .textMultiplier, - fontWeight: - FontWeight.bold, + convertDateFormat2( + patient.appointmentDate.toString() ?? ''), + fontSize: 1.5 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, ), ), SizedBox( @@ -239,34 +211,23 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), ), Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ RichText( text: TextSpan( style: TextStyle( - fontSize: 1.6 * - SizeConfig - .textMultiplier, + fontSize: 1.6 * SizeConfig.textMultiplier, color: Colors.black), children: [ new TextSpan( - text: - TranslationBase.of( - context) - .fileNumber, + text: TranslationBase.of(context).fileNumber, style: TextStyle( - fontSize: 12, - fontFamily: - 'Poppins')), + fontSize: 12, fontFamily: 'Poppins')), new TextSpan( - text: patient.patientId - .toString(), + text: patient.patientId.toString(), style: TextStyle( - fontWeight: - FontWeight.w700, - fontFamily: - 'Poppins', + fontWeight: FontWeight.w700, + fontFamily: 'Poppins', fontSize: 14)), ], ), @@ -274,32 +235,23 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre Row( children: [ AppText( - patient.nationalityName ?? - patient.nationality, + patient.nationalityName ?? patient.nationality, fontWeight: FontWeight.bold, fontSize: 12, ), patient.nationality != null ? ClipRRect( - borderRadius: - BorderRadius - .circular( - 20.0), - child: Image.network( - patient.nationalityFlagURL, - height: 25, - width: 30, - errorBuilder: - (BuildContext - context, - Object - exception, - StackTrace - stackTrace) { - return Text( - 'No Image'); - }, - )) + borderRadius: BorderRadius.circular(20.0), + child: Image.network( + patient.nationalityFlagURL, + height: 25, + width: 30, + errorBuilder: (BuildContext context, + Object exception, + StackTrace stackTrace) { + return Text('No Image'); + }, + )) : SizedBox() ], ) @@ -309,26 +261,19 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre child: RichText( text: new TextSpan( style: new TextStyle( - fontSize: 1.6 * - SizeConfig.textMultiplier, + fontSize: 1.6 * SizeConfig.textMultiplier, color: Colors.black, fontFamily: 'Poppins', ), children: [ new TextSpan( - text: TranslationBase.of( - context) - .age + - " : ", - style: TextStyle( - fontSize: 14)), + text: TranslationBase.of(context).age + " : ", + style: TextStyle(fontSize: 14)), new TextSpan( text: - "${DateUtils.getAgeByBirthday(patient.patientDetails != null ? patient.patientDetails.dateofBirth : patient.dateofBirth, context)}", + "${DateUtils.getAgeByBirthday(patient.patientDetails != null ? patient.patientDetails.dateofBirth : patient.dateofBirth, context)}", style: TextStyle( - fontWeight: - FontWeight.w700, - fontSize: 14)), + fontWeight: FontWeight.w700, fontSize: 14)), ], ), ), @@ -343,14 +288,16 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre Container( width: 30, height: 30, - margin: EdgeInsets.only(left: projectViewModel.isArabic?10:85, right: projectViewModel.isArabic?85:10,top: 5), + margin: EdgeInsets.only( + left: projectViewModel.isArabic ? 10 : 85, + right: projectViewModel.isArabic ? 85 : 10, + top: 5), decoration: BoxDecoration( - shape: BoxShape.rectangle, - border: Border( - bottom:BorderSide(color: Colors.grey[400],width: 2.5), - left: BorderSide(color: Colors.grey[400],width: 2.5), - ) - ), + shape: BoxShape.rectangle, + border: Border( + bottom: BorderSide(color: Colors.grey[400], width: 2.5), + left: BorderSide(color: Colors.grey[400], width: 2.5), + )), ), Expanded( child: Container( @@ -358,15 +305,16 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - child: LargeAvatar( - name: doctorName, - url: profileUrl, + if (doctorName != null && profileUrl != null) + Container( + child: LargeAvatar( + name: doctorName, + url: profileUrl, + ), + width: 25, + height: 25, + margin: EdgeInsets.only(top: 10), ), - width: 25, - height: 25, - margin: EdgeInsets.only(top: 10), - ), Expanded( flex: 4, child: Container( @@ -383,76 +331,78 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre if (orderNo != null && !isPrescriptions) Row( children: [ - Texts( - 'Order No: ', - color: Colors.grey[800], - fontSize: 12 - ), - Texts( - orderNo ?? '',fontSize: 12 - ) + Texts('Order No: ', + color: Colors.grey[800], + fontSize: 12), + Texts(orderNo ?? '', fontSize: 12) ], ), if (invoiceNO != null && !isPrescriptions) Row( children: [ - Texts( - 'Invoice: ', - color: Colors.grey[800], - fontSize: 12 - ), - Texts( - invoiceNO, - fontSize: 12 - ) + Texts('Invoice: ', + color: Colors.grey[800], + fontSize: 12), + Texts(invoiceNO, fontSize: 12) ], ), - if(isPrescriptions && branch!=null) + if (isPrescriptions && branch != null) Row( children: [ - Texts( - 'Branch: ', - color: Colors.grey[800], - fontSize: 12 - ), - Texts( - branch?? '', - fontSize: 12 - ) + Texts('Branch: ', + color: Colors.grey[800], + fontSize: 12), + Texts(branch ?? '', fontSize: 12) ], ), - if(isPrescriptions) + if (isPrescriptions) Row( children: [ - Texts( - 'Clinic: ', - color: Colors.grey[800], - fontSize: 12 - ), - Texts( - clinic?? '', - fontSize: 12 - ) + Texts('Clinic: ', + color: Colors.grey[800], + fontSize: 12), + Texts(clinic ?? '', fontSize: 12) + ], + ), + if (isMedicalFile && episode != null) + Row( + children: [ + Texts('Episode: ', + color: Colors.grey[800], + fontSize: 12), + Texts(episode ?? '', fontSize: 12) + ], + ), + if (isMedicalFile && vistDate != null) + Row( + children: [ + Texts('Visit Date: ', + color: Colors.grey[800], + fontSize: 12), + Texts(vistDate ?? '', fontSize: 12) ], ), Row( children: [ - Expanded( - child: Texts( - !isPrescriptions? 'Result Date: ': 'Prescriptions Date ', - color: Colors.grey[800], - fontSize: 12, + if (!isMedicalFile) + Expanded( + child: Texts( + !isPrescriptions + ? 'Result Date: ' + : 'Prescriptions Date ', + color: Colors.grey[800], + fontSize: 12, + ), ), - ), Texts( - '${DateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}',fontSize: 14, + '${DateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}', + fontSize: 14, ) ], ) ]), ), ), - ], ), ), @@ -466,7 +416,7 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre } convertDateFormat2(String str) { - String newDate =""; + String newDate = ""; const start = "/Date("; const end = "+0300)"; @@ -477,10 +427,10 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre var date = new DateTime.fromMillisecondsSinceEpoch( int.parse(str.substring(startIndex + start.length, endIndex))); newDate = date.year.toString() + - "/" + - date.month.toString().padLeft(2, '0') + - "/" + - date.day.toString().padLeft(2, '0'); + "/" + + date.month.toString().padLeft(2, '0') + + "/" + + date.day.toString().padLeft(2, '0'); } return newDate.toString(); @@ -504,5 +454,5 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre } @override - Size get preferredSize => Size(double.maxFinite,290); + Size get preferredSize => Size(double.maxFinite, 290); } diff --git a/lib/widgets/shared/doctor_card_insurance.dart b/lib/widgets/shared/doctor_card_insurance.dart index 6b144f53..fce3e316 100644 --- a/lib/widgets/shared/doctor_card_insurance.dart +++ b/lib/widgets/shared/doctor_card_insurance.dart @@ -19,6 +19,7 @@ class DoctorCardInsurance extends StatelessWidget { final String clinic; final String approvalStatus; final String patientOut; + final String branch2; DoctorCardInsurance( {this.doctorName, @@ -31,7 +32,8 @@ class DoctorCardInsurance extends StatelessWidget { this.isPrescriptions = false, this.clinic, this.approvalStatus, - this.patientOut}); + this.patientOut, + this.branch2}); @override Widget build(BuildContext context) { @@ -108,7 +110,7 @@ class DoctorCardInsurance extends StatelessWidget { ], ), Row( - crossAxisAlignment: CrossAxisAlignment.end, + crossAxisAlignment: CrossAxisAlignment.center, children: [ Container( child: LargeAvatar( @@ -161,23 +163,38 @@ class DoctorCardInsurance extends StatelessWidget { child: Texts( clinic, fontWeight: FontWeight.w700, + fontSize: 15.0, ), ) ], ), - if (branch != null) + if (branch2 != null) Row( children: [ Texts( - 'Approval No: ', + 'Branch:', //color: Colors.grey[500], ), Texts( - branch, + branch2, fontWeight: FontWeight.w700, + fontSize: 15.0, ) ], - ) + ), + Row( + children: [ + Texts( + 'Approval No: ', + //color: Colors.grey[500], + ), + Texts( + branch, + fontWeight: FontWeight.w700, + fontSize: 15.0, + ) + ], + ), ]), ), ), From 0578bb5ed307ecdebdff3560451457d76334448e Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Tue, 13 Apr 2021 16:51:14 +0300 Subject: [PATCH 4/7] insurance approval & medical file design fix --- lib/screens/procedures/ProcedureCard.dart | 2 +- ..._header_with_appointment_card_app_bar.dart | 251 +++++++----------- 2 files changed, 102 insertions(+), 151 deletions(-) diff --git a/lib/screens/procedures/ProcedureCard.dart b/lib/screens/procedures/ProcedureCard.dart index 43be9b71..e9cdd316 100644 --- a/lib/screens/procedures/ProcedureCard.dart +++ b/lib/screens/procedures/ProcedureCard.dart @@ -148,7 +148,7 @@ class ProcedureCard extends StatelessWidget { color: Colors.grey, ), Texts( - entityList.clinicDescription??"", + entityList.clinicDescription ?? "", bold: true, fontSize: 12, ), diff --git a/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart b/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart index e8bc3513..02f859fa 100644 --- a/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart +++ b/lib/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart @@ -15,8 +15,8 @@ import 'package:provider/provider.dart'; import 'large_avatar.dart'; -class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with PreferredSizeWidget { - +class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget + with PreferredSizeWidget { final PatiantInformtion patient; final String patientType; final String arrivalType; @@ -59,8 +59,7 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre } return Container( - padding: EdgeInsets.only( - left: 0, right: 5, bottom: 5, top: 5), + padding: EdgeInsets.only(left: 0, right: 5, bottom: 5, top: 5), decoration: BoxDecoration( color: Colors.white, ), @@ -81,12 +80,12 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), Expanded( child: AppText( - patient.firstName != null ? - (Helpers.capitalize(patient.firstName) + - " " + - Helpers.capitalize( - patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName), - fontSize: SizeConfig.textMultiplier *2.2, + patient.firstName != null + ? (Helpers.capitalize(patient.firstName) + + " " + + Helpers.capitalize(patient.lastName)) + : Helpers.capitalize(patient.patientDetails.fullName), + fontSize: SizeConfig.textMultiplier * 2.2, fontWeight: FontWeight.bold, backGroundcolor: Colors.white, fontFamily: 'Poppins', @@ -94,13 +93,13 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), gender == 1 ? Icon( - DoctorApp.male_2, - color: Colors.blue, - ) + DoctorApp.male_2, + color: Colors.blue, + ) : Icon( - DoctorApp.female_1, - color: Colors.pink, - ), + DoctorApp.female_1, + color: Colors.pink, + ), ]), ), Row(children: [ @@ -122,12 +121,10 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), Expanded( child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, children: [ - SERVICES_PATIANT2[ - int.parse(patientType)] == - "patientArrivalList" + SERVICES_PATIANT2[int.parse(patientType)] == + "patientArrivalList" ? Container( child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -165,57 +162,43 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ], )) : SizedBox(), - if (SERVICES_PATIANT2[ - int.parse(patientType)] == + if (SERVICES_PATIANT2[int.parse(patientType)] == "List_MyOutPatient") Container( child: Row( - mainAxisAlignment: - MainAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, children: [ AppText( - TranslationBase.of(context) - .appointmentDate + + TranslationBase.of(context).appointmentDate + " : ", fontSize: 14, ), patient.startTime != null ? Container( - height: 15, - width: 60, - decoration: - BoxDecoration( - borderRadius: - BorderRadius - .circular( - 25), - color: HexColor( - "#20A169"), - ), - child: AppText( - patient.startTime, - color: Colors.white, - fontSize: 1.5 * - SizeConfig - .textMultiplier, - textAlign: TextAlign - .center, - fontWeight: - FontWeight.bold, - ), - ) + height: 15, + width: 60, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(25), + color: HexColor("#20A169"), + ), + child: AppText( + patient.startTime, + color: Colors.white, + fontSize: 1.5 * SizeConfig.textMultiplier, + textAlign: TextAlign.center, + fontWeight: FontWeight.bold, + ), + ) : SizedBox(), SizedBox( width: 3.5, ), Container( child: AppText( - convertDateFormat2(patient.appointmentDate.toString()?? ''), - fontSize: 1.5 * - SizeConfig - .textMultiplier, - fontWeight: - FontWeight.bold, + convertDateFormat2( + patient.appointmentDate.toString() ?? ''), + fontSize: 1.5 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, ), ), SizedBox( @@ -228,34 +211,23 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ), ), Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ RichText( text: TextSpan( style: TextStyle( - fontSize: 1.6 * - SizeConfig - .textMultiplier, + fontSize: 1.6 * SizeConfig.textMultiplier, color: Colors.black), children: [ new TextSpan( - text: - TranslationBase.of( - context) - .fileNumber, + text: TranslationBase.of(context).fileNumber, style: TextStyle( - fontSize: 12, - fontFamily: - 'Poppins')), + fontSize: 12, fontFamily: 'Poppins')), new TextSpan( - text: patient.patientId - .toString(), + text: patient.patientId.toString(), style: TextStyle( - fontWeight: - FontWeight.w700, - fontFamily: - 'Poppins', + fontWeight: FontWeight.w700, + fontFamily: 'Poppins', fontSize: 14)), ], ), @@ -263,32 +235,23 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre Row( children: [ AppText( - patient.nationalityName ?? - patient.nationality, + patient.nationalityName ?? patient.nationality, fontWeight: FontWeight.bold, fontSize: 12, ), patient.nationality != null ? ClipRRect( - borderRadius: - BorderRadius - .circular( - 20.0), - child: Image.network( - patient.nationalityFlagURL, - height: 25, - width: 30, - errorBuilder: - (BuildContext - context, - Object - exception, - StackTrace - stackTrace) { - return Text( - 'No Image'); - }, - )) + borderRadius: BorderRadius.circular(20.0), + child: Image.network( + patient.nationalityFlagURL, + height: 25, + width: 30, + errorBuilder: (BuildContext context, + Object exception, + StackTrace stackTrace) { + return Text('No Image'); + }, + )) : SizedBox() ], ) @@ -298,26 +261,19 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre child: RichText( text: new TextSpan( style: new TextStyle( - fontSize: 1.6 * - SizeConfig.textMultiplier, + fontSize: 1.6 * SizeConfig.textMultiplier, color: Colors.black, fontFamily: 'Poppins', ), children: [ new TextSpan( - text: TranslationBase.of( - context) - .age + - " : ", - style: TextStyle( - fontSize: 14)), + text: TranslationBase.of(context).age + " : ", + style: TextStyle(fontSize: 14)), new TextSpan( text: - "${DateUtils.getAgeByBirthday(patient.patientDetails != null ? patient.patientDetails.dateofBirth : patient.dateofBirth, context)}", + "${DateUtils.getAgeByBirthday(patient.patientDetails != null ? patient.patientDetails.dateofBirth : patient.dateofBirth, context)}", style: TextStyle( - fontWeight: - FontWeight.w700, - fontSize: 14)), + fontWeight: FontWeight.w700, fontSize: 14)), ], ), ), @@ -332,14 +288,16 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre Container( width: 30, height: 30, - margin: EdgeInsets.only(left: projectViewModel.isArabic?10:85, right: projectViewModel.isArabic?85:10,top: 5), + margin: EdgeInsets.only( + left: projectViewModel.isArabic ? 10 : 85, + right: projectViewModel.isArabic ? 85 : 10, + top: 5), decoration: BoxDecoration( - shape: BoxShape.rectangle, - border: Border( - bottom:BorderSide(color: Colors.grey[400],width: 2.5), - left: BorderSide(color: Colors.grey[400],width: 2.5), - ) - ), + shape: BoxShape.rectangle, + border: Border( + bottom: BorderSide(color: Colors.grey[400], width: 2.5), + left: BorderSide(color: Colors.grey[400], width: 2.5), + )), ), Expanded( child: Container( @@ -372,31 +330,22 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre if (orderNo != null && !isPrescriptions) Row( children: [ - Texts( - 'Order No: ', - color: Colors.grey[800], - fontSize: 12 - ), - Texts( - orderNo ?? '',fontSize: 12 - ) + Texts('Order No: ', + color: Colors.grey[800], + fontSize: 12), + Texts(orderNo ?? '', fontSize: 12) ], ), if (invoiceNO != null && !isPrescriptions) Row( children: [ - Texts( - 'Invoice: ', - color: Colors.grey[800], - fontSize: 12 - ), - Texts( - invoiceNO, - fontSize: 12 - ) + Texts('Invoice: ', + color: Colors.grey[800], + fontSize: 12), + Texts(invoiceNO, fontSize: 12) ], ), - if ( branch != null) + if (branch != null) Row( children: [ Texts('Branch: ', @@ -406,15 +355,15 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre ], ), if (isPrescriptions) - if(clinic!=null) - Row( - children: [ - Texts('Clinic: ', - color: Colors.grey[800], - fontSize: 12), - Texts(clinic ?? '', fontSize: 12) - ], - ), + if (clinic != null) + Row( + children: [ + Texts('Clinic: ', + color: Colors.grey[800], + fontSize: 12), + Texts(clinic ?? '', fontSize: 12) + ], + ), if (isMedicalFile && episode != null) Row( children: [ @@ -437,20 +386,22 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre children: [ Expanded( child: Texts( - !isPrescriptions? 'Result Date: ': 'Prescriptions Date ', + !isPrescriptions + ? 'Result Date: ' + : 'Prescriptions Date ', color: Colors.grey[800], fontSize: 12, ), ), Texts( - '${DateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}',fontSize: 14, + '${DateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}', + fontSize: 14, ) ], ) ]), ), ), - ], ), ), @@ -464,7 +415,7 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre } convertDateFormat2(String str) { - String newDate =""; + String newDate = ""; const start = "/Date("; const end = "+0300)"; @@ -475,10 +426,10 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre var date = new DateTime.fromMillisecondsSinceEpoch( int.parse(str.substring(startIndex + start.length, endIndex))); newDate = date.year.toString() + - "/" + - date.month.toString().padLeft(2, '0') + - "/" + - date.day.toString().padLeft(2, '0'); + "/" + + date.month.toString().padLeft(2, '0') + + "/" + + date.day.toString().padLeft(2, '0'); } return newDate.toString(); @@ -502,5 +453,5 @@ class PatientProfileHeaderWhitAppointmentAppBar extends StatelessWidget with Pre } @override - Size get preferredSize => Size(double.maxFinite,290); + Size get preferredSize => Size(double.maxFinite, 290); } From b812ac4b064d66987d337dfe438341c0d974cc21 Mon Sep 17 00:00:00 2001 From: Mohammad Aljammal Date: Wed, 14 Apr 2021 00:12:00 +0300 Subject: [PATCH 5/7] add no data image in all pages --- lib/core/viewModel/InsuranceViewModel.dart | 4 +- .../viewModel/prescription_view_model.dart | 7 +- lib/core/viewModel/procedure_View_model.dart | 19 +- lib/screens/dashboard_screen.dart | 2 +- .../insurance_approval_screen_patient.dart | 695 ++---------------- .../profile/lab_result/labs_home_page.dart | 45 +- .../radiology/radiology_home_page.dart | 41 +- .../prescription/add_prescription_form.dart | 20 +- .../prescription/prescriptions_page.dart | 43 +- lib/screens/procedures/ProcedureCard.dart | 30 +- lib/screens/procedures/add_lab_orders.dart | 110 +-- .../procedures/add_radiology_order.dart | 107 +-- .../entity_list_checkbox_search_widget.dart | 2 +- lib/screens/procedures/procedure_screen.dart | 41 +- lib/screens/sick-leave/add-sickleave.dart | 154 ++-- lib/screens/sick-leave/sick_leave.dart | 1 + lib/widgets/shared/network_base_view.dart | 8 +- 17 files changed, 395 insertions(+), 934 deletions(-) diff --git a/lib/core/viewModel/InsuranceViewModel.dart b/lib/core/viewModel/InsuranceViewModel.dart index a0b51d20..941abcfb 100644 --- a/lib/core/viewModel/InsuranceViewModel.dart +++ b/lib/core/viewModel/InsuranceViewModel.dart @@ -23,8 +23,8 @@ class InsuranceViewModel extends BaseViewModel{ else await _insuranceCardService.getInsuranceApproval(patient); if (_insuranceCardService.hasError) { - error = _insuranceCardService.error; - setState(ViewState.ErrorLocal); + error = "No Insurance Approval Found"; + setState(ViewState.Error); } else setState(ViewState.Idle); } diff --git a/lib/core/viewModel/prescription_view_model.dart b/lib/core/viewModel/prescription_view_model.dart index 548c0a68..82b2f70c 100644 --- a/lib/core/viewModel/prescription_view_model.dart +++ b/lib/core/viewModel/prescription_view_model.dart @@ -244,12 +244,15 @@ class PrescriptionViewModel extends BaseViewModel { } } - getPrescriptions(PatiantInformtion patient) async { + getPrescriptions(PatiantInformtion patient, {String patientType}) async { setState(ViewState.Busy); await _prescriptionsService.getPrescriptions(patient); if (_prescriptionsService.hasError) { error = _prescriptionsService.error; - setState(ViewState.Error); + if(patientType=="7") + setState(ViewState.ErrorLocal); + else + setState(ViewState.Error); } else { _filterList(); await _getPrescriptionsOrders(); diff --git a/lib/core/viewModel/procedure_View_model.dart b/lib/core/viewModel/procedure_View_model.dart index 6632df4d..0d0b41ef 100644 --- a/lib/core/viewModel/procedure_View_model.dart +++ b/lib/core/viewModel/procedure_View_model.dart @@ -55,14 +55,17 @@ class ProcedureViewModel extends BaseViewModel { ? _patientLabOrdersListClinic : _patientLabOrdersListHospital; - Future getProcedure({int mrn}) async { + Future getProcedure({int mrn,String patientType}) async { hasError = false; //_insuranceCardService.clearInsuranceCard(); setState(ViewState.Busy); await _procedureService.getProcedure(mrn: mrn); if (_procedureService.hasError) { error = _procedureService.error; - setState(ViewState.Error); + if(patientType=="7") + setState(ViewState.ErrorLocal); + else + setState(ViewState.Error); } else setState(ViewState.Idle); } @@ -136,12 +139,15 @@ class ProcedureViewModel extends BaseViewModel { //await getProcedure(mrn: mrn); } - void getPatientRadOrders(PatiantInformtion patient) async { + void getPatientRadOrders(PatiantInformtion patient,{String patientType}) async { setState(ViewState.Busy); await _radiologyService.getPatientRadOrders(patient); if (_radiologyService.hasError) { error = _radiologyService.error; - setState(ViewState.Error); + if(patientType=="7") + setState(ViewState.ErrorLocal); + else + setState(ViewState.Error); } else { _radiologyService.finalRadiologyList.forEach((element) { List finalRadiologyListClinic = @@ -220,12 +226,15 @@ class ProcedureViewModel extends BaseViewModel { return labResultLists; } - void getLabs(PatiantInformtion patient) async { + void getLabs(PatiantInformtion patient,{bool isArrived}) async { setState(ViewState.Busy); await _labsService.getPatientLabOrdersList(patient); if (_labsService.hasError) { error = _labsService.error; + if(isArrived) setState(ViewState.ErrorLocal); + else + setState(ViewState.Error); } else { _labsService.patientLabOrdersList.forEach((element) { List patientLabOrdersClinic = diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart index 252958b1..50614d52 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -80,7 +80,7 @@ class _DashboardScreenState extends State { From: DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd') .toString(), To: DateUtils.convertDateToFormat( - DateTime.now().add(Duration(days: 7, hours: 0)), 'yyyy-MM-dd') + DateTime.now().add(Duration(days: 6, hours: 0)), 'yyyy-MM-dd') .toString(), LanguageID: 2, stamp: "2020-03-02T13:56:39.170Z", diff --git a/lib/screens/patients/insurance_approval_screen_patient.dart b/lib/screens/patients/insurance_approval_screen_patient.dart index 8fcc9f66..6ef7ca9c 100644 --- a/lib/screens/patients/insurance_approval_screen_patient.dart +++ b/lib/screens/patients/insurance_approval_screen_patient.dart @@ -54,630 +54,89 @@ class _InsuranceApprovalScreenNewState appBarTitle: TranslationBase.of(context).approvals, body: SingleChildScrollView( child: Container( - margin: EdgeInsets.only( - left: SizeConfig.screenWidth * 0.004, - right: SizeConfig.screenWidth * 0.004, - top: SizeConfig.screenWidth * 0.04, - ), - child: model.insuranceApproval.length != 0 - ? Column( - children: [ - // Container( - // width: double.infinity, - // height: SizeConfig.screenHeight * 0.09, - // color: Color(0xffEEEEEE), - // child: Row( - // mainAxisAlignment: MainAxisAlignment.spaceAround, - // children: [ - // Texts( - // TranslationBase.of(context).totalApproval, - // color: Color(0xff60688B), - // fontSize: 19.0, - // fontWeight: FontWeight.w600, - // ), - // if (model.insuranceApproval.length > 0) - // Container( - // width: 60, - // height: 40, - // decoration: BoxDecoration( - // color: Theme.of(context).primaryColor, - // borderRadius: BorderRadius.circular(19.0)), - // child: Center( - // child: Texts( - // model.insuranceApproval[0].unUsedCount - // .toString(), - // color: Colors.white, - // fontSize: 17.0, - // ), - // )) - // ], - // )), - Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - children: [ - Row( - children: [ - AppText( - 'Insurance', - fontSize: 15.0, - fontWeight: FontWeight.w600, - fontFamily: 'Poppins', - ), - ], - ), - Row( - children: [ - AppText( - 'Approvals', - fontSize: 30.0, - fontWeight: FontWeight.w700, - ), - ], - ), - ], - ), + margin: EdgeInsets.only( + left: SizeConfig.screenWidth * 0.004, + right: SizeConfig.screenWidth * 0.004, + top: SizeConfig.screenWidth * 0.04, + ), + child: model.insuranceApproval.length != 0 + ? Column( + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + children: [ + Row( + children: [ + AppText( + 'Insurance', + fontSize: 15.0, + fontWeight: FontWeight.w600, + fontFamily: 'Poppins', + ), + ], + ), + Row( + children: [ + AppText( + 'Approvals', + fontSize: 30.0, + fontWeight: FontWeight.w700, + ), + ], + ), + ], ), - - ...List.generate( - model.insuranceApproval.length, - (index) => Container( - child: InkWell( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => - InsuranceApprovalsDetails( - patient: patient, - indexInsurance: index, - )), - ); - }, - child: DoctorCardInsurance( - patientOut: model.insuranceApproval[index] - .patientDescription, - profileUrl: - model.insuranceApproval[index].doctorImage, - clinic: - model.insuranceApproval[index].clinicName, - doctorName: - model.insuranceApproval[index].doctorName, - branch: model - .insuranceApproval[index].approvalNo - .toString(), - isPrescriptions: true, - approvalStatus: model.insuranceApproval[index] - .approvalStatusDescption ?? - '', - branch2: - model.insuranceApproval[index].projectName, - ), + ), + ...List.generate( + model.insuranceApproval.length, + (index) => Container( + child: InkWell( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + InsuranceApprovalsDetails( + patient: patient, + indexInsurance: index, + )), + ); + }, + child: DoctorCardInsurance( + patientOut: model + .insuranceApproval[index].patientDescription, + profileUrl: + model.insuranceApproval[index].doctorImage, + clinic: model.insuranceApproval[index].clinicName, + doctorName: + model.insuranceApproval[index].doctorName, + branch: model.insuranceApproval[index].approvalNo + .toString(), + isPrescriptions: true, + approvalStatus: model.insuranceApproval[index] + .approvalStatusDescption ?? + '', + branch2: + model.insuranceApproval[index].projectName, ), ), - // (index) => Container( - // width: double.maxFinite, - // height: MediaQuery.of(context).size.height * .20, - // margin: EdgeInsets.all(10), - // padding: - // EdgeInsets.only(left: 0, right: 5, bottom: 5, top: 5), - // decoration: BoxDecoration( - // borderRadius: BorderRadius.circular(15), - // color: Colors.white, - // ), - // child: Padding( - // padding: const EdgeInsets.all(8.0), - // child: Container( - // child: Row( - // mainAxisAlignment: MainAxisAlignment.start, - // children: [ - // Container( - // height: MediaQuery.of(context).size.height * .20, - // width: 5, - // decoration: BoxDecoration( - // borderRadius: BorderRadius.only( - // topLeft: Radius.circular(10), - // bottomLeft: Radius.circular(10), - // ), - // color: model.insuranceApproval[index] - // .approvalStatusDescption != - // "Approved" - // ? Colors.red[500] - // : Colors.green, - // ), - // ), - // Expanded( - // child: Container( - // padding: EdgeInsets.only( - // left: projectViewModel.isArabic ? 0 : 15, - // right: projectViewModel.isArabic ? 15 : 0), - // child: InkWell( - // child: Column( - // crossAxisAlignment: - // CrossAxisAlignment.start, - // children: [ - // Row( - // // mainAxisAlignment: - // // MainAxisAlignment.spaceBetween, - // children: [ - // Column( - // crossAxisAlignment: - // CrossAxisAlignment.start, - // children: [ - // Texts( - // model.insuranceApproval[index] - // .approvalDetails.status, - // color: model - // .insuranceApproval[ - // index] - // .approvalStatusDescption == - // "Approved" - // ? Colors.green - // : Colors.red[800], - // fontWeight: FontWeight.w600, - // ), - // SizedBox( - // height: 5, - // ), - // AppText(model - // .insuranceApproval[index] - // .doctorName), - // Container( - // child: LargeAvatar( - // url: model - // .insuranceApproval[index] - // .doctorImage, - // ), - // width: 55, - // height: 55, - // ), - // ], - // ), - // Column( - // crossAxisAlignment: - // CrossAxisAlignment.start, - // children: [ - // Row( - // children: [ - // Texts( - // 'Clinic: ', - // color: Colors.grey[500], - // ), - // Texts( - // model - // .insuranceApproval[ - // index] - // .clinicName, - // ), - // ], - // ), - // Row( - // children: [ - // Texts( - // 'Approval No', - // color: Colors.grey[500], - // ), - // Texts( - // model - // .insuranceApproval[ - // index] - // .approvalNo - // .toString(), - // ), - // ], - // ), - // ], - // ), - // SizedBox( - // width: 5, - // ), - // ], - // ), - // Column( - // crossAxisAlignment: - // CrossAxisAlignment.start, - // children: [ - // Row( - // children: [ - // Texts( - // 'Clinic: ', - // color: Colors.grey[500], - // ), - // Texts( - // model - // .insuranceApproval[ - // index] - // .clinicName, - // ), - // ], - // ), - // Row( - // children: [ - // Texts( - // 'Approval No', - // color: Colors.grey[500], - // ), - // Texts( - // model - // .insuranceApproval[ - // index] - // .approvalNo - // .toString(), - // ), - // ], - // ), - // ], - // ), - // Row( - // mainAxisAlignment: - // MainAxisAlignment.end, - // children: [ - // Icon(Icons.remove_red_eye_outlined) - // ], - // ) - // ], - // ), - // ), - // ), - // ), - // ], - // ), - // ), - // ), - // ), -// RoundedContainer( -// backgroundColor: Colors.white, -// child: Column( -// crossAxisAlignment: CrossAxisAlignment.start, -// children: [ -// ExpansionTile( -// title: Container( -// //height: 120.0, -// child: Column( -// crossAxisAlignment: CrossAxisAlignment.start, -// children: [ -// model.insuranceApproval[index] -// .patientDescription == -// "In Patient" -// ? Container( -// decoration: BoxDecoration( -// color: -// Theme.of(context).primaryColor, -// borderRadius: -// BorderRadius.circular(16.0)), -// width: 115.0, -// padding: EdgeInsets.only(left: 11.5), -// child: Center( -// child: Texts( -// TranslationBase.of(context) -// .inPatient, -// color: Colors.white, -// ), -// ), -// ) -// : Container( -// decoration: BoxDecoration( -// color: Color(0xff505A5D), -// borderRadius: -// BorderRadius.circular(16.0)), -// width: 115.0, -// padding: EdgeInsets.only(left: 11.5), -// child: Center( -// child: Texts( -// TranslationBase.of(context) -// .outpatient, -// color: Colors.white, -// ), -// ), -// ), -// Padding( -// padding: EdgeInsets.symmetric(vertical: 10.0), -// child: Texts( -// model.insuranceApproval[index].clinicName, -// fontSize: 20.0, -// color: Color(0xff60686B), -// fontWeight: FontWeight.w600, -// ), -// ), -// Texts( -// model.insuranceApproval[index].doctorName, -// fontSize: 17.0, -// ), -// ], -// ), -// ), -// children: [ -// Padding( -// padding: EdgeInsets.symmetric( -// vertical: 12.0, horizontal: 12.0), -// child: Column( -// crossAxisAlignment: CrossAxisAlignment.start, -// children: [ -// Row( -// children: [ -// Texts( -// TranslationBase.of(context).approvalNo, -// fontSize: 18.0, -// ), -// Texts( -// model -// .insuranceApproval[index].approvalNo -// .toString(), -// fontSize: 18.0, -// fontWeight: FontWeight.w600, -// ), -// ], -// ), -// Divider( -// color: Colors.black, -// height: 25.0, -// thickness: 1.0, -// ), -// Row( -// children: [ -// Texts( -// TranslationBase.of(context) -// .procedureStatus, -// fontSize: 17.5, -// ), -// SizedBox( -// width: 12, -// ), -// Expanded( -// child: Texts( -// model.insuranceApproval[index] -// .approvalStatusDescption, -// fontWeight: FontWeight.w600, -// fontSize: 17.5, -// ), -// ), -// ], -// ), -// Divider( -// color: Colors.black, -// height: 25.0, -// thickness: 1.0, -// ), -// Row( -// children: [ -// Texts( -// TranslationBase.of(context).unusedCount, -// fontSize: 17.5, -// ), -// Texts( -// model.insuranceApproval[index] -// .unUsedCount -// .toString(), -// fontSize: 17.5, -// fontWeight: FontWeight.w600, -// ), -// ], -// ), -// Divider( -// color: Colors.black, -// height: 25.0, -// thickness: 1.0, -// ), -// // Text( -// // 'Company Name: ' + -// // model.insuranceApproval[index] -// // .companyName == -// // null -// // ? '000' -// // : model -// // .insuranceApproval[index].companyName, -// // style: TextStyle( -// // fontSize: 17.5, -// // fontWeight: FontWeight.w600), -// // ), -// Texts( -// TranslationBase.of(context).companyName, -// fontWeight: FontWeight.w600, -// fontSize: 17.5, -// ), -// -// Divider( -// color: Colors.black, -// height: 25.0, -// thickness: 1.0, -// ), -// Row( -// children: [ -// Texts( -// TranslationBase.of(context).receiptOn, -// fontSize: 17.5, -// fontWeight: FontWeight.w600, -// ), -// Texts( -// DateUtils.getDateTimeFromServerFormat( -// model.insuranceApproval[index] -// .rceiptOn) -// .toString(), -// fontSize: 17.5, -// fontWeight: FontWeight.w600, -// ), -// ], -// ), -// Divider( -// color: Colors.black, -// height: 25.0, -// thickness: 1.0, -// ), -// Row( -// children: [ -// Texts( -// TranslationBase.of(context).expiryDate, -// fontSize: 17.5, -// fontWeight: FontWeight.w600, -// ), -// Texts( -// DateUtils.getDateTimeFromServerFormat( -// model.insuranceApproval[index] -// .expiryDate) -// .toString(), -// fontSize: 17.5, -// fontWeight: FontWeight.w600, -// ), -// ], -// ), -// Divider( -// color: Colors.black, -// height: 55.0, -// thickness: 1.2, -// ), -// IntrinsicHeight( -// child: Row( -// crossAxisAlignment: -// CrossAxisAlignment.center, -// children: [ -// Expanded( -// flex: 1, -// child: Column( -// children: [ -// Text(TranslationBase.of(context) -// .procedureName), -// Padding( -// padding: EdgeInsets.only( -// top: SizeConfig -// .heightMultiplier * -// 3.0), -// child: Text( -// model.insuranceApproval[index] -// .approvalDetails == -// null -// ? '' -// : model -// .insuranceApproval[ -// index] -// .approvalDetails -// .procedureName, -// style: TextStyle( -// fontWeight: -// FontWeight.w600, -// fontSize: 15.5), -// ), -// ), -// ], -// ), -// ), -// VerticalDivider( -// width: 10.0, -// thickness: 1.2, -// color: Colors.black, -// ), -// Expanded( -// flex: 1, -// child: Column( -// children: [ -// Text(TranslationBase.of(context) -// .procedureStatus), -// Padding( -// padding: EdgeInsets.only( -// top: SizeConfig -// .heightMultiplier * -// 3.0), -// child: Text( -// model.insuranceApproval[index] -// .approvalDetails == -// null -// ? '' -// : model -// .insuranceApproval[ -// index] -// .approvalDetails -// .status, -// style: TextStyle( -// fontSize: 17.5, -// fontWeight: -// FontWeight.w600), -// ), -// ), -// ], -// ), -// ), -// VerticalDivider( -// width: 2.3, -// thickness: 1.2, -// color: Colors.black, -// ), -// Expanded( -// flex: 1, -// child: Column( -// children: [ -// Text(TranslationBase.of(context) -// .usageStatus), -// Padding( -// padding: EdgeInsets.only( -// top: SizeConfig -// .heightMultiplier * -// 3.0), -// child: Text( -// model.insuranceApproval[index] -// .approvalDetails == -// null -// ? '' -// : model -// .insuranceApproval[ -// index] -// .approvalDetails -// .isInvoicedDesc, -// style: TextStyle( -// fontWeight: -// FontWeight.w600, -// fontSize: 17.5), -// ), -// ), -// ], -// ), -// ), -// ], -// ), -// ), -// Divider( -// color: Colors.black, -// height: 25.0, -// thickness: 1.0, -// ), -// ], -// ), -// ), -// ], -// ), -// ], -// ), -// ), ), - ], - ) - : Column( - children: [ - Container( - height: 200, - width: double.infinity, - child: Center( - child: Text("No Insurance Approvals Found"))) - ], - )), + ), + ], + ) + : Column( + children: [ + Container( + height: 200, + width: double.infinity, + child: Center( + child: Text("No Insurance Approvals Found"))) + ], + ), + ), ), ), ); } - - convertDateFormat(String Date) { - const start = "/Date("; - const end = "+0300)"; - - final startIndex = Date.indexOf(start); - final endIndex = Date.indexOf(end, startIndex + start.length); - - var date = new DateTime.fromMillisecondsSinceEpoch( - int.parse(Date.substring(startIndex + start.length, endIndex))); - String newDate = date.year.toString() + - "-" + - date.month.toString().padLeft(2, '0') + - "-" + - date.day.toString().padLeft(2, '0'); - - return newDate.toString(); - } } diff --git a/lib/screens/patients/profile/lab_result/labs_home_page.dart b/lib/screens/patients/profile/lab_result/labs_home_page.dart index d167ca43..8ae3f3ac 100644 --- a/lib/screens/patients/profile/lab_result/labs_home_page.dart +++ b/lib/screens/patients/profile/lab_result/labs_home_page.dart @@ -32,9 +32,10 @@ class LabsHomePage extends StatelessWidget { arrivalType = routeArgs['arrivalType']; print(arrivalType); return BaseView( - onModelReady: (model) => model.getLabs(patient), + onModelReady: (model) => model.getLabs(patient,isArrived: (patientType != null && patientType == '7' && patient.patientStatusType == 43)), builder: (context, ProcedureViewModel model, widget) => AppScaffold( baseViewModel: model, + backgroundColor: Colors.grey[100], isShowAppBar: true, appBar: PatientProfileHeaderNewDesignAppBar( patient, patient.patientType.toString() ?? '0', patientType), @@ -48,6 +49,7 @@ class LabsHomePage extends StatelessWidget { SizedBox( height: 12, ), + if(model.patientLabOrdersList.isNotEmpty && patient.patientStatusType != 43) Padding( padding: const EdgeInsets.all(8.0), child: Column( @@ -67,9 +69,27 @@ class LabsHomePage extends StatelessWidget { ], ), ), - if (patientType != null && - patientType == '7' && - patient.patientStatusType == 43) + if(patient.patientStatusType == 43) + Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Texts( + 'Lab', + style: "caption2", + color: Colors.black, + fontSize: 13, + ), + Texts( + 'Result', + bold: true, + fontSize: 22, + ), + ], + ), + ), + if (patientType != null && patientType == '7' && patient.patientStatusType == 43) InkWell( onTap: () { Navigator.push( @@ -156,7 +176,22 @@ class LabsHomePage extends StatelessWidget { ); }).toList(), ), - ) + ), + if(model.patientLabOrdersList.isEmpty && patient.patientStatusType != 43) + Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 100,), + Image.asset('assets/images/no-data.png'), + Padding( + padding: const EdgeInsets.all(8.0), + child: Texts('No Lab Result Found'), + ) + + ], + ), + ) ], ), ), diff --git a/lib/screens/patients/profile/radiology/radiology_home_page.dart b/lib/screens/patients/profile/radiology/radiology_home_page.dart index 6c44cde4..dfbbdff3 100644 --- a/lib/screens/patients/profile/radiology/radiology_home_page.dart +++ b/lib/screens/patients/profile/radiology/radiology_home_page.dart @@ -29,9 +29,10 @@ class RadiologyHomePage extends StatelessWidget { String arrivalType = routeArgs['arrivalType']; return BaseView( - onModelReady: (model) => model.getPatientRadOrders(patient), + onModelReady: (model) => model.getPatientRadOrders(patient,patientType: patientType), builder: (_, model, widget) => AppScaffold( isShowAppBar: true, + backgroundColor: Colors.grey[100], // appBarTitle: TranslationBase.of(context).radiology, appBar: PatientProfileHeaderNewDesignAppBar( patient, patient.patientType.toString() ?? '0', arrivalType), @@ -44,7 +45,8 @@ class RadiologyHomePage extends StatelessWidget { SizedBox( height: 12, ), - Padding( + if(model.radiologyList.isNotEmpty && patient.patientStatusType != 43) + Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -63,6 +65,26 @@ class RadiologyHomePage extends StatelessWidget { ], ), ), + if(patient.patientStatusType == 43) + Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Texts( + 'Radiology', + style: "caption2", + color: Colors.black, + fontSize: 13, + ), + Texts( + 'Result', + bold: true, + fontSize: 22, + ), + ], + ), + ), if (patientType != null && patientType == '7' && patient.patientStatusType == 43) @@ -142,6 +164,21 @@ class RadiologyHomePage extends StatelessWidget { appointmentDate: model.radiologyList[index].orderDate, ), )), + if(model.radiologyList.isEmpty && patient.patientStatusType != 43) + Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 100,), + Image.asset('assets/images/no-data.png'), + Padding( + padding: const EdgeInsets.all(8.0), + child: Texts('No Radiology Found'), + ) + + ], + ), + ) ], ), ), diff --git a/lib/screens/prescription/add_prescription_form.dart b/lib/screens/prescription/add_prescription_form.dart index f6207b52..819cc2f1 100644 --- a/lib/screens/prescription/add_prescription_form.dart +++ b/lib/screens/prescription/add_prescription_form.dart @@ -49,7 +49,7 @@ postProcedure( DateTime doseTime, String doseUnit, String icdCode, - PatiantInformtion patient}) async { + PatiantInformtion patient,String patientType}) async { PostPrescriptionReqModel postProcedureReqModel = new PostPrescriptionReqModel(); List sss = List(); @@ -236,8 +236,15 @@ class _PrescriptionFormWidgetState extends State { children: [ Column( children: [ + SizedBox(height: 15,), Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + AppText( + 'New Prescription Order', + fontWeight: FontWeight.w700, + fontSize: 20, + ), InkWell( child: Icon( Icons.close, @@ -246,16 +253,7 @@ class _PrescriptionFormWidgetState extends State { onTap: () { Navigator.pop(context); }, - ), - ], - ), - Row( - children: [ - AppText( - 'New Prescription Order', - fontWeight: FontWeight.w700, - fontSize: 20, - ), + ) ], ), ], diff --git a/lib/screens/prescription/prescriptions_page.dart b/lib/screens/prescription/prescriptions_page.dart index ba707769..fafd753d 100644 --- a/lib/screens/prescription/prescriptions_page.dart +++ b/lib/screens/prescription/prescriptions_page.dart @@ -28,10 +28,11 @@ class PrescriptionsPage extends StatelessWidget { String arrivalType = routeArgs['arrivalType']; ProjectViewModel projectViewModel = Provider.of(context); return BaseView( - onModelReady: (model) => model.getPrescriptions(patient), + onModelReady: (model) => model.getPrescriptions(patient,patientType:patientType), builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: true, + backgroundColor: Colors.grey[100], appBar: PatientProfileHeaderNewDesignAppBar( patient, patientType ?? '0', arrivalType), body: FractionallySizedBox( @@ -42,7 +43,8 @@ class PrescriptionsPage extends StatelessWidget { SizedBox( height: 12, ), - Padding( + if(model.prescriptionsList.isNotEmpty && patient.patientStatusType != 43) + Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -61,6 +63,26 @@ class PrescriptionsPage extends StatelessWidget { ], ), ), + if(patient.patientStatusType == 43) + Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Texts( + 'Order', + style: "caption2", + color: Colors.black, + fontSize: 13, + ), + Texts( + 'Prescriptions', + bold: true, + fontSize: 22, + ), + ], + ), + ), if (patientType != null && patientType == '7' && patient.patientStatusType == 43) @@ -138,7 +160,22 @@ class PrescriptionsPage extends StatelessWidget { DateUtils.getDateTimeFromServerFormat( model.prescriptionsList[index].appointmentDate, ), - ))) + ))), + if(model.prescriptionsList.isEmpty && patient.patientStatusType != 43) + Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 100,), + Image.asset('assets/images/no-data.png'), + Padding( + padding: const EdgeInsets.all(8.0), + child: Texts('No Lab Result Found'), + ) + + ], + ), + ) ], ), ), diff --git a/lib/screens/procedures/ProcedureCard.dart b/lib/screens/procedures/ProcedureCard.dart index e9cdd316..2f3718a3 100644 --- a/lib/screens/procedures/ProcedureCard.dart +++ b/lib/screens/procedures/ProcedureCard.dart @@ -154,21 +154,21 @@ class ProcedureCard extends StatelessWidget { ), ], ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Texts( - entityList.remarks.toString() ?? '', - fontSize: 12, - ), - if (entityList.categoryID == 2 || - entityList.categoryID == 4) - InkWell( - child: Icon(DoctorApp.edit), - onTap: onTap, - ) - ], - ) + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // children: [ + // Texts( + // entityList.remarks.toString() ?? '', + // fontSize: 12, + // ), + // if (entityList.categoryID == 2 || + // entityList.categoryID == 4) + // InkWell( + // child: Icon(DoctorApp.edit), + // onTap: onTap, + // ) + // ], + // ) ], ), //onTap: onTap, diff --git a/lib/screens/procedures/add_lab_orders.dart b/lib/screens/procedures/add_lab_orders.dart index 252dce0b..678a345d 100644 --- a/lib/screens/procedures/add_lab_orders.dart +++ b/lib/screens/procedures/add_lab_orders.dart @@ -155,7 +155,7 @@ class _AddSelectedLabOrderState extends State { (BuildContext context, ScrollController scrollController) { return SingleChildScrollView( child: Container( - height: MediaQuery.of(context).size.height * 1.0, + height: MediaQuery.of(context).size.height * .90, child: Padding( padding: EdgeInsets.all(12.0), child: Column( @@ -209,85 +209,39 @@ class _AddSelectedLabOrderState extends State { isEntityListSelected: (master) => isEntityListSelected(master), )), - SizedBox( - height: 15.0, - ), - Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - // Container( - // child: Row( - // children: [ - // AppText( - // TranslationBase.of(context).orderType), - // Radio( - // activeColor: Color(0xFFB9382C), - // value: 1, - // groupValue: selectedType, - // onChanged: (value) { - // setSelectedType(value); - // }, - // ), - // Text('routine'), - // Radio( - // activeColor: Color(0xFFB9382C), - // groupValue: selectedType, - // value: 0, - // onChanged: (value) { - // setSelectedType(value); - // }, - // ), - // Text(TranslationBase.of(context).urgent), - // ], - // ), - // ), - // SizedBox( - // height: 15.0, - // ), - // TextFields( - // hintText: TranslationBase.of(context).remarks, - // controller: remarksController, - // minLines: 3, - // maxLines: 5, - // ), - SizedBox( - height: 100.0, - ), - Container( - margin: EdgeInsets.all( - SizeConfig.widthMultiplier * 5), - child: Wrap( - alignment: WrapAlignment.center, - children: [ - AppButton( - title: - "Add Lab Order", //TranslationBase.of(context) - fontWeight: FontWeight.w700, - //.addSelectedProcedures, - color: Color(0xff359846), - onPressed: () { - //print(entityList.toString()); - onPressed: - if (entityList.isEmpty == true) { - DrAppToastMsg.showErrorToast( - "Fill the mandatory procedure details"); - return; - } + Container( + margin: EdgeInsets.all( + SizeConfig.widthMultiplier * 5), + child: Wrap( + alignment: WrapAlignment.center, + children: [ + AppButton( + title: + "Add Lab Order", //TranslationBase.of(context) + fontWeight: FontWeight.w700, + //.addSelectedProcedures, + color: Color(0xff359846), + onPressed: () { + //print(entityList.toString()); + onPressed: + if (entityList.isEmpty == true) { + DrAppToastMsg.showErrorToast( + "Fill the mandatory procedure details"); + return; + } - Navigator.pop(context); - postProcedure( - orderType: selectedType.toString(), - entityList: entityList, - patient: patient, - model: widget.model, - remarks: remarksController.text); - }, - ), - ], + Navigator.pop(context); + postProcedure( + orderType: selectedType.toString(), + entityList: entityList, + patient: patient, + model: widget.model, + remarks: remarksController.text); + }, ), - ), - ], - ) + ], + ), + ), ], ), ), diff --git a/lib/screens/procedures/add_radiology_order.dart b/lib/screens/procedures/add_radiology_order.dart index aa897569..56776e86 100644 --- a/lib/screens/procedures/add_radiology_order.dart +++ b/lib/screens/procedures/add_radiology_order.dart @@ -162,15 +162,14 @@ class _AddSelectedRadiologyOrderState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ AppText( 'New Radiology Order', fontWeight: FontWeight.w700, fontSize: 20, ), - SizedBox( - width: MediaQuery.of(context).size.width * 0.48, - ), + InkWell( child: Icon( Icons.close, @@ -209,82 +208,36 @@ class _AddSelectedRadiologyOrderState extends State { isEntityListSelected: (master) => isEntityListSelected(master), )), - SizedBox( - height: 15.0, - ), - Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - // Container( - // child: Row( - // children: [ - // AppText( - // TranslationBase.of(context).orderType), - // Radio( - // activeColor: Color(0xFFB9382C), - // value: 1, - // groupValue: selectedType, - // onChanged: (value) { - // setSelectedType(value); - // }, - // ), - // Text('routine'), - // Radio( - // activeColor: Color(0xFFB9382C), - // groupValue: selectedType, - // value: 0, - // onChanged: (value) { - // setSelectedType(value); - // }, - // ), - // Text(TranslationBase.of(context).urgent), - // ], - // ), - // ), - // SizedBox( - // height: 15.0, - // ), - // TextFields( - // hintText: TranslationBase.of(context).remarks, - // controller: remarksController, - // minLines: 3, - // maxLines: 5, - // ), - SizedBox( - height: 100.0, - ), - Container( - margin: EdgeInsets.all( - SizeConfig.widthMultiplier * 5), - child: Wrap( - alignment: WrapAlignment.center, - children: [ - AppButton( - title: 'Add Radiology Order', - color: Color(0xff359846), - fontWeight: FontWeight.w700, - onPressed: () { - //print(entityList.toString()); - onPressed: - if (entityList.isEmpty == true) { - DrAppToastMsg.showErrorToast( - "Fill the mandatory procedure details"); - return; - } + Container( + margin: EdgeInsets.all( + SizeConfig.widthMultiplier * 5), + child: Wrap( + alignment: WrapAlignment.center, + children: [ + AppButton( + title: 'Add Radiology Order', + color: Color(0xff359846), + fontWeight: FontWeight.w700, + onPressed: () { + //print(entityList.toString()); + onPressed: + if (entityList.isEmpty == true) { + DrAppToastMsg.showErrorToast( + "Fill the mandatory procedure details"); + return; + } - Navigator.pop(context); - postProcedure( - orderType: selectedType.toString(), - entityList: entityList, - patient: patient, - model: widget.model, - remarks: remarksController.text); - }, - ), - ], + Navigator.pop(context); + postProcedure( + orderType: selectedType.toString(), + entityList: entityList, + patient: patient, + model: widget.model, + remarks: remarksController.text); + }, ), - ), - ], + ], + ), ) ], ), diff --git a/lib/screens/procedures/entity_list_checkbox_search_widget.dart b/lib/screens/procedures/entity_list_checkbox_search_widget.dart index 679739e2..32f02057 100644 --- a/lib/screens/procedures/entity_list_checkbox_search_widget.dart +++ b/lib/screens/procedures/entity_list_checkbox_search_widget.dart @@ -69,7 +69,7 @@ class _EntityListCheckboxSearchWidgetState NetworkBaseView( baseViewModel: widget.model, child: Container( - height: MediaQuery.of(context).size.height * 0.55, + height: MediaQuery.of(context).size.height * 0.65, child: Center( child: Container( margin: EdgeInsets.only(top: 15), diff --git a/lib/screens/procedures/procedure_screen.dart b/lib/screens/procedures/procedure_screen.dart index 646665b7..9608524e 100644 --- a/lib/screens/procedures/procedure_screen.dart +++ b/lib/screens/procedures/procedure_screen.dart @@ -25,10 +25,11 @@ class ProcedureScreen extends StatelessWidget { String patientType = routeArgs['patientType']; String arrivalType = routeArgs['arrivalType']; return BaseView( - onModelReady: (model) => model.getProcedure(mrn: patient.patientId), + onModelReady: (model) => model.getProcedure(mrn: patient.patientId,patientType: patientType), builder: (BuildContext context, ProcedureViewModel model, Widget child) => AppScaffold( isShowAppBar: true, + backgroundColor: Colors.grey[100], baseViewModel: model, appBar: PatientProfileHeaderNewDesignAppBar( patient, arrivalType ?? '0', patientType), @@ -40,7 +41,8 @@ class ProcedureScreen extends StatelessWidget { SizedBox( height: 12, ), - Padding( + if(model.procedureList.length==0 && patient.patientStatusType != 43) + Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -59,6 +61,26 @@ class ProcedureScreen extends StatelessWidget { ], ), ), + if( patient.patientStatusType == 43) + Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Texts( + 'Order Test or', + style: "caption2", + color: Colors.black, + fontSize: 13, + ), + Texts( + 'Procedure', + bold: true, + fontSize: 22, + ), + ], + ), + ), if (patientType != null && patientType == '7' && patient.patientStatusType == 43) InkWell( onTap: () { @@ -141,6 +163,21 @@ class ProcedureScreen extends StatelessWidget { }, ), ), + if (model.procedureList.length!=0 && patient.patientStatusType != 43) + Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 100,), + Image.asset('assets/images/no-data.png'), + Padding( + padding: const EdgeInsets.all(8.0), + child: Texts('No Procedure Found'), + ) + + ], + ), + ) ], ), ), diff --git a/lib/screens/sick-leave/add-sickleave.dart b/lib/screens/sick-leave/add-sickleave.dart index eb59cdc3..87071e6e 100644 --- a/lib/screens/sick-leave/add-sickleave.dart +++ b/lib/screens/sick-leave/add-sickleave.dart @@ -13,6 +13,7 @@ import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header- import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart'; +import 'package:doctor_app_flutter/widgets/shared/Text.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; @@ -32,6 +33,7 @@ class AddSickLeavScreen extends StatelessWidget { builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: true, + backgroundColor: Colors.grey[100], appBar: PatientProfileHeaderNewDesignAppBar( patient, routeArgs['patientType'] ?? "0", @@ -197,33 +199,33 @@ class AddSickLeavScreen extends StatelessWidget { AppText( item.remarks ?? "", ), - (item.status == 1 || - item.status == 2) - ? IconButton( - icon: Image.asset( - 'assets/images/edit.png'), - - // color: Colors.green, //Colors.black, - onPressed: () => { - if (item.status == - 1) - { - DrAppToastMsg.showErrorToast( - TranslationBase.of( - context) - .sickleaveonhold) - } - else - { - openSickLeave( - context, - true, - extendedData: - item) - } - }, - ) - : SizedBox() + // (item.status == 1 || + // item.status == 2) + // ? IconButton( + // icon: Image.asset( + // 'assets/images/edit.png'), + // + // // color: Colors.green, //Colors.black, + // onPressed: () => { + // if (item.status == + // 1) + // { + // DrAppToastMsg.showErrorToast( + // TranslationBase.of( + // context) + // .sickleaveonhold) + // } + // else + // { + // openSickLeave( + // context, + // true, + // extendedData: + // item) + // } + // }, + // ) + // : SizedBox() ]), ], ), @@ -240,90 +242,22 @@ class AddSickLeavScreen extends StatelessWidget { }).toList(), ) : patient.patientStatusType != 43 - ? Container( - height: 200, - width: SizeConfig.screenWidth, - color: Colors.white, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - AppText( - TranslationBase.of(context).noSickLeave, - color: Colors.red, - ) - ]), - ) + ? Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 100,), + Image.asset('assets/images/no-data.png'), + Padding( + padding: const EdgeInsets.all(8.0), + child: Texts('No Sick Leave Found'), + ) + + ], + ), + ) : SizedBox() - // : new Builder(builder: (context) { - // return Column( - // crossAxisAlignment: CrossAxisAlignment.start, - // children: [ - // Padding( - // padding: EdgeInsets.all(10), - // child: Column( - // crossAxisAlignment: CrossAxisAlignment.start, - // children: [ - // AppText( - // TranslationBase.of(context).patient, - // fontWeight: FontWeight.bold, - // ), - // AppText( - // TranslationBase.of(context).sickLeave, - // fontSize: 24, - // fontWeight: FontWeight.bold, - // ), - // ], - // )), - // Container( - // width: SizeConfig.screenWidth, - // margin: EdgeInsets.only( - // left: 20, right: 20, top: 20, bottom: 20), - // padding: EdgeInsets.all(20), - // decoration: BoxDecoration( - // borderRadius: BorderRadius.circular(10), - // color: HexColor('#EAEAEA')), - // child: Column( - // mainAxisAlignment: MainAxisAlignment.start, - // children: [ - // Container( - // child: Container( - // decoration: BoxDecoration( - // color: Colors.grey, - // borderRadius: - // BorderRadius.circular(10)), - // padding: EdgeInsets.all(3), - // child: IconButton( - // icon: Icon( - // Icons.add, - // size: 35, - // color: Colors.white, - // ), - // onPressed: () { - // openSickLeave( - // context, - // false, - // ); - // }), - // )), - // Padding( - // child: AppText( - // TranslationBase.of(context) - // .noSickLeaveApplied, - // fontWeight: FontWeight.bold, - // fontFamily: 'Poppins', - // fontSize: 16, - // textAlign: TextAlign.center, - // color: HexColor('#7E7E7E')), - // padding: EdgeInsets.all(10), - // ), - // ], - // )), - // SizedBox( - // height: SizeConfig.screenHeight * .6, - // ) - // ], - // ); - // }), + ])))); } diff --git a/lib/screens/sick-leave/sick_leave.dart b/lib/screens/sick-leave/sick_leave.dart index 12f157c2..0e1a8491 100644 --- a/lib/screens/sick-leave/sick_leave.dart +++ b/lib/screens/sick-leave/sick_leave.dart @@ -150,6 +150,7 @@ class _SickLeaveScreenState extends State { // validator: (value) { // return TextValidator().validateName(value); // }, + textInputType:TextInputType.number, inputFormatter: ONLY_NUMBERS) ]), ), diff --git a/lib/widgets/shared/network_base_view.dart b/lib/widgets/shared/network_base_view.dart index adba46cd..8e5ba34e 100644 --- a/lib/widgets/shared/network_base_view.dart +++ b/lib/widgets/shared/network_base_view.dart @@ -34,10 +34,14 @@ class NetworkBaseView extends StatelessWidget { case ViewState.Error: return Center( child: Column( + crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox(height: 100,), - Image.asset('assets/images/no-data.png',height: 250), - Texts(baseViewModel.error??'') + Image.asset('assets/images/no-data.png'), + Padding( + padding: const EdgeInsets.all(8.0), + child: Texts(baseViewModel.error??''), + ) ], ), From 38d577e1f77ce57af0f8912bb64ccc7bcd0a9473 Mon Sep 17 00:00:00 2001 From: mosazaid Date: Wed, 14 Apr 2021 10:27:03 +0300 Subject: [PATCH 6/7] vital sign fix appbar --- .../profile/vital_sign/vital_sign_details_screen.dart | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart index 23eff3a9..7567ee55 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart @@ -6,8 +6,8 @@ import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sign_item.dart'; import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; -import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; @@ -37,13 +37,10 @@ class VitalSignDetailsScreen extends StatelessWidget { onModelReady: (model) => model.getPatientVitalSignHistory(patient, from, to), builder: (_, mode, widget) => AppScaffold( - isShowAppBar: false, baseViewModel: mode, - /* appBar: PatientProfileHeaderWhitAppointmentAppBar( - patient: patient, - patientType: patientType, - arrivalType: arrivalType, - ),*/ + isShowAppBar: true, + appBar: PatientProfileHeaderNewDesignAppBar( + patient, patientType, arrivalType), appBarTitle: TranslationBase.of(context).vitalSign, body: mode.patientVitalSignsHistory.length > 0 ? Column( From 9a0555b715b7b1069a99e15aa7e3eaddb3e2a65a Mon Sep 17 00:00:00 2001 From: mosazaid Date: Wed, 14 Apr 2021 13:01:57 +0300 Subject: [PATCH 7/7] design fixes --- lib/config/localized_values.dart | 4 +- .../patient/my_referral/PendingReferral.dart | 79 ++++++++++++------- .../objective/examination-item-card.dart | 7 +- .../objective/update_objective_page.dart | 7 +- 4 files changed, 59 insertions(+), 38 deletions(-) diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 20cb9ef7..74f3da60 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -599,8 +599,8 @@ const Map> localizedValues = { 'addAssessment': {'en': "Add ASSESSMENT", 'ar': "أضف التقييم"}, 'assessment': {'en': "ASSESSMENT", 'ar': " التقييم"}, 'physicalSystemExamination': { - 'en': "Physical/System Examination", - 'ar': " الفحص البدني / النظام" + 'en': "Physical System / Examination", + 'ar': "الفحص البدني / النظام" }, 'searchExamination': {'en': "Search Examination", 'ar': "فحص البحث"}, 'addExamination': {'en': "Add Examination", 'ar': "اضافه"}, diff --git a/lib/models/patient/my_referral/PendingReferral.dart b/lib/models/patient/my_referral/PendingReferral.dart index 9da17985..6d3f0b83 100644 --- a/lib/models/patient/my_referral/PendingReferral.dart +++ b/lib/models/patient/my_referral/PendingReferral.dart @@ -1,8 +1,14 @@ +import '../patiant_info_model.dart'; + class PendingReferral { + PatiantInformtion patientDetails; + String doctorImageUrl; + String nationalityFlagUrl; String responded; String answerFromTarget; String createdOn; int data; + int isSameBranch; String editedOn; int interBranchReferral; int patientID; @@ -27,41 +33,51 @@ class PendingReferral { String targetSetupID; bool isReferralDoctorSameBranch; - PendingReferral( - {this.responded, - this.answerFromTarget, - this.createdOn, - this.data, - this.editedOn, - this.interBranchReferral, - this.patientID, - this.patientName, - this.patientType, - this.referralNo, - this.referralStatus, - this.referredByDoctorInfo, - this.referredFromBranchName, - this.referredOn, - this.referredType, - this.remarksFromSource, - this.respondedOn, - this.sourceAppointmentNo, - this.sourceProjectId, - this.sourceSetupID, - this.startDate, - this.targetAppointmentNo, - this.targetClinicID, - this.targetDoctorID, - this.targetProjectId, - this.targetSetupID, - this.isReferralDoctorSameBranch, - }); + PendingReferral({ + this.patientDetails, + this.doctorImageUrl, + this.nationalityFlagUrl, + this.responded, + this.answerFromTarget, + this.createdOn, + this.data, + this.isSameBranch, + this.editedOn, + this.interBranchReferral, + this.patientID, + this.patientName, + this.patientType, + this.referralNo, + this.referralStatus, + this.referredByDoctorInfo, + this.referredFromBranchName, + this.referredOn, + this.referredType, + this.remarksFromSource, + this.respondedOn, + this.sourceAppointmentNo, + this.sourceProjectId, + this.sourceSetupID, + this.startDate, + this.targetAppointmentNo, + this.targetClinicID, + this.targetDoctorID, + this.targetProjectId, + this.targetSetupID, + this.isReferralDoctorSameBranch, + }); PendingReferral.fromJson(Map json) { + patientDetails = json['patientDetails'] != null + ? PatiantInformtion.fromJson(json['patientDetails']) + : null; + doctorImageUrl = json['DoctorImageURL']; + nationalityFlagUrl = json['NationalityFlagURL']; responded = json['Responded']; answerFromTarget = json['answerFromTarget']; createdOn = json['createdOn']; data = json['data']; + isSameBranch = json['isSameBranch']; editedOn = json['editedOn']; interBranchReferral = json['interBranchReferral']; patientID = json['patientID']; @@ -88,10 +104,13 @@ class PendingReferral { Map toJson() { final Map data = new Map(); + data['DoctorImageURL'] = this.doctorImageUrl; + data['NationalityFlagURL'] = this.nationalityFlagUrl; data['Responded'] = this.responded; data['answerFromTarget'] = this.answerFromTarget; data['createdOn'] = this.createdOn; data['data'] = this.data; + data['isSameBranch'] = this.isSameBranch; data['editedOn'] = this.editedOn; data['interBranchReferral'] = this.interBranchReferral; data['patientID'] = this.patientID; @@ -116,4 +135,4 @@ class PendingReferral { data['targetSetupID'] = this.targetSetupID; return data; } -} \ No newline at end of file +} diff --git a/lib/widgets/patients/profile/soap_update/objective/examination-item-card.dart b/lib/widgets/patients/profile/soap_update/objective/examination-item-card.dart index 903dc69c..09610a75 100644 --- a/lib/widgets/patients/profile/soap_update/objective/examination-item-card.dart +++ b/lib/widgets/patients/profile/soap_update/objective/examination-item-card.dart @@ -34,8 +34,9 @@ class ExaminationIitemCard extends StatelessWidget { ? examination.selectedExamination.nameAr : examination.selectedExamination.nameEn : examination.selectedExamination.nameEn, - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w600, fontFamily: 'Poppins', + color: Color(0x2B353E), fontSize: SizeConfig.textMultiplier * 1.8, ), )), @@ -43,7 +44,7 @@ class ExaminationIitemCard extends StatelessWidget { children: [ AppText( TranslationBase.of(context).remove, - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w600, fontFamily: 'Poppins', color: Colors.red.shade800, fontSize: SizeConfig.textMultiplier * 1.8, @@ -82,7 +83,7 @@ class ExaminationIitemCard extends StatelessWidget { examination.remark, fontWeight: FontWeight.normal, fontFamily: 'Poppins', - color: Colors.grey.shade500, + color: Color(0xFF575757), fontSize: SizeConfig.textMultiplier * 1.8, ), ], diff --git a/lib/widgets/patients/profile/soap_update/objective/update_objective_page.dart b/lib/widgets/patients/profile/soap_update/objective/update_objective_page.dart index ce0f6064..43525272 100644 --- a/lib/widgets/patients/profile/soap_update/objective/update_objective_page.dart +++ b/lib/widgets/patients/profile/soap_update/objective/update_objective_page.dart @@ -145,14 +145,15 @@ class _UpdateObjectivePageState extends State { "${TranslationBase.of(context).physicalSystemExamination}", fontFamily: 'Poppins', fontSize: - SizeConfig.textMultiplier * 2.0, + SizeConfig.textMultiplier * 2.1, fontWeight: isSysExaminationExpand ? FontWeight.w700 : FontWeight.normal, + color: Color(0xFF2E303A), ), Icon( FontAwesomeIcons.asterisk, - color: AppGlobal.appPrimaryColor, + color: Colors.black/*AppGlobal.appPrimaryColor*/, size: 12, ) ], @@ -205,7 +206,7 @@ class _UpdateObjectivePageState extends State { fontSize: SizeConfig .textMultiplier * 1.8, - color: Colors.black, + color: Color(0xFF2E303A), fontWeight: FontWeight.bold, ), AppText(