From 94a699a58f731dadaac8a73393827782f04d6342 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Thu, 16 Dec 2021 17:13:18 +0200 Subject: [PATCH] fix all the screenshots --- .../contents.xcworkspacedata | 2 +- .../patients/DischargedPatientPage.dart | 11 +- lib/screens/patients/ECGPage.dart | 18 +- .../ReferralDischargedPatientDetails.dart | 20 +- .../ReferralDischargedPatientPage.dart | 8 +- .../patients/insurance_approvals_details.dart | 363 +++++++++--------- ...t_patient_prescription_details_screen.dart | 4 +- .../register_patient/CustomEditableText.dart | 4 +- .../register_patient/RegisterPatientPage.dart | 8 +- .../VerifyActivationCodePage.dart | 2 +- .../register_patient/VerifyMethodPage.dart | 6 +- .../prescription/add_prescription_form.dart | 2 +- lib/screens/prescription/drugtodrug.dart | 69 ++-- .../prescription_checkout_screen.dart | 156 ++++---- .../prescription_details_page.dart | 24 +- .../prescription_item_in_patient_page.dart | 27 +- .../prescription/prescription_items_page.dart | 51 +-- .../prescription/prescription_text_filed.dart | 1 + .../prescription/prescriptions_page.dart | 41 +- .../update_prescription_form.dart | 30 +- .../procedures/ExpansionProcedure.dart | 36 +- lib/screens/procedures/ProcedureCard.dart | 22 +- lib/screens/procedures/ProcedureType.dart | 34 +- .../procedures/add-favourite-procedure.dart | 24 +- .../procedures/add-procedure-page.dart | 44 +-- .../base_add_procedure_tab_page.dart | 41 +- .../entity_list_checkbox_search_widget.dart | 54 ++- .../procedures/entity_list_fav_procedure.dart | 40 +- .../procedures/procedure_checkout_screen.dart | 8 +- lib/screens/procedures/procedure_screen.dart | 41 +- lib/screens/procedures/update-procedure.dart | 90 ++--- lib/screens/qr_reader/QR_reader_screen.dart | 2 +- .../add-rescheduleleave.dart | 14 +- pubspec.yaml | 8 +- 34 files changed, 634 insertions(+), 671 deletions(-) diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 1d526a16..919434a6 100644 --- a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/lib/screens/patients/DischargedPatientPage.dart b/lib/screens/patients/DischargedPatientPage.dart index 9fd9e699..2f5168d2 100644 --- a/lib/screens/patients/DischargedPatientPage.dart +++ b/lib/screens/patients/DischargedPatientPage.dart @@ -70,6 +70,7 @@ class _DischargedPatientState extends State { }, marginTop: 0, suffixIcon: IconButton( + onPressed: () {}, icon: Icon( DoctorApp.filter_1, color: Colors.black, @@ -170,14 +171,14 @@ class _DischargedPatientState extends State { ? model .filterData[ index] - .nationalityName + .nationalityName! .trim() : model.filterData[index].nationality != null ? model .filterData[ index] - .nationality + .nationality! .trim() : model.filterData[index].nationalityId != null @@ -203,7 +204,7 @@ class _DischargedPatientState extends State { .network( model.filterData[index].nationalityFlagURL != null - ? model.filterData[index].nationalityFlagURL + ? model.filterData[index].nationalityFlagURL! : '', height: 25, @@ -320,7 +321,7 @@ class _DischargedPatientState extends State { text: model.filterData[index].admissionDate == null ? "" - : TranslationBase.of(context).admissionDate + + : TranslationBase.of(context).admissionDate! + " : ", style: TextStyle( fontSize: @@ -385,7 +386,7 @@ class _DischargedPatientState extends State { .w300, ), AppText( - "${AppDateUtils.convertStringToDate(model.filterData[index].dischargeDate).difference(AppDateUtils.getDateTimeFromServerFormat(model.filterData[index].admissionDate)).inDays + 1}", + "${AppDateUtils.convertStringToDate(model.filterData[index].dischargeDate!).difference(AppDateUtils.getDateTimeFromServerFormat(model.filterData[index].admissionDate!)).inDays + 1}", fontSize: 15, fontWeight: diff --git a/lib/screens/patients/ECGPage.dart b/lib/screens/patients/ECGPage.dart index ba4c108c..23e117d5 100644 --- a/lib/screens/patients/ECGPage.dart +++ b/lib/screens/patients/ECGPage.dart @@ -3,6 +3,7 @@ import 'package:doctor_app_flutter/core/viewModel/PatientMuseViewModel.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; +import 'package:doctor_app_flutter/models/patient/profile/patient_profile_app_bar_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; @@ -17,21 +18,20 @@ import 'package:url_launcher/url_launcher.dart'; class ECGPage extends StatelessWidget { @override Widget build(BuildContext context) { - final routeArgs = ModalRoute.of(context).settings.arguments as Map; + final routeArgs = ModalRoute.of(context)!.settings.arguments as Map; PatiantInformtion patient = routeArgs['patient']; String patientType = routeArgs['patient-type']; String arrivalType = routeArgs['arrival-type']; ProjectViewModel projectViewModel = Provider.of(context); return BaseView( - onModelReady: (model) => model.getECGPatient( - patientType: patient.patientType, - patientOutSA: 0, - patientID: patient.patientId), + onModelReady: (model) => + model.getECGPatient(patientType: patient.patientType, patientOutSA: 0, patientID: patient.patientId), builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: true, backgroundColor: Color(0xffF8F8F8), - appBar: PatientProfileAppBar(patient), + patientProfileAppBarModel: PatientProfileAppBarModel( + patient:patient), body: SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(8.0), @@ -46,7 +46,7 @@ class ECGPage extends StatelessWidget { ...List.generate(model.patientMuseResultsModelList.length, (index) => InkWell( onTap: () async { await launch( - model.patientMuseResultsModelList[index].imageURL); + model.patientMuseResultsModelList[index]!.imageURL!); }, child: Container( width: double.infinity, @@ -100,8 +100,8 @@ class ECGPage extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ - AppText('${AppDateUtils.getDayMonthYearDateFormatted(model.patientMuseResultsModelList[index].createdOnDateTime,isArabic: projectViewModel.isArabic)}',color: Colors.black,fontWeight: FontWeight.w600,fontSize: 14,), - AppText('${AppDateUtils.getHour(model.patientMuseResultsModelList[index].createdOnDateTime)}',fontWeight: FontWeight.w600,color: Colors.grey[700],fontSize: 14,), + AppText('${AppDateUtils.getDayMonthYearDateFormatted(model.patientMuseResultsModelList[index].createdOnDateTime!,isArabic: projectViewModel.isArabic)}',color: Colors.black,fontWeight: FontWeight.w600,fontSize: 14,), + AppText('${AppDateUtils.getHour(model.patientMuseResultsModelList[index]!.createdOnDateTime!)}',fontWeight: FontWeight.w600,color: Colors.grey[700],fontSize: 14,), ], ), ), diff --git a/lib/screens/patients/ReferralDischargedPatientDetails.dart b/lib/screens/patients/ReferralDischargedPatientDetails.dart index a52df188..d9a128ac 100644 --- a/lib/screens/patients/ReferralDischargedPatientDetails.dart +++ b/lib/screens/patients/ReferralDischargedPatientDetails.dart @@ -116,7 +116,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { MainAxisAlignment.spaceBetween, children: [ AppText( - "${model.getReferralStatusNameByCode(referredPatient.referralStatus, context)}", + "${model.getReferralStatusNameByCode(referredPatient.referralStatus!, context)}", fontFamily: 'Poppins', fontSize: 1.9 * SizeConfig.textMultiplier, fontWeight: FontWeight.w700, @@ -128,7 +128,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { ), AppText( AppDateUtils.getDayMonthYearDateFormatted( - referredPatient.referralDate, + referredPatient.referralDate!, ), fontFamily: 'Poppins', fontWeight: FontWeight.w600, @@ -151,8 +151,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { Expanded( child: AppText( AppDateUtils.convertDateFromServerFormat( - referredPatient.admissionDate, - "dd MMM,yyyy"), + referredPatient.admissionDate ?? "", "dd MMM,yyyy"), fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: @@ -176,8 +175,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { Expanded( child: AppText( AppDateUtils.convertDateFromServerFormat( - referredPatient.dischargeDate, - "dd MMM,yyyy"), + referredPatient.dischargeDate ?? "", "dd MMM,yyyy"), fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: @@ -200,7 +198,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { ), Expanded( child: AppText( - "${AppDateUtils.convertStringToDate(referredPatient.dischargeDate).difference(AppDateUtils.convertStringToDate(referredPatient.admissionDate)).inDays + 1}", + "${AppDateUtils.convertStringToDate(referredPatient.dischargeDate ?? "").difference(AppDateUtils.convertStringToDate(referredPatient.admissionDate ?? "")).inDays + 1}", fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: @@ -301,7 +299,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { children: [ AppText( TranslationBase.of(context) - .frequency + + .frequency! + ": ", fontFamily: 'Poppins', fontWeight: FontWeight.w600, @@ -332,7 +330,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( - TranslationBase.of(context).priority + + TranslationBase.of(context).priority! + ": ", fontFamily: 'Poppins', fontWeight: FontWeight.w600, @@ -427,7 +425,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { children: [ AppText( TranslationBase.of(context) - .maxResponseTime + + .maxResponseTime! + ": ", fontFamily: 'Poppins', fontWeight: FontWeight.w600, @@ -437,7 +435,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget { Expanded( child: AppText( AppDateUtils.convertDateFromServerFormat( - referredPatient.mAXResponseTime, + referredPatient.mAXResponseTime!, "dd MMM,yyyy"), fontFamily: 'Poppins', fontWeight: FontWeight.w700, diff --git a/lib/screens/patients/ReferralDischargedPatientPage.dart b/lib/screens/patients/ReferralDischargedPatientPage.dart index 92f92f87..a1164b40 100644 --- a/lib/screens/patients/ReferralDischargedPatientPage.dart +++ b/lib/screens/patients/ReferralDischargedPatientPage.dart @@ -63,12 +63,12 @@ class _ReferralDischargedPatientPageState extends State - _InsuranceApprovalsDetailsState( - patient: patient, - indexInsurance: indexInsurance, - patientType: patientType); + _InsuranceApprovalsDetailsState(patient: patient, indexInsurance: indexInsurance, patientType: patientType); } class _InsuranceApprovalsDetailsState extends State { @@ -34,13 +31,12 @@ class _InsuranceApprovalsDetailsState extends State { int indexInsurance; String patientType; - _InsuranceApprovalsDetailsState( - {this.patient, this.indexInsurance, this.patientType}); + _InsuranceApprovalsDetailsState({required this.patient, required this.indexInsurance, required this.patientType}); @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); - final routeArgs = ModalRoute.of(context).settings.arguments as Map; + final routeArgs = ModalRoute.of(context)!.settings.arguments as Map; return BaseView( onModelReady: (model) => model.insuranceApprovalInPatient.length == 0 @@ -48,162 +44,158 @@ class _InsuranceApprovalsDetailsState extends State { ? (model) => model.getInsuranceInPatient(mrn: patient.patientId) : patient.appointmentNo != null ? (model) => model.getInsuranceApproval(patient, - appointmentNo: patient.appointmentNo, - projectId: patient.projectId) + appointmentNo: patient.appointmentNo, projectId: patient.projectId) : (model) => model.getInsuranceApproval(patient) : null, - builder: (BuildContext context, InsuranceViewModel model, Widget child) => - AppScaffold( - isShowAppBar: true, - baseViewModel: model, - appBar: PatientProfileAppBar(patient), - body: patient.admissionNo != null - ? SingleChildScrollView( - child: Container( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - ServiceTitle( - title: TranslationBase.of(context).insurance22, - subTitle: TranslationBase.of(context).approvals22, - ), - Container( - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all( - width: 0.5, - color: Colors.white, + builder: (BuildContext? context, InsuranceViewModel? model, Widget? child) => AppScaffold( + isShowAppBar: true, + baseViewModel: model, + patientProfileAppBarModel: PatientProfileAppBarModel(patient: patient), + body: patient.admissionNo != null + ? SingleChildScrollView( + child: Container( + child: Column( + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + children: [ + Row( + children: [ + AppText( + TranslationBase.of(context!).insurance22, + fontSize: 15.0, + fontWeight: FontWeight.w600, + fontFamily: 'Poppins', ), - borderRadius: BorderRadius.all( - Radius.circular(15.0), + ], + ), + Row( + children: [ + AppText( + TranslationBase.of(context).approvals22, + fontSize: 30.0, + fontWeight: FontWeight.w700, ), - color: Colors.white), - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Column( + ], + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all( + width: 0.5, + color: Colors.white, + ), + borderRadius: BorderRadius.all( + Radius.circular(15.0), + ), + color: Colors.white), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + children: [ + Row( children: [ - Row( - children: [ - AppText( - model - .insuranceApprovalInPatient[ - indexInsurance] - .approvalStatusDescption != - null - ? model - .insuranceApprovalInPatient[ - indexInsurance] - .approvalStatusDescption ?? - "" - : "", - color: model - .insuranceApprovalInPatient[ - indexInsurance] - .approvalStatusDescption != - null - ? "${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" == - "Approved" || - "${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" == - "تمت الموافقة" - ? Color(0xff359846) - : Color(0xffD02127) - : Color(0xffD02127), - letterSpacing: -0.4, - fontWeight: FontWeight.w600, - fontSize: SizeConfig - .getTextMultiplierBasedOnWidth() * - 2.7, - ), - ], + AppText( + model!.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption != null + ? model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption ?? + "" + : "", + color: model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption != + null + ? "${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" == + "Approved" || + "${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" == + "تمت الموافقة" + ? Color(0xff359846) + : Color(0xffD02127) + : Color(0xffD02127), ), - Row( - children: [ - AppText( - model - .insuranceApprovalInPatient[ - indexInsurance] - .doctorName - .toUpperCase(), - color: Color(0xff2E303A), - fontSize: 16, - letterSpacing: -0.64, - fontWeight: FontWeight.w600, - ) - ], - ), - Padding( - padding: const EdgeInsets.symmetric( - horizontal: 8.0), - child: Row( + ], + ), + Row( + children: [ + AppText( + model.insuranceApprovalInPatient[indexInsurance].doctorName!.toUpperCase(), + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.bold, + ) + ], + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Row( + children: [ + Column( children: [ - Column( - children: [ - Container( - height: MediaQuery.of(context) - .size - .height * - 0.065, - width: MediaQuery.of(context) - .size - .height * - 0.065, - child: CircleAvatar( - radius: SizeConfig - .imageSizeMultiplier * - 12, - // radius: (52) - child: ClipRRect( - borderRadius: - BorderRadius.circular( - 50), - child: Image.network( - model - .insuranceApprovalInPatient[ - indexInsurance] - .doctorImage, - fit: BoxFit.fill, - width: 700, - ), - ), - backgroundColor: - Colors.transparent, + Container( + height: 85.0, + width: 85.0, + child: CircleAvatar( + radius: SizeConfig.imageSizeMultiplier * 12, + // radius: (52) + child: ClipRRect( + borderRadius: BorderRadius.circular(50), + child: Image.network( + model.insuranceApprovalInPatient[indexInsurance].doctorImage!, + fit: BoxFit.fill, + width: 700, ), ), - ], + backgroundColor: Colors.transparent, + ), ), - Expanded( - child: Padding( - padding: - const EdgeInsets.symmetric( - horizontal: 8.0), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - //mainAxisAlignment: MainAxisAlignment.center, + ], + ), + Expanded( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + //mainAxisAlignment: MainAxisAlignment.center, + children: [ + SizedBox( + height: 25.0, + ), + Row( children: [ - SizedBox( - height: 25.0, + AppText( + TranslationBase.of(context).clinic! + ": ", + color: Colors.grey[500], + fontSize: 14, ), - CustomRow( - label: TranslationBase.of( - context) - .clinic + - ": ", - value: model - .insuranceApprovalInPatient[ - indexInsurance] - .clinicName, + Expanded( + child: AppText( + model.insuranceApprovalInPatient[indexInsurance].clinicName, + fontSize: 14, + ), + ) + ], + ), + Row( + children: [ + AppText( + TranslationBase.of(context).approvalNo! + ": ", + color: Colors.grey[500], + fontSize: 14, ), - CustomRow( - label: TranslationBase.of( - context) - .approvalNo + - ": ", - value: model - .insuranceApprovalInPatient[ - indexInsurance] - .approvalNo + AppText( + model.insuranceApprovalInPatient[indexInsurance].approvalNo .toString(), + fontSize: 14, + ) + ], + ), + Row( + children: [ + AppText( + 'Unused Count:', + color: Colors.grey[500], + fontSize: 14, ), CustomRow( label: 'Unused Count:', @@ -216,26 +208,26 @@ class _InsuranceApprovalsDetailsState extends State { CustomRow( label: TranslationBase.of( context) - .companyName + + .companyName! + ": ", value: 'Sample'), CustomRow( label: TranslationBase.of( context) - .receiptOn + + .receiptOn! + ": ", value: '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApprovalInPatient[indexInsurance].receiptOn ?? ""), isArabic: projectViewModel.isArabic)}'), CustomRow( label: TranslationBase.of( context) - .expiryDate + + .expiryDate! + ": ", value: '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApprovalInPatient[indexInsurance].expiryDate ?? ""), isArabic: projectViewModel.isArabic)}'), ], - ), - ), + ),] + ),) ), ], ), @@ -302,7 +294,7 @@ class _InsuranceApprovalsDetailsState extends State { itemCount: model .insuranceApprovalInPatient[ indexInsurance] - .apporvalDetails + .apporvalDetails! .length, itemBuilder: (BuildContext context, @@ -318,8 +310,8 @@ class _InsuranceApprovalsDetailsState extends State { model .insuranceApprovalInPatient[ indexInsurance] - ?.apporvalDetails[ - index] + ?.apporvalDetails![ + index]! ?.procedureName ?? "", textAlign: @@ -345,7 +337,7 @@ class _InsuranceApprovalsDetailsState extends State { model .insuranceApprovalInPatient[ indexInsurance] - ?.apporvalDetails[ + ?.apporvalDetails![ index] ?.status ?? "", @@ -372,7 +364,7 @@ class _InsuranceApprovalsDetailsState extends State { model .insuranceApprovalInPatient[ indexInsurance] - ?.apporvalDetails[ + ?.apporvalDetails![ index] ?.isInvoicedDesc ?? "", @@ -428,7 +420,7 @@ class _InsuranceApprovalsDetailsState extends State { Row( children: [ AppText( - TranslationBase.of(context).insurance22, + TranslationBase.of(context!).insurance22, fontSize: 15.0, fontWeight: FontWeight.w600, fontFamily: 'Poppins', @@ -465,8 +457,7 @@ class _InsuranceApprovalsDetailsState extends State { Row( children: [ AppText( - model - .insuranceApproval[ + model!.insuranceApproval[ indexInsurance] .approvalStatusDescption != null @@ -476,12 +467,12 @@ class _InsuranceApprovalsDetailsState extends State { .approvalStatusDescption ?? "" : "", - color: model + color: model! .insuranceApproval[ - indexInsurance] + indexInsurance]! .approvalStatusDescption != null - ? "${model.insuranceApproval[indexInsurance].approvalStatusDescption}" == + ? "${model!.insuranceApproval[indexInsurance]!.approvalStatusDescption}" == "Approved" ? Color(0xff359846) : Color(0xffD02127) @@ -492,9 +483,9 @@ class _InsuranceApprovalsDetailsState extends State { Row( children: [ AppText( - model - .insuranceApproval[indexInsurance] - .doctorName + model! + .insuranceApproval[indexInsurance]! + .doctorName! .toUpperCase(), color: Colors.black, fontSize: 18, @@ -522,10 +513,10 @@ class _InsuranceApprovalsDetailsState extends State { BorderRadius.circular( 50), child: Image.network( - model - .insuranceApproval[ + model! + .insuranceApproval![ indexInsurance] - .doctorImage, + .doctorImage!, fit: BoxFit.fill, width: 700, ), @@ -554,7 +545,7 @@ class _InsuranceApprovalsDetailsState extends State { AppText( TranslationBase.of( context) - .clinic + + .clinic! + ": ", color: Colors.grey[500], fontSize: 14, @@ -575,7 +566,7 @@ class _InsuranceApprovalsDetailsState extends State { AppText( TranslationBase.of( context) - .approvalNo + + .approvalNo! + ": ", color: Colors.grey[500], fontSize: 14, @@ -595,7 +586,7 @@ class _InsuranceApprovalsDetailsState extends State { AppText( TranslationBase.of( context) - .unusedCount + + .unusedCount! + ": ", color: Colors.grey[500], fontSize: 14, @@ -615,7 +606,7 @@ class _InsuranceApprovalsDetailsState extends State { AppText( TranslationBase.of( context) - .companyName + + .companyName! + ": ", color: Colors.grey[500], ), @@ -627,13 +618,13 @@ class _InsuranceApprovalsDetailsState extends State { AppText( TranslationBase.of( context) - .receiptOn + + .receiptOn! + ": ", color: Colors.grey[500], ), Expanded( child: AppText( - '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApproval[indexInsurance].rceiptOn), isArabic: projectViewModel.isArabic)}', + '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model!.insuranceApproval![indexInsurance]!.rceiptOn!), isArabic: projectViewModel.isArabic)}', color: Colors.black, fontWeight: FontWeight.w600, @@ -646,7 +637,7 @@ class _InsuranceApprovalsDetailsState extends State { AppText( TranslationBase.of( context) - .expiryDate + + .expiryDate! + ": ", color: Colors.grey[500], ), @@ -656,7 +647,7 @@ class _InsuranceApprovalsDetailsState extends State { .expiryDate != null) AppText( - '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApproval[indexInsurance].expiryDate), isArabic: projectViewModel.isArabic)}', + '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model!.insuranceApproval[indexInsurance]!.expiryDate!), isArabic: projectViewModel.isArabic)}', color: Colors.black, fontWeight: FontWeight.w600, @@ -683,7 +674,7 @@ class _InsuranceApprovalsDetailsState extends State { children: [ Expanded( child: AppText( - TranslationBase.of(context) + TranslationBase.of(context!) .procedure, fontWeight: FontWeight.w700, ), @@ -717,7 +708,7 @@ class _InsuranceApprovalsDetailsState extends State { itemCount: model .insuranceApproval[ indexInsurance] - .apporvalDetails + .apporvalDetails! .length, itemBuilder: (BuildContext context, @@ -733,7 +724,7 @@ class _InsuranceApprovalsDetailsState extends State { model .insuranceApproval[ indexInsurance] - ?.apporvalDetails[ + ?.apporvalDetails![ index] ?.procedureName ?? "", @@ -749,7 +740,7 @@ class _InsuranceApprovalsDetailsState extends State { model .insuranceApproval[ indexInsurance] - ?.apporvalDetails[ + ?.apporvalDetails![ index] ?.status ?? "", @@ -765,7 +756,7 @@ class _InsuranceApprovalsDetailsState extends State { model .insuranceApproval[ indexInsurance] - ?.apporvalDetails[ + ?.apporvalDetails![ index] ?.isInvoicedDesc ?? "", diff --git a/lib/screens/patients/out_patient_prescription_details_screen.dart b/lib/screens/patients/out_patient_prescription_details_screen.dart index 3dce1b9e..8a87d93c 100644 --- a/lib/screens/patients/out_patient_prescription_details_screen.dart +++ b/lib/screens/patients/out_patient_prescription_details_screen.dart @@ -12,7 +12,7 @@ import 'package:flutter/material.dart'; class OutPatientPrescriptionDetailsScreen extends StatefulWidget { final PrescriptionResModel prescriptionResModel; - OutPatientPrescriptionDetailsScreen({Key ? key, this.prescriptionResModel}); + OutPatientPrescriptionDetailsScreen({Key? key, required this.prescriptionResModel}); @override _OutPatientPrescriptionDetailsScreenState createState() => @@ -37,7 +37,7 @@ class _OutPatientPrescriptionDetailsScreenState return BaseView( onModelReady: (model) => getPrescriptionReport(context, model), builder: (_, model, w) => AppScaffold( - appBarTitle: TranslationBase.of(context).prescriptionDetails, + appBarTitle: TranslationBase.of(context).prescriptionDetails!, body: CardWithBgWidgetNew( widget: ListView.builder( itemCount: model.prescriptionReport.length, diff --git a/lib/screens/patients/register_patient/CustomEditableText.dart b/lib/screens/patients/register_patient/CustomEditableText.dart index 0fa99b00..8d9bfeef 100644 --- a/lib/screens/patients/register_patient/CustomEditableText.dart +++ b/lib/screens/patients/register_patient/CustomEditableText.dart @@ -7,7 +7,7 @@ import 'package:flutter/material.dart'; class CustomEditableText extends StatefulWidget { CustomEditableText({ Key? key, - @required this.controller, + required this.controller, this.hint, this.isEditable = false, required this.isSubmitted, @@ -37,7 +37,7 @@ class _CustomEditableTextState extends State { borderRadius: BorderRadius.all(Radius.circular(20)), border: Border.fromBorderSide( BorderSide( - color: Colors.grey[300], + color: Colors.grey[300]!, width: 2, ), ), diff --git a/lib/screens/patients/register_patient/RegisterPatientPage.dart b/lib/screens/patients/register_patient/RegisterPatientPage.dart index a07104e3..5a65146c 100644 --- a/lib/screens/patients/register_patient/RegisterPatientPage.dart +++ b/lib/screens/patients/register_patient/RegisterPatientPage.dart @@ -14,7 +14,7 @@ import 'package:hexcolor/hexcolor.dart'; import 'RegisterSearchPatientPage.dart'; class RegisterPatientPage extends StatefulWidget { - const RegisterPatientPage({Key key}) : super(key: key); + const RegisterPatientPage({Key? key}) : super(key: key); @override _RegisterPatientPageState createState() => _RegisterPatientPageState(); @@ -82,9 +82,9 @@ class _RegisterPatientPageState extends State currentStepIndex: _currentIndex + 1, screenSize: screenSize, stepsTitles: [ - TranslationBase.of(context).search, - TranslationBase.of(context).activation, - TranslationBase.of(context).confirmation, + TranslationBase.of(context).search!, + TranslationBase.of(context).activation!, + TranslationBase.of(context).confirmation!, ], ), SizedBox( diff --git a/lib/screens/patients/register_patient/VerifyActivationCodePage.dart b/lib/screens/patients/register_patient/VerifyActivationCodePage.dart index d58e5a3b..6f0e1a31 100644 --- a/lib/screens/patients/register_patient/VerifyActivationCodePage.dart +++ b/lib/screens/patients/register_patient/VerifyActivationCodePage.dart @@ -6,7 +6,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; class VerifyActivationCodePage extends StatefulWidget { - const VerifyActivationCodePage({Key key}) : super(key: key); + const VerifyActivationCodePage({Key? key}) : super(key: key); @override _VerifyActivationCodePageState createState() => diff --git a/lib/screens/patients/register_patient/VerifyMethodPage.dart b/lib/screens/patients/register_patient/VerifyMethodPage.dart index f4692138..c60b5012 100644 --- a/lib/screens/patients/register_patient/VerifyMethodPage.dart +++ b/lib/screens/patients/register_patient/VerifyMethodPage.dart @@ -506,15 +506,15 @@ class _ActivationPageState extends State { counterText: " ", enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10)), - borderSide: BorderSide(color: Colors.grey[300]), + borderSide: BorderSide(color: Colors.grey[300]!), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10.0)), - borderSide: BorderSide(color: Colors.grey[300]), + borderSide: BorderSide(color: Colors.grey[300]!), ), errorBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10.0)), - borderSide: BorderSide(color: Colors.grey[300]), + borderSide: BorderSide(color: Colors.grey[300]!), ), focusedErrorBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(10.0)), diff --git a/lib/screens/prescription/add_prescription_form.dart b/lib/screens/prescription/add_prescription_form.dart index eeb21cc9..3d4e0203 100644 --- a/lib/screens/prescription/add_prescription_form.dart +++ b/lib/screens/prescription/add_prescription_form.dart @@ -21,7 +21,7 @@ import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/medicine/medicine_item_widget.dart'; -import '../../widgets/shared/text_fields/TextFields.dart'; +import 'package:doctor_app_flutter/widgets/shared/TextFields.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; diff --git a/lib/screens/prescription/drugtodrug.dart b/lib/screens/prescription/drugtodrug.dart index 15abfeb6..e5c5291f 100644 --- a/lib/screens/prescription/drugtodrug.dart +++ b/lib/screens/prescription/drugtodrug.dart @@ -33,6 +33,8 @@ class _DrugToDrug extends State { {'name': 'LOW', 'level': 'LEVEL_1'}, {'name': 'INFO', 'level': 'INFO'}, ]; + + ///TODO Elham* Check this it seem something wrong GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP( patientMRN: 2954208, //widget.patient.patientMRN, episodeId: 210011002, //widget.patient.episodeNo, @@ -54,45 +56,34 @@ class _DrugToDrug extends State { Widget build(BuildContext context) { return isLoaded == true ? BaseView( - onModelReady: (model3) => model3.getDrugToDrug( - model.patientVitalSigns, - widget.listAssessment, - model2.patientAllergiesList, - widget.patient, - widget.prescription), - builder: (BuildContext context, PrescriptionViewModel model3, - Widget child) => - NetworkBaseView( - baseViewModel: model3, - child: Container( - height: SizeConfig.realScreenHeight * .4, - child: new ListView.builder( - itemCount: expandableList.length, - itemBuilder: (context, i) { - return new ExpansionTile( - title: new AppText( - expandableList[i]['name'] + - ' ' + - '(' + - getDrugInfo(expandableList[i]['level'], - model3) - .length - .toString() + - ')', - fontSize: 20, - fontWeight: FontWeight.bold, - ), - children: getDrugInfo( - expandableList[i]['level'], model3) - .map((item) { - return Container( - padding: EdgeInsets.all(10), - child: AppText( - item['comment'], - color: Colors.red[900], - )); - }).toList()); - })))) + onModelReady: (model3) => model3.getDrugToDrug(model.patientVitalSigns!, widget.listAssessment, + model2.patientAllergiesList, widget.patient, widget.prescription), + builder: (BuildContext context, PrescriptionViewModel model3, Widget? child) => NetworkBaseView( + baseViewModel: model3, + child: Container( + height: SizeConfig.realScreenHeight * .4, + child: new ListView.builder( + itemCount: expandableList.length, + itemBuilder: (context, i) { + return new ExpansionTile( + title: new AppText( + expandableList[i]['name'] + + ' ' + + '(' + + getDrugInfo(expandableList[i]['level'], model3).length.toString() + + ')', + fontSize: 20, + fontWeight: FontWeight.bold, + ), + children: getDrugInfo(expandableList[i]['level'], model3).map((item) { + return Container( + padding: EdgeInsets.all(10), + child: AppText( + item['comment'], + color: Colors.red[900], + )); + }).toList()); + })))) : Container( height: SizeConfig.realScreenHeight * .45, child: Center( diff --git a/lib/screens/prescription/prescription_checkout_screen.dart b/lib/screens/prescription/prescription_checkout_screen.dart index 0985f014..98428e9d 100644 --- a/lib/screens/prescription/prescription_checkout_screen.dart +++ b/lib/screens/prescription/prescription_checkout_screen.dart @@ -32,12 +32,12 @@ import 'package:speech_to_text/speech_recognition_error.dart'; import 'package:speech_to_text/speech_to_text.dart' as stt; class PrescriptionCheckOutScreen extends StatefulWidget { - final PrescriptionViewModel model; - final PatiantInformtion patient; - final List prescriptionList; - final ProcedureTempleteDetailsModel groupProcedures; + final PrescriptionViewModel? model; + final PatiantInformtion? patient; + final List? prescriptionList; + final ProcedureTempleteDetailsModel? groupProcedures; - const PrescriptionCheckOutScreen({Key ? key, this.model, this.patient, this.prescriptionList, this.groupProcedures}) + const PrescriptionCheckOutScreen({Key? key, this.model, this.patient, this.prescriptionList, this.groupProcedures}) : super(key: key); @override @@ -46,44 +46,44 @@ class PrescriptionCheckOutScreen extends StatefulWidget { class _PrescriptionCheckOutScreenState extends State { postPrescription( - {String duration, - String doseTimeIn, - String dose, - String drugId, - String strength, - String route, - String frequency, - String indication, - String instruction, - PrescriptionViewModel model, - DateTime doseTime, - String doseUnit, - String icdCode, - PatiantInformtion patient, - String patientType}) async { + {String? duration, + String? doseTimeIn, + String? dose, + String? drugId, + String? strength, + String? route, + String? frequency, + String? indication, + String? instruction, + PrescriptionViewModel? model, + DateTime? doseTime, + String? doseUnit, + String? icdCode, + PatiantInformtion? patient, + String? patientType}) async { PostPrescriptionReqModel postProcedureReqModel = new PostPrescriptionReqModel(); List prescriptionList = []; - postProcedureReqModel.appointmentNo = patient.appointmentNo; + postProcedureReqModel.appointmentNo = patient!.appointmentNo; postProcedureReqModel.clinicID = patient.clinicId; postProcedureReqModel.episodeID = patient.episodeNo; postProcedureReqModel.patientMRN = patient.patientMRN; prescriptionList.add(PrescriptionRequestModel( covered: true, - dose: double.parse(dose), - itemId: drugId.isEmpty ? 1 : int.parse(drugId), - doseUnitId: int.parse(doseUnit), - route: route.isEmpty ? 1 : int.parse(route), - frequency: frequency.isEmpty ? 1 : int.parse(frequency), + dose: double.parse(dose!), + itemId: drugId!.isEmpty ? 1 : int.parse(drugId), + doseUnitId: int.parse(doseUnit!), + route: route!.isEmpty ? 1 : int.parse(route), + frequency: frequency!.isEmpty ? 1 : int.parse(frequency), remarks: instruction, approvalRequired: true, icdcode10Id: icdCode.toString(), - doseTime: doseTimeIn.isEmpty ? 1 : int.parse(doseTimeIn), - duration: duration.isEmpty ? 1 : int.parse(duration), - doseStartDate: doseTime.toIso8601String())); + doseTime: doseTimeIn!.isEmpty ? 1 : int.parse(doseTimeIn), + duration: duration!.isEmpty ? 1 : int.parse(duration), + doseStartDate: doseTime!.toIso8601String())); postProcedureReqModel.prescriptionRequestModel = prescriptionList; - await model.postPrescription(postProcedureReqModel, patient.patientMRN); + await model!.postPrescription(postProcedureReqModel, patient.patientMRN!); if (model.state == ViewState.ErrorLocal) { Helpers.showErrorToast(model.error); @@ -93,14 +93,14 @@ class _PrescriptionCheckOutScreenState extends State } } - String routeError; - String frequencyError; - String doseTimeError; - String durationError; - String unitError; - String strengthError; + String? routeError; + String? frequencyError; + String? doseTimeError; + String? durationError; + String? unitError; + String? strengthError; - int selectedType; + late int selectedType; TextEditingController strengthController = TextEditingController(); TextEditingController indicationController = TextEditingController(); @@ -110,10 +110,10 @@ class _PrescriptionCheckOutScreenState extends State bool visbiltySearch = true; final myController = TextEditingController(); - DateTime selectedDate; - int strengthChar; - GetMedicationResponseModel _selectedMedication; - GlobalKey key = new GlobalKey>(); + late DateTime selectedDate; + late int strengthChar; + late GetMedicationResponseModel _selectedMedication; + late GlobalKey key = new GlobalKey>(); TextEditingController drugIdController = TextEditingController(); TextEditingController doseController = TextEditingController(); @@ -210,17 +210,17 @@ class _PrescriptionCheckOutScreenState extends State final screenSize = MediaQuery.of(context).size; return BaseView( onModelReady: (model) async { - model.getItem(itemID: int.parse(widget.groupProcedures.aliasN.replaceAll("item code ;", ""))); + model.getItem(itemID: int.parse(widget.groupProcedures!.aliasN!.replaceAll("item code ;", ""))); x = model.patientAssessmentList.map((element) { return element.icdCode10ID; }); GetAssessmentReqModel getAssessmentReqModel = GetAssessmentReqModel( - patientMRN: widget.patient.patientMRN, - episodeID: widget.patient.episodeNo.toString(), + patientMRN: widget.patient!.patientMRN, + episodeID: widget.patient!.episodeNo.toString(), editedBy: '', doctorID: '', - appointmentNo: widget.patient.appointmentNo); + appointmentNo: widget.patient!.appointmentNo); if (model.medicationStrengthList.length == 0) { await model.getMedicationStrength(); } @@ -235,7 +235,7 @@ class _PrescriptionCheckOutScreenState extends State builder: ( BuildContext context, MedicineViewModel model, - Widget child, + Widget? child, ) => AppScaffold( backgroundColor: Color(0xffF8F8F8).withOpacity(0.9), @@ -309,7 +309,7 @@ class _PrescriptionCheckOutScreenState extends State child: Column( children: [ AppText( - widget.groupProcedures.procedureName ?? "", + widget.groupProcedures!.procedureName ?? "", bold: true, ), Container( @@ -323,11 +323,11 @@ class _PrescriptionCheckOutScreenState extends State activeColor: Color(0xFFB9382C), value: 1, groupValue: selectedType, - onChanged: (value) { - setSelectedType(value); + onChanged: (int? value) { + setSelectedType(value!); }, ), - Text(TranslationBase.of(context).regular), + Text(TranslationBase.of(context).regular!), ], ), ), @@ -366,7 +366,7 @@ class _PrescriptionCheckOutScreenState extends State PrescriptionTextFiled( width: MediaQuery.of(context).size.width * 0.560, element: units, - elementError: unitError, + elementError: unitError ?? "", keyName: 'description', keyId: 'parameterCode', hintText: 'Select', @@ -385,7 +385,7 @@ class _PrescriptionCheckOutScreenState extends State PrescriptionTextFiled( elementList: model.itemMedicineListRoute, element: route, - elementError: routeError, + elementError: routeError ?? "", keyId: 'parameterCode', keyName: 'description', okFunction: (selectedValue) { @@ -394,12 +394,12 @@ class _PrescriptionCheckOutScreenState extends State route['isDefault'] = true; }); }, - hintText: TranslationBase.of(context).route, + hintText: TranslationBase.of(context).route!, ), SizedBox(height: spaceBetweenTextFileds), PrescriptionTextFiled( - hintText: TranslationBase.of(context).frequency, - elementError: frequencyError, + hintText: TranslationBase.of(context).frequency!, + elementError: frequencyError ?? "", element: frequency, elementList: model.itemMedicineList, keyId: 'parameterCode', @@ -415,7 +415,7 @@ class _PrescriptionCheckOutScreenState extends State model.getBoxQuantity( freq: frequency['parameterCode'], duration: duration['id'], - itemCode: _selectedMedication.itemId, + itemCode: _selectedMedication.itemId!, strength: double.parse(strengthController.text)); return; @@ -424,8 +424,8 @@ class _PrescriptionCheckOutScreenState extends State }), SizedBox(height: spaceBetweenTextFileds), PrescriptionTextFiled( - hintText: TranslationBase.of(context).doseTime, - elementError: doseTimeError, + hintText: TranslationBase.of(context).doseTime! ?? "", + elementError: doseTimeError!, element: doseTime, elementList: model.medicationDoseTimeList, keyId: 'id', @@ -475,13 +475,13 @@ class _PrescriptionCheckOutScreenState extends State height: screenSize.height * 0.070, color: Colors.white, child: InkWell( - onTap: () => selectDate(context, widget.model), + onTap: () => selectDate(context, widget.model!), child: TextField( decoration: textFieldSelectorDecoration( - TranslationBase.of(context).date, + TranslationBase.of(context).date!, selectedDate != null ? "${AppDateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}" - : null, + : '', true, suffixIcon: Icon( Icons.calendar_today, @@ -494,8 +494,8 @@ class _PrescriptionCheckOutScreenState extends State SizedBox(height: spaceBetweenTextFileds), PrescriptionTextFiled( element: duration, - elementError: durationError, - hintText: TranslationBase.of(context).duration, + elementError: durationError ?? "", + hintText: TranslationBase.of(context).duration!, elementList: model.medicationDurationList, keyName: 'nameEn', keyId: 'id', @@ -509,7 +509,7 @@ class _PrescriptionCheckOutScreenState extends State model.getBoxQuantity( freq: frequency['parameterCode'], duration: duration['id'], - itemCode: _selectedMedication.itemId, + itemCode: _selectedMedication.itemId!, strength: double.parse(strengthController.text), ); box = model.boxQuintity; @@ -531,7 +531,7 @@ class _PrescriptionCheckOutScreenState extends State TextFields( maxLines: 6, minLines: 4, - hintText: TranslationBase.of(context).instruction, + hintText: TranslationBase.of(context).instruction!, controller: instructionController, //keyboardType: TextInputType.number, ), @@ -586,13 +586,13 @@ class _PrescriptionCheckOutScreenState extends State return; } - if (formKey.currentState.validate()) { + if (formKey.currentState!.validate()) { Navigator.pop(context); // openDrugToDrug(model); { postPrescription( icdCode: model.patientAssessmentList.isNotEmpty - ? model.patientAssessmentList[0].icdCode10ID.isEmpty + ? model.patientAssessmentList[0].icdCode10ID!.isEmpty ? "test" : model.patientAssessmentList[0].icdCode10ID.toString() : "test", @@ -607,9 +607,9 @@ class _PrescriptionCheckOutScreenState extends State doseUnit: model.itemMedicineListUnit.length == 1 ? model.itemMedicineListUnit[0]['parameterCode'].toString() : units['parameterCode'].toString(), - patient: widget.patient, + patient: widget.patient!, doseTimeIn: doseTime['id'].toString(), - model: widget.model, + model: widget.model!, duration: duration['id'].toString(), frequency: model.itemMedicineList.length == 1 ? model.itemMedicineList[0]['parameterCode'].toString() @@ -617,8 +617,8 @@ class _PrescriptionCheckOutScreenState extends State route: model.itemMedicineListRoute.length == 1 ? model.itemMedicineListRoute[0]['parameterCode'].toString() : route['parameterCode'].toString(), - drugId: (widget.groupProcedures.aliasN - .replaceAll("item code ;", "")), + drugId: (widget.groupProcedures!.aliasN! + .replaceAll!("item code ;", "")), strength: strengthController.text, indication: indicationController.text, instruction: instructionController.text, @@ -649,19 +649,19 @@ class _PrescriptionCheckOutScreenState extends State frequencyError = null; } if (units == null) { - unitError = TranslationBase.of(context).fieldRequired; + unitError = TranslationBase.of(context).fieldRequired!; } else { unitError = null; } if (strengthController.text == "") { - strengthError = TranslationBase.of(context).fieldRequired; + strengthError = TranslationBase.of(context).fieldRequired!; } else { strengthError = null; } }); } - formKey.currentState.save(); + formKey.currentState!.save(); }, ), ], @@ -690,12 +690,12 @@ class _PrescriptionCheckOutScreenState extends State Helpers.hideKeyboard(context); DateTime selectedDate; selectedDate = DateTime.now(); - final DateTime picked = await showDatePicker( + final DateTime? picked = await showDatePicker( context: context, initialDate: selectedDate, firstDate: DateTime.now(), lastDate: DateTime(2040), - initialEntryMode: DatePickerEntryMode.calendar, + initialEntryMode: DatePickerEntryMode.calendar!, ); if (picked != null && picked != selectedDate) { setState(() { @@ -704,8 +704,8 @@ class _PrescriptionCheckOutScreenState extends State } } - InputDecoration textFieldSelectorDecoration(String hintText, String selectedText, bool isDropDown, - {Icon suffixIcon}) { + InputDecoration textFieldSelectorDecoration(String hintText, String? selectedText, bool isDropDown, + {Icon? suffixIcon}) { return InputDecoration( focusedBorder: OutlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0), diff --git a/lib/screens/prescription/prescription_details_page.dart b/lib/screens/prescription/prescription_details_page.dart index 9242bd91..0fba4dc3 100644 --- a/lib/screens/prescription/prescription_details_page.dart +++ b/lib/screens/prescription/prescription_details_page.dart @@ -8,13 +8,13 @@ import 'package:flutter/material.dart'; class PrescriptionDetailsPage extends StatelessWidget { final PrescriptionReport prescriptionReport; - PrescriptionDetailsPage({Key ? key, this.prescriptionReport}); + PrescriptionDetailsPage({required Key key, required this.prescriptionReport}); @override Widget build(BuildContext context) { return AppScaffold( isShowAppBar: true, - appBarTitle: TranslationBase.of(context).prescriptions, + appBarTitle: TranslationBase.of(context).prescriptions!, body: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -28,14 +28,14 @@ class PrescriptionDetailsPage extends StatelessWidget { borderRadius: BorderRadius.all( Radius.circular(10.0), ), - border: Border.all(color: Colors.grey[200], width: 0.5), + border: Border.all(color: Colors.grey[200]!, width: 0.5), ), child: Row( children: [ ClipRRect( borderRadius: BorderRadius.all(Radius.circular(5)), child: Image.network( - prescriptionReport.imageSRCUrl, + prescriptionReport!.imageSRCUrl!, fit: BoxFit.cover, width: 60, height: 70, @@ -46,7 +46,7 @@ class PrescriptionDetailsPage extends StatelessWidget { padding: const EdgeInsets.all(8.0), child: Center( child: AppText( - prescriptionReport.itemDescription.isNotEmpty + prescriptionReport.itemDescription!.isNotEmpty! ? prescriptionReport.itemDescription : prescriptionReport.itemDescriptionN), ), @@ -109,28 +109,22 @@ class PrescriptionDetailsPage extends StatelessWidget { color: Colors.white, height: 50, width: double.infinity, - child: - Center(child: Text(prescriptionReport.routeN))), + child: Center(child: Text(prescriptionReport.routeN ?? ""))), Container( color: Colors.white, height: 50, width: double.infinity, - child: Center( - child: - Text(prescriptionReport.frequencyN ?? ''))), + child: Center(child: Text(prescriptionReport.frequencyN ?? ''))), Container( color: Colors.white, height: 50, width: double.infinity, - child: Center( - child: Text( - '${prescriptionReport.doseDailyQuantity}'))), + child: Center(child: Text('${prescriptionReport.doseDailyQuantity}'))), Container( color: Colors.white, height: 50, width: double.infinity, - child: - Center(child: Text('${prescriptionReport.days}'))) + child: Center(child: Text('${prescriptionReport.days}'))) ], ), ], diff --git a/lib/screens/prescription/prescription_item_in_patient_page.dart b/lib/screens/prescription/prescription_item_in_patient_page.dart index e5013704..13f6f948 100644 --- a/lib/screens/prescription/prescription_item_in_patient_page.dart +++ b/lib/screens/prescription/prescription_item_in_patient_page.dart @@ -3,6 +3,7 @@ import 'package:doctor_app_flutter/core/model/Prescriptions/prescription_in_pati import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; +import 'package:doctor_app_flutter/models/patient/profile/patient_profile_app_bar_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; @@ -23,14 +24,14 @@ class PrescriptionItemsInPatientPage extends StatelessWidget { final int prescriptionIndex; PrescriptionItemsInPatientPage( - {Key ? key, - this.prescriptions, - this.patient, - this.patientType, - this.arrivalType, - this.stopOn, - this.startOn, - this.prescriptionIndex}); + {Key? key, + required this.prescriptions, + required this.patient, + required this.patientType, + required this.arrivalType, + required this.stopOn, + required this.startOn, + required this.prescriptionIndex}); @override Widget build(BuildContext context) { @@ -43,9 +44,9 @@ class PrescriptionItemsInPatientPage extends StatelessWidget { }, builder: (_, model, widget) => AppScaffold( isShowAppBar: true, - backgroundColor: Colors.grey[100], + backgroundColor: Colors.grey[100]!, baseViewModel: model, - appBar: PatientProfileAppBar(patient), + patientProfileAppBarModel: PatientProfileAppBarModel(patient: patient), body: SingleChildScrollView( child: Container( child: Column( @@ -101,7 +102,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget { TranslationBase.of(context).route, color: Colors.grey, ), - AppText(" " + prescriptions.routeDescription.toString() ?? ''), + AppText(" " + prescriptions.routeDescription.toString()), ], ), Row( @@ -169,7 +170,9 @@ class PrescriptionItemsInPatientPage extends StatelessWidget { TranslationBase.of(context).status, color: Colors.grey, ), - AppText(" " + prescriptions.statusDescription.toString() ?? ''), + AppText( + " " + prescriptions.statusDescription.toString(), + ), ], ), Row( diff --git a/lib/screens/prescription/prescription_items_page.dart b/lib/screens/prescription/prescription_items_page.dart index eaf2bd31..548b02a5 100644 --- a/lib/screens/prescription/prescription_items_page.dart +++ b/lib/screens/prescription/prescription_items_page.dart @@ -1,6 +1,7 @@ import 'package:doctor_app_flutter/core/model/Prescriptions/Prescriptions.dart'; import 'package:doctor_app_flutter/core/viewModel/prescriptions_view_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; +import 'package:doctor_app_flutter/models/patient/profile/patient_profile_app_bar_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; @@ -17,7 +18,12 @@ class PrescriptionItemsPage extends StatelessWidget { final PatiantInformtion patient; final String patientType; final String arrivalType; - PrescriptionItemsPage({Key ? key, this.prescriptions, this.patient, this.patientType, this.arrivalType}); + PrescriptionItemsPage( + {Key? key, + required this.prescriptions, + required this.patient, + required this.patientType, + required this.arrivalType}); @override Widget build(BuildContext context) { @@ -26,24 +32,23 @@ class PrescriptionItemsPage extends StatelessWidget { model.getPrescriptionReport(prescriptions: prescriptions,patient: patient), builder: (_, model, widget) => AppScaffold( isShowAppBar: true, - backgroundColor: Colors.grey[100], + backgroundColor: Colors.grey[100]!, baseViewModel: model, - appBar: PatientProfileAppBar( - patient, - clinic: prescriptions.clinicDescription, - branch: prescriptions.name, + patientProfileAppBarModel: PatientProfileAppBarModel( + patient: patient, + clinic: prescriptions.clinicDescription!, + branch: prescriptions.name!, isPrescriptions: true, - appointmentDate: AppDateUtils.getDateTimeFromServerFormat(prescriptions.appointmentDate), - doctorName: prescriptions.doctorName, - profileUrl: prescriptions.doctorImageURL, + appointmentDate: AppDateUtils.getDateTimeFromServerFormat(prescriptions.appointmentDate!), + doctorName: prescriptions.doctorName!, + profileUrl: prescriptions.doctorImageURL!, isAppointmentHeader: true, ), body: SingleChildScrollView( child: Container( child: Column( children: [ - - if (!prescriptions.isInOutPatient) + if (!prescriptions.isInOutPatient!) ...List.generate( model.prescriptionReportList.length, (index) => Container( @@ -59,7 +64,7 @@ class PrescriptionItemsPage extends StatelessWidget { children: [ Container( margin: EdgeInsets.only(left: 18,right: 18), - child: AppText(model.prescriptionReportList[index].itemDescription.isNotEmpty ? model.prescriptionReportList[index].itemDescription : model.prescriptionReportList[index].itemDescriptionN,bold: true,)), + child: AppText(model.prescriptionReportList[index].itemDescription!.isNotEmpty! ? model.prescriptionReportList[index].itemDescription : model.prescriptionReportList[index].itemDescriptionN,bold: true,)), SizedBox(height: 12,), Row( children: [ @@ -75,15 +80,15 @@ class PrescriptionItemsPage extends StatelessWidget { onTap: (){ showDialog( context: context, - builder: (ctx) => ShowImageDialog( - imageUrl: model.prescriptionReportEnhList[index].imageSRCUrl, - ) - ); + builder: (ctx) => ShowImageDialog( + imageUrl: + model.prescriptionReportEnhList[index].imageSRCUrl ?? "", + )); }, child: Padding( padding: const EdgeInsets.all(8.0), child: Image.network( - model.prescriptionReportList[index].imageSRCUrl, + model.prescriptionReportList[index].imageSRCUrl ?? "", fit: BoxFit.cover, ), ), @@ -96,13 +101,13 @@ class PrescriptionItemsPage extends StatelessWidget { Row( children: [ AppText(TranslationBase.of(context).route,color: Colors.grey,), - Expanded(child: AppText(" "+model.prescriptionReportList[index].routeN)), + Expanded(child: AppText(" "+model.prescriptionReportList[index].routeN!)), ], ), Row( children: [ AppText(TranslationBase.of(context).frequency,color: Colors.grey,), - AppText(" "+model.prescriptionReportList[index].frequencyN ?? ''), + AppText(" "+model.prescriptionReportList[index].frequencyN! ?? ''), ], ), Row( @@ -165,7 +170,7 @@ class PrescriptionItemsPage extends StatelessWidget { showDialog( context: context, builder: (ctx) => ShowImageDialog( - imageUrl: model.prescriptionReportEnhList[index].imageSRCUrl, + imageUrl: model.prescriptionReportEnhList[index].imageSRCUrl!, ) ); }, @@ -174,7 +179,7 @@ class PrescriptionItemsPage extends StatelessWidget { Padding( padding: const EdgeInsets.all(8.0), child: Image.network( - model.prescriptionReportEnhList[index].imageSRCUrl, + model.prescriptionReportEnhList[index].imageSRCUrl!, fit: BoxFit.cover, ), @@ -194,13 +199,13 @@ class PrescriptionItemsPage extends StatelessWidget { Row( children: [ AppText(TranslationBase.of(context).route,color: Colors.grey,), - Expanded(child: AppText(" "+model.prescriptionReportEnhList[index].route??'')), + Expanded(child: AppText(" "+model.prescriptionReportEnhList[index].route!??'')), ], ), Row( children: [ AppText(TranslationBase.of(context).frequency,color: Colors.grey,), - AppText(" "+model.prescriptionReportEnhList[index].frequency ?? ''), + AppText(" "+model.prescriptionReportEnhList[index].frequency! ?? ''), ], ), Row( diff --git a/lib/screens/prescription/prescription_text_filed.dart b/lib/screens/prescription/prescription_text_filed.dart index 9fe92ed9..078456b8 100644 --- a/lib/screens/prescription/prescription_text_filed.dart +++ b/lib/screens/prescription/prescription_text_filed.dart @@ -8,6 +8,7 @@ import 'package:flutter/material.dart'; class PrescriptionTextFiled extends StatefulWidget { dynamic element; final String? elementError; + final bool? isSubmitted; final List elementList; final String keyName; final String keyId; diff --git a/lib/screens/prescription/prescriptions_page.dart b/lib/screens/prescription/prescriptions_page.dart index d61ac08d..9b27eeef 100644 --- a/lib/screens/prescription/prescriptions_page.dart +++ b/lib/screens/prescription/prescriptions_page.dart @@ -1,5 +1,6 @@ import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; +import 'package:doctor_app_flutter/models/patient/profile/patient_profile_app_bar_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/prescription/prescription_item_in_patient_page.dart'; import 'package:doctor_app_flutter/screens/prescription/prescription_items_page.dart'; @@ -23,7 +24,7 @@ import 'package:flutter/material.dart'; class PrescriptionsPage extends StatelessWidget { @override Widget build(BuildContext context) { - final routeArgs = ModalRoute.of(context).settings.arguments as Map; + final routeArgs = ModalRoute.of(context)!.settings.arguments as Map; PatiantInformtion patient = routeArgs['patient']; String patientType = routeArgs['patientType']; String arrivalType = routeArgs['arrivalType']; @@ -38,10 +39,8 @@ class PrescriptionsPage extends StatelessWidget { baseViewModel: model, isShowAppBar: true, backgroundColor: Colors.grey[100], - appBar: PatientProfileAppBar( - patient, - isInpatient: isInpatient, - ), + patientProfileAppBarModel: PatientProfileAppBarModel( + patient: patient, isInpatient:isInpatient,), body: patient.admissionNo == null ? FractionallySizedBox( widthFactor: 1.0, @@ -59,9 +58,9 @@ class PrescriptionsPage extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ ServiceTitle( - title: TranslationBase.of(context).orders, + title: TranslationBase.of(context).orders!, subTitle: - TranslationBase.of(context).prescriptions, + TranslationBase.of(context).prescriptions!, ), ], ), @@ -74,9 +73,9 @@ class PrescriptionsPage extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ ServiceTitle( - title: TranslationBase.of(context).orders, + title: TranslationBase.of(context).orders!, subTitle: - TranslationBase.of(context).prescriptions, + TranslationBase.of(context)!.prescriptions!, ), ], ), @@ -97,8 +96,8 @@ class PrescriptionsPage extends StatelessWidget { settingRoute: 'AddProcedureTabPage'), ); }, - label: TranslationBase.of(context) - .applyForNewPrescriptionsOrder, + label: TranslationBase.of(context)! + .applyForNewPrescriptionsOrder!, ), ...List.generate( model.prescriptionsList.length, @@ -117,17 +116,17 @@ class PrescriptionsPage extends StatelessWidget { ), child: DoctorCard( doctorName: - model.prescriptionsList[index].doctorName, + model.prescriptionsList[index].doctorName ?? "", profileUrl: model - .prescriptionsList[index].doctorImageURL, - branch: model.prescriptionsList[index].name, + .prescriptionsList[index].doctorImageURL ?? "", + branch: model.prescriptionsList[index].name ?? "", clinic: model.prescriptionsList[index] - .clinicDescription, + .clinicDescription ?? "", isPrescriptions: true, appointmentDate: AppDateUtils.getDateTimeFromServerFormat( - model.prescriptionsList[index] - .appointmentDate, + model.prescriptionsList[index]! + .appointmentDate ?? "", ), ))), if (model.prescriptionsList.isEmpty && @@ -183,14 +182,14 @@ class PrescriptionsPage extends StatelessWidget { model .medicationForInPatient[ index] - .startDatetime, + .startDatetime ?? "", ), stopOn: AppDateUtils .getDateTimeFromServerFormat( model .medicationForInPatient[ index] - .stopDatetime, + .stopDatetime ?? "", ), ), ), @@ -205,8 +204,8 @@ class PrescriptionsPage extends StatelessWidget { isPrescriptions: true, appointmentDate: AppDateUtils .getDateTimeFromServerFormat( - model.medicationForInPatient[index] - .prescriptionDatetime, + model.medicationForInPatient[index]! + .prescriptionDatetime ?? "", ), createdBy: model .medicationForInPatient[index] diff --git a/lib/screens/prescription/update_prescription_form.dart b/lib/screens/prescription/update_prescription_form.dart index a553d13a..1fa0e98a 100644 --- a/lib/screens/prescription/update_prescription_form.dart +++ b/lib/screens/prescription/update_prescription_form.dart @@ -43,21 +43,21 @@ class UpdatePrescriptionForm extends StatefulWidget { UpdatePrescriptionForm( {required this.drugName, - required this.doseStreangth, - required this.drugId, - required this.remarks, - required this.patient, - required this.duration, - required this.route, - required this.dose, - required this.startDate, - required this.doseUnit, - required this.enteredRemarks, - required this.frequency, - required this.model, - required this.drugNameGeneric, - required this.uom, - required this.box}); + required this.doseStreangth, + required this.drugId, + required this.remarks, + required this.patient, + required this.duration, + required this.route, + required this.dose, + required this.startDate, + required this.doseUnit, + required this.enteredRemarks, + required this.frequency, + required this.model, + required this.drugNameGeneric, + required this.uom, + required this.box}); @override _UpdatePrescriptionFormState createState() => _UpdatePrescriptionFormState(); } diff --git a/lib/screens/procedures/ExpansionProcedure.dart b/lib/screens/procedures/ExpansionProcedure.dart index 45e79bf2..740ae8e6 100644 --- a/lib/screens/procedures/ExpansionProcedure.dart +++ b/lib/screens/procedures/ExpansionProcedure.dart @@ -15,24 +15,24 @@ class ExpansionProcedure extends StatefulWidget { final ProcedureViewModel model; final Function(ProcedureTempleteDetailsModel) removeFavProcedure; final Function(ProcedureTempleteDetailsModel) addFavProcedure; - final Function(ProcedureTempleteDetailsModel) selectProcedures; + final Function(ProcedureTempleteDetailsModel)? selectProcedures; - final bool Function(ProcedureTempleteModel) isEntityListSelected; - final bool Function(ProcedureTempleteDetailsModel) isEntityFavListSelected; + final bool Function(ProcedureTempleteModel)? isEntityListSelected; + final bool Function(ProcedureTempleteDetailsModel)? isEntityFavListSelected; final bool isProcedure; final ProcedureTempleteDetailsModel groupProcedures; const ExpansionProcedure( - {Key ? key, - this.procedureTempleteModel, - this.model, - this.removeFavProcedure, - this.addFavProcedure, + {Key? key, + required this.procedureTempleteModel, + required this.model, + required this.removeFavProcedure, + required this.addFavProcedure, this.selectProcedures, this.isEntityListSelected, this.isEntityFavListSelected, this.isProcedure = true, - this.groupProcedures}) + required this.groupProcedures}) : super(key: key); @override @@ -77,8 +77,8 @@ class _ExpansionProcedureState extends State { padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 0), child: AppText( widget.isProcedure == true - ? "Procedures for " + widget.procedureTempleteModel.templateName - : "Prescription for " + widget.procedureTempleteModel.templateName, + ? "Procedures for " + widget.procedureTempleteModel.templateName! + : "Prescription for " + widget.procedureTempleteModel.templateName!, fontSize: 16.0, variant: "bodyText", bold: true, @@ -118,14 +118,14 @@ class _ExpansionProcedureState extends State { onTap: () { if (widget.isProcedure) { setState(() { - if (widget.isEntityFavListSelected(itemProcedure)) { + if (widget.isEntityFavListSelected!(itemProcedure)) { widget.removeFavProcedure(itemProcedure); } else { widget.addFavProcedure(itemProcedure); } }); } else { - widget.selectProcedures(itemProcedure); + widget.selectProcedures!(itemProcedure); } }, child: Container( @@ -140,11 +140,11 @@ class _ExpansionProcedureState extends State { padding: const EdgeInsets.symmetric(horizontal: 11), child: widget.isProcedure ? Checkbox( - value: widget.isEntityFavListSelected(itemProcedure), + value: widget.isEntityFavListSelected!(itemProcedure), activeColor: Color(0xffD02127), - onChanged: (bool newValue) { + onChanged: (bool? newValue) { setState(() { - if (widget.isEntityFavListSelected(itemProcedure)) { + if (widget.isEntityFavListSelected!(itemProcedure)) { widget.removeFavProcedure(itemProcedure); } else { widget.addFavProcedure(itemProcedure); @@ -155,8 +155,8 @@ class _ExpansionProcedureState extends State { value: itemProcedure, groupValue: widget.groupProcedures, activeColor: Color(0xffD02127), - onChanged: (newValue) { - widget.selectProcedures(newValue); + onChanged: (ProcedureTempleteDetailsModel? newValue) { + widget.selectProcedures!(newValue!); })), Expanded( child: Padding( diff --git a/lib/screens/procedures/ProcedureCard.dart b/lib/screens/procedures/ProcedureCard.dart index 77291c2c..c8e2d5d4 100644 --- a/lib/screens/procedures/ProcedureCard.dart +++ b/lib/screens/procedures/ProcedureCard.dart @@ -12,21 +12,21 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class ProcedureCard extends StatelessWidget { - final Function onTap; + final GestureTapCallback onTap; final EntityList entityList; - final String categoryName; + final String? categoryName; final int categoryID; final PatiantInformtion patient; final int doctorID; final bool isInpatient; const ProcedureCard({ - Key ? key, - this.onTap, - this.entityList, - this.categoryID, + Key? key, + required this.onTap, + required this.entityList, + required this.categoryID, this.categoryName, - this.patient, - this.doctorID, + required this.patient, + required this.doctorID, this.isInpatient = false, }) : super(key: key); @@ -97,13 +97,13 @@ class ProcedureCard extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.end, children: [ AppText( - '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.convertISOStringToDateTime(entityList.orderDate), isArabic: projectViewModel.isArabic)}', + '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.convertISOStringToDateTime(entityList.orderDate ?? ""), isArabic: projectViewModel.isArabic)}', color: Colors.black, fontWeight: FontWeight.w600, fontSize: 14, ), AppText( - '${AppDateUtils.getHour(AppDateUtils.convertISOStringToDateTime(entityList.orderDate))}', + '${AppDateUtils.getHour(AppDateUtils.convertISOStringToDateTime(entityList.orderDate ?? ""))}', fontWeight: FontWeight.w600, color: Colors.grey[700], fontSize: 14, @@ -150,7 +150,7 @@ class ProcedureCard extends StatelessWidget { 'assets/images/male_avatar.png', height: 25, width: 30, - errorBuilder: (BuildContext context, Object exception, StackTrace stackTrace) { + errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) { return Text('No Image'); }, ))), diff --git a/lib/screens/procedures/ProcedureType.dart b/lib/screens/procedures/ProcedureType.dart index 28a72041..8b7400d4 100644 --- a/lib/screens/procedures/ProcedureType.dart +++ b/lib/screens/procedures/ProcedureType.dart @@ -10,19 +10,19 @@ enum ProcedureType { extension procedureType on ProcedureType { String getFavouriteTabName(BuildContext context) { - return TranslationBase.of(context).favoriteTemplates; + return TranslationBase.of(context).favoriteTemplates!; } String getAllLabelName(BuildContext context) { switch (this) { case ProcedureType.PROCEDURE: - return TranslationBase.of(context).allProcedures; + return TranslationBase.of(context).allProcedures!; case ProcedureType.LAB_RESULT: - return TranslationBase.of(context).allLab; + return TranslationBase.of(context).allLab!; case ProcedureType.RADIOLOGY: - return TranslationBase.of(context).allRadiology; + return TranslationBase.of(context).allRadiology!; case ProcedureType.PRESCRIPTION: - return TranslationBase.of(context).allPrescription; + return TranslationBase.of(context).allPrescription!; default: return ""; } @@ -31,13 +31,13 @@ extension procedureType on ProcedureType { String getToolbarLabel(BuildContext context) { switch (this) { case ProcedureType.PROCEDURE: - return TranslationBase.of(context).addProcedures; + return TranslationBase.of(context).addProcedures!; case ProcedureType.LAB_RESULT: - return TranslationBase.of(context).addLabOrder; + return TranslationBase.of(context).addLabOrder!; case ProcedureType.RADIOLOGY: - return TranslationBase.of(context).addRadiologyOrder; + return TranslationBase.of(context).addRadiologyOrder!; case ProcedureType.PRESCRIPTION: - return TranslationBase.of(context).addPrescription; + return TranslationBase.of(context).addPrescription!; default: return ""; } @@ -46,13 +46,13 @@ extension procedureType on ProcedureType { String getAddButtonTitle(BuildContext context) { switch (this) { case ProcedureType.PROCEDURE: - return TranslationBase.of(context).addProcedures; + return TranslationBase.of(context).addProcedures!; case ProcedureType.LAB_RESULT: - return TranslationBase.of(context).addLabOrder; + return TranslationBase.of(context).addLabOrder!; case ProcedureType.RADIOLOGY: - return TranslationBase.of(context).addRadiologyOrder; + return TranslationBase.of(context).addRadiologyOrder!; case ProcedureType.PRESCRIPTION: - return TranslationBase.of(context).addPrescription; + return TranslationBase.of(context).addPrescription!; default: return ""; } @@ -61,7 +61,7 @@ extension procedureType on ProcedureType { String getCategoryId() { switch (this) { case ProcedureType.PROCEDURE: - return null; + return ""; case ProcedureType.LAB_RESULT: return "02"; case ProcedureType.RADIOLOGY: @@ -69,20 +69,20 @@ extension procedureType on ProcedureType { case ProcedureType.PRESCRIPTION: return "55"; default: - return null; + return ""; } } String getCategoryName() { switch (this) { case ProcedureType.PROCEDURE: - return null; + return ''; case ProcedureType.LAB_RESULT: return "Laboratory"; case ProcedureType.RADIOLOGY: return "Radiology"; default: - return null; + return ''; } } } diff --git a/lib/screens/procedures/add-favourite-procedure.dart b/lib/screens/procedures/add-favourite-procedure.dart index 3fd6d460..8c5c8be0 100644 --- a/lib/screens/procedures/add-favourite-procedure.dart +++ b/lib/screens/procedures/add-favourite-procedure.dart @@ -19,17 +19,17 @@ import 'package:flutter/material.dart'; import 'ProcedureType.dart'; class AddFavouriteProcedure extends StatefulWidget { - final ProcedureViewModel model; - final PrescriptionViewModel prescriptionModel; + final ProcedureViewModel? model; + final PrescriptionViewModel? prescriptionModel; final PatiantInformtion patient; final ProcedureType procedureType; AddFavouriteProcedure({ - Key ? key, + Key? key, this.model, this.prescriptionModel, - this.patient, - @required this.procedureType, + required this.patient, + required this.procedureType, }); @override @@ -39,28 +39,28 @@ class AddFavouriteProcedure extends StatefulWidget { class _AddFavouriteProcedureState extends State { _AddFavouriteProcedureState({this.patient, this.model}); - ProcedureViewModel model; - PatiantInformtion patient; + ProcedureViewModel? model; + PatiantInformtion? patient; List entityList = []; - ProcedureTempleteDetailsModel groupProcedures; + ProcedureTempleteDetailsModel? groupProcedures; @override Widget build(BuildContext context) { return BaseView( onModelReady: (model) => model.getProcedureTemplate(categoryID: widget.procedureType.getCategoryId()), - builder: (BuildContext context, ProcedureViewModel model, Widget child) => AppScaffold( + builder: (BuildContext? context, ProcedureViewModel? model, Widget? child) => AppScaffold( isShowAppBar: false, baseViewModel: model, body: Column( children: [ Container( - height: MediaQuery.of(context).size.height * 0.070, + height: MediaQuery.of(context!).size.height * 0.070, ), - (model.templateList.length != 0) + (model!.templateList.length != 0) ? Expanded( child: EntityListCheckboxSearchFavProceduresWidget( isProcedure: !(widget.procedureType == ProcedureType.PRESCRIPTION), - model: model, + model: model!, removeFavProcedure: (item) { setState(() { entityList.remove(item); diff --git a/lib/screens/procedures/add-procedure-page.dart b/lib/screens/procedures/add-procedure-page.dart index 4bdf1b2e..2e0c4324 100644 --- a/lib/screens/procedures/add-procedure-page.dart +++ b/lib/screens/procedures/add-procedure-page.dart @@ -16,13 +16,11 @@ import 'ProcedureType.dart'; import 'entity_list_checkbox_search_widget.dart'; class AddProcedurePage extends StatefulWidget { - final ProcedureViewModel model; + final ProcedureViewModel? model; final PatiantInformtion patient; final ProcedureType procedureType; - const AddProcedurePage( - {Key ? key, this.model, this.patient, @required this.procedureType}) - : super(key: key); + const AddProcedurePage({Key? key, this.model, required this.patient, required this.procedureType}) : super(key: key); @override _AddProcedurePageState createState() => _AddProcedurePageState( @@ -30,10 +28,10 @@ class AddProcedurePage extends StatefulWidget { } class _AddProcedurePageState extends State { - int selectedType; - ProcedureViewModel model; - PatiantInformtion patient; - ProcedureType procedureType; + int? selectedType; + ProcedureViewModel? model; + PatiantInformtion? patient; + ProcedureType? procedureType; _AddProcedurePageState({this.patient, this.model, this.procedureType}); @@ -56,17 +54,16 @@ class _AddProcedurePageState extends State { return BaseView( onModelReady: (model) { model.getProcedureCategory( - categoryName: procedureType.getCategoryName(), - categoryID: procedureType.getCategoryId(), - patientId: patient.patientId); + categoryName: procedureType!.getCategoryName(), + categoryID: procedureType!.getCategoryId(), + patientId: patient!.patientId); }, - builder: (BuildContext context, ProcedureViewModel model, Widget child) => - AppScaffold( + builder: (BuildContext? context, ProcedureViewModel? model, Widget? child) => AppScaffold( isShowAppBar: false, body: Column( children: [ Container( - height: MediaQuery.of(context).size.height * 0.070, + height: MediaQuery.of(context!).size.height * 0.070, ), Expanded( child: NetworkBaseView( @@ -121,8 +118,8 @@ class _AddProcedurePageState extends State { onTap: () { if (procedureName.text.isNotEmpty && procedureName.text.length >= 3) - model.getProcedureCategory( - patientId: patient.patientId, + model!.getProcedureCategory( + patientId: patient!.patientId, categoryName: procedureName.text); else @@ -141,16 +138,13 @@ class _AddProcedurePageState extends State { ), ], ), - if ((procedureType == ProcedureType.PROCEDURE - ? procedureName.text.isNotEmpty - : true) && - model.categoriesList.length != 0) + if ((procedureType == ProcedureType.PROCEDURE ? procedureName.text.isNotEmpty : true) && + model!.categoriesList.length != 0) NetworkBaseView( baseViewModel: model, child: EntityListCheckboxSearchWidget( - model: widget.model, - masterList: - model.categoriesList[0].entityList, + model: widget.model!, + masterList: model.categoriesList[0].entityList!, removeHistory: (item) { setState(() { entityList.remove(item); @@ -181,7 +175,7 @@ class _AddProcedurePageState extends State { alignment: WrapAlignment.center, children: [ AppButton( - title: procedureType.getAddButtonTitle(context), + title: procedureType!.getAddButtonTitle(context), fontWeight: FontWeight.w700, color: Color(0xff359846), onPressed: () async { @@ -193,7 +187,7 @@ class _AddProcedurePageState extends State { return; } - await this.model.preparePostProcedure( + await this.model!.preparePostProcedure!( orderType: selectedType.toString(), entityList: entityList, patient: patient, diff --git a/lib/screens/procedures/base_add_procedure_tab_page.dart b/lib/screens/procedures/base_add_procedure_tab_page.dart index 727c0449..2a5dd573 100644 --- a/lib/screens/procedures/base_add_procedure_tab_page.dart +++ b/lib/screens/procedures/base_add_procedure_tab_page.dart @@ -15,33 +15,28 @@ import 'add-favourite-procedure.dart'; import 'add-procedure-page.dart'; class BaseAddProcedureTabPage extends StatefulWidget { - final ProcedureViewModel model; - final PrescriptionViewModel prescriptionModel; - final PatiantInformtion patient; - final ProcedureType procedureType; + final ProcedureViewModel? model; + final PrescriptionViewModel? prescriptionModel; + final PatiantInformtion? patient; + final ProcedureType? procedureType; const BaseAddProcedureTabPage( - {Key ? key, - this.model, - this.prescriptionModel, - this.patient, - @required this.procedureType}) + {Key? key, this.model, this.prescriptionModel, this.patient, required this.procedureType}) : super(key: key); @override - _BaseAddProcedureTabPageState createState() => _BaseAddProcedureTabPageState( - patient: patient, model: model, procedureType: procedureType); + _BaseAddProcedureTabPageState createState() => + _BaseAddProcedureTabPageState(patient: patient!, model: model, procedureType: procedureType!); } -class _BaseAddProcedureTabPageState extends State - with SingleTickerProviderStateMixin { - final ProcedureViewModel model; +class _BaseAddProcedureTabPageState extends State with SingleTickerProviderStateMixin { + final ProcedureViewModel? model; final PatiantInformtion patient; final ProcedureType procedureType; - _BaseAddProcedureTabPageState({this.patient, this.model, this.procedureType}); + _BaseAddProcedureTabPageState({required this.patient, required this.model, required this.procedureType}); - TabController _tabController; + late TabController _tabController; int _activeTab = 0; @override @@ -68,8 +63,7 @@ class _BaseAddProcedureTabPageState extends State final screenSize = MediaQuery.of(context).size; return BaseView( - builder: (BuildContext context, ProcedureViewModel model, Widget child) => - AppScaffold( + builder: (BuildContext? context, ProcedureViewModel? model, Widget? child) => AppScaffold( isShowAppBar: false, body: NetworkBaseView( baseViewModel: model, @@ -77,8 +71,7 @@ class _BaseAddProcedureTabPageState extends State minChildSize: 0.90, initialChildSize: 0.95, maxChildSize: 1.0, - builder: - (BuildContext context, ScrollController scrollController) { + builder: (BuildContext context, ScrollController scrollController) { return Container( height: MediaQuery.of(context).size.height * 1.25, child: Padding( @@ -168,13 +161,13 @@ class _BaseAddProcedureTabPageState extends State if (widget.procedureType == ProcedureType.PRESCRIPTION) PrescriptionFormWidget( - widget.prescriptionModel, - widget.patient, - widget.prescriptionModel + widget.prescriptionModel!, + widget.patient!, + widget.prescriptionModel! .prescriptionList) else AddProcedurePage( - model: this.model, + model: this.model!, patient: patient, procedureType: procedureType, ), diff --git a/lib/screens/procedures/entity_list_checkbox_search_widget.dart b/lib/screens/procedures/entity_list_checkbox_search_widget.dart index dc5c344e..8d9aeb8b 100644 --- a/lib/screens/procedures/entity_list_checkbox_search_widget.dart +++ b/lib/screens/procedures/entity_list_checkbox_search_widget.dart @@ -14,20 +14,20 @@ class EntityListCheckboxSearchWidget extends StatefulWidget { final Function addSelectedHistories; final Function(EntityList) removeHistory; final Function(EntityList) addHistory; - final Function(EntityList) addRemarks; + final Function(EntityList)? addRemarks; final bool Function(EntityList) isEntityListSelected; final List masterList; /// todo clear the function here EntityListCheckboxSearchWidget( - {Key ? key, - this.model, - this.addSelectedHistories, - this.removeHistory, - this.masterList, - this.addHistory, - this.isEntityListSelected, + {Key? key, + required this.model, + required this.addSelectedHistories, + required this.removeHistory, + required this.masterList, + required this.addHistory, + required this.isEntityListSelected, this.addRemarks}) : super(key: key); @@ -36,11 +36,10 @@ class EntityListCheckboxSearchWidget extends StatefulWidget { _EntityListCheckboxSearchWidgetState(); } -class _EntityListCheckboxSearchWidgetState - extends State { +class _EntityListCheckboxSearchWidgetState extends State { int selectedType = 0; - int typeUrgent; - int typeRegular; + late int typeUrgent; + late int typeRegular; setSelectedType(int val) { setState(() { @@ -97,18 +96,14 @@ class _EntityListCheckboxSearchWidgetState title: Row( children: [ Checkbox( - value: widget.isEntityListSelected( - historyInfo), + value: widget.isEntityListSelected(historyInfo), activeColor: Color(0xffD02127), - onChanged: (bool newValue) { + onChanged: (bool? newValue) { setState(() { - if (widget.isEntityListSelected( - historyInfo)) { - widget.removeHistory( - historyInfo); + if (widget.isEntityListSelected(historyInfo)) { + widget.removeHistory(historyInfo); } else { - widget - .addHistory(historyInfo); + widget.addHistory(historyInfo); } }); }), @@ -159,13 +154,10 @@ class _EntityListCheckboxSearchWidgetState Color(0xFFD02127), value: 0, groupValue: selectedType, - onChanged: (value) { - historyInfo.type = - setSelectedType(value) - .toString(); + onChanged: (int? value) { + historyInfo.type = setSelectedType(value!).toString(); - historyInfo.type = - value.toString(); + historyInfo.type = value.toString(); }, ), AppText( @@ -178,10 +170,8 @@ class _EntityListCheckboxSearchWidgetState Color(0xFFD02127), groupValue: selectedType, value: 1, - onChanged: (value) { - historyInfo.type = - setSelectedType(value) - .toString(); + onChanged: (int? value) { + historyInfo.type = setSelectedType(value!).toString(); historyInfo.type = value.toString(); @@ -250,7 +240,7 @@ class _EntityListCheckboxSearchWidgetState if (query.isNotEmpty) { List dummyListData = []; dummySearchList.forEach((item) { - if (item.procedureName.toLowerCase().contains(query.toLowerCase())) { + if (item.procedureName!.toLowerCase().contains(query.toLowerCase())) { dummyListData.add(item); } }); diff --git a/lib/screens/procedures/entity_list_fav_procedure.dart b/lib/screens/procedures/entity_list_fav_procedure.dart index 05287322..c308fa6a 100644 --- a/lib/screens/procedures/entity_list_fav_procedure.dart +++ b/lib/screens/procedures/entity_list_fav_procedure.dart @@ -15,32 +15,32 @@ import 'ExpansionProcedure.dart'; class EntityListCheckboxSearchFavProceduresWidget extends StatefulWidget { final ProcedureViewModel model; - final Function addSelectedHistories; - final Function(ProcedureTempleteModel) removeHistory; - final Function(ProcedureTempleteModel) addHistory; - final Function(ProcedureTempleteModel) addRemarks; + final Function? addSelectedHistories; + final Function(ProcedureTempleteModel)? removeHistory; + final Function(ProcedureTempleteModel)? addHistory; + final Function(ProcedureTempleteModel)? addRemarks; final Function(ProcedureTempleteDetailsModel) removeFavProcedure; final Function(ProcedureTempleteDetailsModel) addFavProcedure; - final Function(ProcedureTempleteDetailsModel) selectProcedures; - final ProcedureTempleteDetailsModel groupProcedures; + final Function(ProcedureTempleteDetailsModel)? selectProcedures; + final ProcedureTempleteDetailsModel? groupProcedures; - final bool Function(ProcedureTempleteModel) isEntityListSelected; - final bool Function(ProcedureTempleteDetailsModel) isEntityFavListSelected; - final List masterList; + final bool Function(ProcedureTempleteModel)? isEntityListSelected; + final bool Function(ProcedureTempleteDetailsModel)? isEntityFavListSelected; + final List? masterList; final bool isProcedure; EntityListCheckboxSearchFavProceduresWidget( - {Key ? key, - this.model, + {Key? key, + required this.model, this.addSelectedHistories, this.removeHistory, this.masterList, this.addHistory, - this.addFavProcedure, + required this.addFavProcedure, this.selectProcedures, - this.removeFavProcedure, + required this.removeFavProcedure, this.isEntityListSelected, this.isEntityFavListSelected, this.addRemarks, @@ -55,8 +55,8 @@ class EntityListCheckboxSearchFavProceduresWidget extends StatefulWidget { class _EntityListCheckboxSearchFavProceduresWidgetState extends State { int selectedType = 0; - int typeUrgent; - int typeRegular; + late int typeUrgent; + late int typeRegular; setSelectedType(int val) { setState(() { @@ -112,11 +112,11 @@ class _EntityListCheckboxSearchFavProceduresWidgetState extends State dummySearchList = []; - dummySearchList.addAll(widget.masterList); + dummySearchList.addAll(widget.masterList!); if (query.isNotEmpty) { List dummyListData = []; dummySearchList.forEach((item) { - if (item.templateName.toLowerCase().contains(query.toLowerCase())) { + if (item.templateName!.toLowerCase().contains(query.toLowerCase())) { dummyListData.add(item); } }); @@ -152,7 +152,7 @@ class _EntityListCheckboxSearchFavProceduresWidgetState extends State _ProcedureCheckOutScreenState(); @@ -37,7 +41,7 @@ class _ProcedureCheckOutScreenState extends State { @override Widget build(BuildContext context) { return BaseView( - builder: (BuildContext context, ProcedureViewModel model, Widget child) => AppScaffold( + builder: (BuildContext context, ProcedureViewModel model, Widget? child) => AppScaffold( backgroundColor: Color(0xffF8F8F8).withOpacity(0.9), isShowAppBar: false, body: SingleChildScrollView( diff --git a/lib/screens/procedures/procedure_screen.dart b/lib/screens/procedures/procedure_screen.dart index e1c82c63..d47865bb 100644 --- a/lib/screens/procedures/procedure_screen.dart +++ b/lib/screens/procedures/procedure_screen.dart @@ -4,6 +4,7 @@ import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; +import 'package:doctor_app_flutter/models/patient/profile/patient_profile_app_bar_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/procedures/update-procedure.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; @@ -19,17 +20,17 @@ import 'ProcedureType.dart'; import 'base_add_procedure_tab_page.dart'; class ProcedureScreen extends StatelessWidget { - int doctorNameP; + int? doctorNameP; void initState() async { Map profile = await sharedPref.getObj(DOCTOR_PROFILE); DoctorProfileModel doctorProfile = DoctorProfileModel.fromJson(profile); - doctorNameP = doctorProfile!.doctorID; + doctorNameP = doctorProfile.doctorID; } @override Widget build(BuildContext context) { - final routeArgs = ModalRoute.of(context).settings.arguments as Map; + final routeArgs = ModalRoute.of(context)!.settings.arguments as Map; PatiantInformtion patient = routeArgs['patient']; String patientType = routeArgs['patientType']; String arrivalType = routeArgs['arrivalType']; @@ -38,12 +39,12 @@ class ProcedureScreen extends StatelessWidget { return BaseView( onModelReady: (model) => model.getProcedure(mrn: patient.patientId, patientType: patientType, appointmentNo: patient.appointmentNo), - builder: (BuildContext context, ProcedureViewModel model, Widget child) => AppScaffold( + builder: (BuildContext context, ProcedureViewModel model, Widget? child) => AppScaffold( isShowAppBar: true, backgroundColor: Colors.grey[100], baseViewModel: model, - appBar: PatientProfileAppBar( - patient, + patientProfileAppBarModel: PatientProfileAppBarModel( + patient: patient, isInpatient: isInpatient, ), body: SingleChildScrollView( @@ -152,33 +153,33 @@ class ProcedureScreen extends StatelessWidget { ), if (model.procedureList.isNotEmpty) ...List.generate( - model.procedureList[0].rowcount, + model.procedureList[0].rowcount!, (index) => ProcedureCard( - categoryID: model.procedureList[0].entityList[index].categoryID, - entityList: model.procedureList[0].entityList[index], + categoryID: model.procedureList[0].entityList![index].categoryID!, + entityList: model.procedureList[0].entityList![index], onTap: () { - if (model.procedureList[0].entityList[index].categoryID == 2 || - model.procedureList[0].entityList[index].categoryID == 4) + if (model.procedureList[0].entityList![index].categoryID == 2 || + model.procedureList[0].entityList![index].categoryID == 4) updateProcedureForm(context, model: model, patient: patient, - remarks: model.procedureList[0].entityList[index].remarks, - orderType: model.procedureList[0].entityList[index].orderType.toString(), - orderNo: model.procedureList[0].entityList[index].orderNo, - procedureName: model.procedureList[0].entityList[index].procedureName, - categoreId: model.procedureList[0].entityList[index].categoryID.toString(), - procedureId: model.procedureList[0].entityList[index].procedureId, - limetNo: model.procedureList[0].entityList[index].lineItemNo); + remarks: model.procedureList[0].entityList![index].remarks!, + orderType: model.procedureList[0].entityList![index].orderType.toString(), + orderNo: model.procedureList[0].entityList![index].orderNo!, + procedureName: model.procedureList[0].entityList![index].procedureName!, + categoreId: model.procedureList[0].entityList![index].categoryID.toString(), + procedureId: model.procedureList[0].entityList![index].procedureId!, + limetNo: model.procedureList[0].entityList![index].lineItemNo!); // } else // Helpers.showErrorToast( // 'You Cant Update This Procedure'); }, patient: patient, - doctorID: model?.doctorProfile?.doctorID, + doctorID: model.doctorProfile!.doctorID!, ), ), if (model.state == ViewState.ErrorLocal || - (model.procedureList.isNotEmpty && model.procedureList[0].entityList.isEmpty)) + (model.procedureList.isNotEmpty && model.procedureList[0].entityList!.isEmpty)) Center( child: Column( crossAxisAlignment: CrossAxisAlignment.center, diff --git a/lib/screens/procedures/update-procedure.dart b/lib/screens/procedures/update-procedure.dart index 8f90e1f5..08402c38 100644 --- a/lib/screens/procedures/update-procedure.dart +++ b/lib/screens/procedures/update-procedure.dart @@ -18,15 +18,15 @@ import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; void updateProcedureForm(context, - {String procedureName, - int orderNo, - int limetNo, - PatiantInformtion patient, - String orderType, - String procedureId, - String remarks, - ProcedureViewModel model, - String categoreId}) { + {required String procedureName, + required int orderNo, + required int limetNo, + required PatiantInformtion patient, + required String orderType, + required String procedureId, + required String remarks, + required ProcedureViewModel model, + required String categoreId}) { //ProcedureViewModel model2 = ProcedureViewModel(); TextEditingController remarksController = TextEditingController(); TextEditingController orderController = TextEditingController(); @@ -60,15 +60,15 @@ class UpdateProcedureWidget extends StatefulWidget { final int limetNo; UpdateProcedureWidget( - {this.model, - this.procedureName, - this.remarks, - this.remarksController, - this.patient, - this.procedureId, - this.categoryId, - this.orderNo, - this.limetNo}); + {required this.model, + required this.procedureName, + required this.remarks, + required this.remarksController, + required this.patient, + required this.procedureId, + required this.categoryId, + required this.orderNo, + required this.limetNo}); @override _UpdateProcedureWidgetState createState() => _UpdateProcedureWidgetState(); } @@ -91,21 +91,17 @@ class _UpdateProcedureWidgetState extends State { @override Widget build(BuildContext context) { final screenSize = MediaQuery.of(context).size; - return StatefulBuilder(builder: - (BuildContext context, StateSetter setState /*You can rename this!*/) { + return StatefulBuilder(builder: (BuildContext context, StateSetter setState /*You can rename this!*/) { return BaseView( onModelReady: (model) => model.getCategory(), - builder: - (BuildContext context, ProcedureViewModel model, Widget child) => - NetworkBaseView( + builder: (BuildContext context, ProcedureViewModel model, Widget? child) => NetworkBaseView( baseViewModel: model, child: SingleChildScrollView( child: Container( height: MediaQuery.of(context).size.height * 0.9, child: Form( child: Padding( - padding: - EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0), + padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -247,8 +243,8 @@ class _UpdateProcedureWidgetState extends State { activeColor: Color(0xFFB9382C), value: 0, groupValue: selectedType, - onChanged: (value) { - setSelectedType(value); + onChanged: (int? value) { + setSelectedType(value!); }, ), Text('routine'), @@ -256,11 +252,11 @@ class _UpdateProcedureWidgetState extends State { activeColor: Color(0xFFB9382C), groupValue: selectedType, value: 1, - onChanged: (value) { - setSelectedType(value); + onChanged: (int? value) { + setSelectedType(value!); }, ), - Text(TranslationBase.of(context).urgent), + Text(TranslationBase.of(context).urgent ?? ""), ], ), ), @@ -295,9 +291,7 @@ class _UpdateProcedureWidgetState extends State { children: [ AppButton( color: Color(0xff359846), - title: TranslationBase.of(context) - .updateProcedure - .toUpperCase(), + title: TranslationBase.of(context).updateProcedure!.toUpperCase(), onPressed: () { // if (entityList.isEmpty == true && // widget.remarksController.text == @@ -344,19 +338,18 @@ class _UpdateProcedureWidgetState extends State { } updateProcedure( - {ProcedureViewModel model, - String remarks, - int limetNO, - int orderNo, - String newProcedureId, - String newCategorieId, - List entityList, - String orderType, - String procedureId, - PatiantInformtion patient, - String categorieId}) async { - UpdateProcedureRequestModel updateProcedureReqModel = - new UpdateProcedureRequestModel(); + {required ProcedureViewModel model, + required String remarks, + required int limetNO, + required int orderNo, + String? newProcedureId, + String? newCategorieId, + required List entityList, + required String orderType, + required String procedureId, + required PatiantInformtion patient, + required String categorieId}) async { + UpdateProcedureRequestModel updateProcedureReqModel = new UpdateProcedureRequestModel(); List controls = []; ProcedureDetail controlsProcedure = new ProcedureDetail(); @@ -424,9 +417,8 @@ class _UpdateProcedureWidgetState extends State { return false; } - InputDecoration textFieldSelectorDecoration( - String hintText, String selectedText, bool isDropDown, - {Icon suffixIcon}) { + InputDecoration textFieldSelectorDecoration(String hintText, String selectedText, bool isDropDown, + {Icon? suffixIcon}) { return InputDecoration( focusedBorder: OutlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0), diff --git a/lib/screens/qr_reader/QR_reader_screen.dart b/lib/screens/qr_reader/QR_reader_screen.dart index 59033e0d..1188c361 100644 --- a/lib/screens/qr_reader/QR_reader_screen.dart +++ b/lib/screens/qr_reader/QR_reader_screen.dart @@ -31,7 +31,7 @@ class _QrReaderScreenState extends State { builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: false, - appBarTitle: TranslationBase.of(context).qr + TranslationBase.of(context).reader, + appBarTitle: TranslationBase.of(context).qr! + TranslationBase.of(context).reader!, body: Center( child: Container( margin: EdgeInsets.only(top: SizeConfig.realScreenHeight / 7), diff --git a/lib/screens/reschedule-leaves/add-rescheduleleave.dart b/lib/screens/reschedule-leaves/add-rescheduleleave.dart index db8a0140..43ec1344 100644 --- a/lib/screens/reschedule-leaves/add-rescheduleleave.dart +++ b/lib/screens/reschedule-leaves/add-rescheduleleave.dart @@ -18,7 +18,7 @@ import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; class AddRescheduleLeavScreen extends StatelessWidget { - ProjectViewModel projectsProvider; + late ProjectViewModel projectsProvider; @override Widget build(BuildContext context) { projectsProvider = Provider.of(context); @@ -27,7 +27,7 @@ class AddRescheduleLeavScreen extends StatelessWidget { builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: true, - appBarTitle: TranslationBase.of(context).rescheduleLeaves, + appBarTitle: TranslationBase.of(context).rescheduleLeaves!, body: SingleChildScrollView( child: Column(children: [ Padding( @@ -44,7 +44,7 @@ class AddRescheduleLeavScreen extends StatelessWidget { false, ); }, - label: TranslationBase.of(context).applyForReschedule, + label: TranslationBase.of(context).applyForReschedule!, ), ), Column( @@ -59,7 +59,7 @@ class AddRescheduleLeavScreen extends StatelessWidget { border: Border( left: BorderSide( color: item.status == 10 - ? Colors.red[800] + ? Colors.red[800]! : item.status == 2 ? HexColor('#CC9B14') : item.status == 9 @@ -99,7 +99,7 @@ class AddRescheduleLeavScreen extends StatelessWidget { padding: EdgeInsets.only(top: 10), child: AppText( AppDateUtils.convertStringToDateFormat( - item.createdOn, 'yyyy-MM-dd HH:mm'), + item.createdOn!, 'yyyy-MM-dd HH:mm'), fontWeight: FontWeight.bold, )) ]), @@ -124,7 +124,7 @@ class AddRescheduleLeavScreen extends StatelessWidget { AppText(TranslationBase.of(context).startDate), AppText( AppDateUtils.convertStringToDateFormat( - item.dateTimeFrom, 'yyyy-MM-dd HH:mm'), + item.dateTimeFrom!, 'yyyy-MM-dd HH:mm'), fontWeight: FontWeight.bold, ) @@ -143,7 +143,7 @@ class AddRescheduleLeavScreen extends StatelessWidget { AppText(TranslationBase.of(context).endDate), AppText( AppDateUtils.convertStringToDateFormat( - item.dateTimeTo, 'yyyy-MM-dd HH:mm'), + item.dateTimeTo!, 'yyyy-MM-dd HH:mm'), fontWeight: FontWeight.bold, ) ], diff --git a/pubspec.yaml b/pubspec.yaml index 13e6eb7f..c5b14f46 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -63,7 +63,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.3 # SVG - #flutter_svg: ^0.17.4 + #flutter_svg: ^1.0.0 percent_indicator: ^3.0.1 #Dependency Injection @@ -138,6 +138,10 @@ flutter: - assets/images/ - assets/images/dashboard/ - assets/images/login/ + - assets/images/svgs/ + - assets/images/svgs/verification/ + - assets/images/svgs/profile_screen/ + - assets/images/svgs/bottom_nav/ - assets/images/patient/ - assets/images/patient/vital_signs/ @@ -160,6 +164,8 @@ flutter: weight: 400 - asset: assets/fonts/Poppins/Poppins-Medium.ttf weight: 500 + - asset: assets/fonts/Poppins/Poppins-SemiBold.ttf + weight: 600 - asset: assets/fonts/Poppins/Poppins-Bold.ttf weight: 700 - asset: assets/fonts/Poppins/Poppins-Bold.ttf