fix all the screenshots

dev_v2.8_reverting
Elham Rababh 4 years ago
parent f097005b8c
commit 94a699a58f

@ -2,6 +2,6 @@
<Workspace <Workspace
version = "1.0"> version = "1.0">
<FileRef <FileRef
location = "group:Runner.xcodeproj"> location = "self:">
</FileRef> </FileRef>
</Workspace> </Workspace>

@ -70,6 +70,7 @@ class _DischargedPatientState extends State<DischargedPatient> {
}, },
marginTop: 0, marginTop: 0,
suffixIcon: IconButton( suffixIcon: IconButton(
onPressed: () {},
icon: Icon( icon: Icon(
DoctorApp.filter_1, DoctorApp.filter_1,
color: Colors.black, color: Colors.black,
@ -170,14 +171,14 @@ class _DischargedPatientState extends State<DischargedPatient> {
? model ? model
.filterData[ .filterData[
index] index]
.nationalityName .nationalityName!
.trim() .trim()
: model.filterData[index].nationality != : model.filterData[index].nationality !=
null null
? model ? model
.filterData[ .filterData[
index] index]
.nationality .nationality!
.trim() .trim()
: model.filterData[index].nationalityId != : model.filterData[index].nationalityId !=
null null
@ -203,7 +204,7 @@ class _DischargedPatientState extends State<DischargedPatient> {
.network( .network(
model.filterData[index].nationalityFlagURL != model.filterData[index].nationalityFlagURL !=
null null
? model.filterData[index].nationalityFlagURL ? model.filterData[index].nationalityFlagURL!
: '', : '',
height: height:
25, 25,
@ -320,7 +321,7 @@ class _DischargedPatientState extends State<DischargedPatient> {
text: model.filterData[index].admissionDate == text: model.filterData[index].admissionDate ==
null null
? "" ? ""
: TranslationBase.of(context).admissionDate + : TranslationBase.of(context).admissionDate! +
" : ", " : ",
style: TextStyle( style: TextStyle(
fontSize: fontSize:
@ -385,7 +386,7 @@ class _DischargedPatientState extends State<DischargedPatient> {
.w300, .w300,
), ),
AppText( 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: fontSize:
15, 15,
fontWeight: fontWeight:

@ -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/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.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/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/base/base_view.dart';
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.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 { class ECGPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { 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']; PatiantInformtion patient = routeArgs['patient'];
String patientType = routeArgs['patient-type']; String patientType = routeArgs['patient-type'];
String arrivalType = routeArgs['arrival-type']; String arrivalType = routeArgs['arrival-type'];
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<PatientMuseViewModel>( return BaseView<PatientMuseViewModel>(
onModelReady: (model) => model.getECGPatient( onModelReady: (model) =>
patientType: patient.patientType, model.getECGPatient(patientType: patient.patientType, patientOutSA: 0, patientID: patient.patientId),
patientOutSA: 0,
patientID: patient.patientId),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: true, isShowAppBar: true,
backgroundColor: Color(0xffF8F8F8), backgroundColor: Color(0xffF8F8F8),
appBar: PatientProfileAppBar(patient), patientProfileAppBarModel: PatientProfileAppBarModel(
patient:patient),
body: SingleChildScrollView( body: SingleChildScrollView(
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
@ -46,7 +46,7 @@ class ECGPage extends StatelessWidget {
...List.generate(model.patientMuseResultsModelList.length, (index) => InkWell( ...List.generate(model.patientMuseResultsModelList.length, (index) => InkWell(
onTap: () async { onTap: () async {
await launch( await launch(
model.patientMuseResultsModelList[index].imageURL); model.patientMuseResultsModelList[index]!.imageURL!);
}, },
child: Container( child: Container(
width: double.infinity, width: double.infinity,
@ -100,8 +100,8 @@ class ECGPage extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
AppText('${AppDateUtils.getDayMonthYearDateFormatted(model.patientMuseResultsModelList[index].createdOnDateTime,isArabic: projectViewModel.isArabic)}',color: Colors.black,fontWeight: FontWeight.w600,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,), AppText('${AppDateUtils.getHour(model.patientMuseResultsModelList[index]!.createdOnDateTime!)}',fontWeight: FontWeight.w600,color: Colors.grey[700],fontSize: 14,),
], ],
), ),
), ),

@ -116,7 +116,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
children: [ children: [
AppText( AppText(
"${model.getReferralStatusNameByCode(referredPatient.referralStatus, context)}", "${model.getReferralStatusNameByCode(referredPatient.referralStatus!, context)}",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: 1.9 * SizeConfig.textMultiplier, fontSize: 1.9 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
@ -128,7 +128,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
), ),
AppText( AppText(
AppDateUtils.getDayMonthYearDateFormatted( AppDateUtils.getDayMonthYearDateFormatted(
referredPatient.referralDate, referredPatient.referralDate!,
), ),
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
@ -151,8 +151,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
Expanded( Expanded(
child: AppText( child: AppText(
AppDateUtils.convertDateFromServerFormat( AppDateUtils.convertDateFromServerFormat(
referredPatient.admissionDate, referredPatient.admissionDate ?? "", "dd MMM,yyyy"),
"dd MMM,yyyy"),
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: fontSize:
@ -176,8 +175,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
Expanded( Expanded(
child: AppText( child: AppText(
AppDateUtils.convertDateFromServerFormat( AppDateUtils.convertDateFromServerFormat(
referredPatient.dischargeDate, referredPatient.dischargeDate ?? "", "dd MMM,yyyy"),
"dd MMM,yyyy"),
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: fontSize:
@ -200,7 +198,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
), ),
Expanded( Expanded(
child: AppText( 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', fontFamily: 'Poppins',
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: fontSize:
@ -301,7 +299,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
children: [ children: [
AppText( AppText(
TranslationBase.of(context) TranslationBase.of(context)
.frequency + .frequency! +
": ", ": ",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
@ -332,7 +330,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
AppText( AppText(
TranslationBase.of(context).priority + TranslationBase.of(context).priority! +
": ", ": ",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
@ -427,7 +425,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
children: [ children: [
AppText( AppText(
TranslationBase.of(context) TranslationBase.of(context)
.maxResponseTime + .maxResponseTime! +
": ", ": ",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
@ -437,7 +435,7 @@ class ReferralDischargedPatientDetails extends StatelessWidget {
Expanded( Expanded(
child: AppText( child: AppText(
AppDateUtils.convertDateFromServerFormat( AppDateUtils.convertDateFromServerFormat(
referredPatient.mAXResponseTime, referredPatient.mAXResponseTime!,
"dd MMM,yyyy"), "dd MMM,yyyy"),
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,

@ -63,12 +63,12 @@ class _ReferralDischargedPatientPageState extends State<ReferralDischargedPatien
); );
}, },
child: PatientReferralItemWidget( child: PatientReferralItemWidget(
referralStatus: model.getReferralStatusNameByCode(model.myDischargeReferralPatient[index].referralStatus,context), referralStatus: model.getReferralStatusNameByCode(model.myDischargeReferralPatient[index].referralStatus!,context),
referralStatusCode: model.myDischargeReferralPatient[index].referralStatus, referralStatusCode: model.myDischargeReferralPatient[index].referralStatus,
patientName: model.myDischargeReferralPatient[index].firstName+" "+model.myDischargeReferralPatient[index].lastName, patientName: model.myDischargeReferralPatient[index].firstName!+" "+model.myDischargeReferralPatient[index]!.lastName!,
patientGender: model.myDischargeReferralPatient[index].gender, patientGender: model.myDischargeReferralPatient[index].gender,
referredDate: AppDateUtils.getDayMonthYearDateFormatted(model.myDischargeReferralPatient[index].referralDate), referredDate: AppDateUtils.getDayMonthYearDateFormatted(model.myDischargeReferralPatient[index].referralDate!),
referredTime: AppDateUtils.getTimeHHMMA(model.myDischargeReferralPatient[index].referralDate), referredTime: AppDateUtils.getTimeHHMMA(model.myDischargeReferralPatient[index]!.referralDate!),
patientID: "${model.myDischargeReferralPatient[index].patientID}", patientID: "${model.myDischargeReferralPatient[index].patientID}",
isSameBranch: false, isSameBranch: false,
isReferral: true, isReferral: true,

@ -2,6 +2,7 @@ import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/InsuranceViewModel.dart'; import 'package:doctor_app_flutter/core/viewModel/InsuranceViewModel.dart';
import 'package:doctor_app_flutter/core/viewModel/project_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/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/base/base_view.dart';
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
@ -19,14 +20,10 @@ class InsuranceApprovalsDetails extends StatefulWidget {
int indexInsurance; int indexInsurance;
String patientType; String patientType;
InsuranceApprovalsDetails( InsuranceApprovalsDetails({required this.patient, required this.indexInsurance, required this.patientType});
{this.patient, this.indexInsurance, this.patientType});
@override @override
_InsuranceApprovalsDetailsState createState() => _InsuranceApprovalsDetailsState createState() =>
_InsuranceApprovalsDetailsState( _InsuranceApprovalsDetailsState(patient: patient, indexInsurance: indexInsurance, patientType: patientType);
patient: patient,
indexInsurance: indexInsurance,
patientType: patientType);
} }
class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> { class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
@ -34,13 +31,12 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
int indexInsurance; int indexInsurance;
String patientType; String patientType;
_InsuranceApprovalsDetailsState( _InsuranceApprovalsDetailsState({required this.patient, required this.indexInsurance, required this.patientType});
{this.patient, this.indexInsurance, this.patientType});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(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<InsuranceViewModel>( return BaseView<InsuranceViewModel>(
onModelReady: (model) => model.insuranceApprovalInPatient.length == 0 onModelReady: (model) => model.insuranceApprovalInPatient.length == 0
@ -48,24 +44,43 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
? (model) => model.getInsuranceInPatient(mrn: patient.patientId) ? (model) => model.getInsuranceInPatient(mrn: patient.patientId)
: patient.appointmentNo != null : patient.appointmentNo != null
? (model) => model.getInsuranceApproval(patient, ? (model) => model.getInsuranceApproval(patient,
appointmentNo: patient.appointmentNo, appointmentNo: patient.appointmentNo, projectId: patient.projectId)
projectId: patient.projectId)
: (model) => model.getInsuranceApproval(patient) : (model) => model.getInsuranceApproval(patient)
: null, : null,
builder: (BuildContext context, InsuranceViewModel model, Widget child) => builder: (BuildContext? context, InsuranceViewModel? model, Widget? child) => AppScaffold(
AppScaffold(
isShowAppBar: true, isShowAppBar: true,
baseViewModel: model, baseViewModel: model,
appBar: PatientProfileAppBar(patient), patientProfileAppBarModel: PatientProfileAppBarModel(patient: patient),
body: patient.admissionNo != null body: patient.admissionNo != null
? SingleChildScrollView( ? SingleChildScrollView(
child: Container( child: Container(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ServiceTitle( Padding(
title: TranslationBase.of(context).insurance22, padding: const EdgeInsets.all(8.0),
subTitle: TranslationBase.of(context).approvals22, child: Column(
children: [
Row(
children: [
AppText(
TranslationBase.of(context!).insurance22,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
),
],
),
Row(
children: [
AppText(
TranslationBase.of(context).approvals22,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
],
),
],
),
), ),
Container( Container(
margin: EdgeInsets.all(10), margin: EdgeInsets.all(10),
@ -85,21 +100,11 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row( Row(
children: [ children: [
AppText( AppText(
model model!.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption != null
.insuranceApprovalInPatient[ ? model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption ??
indexInsurance]
.approvalStatusDescption !=
null
? model
.insuranceApprovalInPatient[
indexInsurance]
.approvalStatusDescption ??
"" ""
: "", : "",
color: model color: model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption !=
.insuranceApprovalInPatient[
indexInsurance]
.approvalStatusDescption !=
null null
? "${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" == ? "${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" ==
"Approved" || "Approved" ||
@ -108,102 +113,89 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
? Color(0xff359846) ? Color(0xff359846)
: Color(0xffD02127) : Color(0xffD02127)
: Color(0xffD02127), : Color(0xffD02127),
letterSpacing: -0.4,
fontWeight: FontWeight.w600,
fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() *
2.7,
), ),
], ],
), ),
Row( Row(
children: [ children: [
AppText( AppText(
model model.insuranceApprovalInPatient[indexInsurance].doctorName!.toUpperCase(),
.insuranceApprovalInPatient[ color: Colors.black,
indexInsurance] fontSize: 18,
.doctorName fontWeight: FontWeight.bold,
.toUpperCase(),
color: Color(0xff2E303A),
fontSize: 16,
letterSpacing: -0.64,
fontWeight: FontWeight.w600,
) )
], ],
), ),
Padding( Padding(
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(horizontal: 8.0),
horizontal: 8.0),
child: Row( child: Row(
children: [ children: [
Column( Column(
children: [ children: [
Container( Container(
height: MediaQuery.of(context) height: 85.0,
.size width: 85.0,
.height *
0.065,
width: MediaQuery.of(context)
.size
.height *
0.065,
child: CircleAvatar( child: CircleAvatar(
radius: SizeConfig radius: SizeConfig.imageSizeMultiplier * 12,
.imageSizeMultiplier *
12,
// radius: (52) // radius: (52)
child: ClipRRect( child: ClipRRect(
borderRadius: borderRadius: BorderRadius.circular(50),
BorderRadius.circular(
50),
child: Image.network( child: Image.network(
model model.insuranceApprovalInPatient[indexInsurance].doctorImage!,
.insuranceApprovalInPatient[
indexInsurance]
.doctorImage,
fit: BoxFit.fill, fit: BoxFit.fill,
width: 700, width: 700,
), ),
), ),
backgroundColor: backgroundColor: Colors.transparent,
Colors.transparent,
), ),
), ),
], ],
), ),
Expanded( Expanded(
child: Padding( child: Padding(
padding: padding: const EdgeInsets.symmetric(horizontal: 8.0),
const EdgeInsets.symmetric(
horizontal: 8.0),
child: Column( child: Column(
crossAxisAlignment: crossAxisAlignment: CrossAxisAlignment.start,
CrossAxisAlignment.start,
//mainAxisAlignment: MainAxisAlignment.center, //mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
SizedBox( SizedBox(
height: 25.0, height: 25.0,
), ),
CustomRow( Row(
label: TranslationBase.of( children: [
context) AppText(
.clinic + TranslationBase.of(context).clinic! + ": ",
": ", color: Colors.grey[500],
value: model fontSize: 14,
.insuranceApprovalInPatient[
indexInsurance]
.clinicName,
), ),
CustomRow( Expanded(
label: TranslationBase.of( child: AppText(
context) model.insuranceApprovalInPatient[indexInsurance].clinicName,
.approvalNo + fontSize: 14,
": ", ),
value: model )
.insuranceApprovalInPatient[ ],
indexInsurance] ),
.approvalNo Row(
children: <Widget>[
AppText(
TranslationBase.of(context).approvalNo! + ": ",
color: Colors.grey[500],
fontSize: 14,
),
AppText(
model.insuranceApprovalInPatient[indexInsurance].approvalNo
.toString(), .toString(),
fontSize: 14,
)
],
),
Row(
children: <Widget>[
AppText(
'Unused Count:',
color: Colors.grey[500],
fontSize: 14,
), ),
CustomRow( CustomRow(
label: 'Unused Count:', label: 'Unused Count:',
@ -216,26 +208,26 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
CustomRow( CustomRow(
label: TranslationBase.of( label: TranslationBase.of(
context) context)
.companyName + .companyName! +
": ", ": ",
value: 'Sample'), value: 'Sample'),
CustomRow( CustomRow(
label: TranslationBase.of( label: TranslationBase.of(
context) context)
.receiptOn + .receiptOn! +
": ", ": ",
value: value:
'${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApprovalInPatient[indexInsurance].receiptOn ?? ""), isArabic: projectViewModel.isArabic)}'), '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApprovalInPatient[indexInsurance].receiptOn ?? ""), isArabic: projectViewModel.isArabic)}'),
CustomRow( CustomRow(
label: TranslationBase.of( label: TranslationBase.of(
context) context)
.expiryDate + .expiryDate! +
": ", ": ",
value: value:
'${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApprovalInPatient[indexInsurance].expiryDate ?? ""), isArabic: projectViewModel.isArabic)}'), '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.getDateTimeFromServerFormat(model.insuranceApprovalInPatient[indexInsurance].expiryDate ?? ""), isArabic: projectViewModel.isArabic)}'),
], ],
), ),]
), ),)
), ),
], ],
), ),
@ -302,7 +294,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
itemCount: model itemCount: model
.insuranceApprovalInPatient[ .insuranceApprovalInPatient[
indexInsurance] indexInsurance]
.apporvalDetails .apporvalDetails!
.length, .length,
itemBuilder: itemBuilder:
(BuildContext context, (BuildContext context,
@ -318,8 +310,8 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
model model
.insuranceApprovalInPatient[ .insuranceApprovalInPatient[
indexInsurance] indexInsurance]
?.apporvalDetails[ ?.apporvalDetails![
index] index]!
?.procedureName ?? ?.procedureName ??
"", "",
textAlign: textAlign:
@ -345,7 +337,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
model model
.insuranceApprovalInPatient[ .insuranceApprovalInPatient[
indexInsurance] indexInsurance]
?.apporvalDetails[ ?.apporvalDetails![
index] index]
?.status ?? ?.status ??
"", "",
@ -372,7 +364,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
model model
.insuranceApprovalInPatient[ .insuranceApprovalInPatient[
indexInsurance] indexInsurance]
?.apporvalDetails[ ?.apporvalDetails![
index] index]
?.isInvoicedDesc ?? ?.isInvoicedDesc ??
"", "",
@ -428,7 +420,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row( Row(
children: [ children: [
AppText( AppText(
TranslationBase.of(context).insurance22, TranslationBase.of(context!).insurance22,
fontSize: 15.0, fontSize: 15.0,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
fontFamily: 'Poppins', fontFamily: 'Poppins',
@ -465,8 +457,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row( Row(
children: [ children: [
AppText( AppText(
model model!.insuranceApproval[
.insuranceApproval[
indexInsurance] indexInsurance]
.approvalStatusDescption != .approvalStatusDescption !=
null null
@ -476,12 +467,12 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
.approvalStatusDescption ?? .approvalStatusDescption ??
"" ""
: "", : "",
color: model color: model!
.insuranceApproval[ .insuranceApproval[
indexInsurance] indexInsurance]!
.approvalStatusDescption != .approvalStatusDescption !=
null null
? "${model.insuranceApproval[indexInsurance].approvalStatusDescption}" == ? "${model!.insuranceApproval[indexInsurance]!.approvalStatusDescption}" ==
"Approved" "Approved"
? Color(0xff359846) ? Color(0xff359846)
: Color(0xffD02127) : Color(0xffD02127)
@ -492,9 +483,9 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row( Row(
children: [ children: [
AppText( AppText(
model model!
.insuranceApproval[indexInsurance] .insuranceApproval[indexInsurance]!
.doctorName .doctorName!
.toUpperCase(), .toUpperCase(),
color: Colors.black, color: Colors.black,
fontSize: 18, fontSize: 18,
@ -522,10 +513,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
BorderRadius.circular( BorderRadius.circular(
50), 50),
child: Image.network( child: Image.network(
model model!
.insuranceApproval[ .insuranceApproval![
indexInsurance] indexInsurance]
.doctorImage, .doctorImage!,
fit: BoxFit.fill, fit: BoxFit.fill,
width: 700, width: 700,
), ),
@ -554,7 +545,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
AppText( AppText(
TranslationBase.of( TranslationBase.of(
context) context)
.clinic + .clinic! +
": ", ": ",
color: Colors.grey[500], color: Colors.grey[500],
fontSize: 14, fontSize: 14,
@ -575,7 +566,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
AppText( AppText(
TranslationBase.of( TranslationBase.of(
context) context)
.approvalNo + .approvalNo! +
": ", ": ",
color: Colors.grey[500], color: Colors.grey[500],
fontSize: 14, fontSize: 14,
@ -595,7 +586,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
AppText( AppText(
TranslationBase.of( TranslationBase.of(
context) context)
.unusedCount + .unusedCount! +
": ", ": ",
color: Colors.grey[500], color: Colors.grey[500],
fontSize: 14, fontSize: 14,
@ -615,7 +606,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
AppText( AppText(
TranslationBase.of( TranslationBase.of(
context) context)
.companyName + .companyName! +
": ", ": ",
color: Colors.grey[500], color: Colors.grey[500],
), ),
@ -627,13 +618,13 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
AppText( AppText(
TranslationBase.of( TranslationBase.of(
context) context)
.receiptOn + .receiptOn! +
": ", ": ",
color: Colors.grey[500], color: Colors.grey[500],
), ),
Expanded( Expanded(
child: AppText( 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, color: Colors.black,
fontWeight: fontWeight:
FontWeight.w600, FontWeight.w600,
@ -646,7 +637,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
AppText( AppText(
TranslationBase.of( TranslationBase.of(
context) context)
.expiryDate + .expiryDate! +
": ", ": ",
color: Colors.grey[500], color: Colors.grey[500],
), ),
@ -656,7 +647,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
.expiryDate != .expiryDate !=
null) null)
AppText( 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, color: Colors.black,
fontWeight: fontWeight:
FontWeight.w600, FontWeight.w600,
@ -683,7 +674,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
children: [ children: [
Expanded( Expanded(
child: AppText( child: AppText(
TranslationBase.of(context) TranslationBase.of(context!)
.procedure, .procedure,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
@ -717,7 +708,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
itemCount: model itemCount: model
.insuranceApproval[ .insuranceApproval[
indexInsurance] indexInsurance]
.apporvalDetails .apporvalDetails!
.length, .length,
itemBuilder: itemBuilder:
(BuildContext context, (BuildContext context,
@ -733,7 +724,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
model model
.insuranceApproval[ .insuranceApproval[
indexInsurance] indexInsurance]
?.apporvalDetails[ ?.apporvalDetails![
index] index]
?.procedureName ?? ?.procedureName ??
"", "",
@ -749,7 +740,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
model model
.insuranceApproval[ .insuranceApproval[
indexInsurance] indexInsurance]
?.apporvalDetails[ ?.apporvalDetails![
index] index]
?.status ?? ?.status ??
"", "",
@ -765,7 +756,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
model model
.insuranceApproval[ .insuranceApproval[
indexInsurance] indexInsurance]
?.apporvalDetails[ ?.apporvalDetails![
index] index]
?.isInvoicedDesc ?? ?.isInvoicedDesc ??
"", "",

@ -12,7 +12,7 @@ import 'package:flutter/material.dart';
class OutPatientPrescriptionDetailsScreen extends StatefulWidget { class OutPatientPrescriptionDetailsScreen extends StatefulWidget {
final PrescriptionResModel prescriptionResModel; final PrescriptionResModel prescriptionResModel;
OutPatientPrescriptionDetailsScreen({Key ? key, this.prescriptionResModel}); OutPatientPrescriptionDetailsScreen({Key? key, required this.prescriptionResModel});
@override @override
_OutPatientPrescriptionDetailsScreenState createState() => _OutPatientPrescriptionDetailsScreenState createState() =>
@ -37,7 +37,7 @@ class _OutPatientPrescriptionDetailsScreenState
return BaseView<PatientViewModel>( return BaseView<PatientViewModel>(
onModelReady: (model) => getPrescriptionReport(context, model), onModelReady: (model) => getPrescriptionReport(context, model),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
appBarTitle: TranslationBase.of(context).prescriptionDetails, appBarTitle: TranslationBase.of(context).prescriptionDetails!,
body: CardWithBgWidgetNew( body: CardWithBgWidgetNew(
widget: ListView.builder( widget: ListView.builder(
itemCount: model.prescriptionReport.length, itemCount: model.prescriptionReport.length,

@ -7,7 +7,7 @@ import 'package:flutter/material.dart';
class CustomEditableText extends StatefulWidget { class CustomEditableText extends StatefulWidget {
CustomEditableText({ CustomEditableText({
Key? key, Key? key,
@required this.controller, required this.controller,
this.hint, this.hint,
this.isEditable = false, this.isEditable = false,
required this.isSubmitted, required this.isSubmitted,
@ -37,7 +37,7 @@ class _CustomEditableTextState extends State<CustomEditableText> {
borderRadius: BorderRadius.all(Radius.circular(20)), borderRadius: BorderRadius.all(Radius.circular(20)),
border: Border.fromBorderSide( border: Border.fromBorderSide(
BorderSide( BorderSide(
color: Colors.grey[300], color: Colors.grey[300]!,
width: 2, width: 2,
), ),
), ),

@ -14,7 +14,7 @@ import 'package:hexcolor/hexcolor.dart';
import 'RegisterSearchPatientPage.dart'; import 'RegisterSearchPatientPage.dart';
class RegisterPatientPage extends StatefulWidget { class RegisterPatientPage extends StatefulWidget {
const RegisterPatientPage({Key key}) : super(key: key); const RegisterPatientPage({Key? key}) : super(key: key);
@override @override
_RegisterPatientPageState createState() => _RegisterPatientPageState(); _RegisterPatientPageState createState() => _RegisterPatientPageState();
@ -82,9 +82,9 @@ class _RegisterPatientPageState extends State<RegisterPatientPage>
currentStepIndex: _currentIndex + 1, currentStepIndex: _currentIndex + 1,
screenSize: screenSize, screenSize: screenSize,
stepsTitles: [ stepsTitles: [
TranslationBase.of(context).search, TranslationBase.of(context).search!,
TranslationBase.of(context).activation, TranslationBase.of(context).activation!,
TranslationBase.of(context).confirmation, TranslationBase.of(context).confirmation!,
], ],
), ),
SizedBox( SizedBox(

@ -6,7 +6,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class VerifyActivationCodePage extends StatefulWidget { class VerifyActivationCodePage extends StatefulWidget {
const VerifyActivationCodePage({Key key}) : super(key: key); const VerifyActivationCodePage({Key? key}) : super(key: key);
@override @override
_VerifyActivationCodePageState createState() => _VerifyActivationCodePageState createState() =>

@ -506,15 +506,15 @@ class _ActivationPageState extends State<ActivationPage> {
counterText: " ", counterText: " ",
enabledBorder: OutlineInputBorder( enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10)), borderRadius: BorderRadius.all(Radius.circular(10)),
borderSide: BorderSide(color: Colors.grey[300]), borderSide: BorderSide(color: Colors.grey[300]!),
), ),
focusedBorder: OutlineInputBorder( focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0)), borderRadius: BorderRadius.all(Radius.circular(10.0)),
borderSide: BorderSide(color: Colors.grey[300]), borderSide: BorderSide(color: Colors.grey[300]!),
), ),
errorBorder: OutlineInputBorder( errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0)), borderRadius: BorderRadius.all(Radius.circular(10.0)),
borderSide: BorderSide(color: Colors.grey[300]), borderSide: BorderSide(color: Colors.grey[300]!),
), ),
focusedErrorBorder: OutlineInputBorder( focusedErrorBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0)), borderRadius: BorderRadius.all(Radius.circular(10.0)),

@ -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/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/medicine/medicine_item_widget.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/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_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'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';

@ -33,6 +33,8 @@ class _DrugToDrug extends State<DrugToDrug> {
{'name': 'LOW', 'level': 'LEVEL_1'}, {'name': 'LOW', 'level': 'LEVEL_1'},
{'name': 'INFO', 'level': 'INFO'}, {'name': 'INFO', 'level': 'INFO'},
]; ];
///TODO Elham* Check this it seem something wrong
GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP( GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP(
patientMRN: 2954208, //widget.patient.patientMRN, patientMRN: 2954208, //widget.patient.patientMRN,
episodeId: 210011002, //widget.patient.episodeNo, episodeId: 210011002, //widget.patient.episodeNo,
@ -54,15 +56,9 @@ class _DrugToDrug extends State<DrugToDrug> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return isLoaded == true return isLoaded == true
? BaseView<PrescriptionViewModel>( ? BaseView<PrescriptionViewModel>(
onModelReady: (model3) => model3.getDrugToDrug( onModelReady: (model3) => model3.getDrugToDrug(model.patientVitalSigns!, widget.listAssessment,
model.patientVitalSigns, model2.patientAllergiesList, widget.patient, widget.prescription),
widget.listAssessment, builder: (BuildContext context, PrescriptionViewModel model3, Widget? child) => NetworkBaseView(
model2.patientAllergiesList,
widget.patient,
widget.prescription),
builder: (BuildContext context, PrescriptionViewModel model3,
Widget child) =>
NetworkBaseView(
baseViewModel: model3, baseViewModel: model3,
child: Container( child: Container(
height: SizeConfig.realScreenHeight * .4, height: SizeConfig.realScreenHeight * .4,
@ -74,17 +70,12 @@ class _DrugToDrug extends State<DrugToDrug> {
expandableList[i]['name'] + expandableList[i]['name'] +
' ' + ' ' +
'(' + '(' +
getDrugInfo(expandableList[i]['level'], getDrugInfo(expandableList[i]['level'], model3).length.toString() +
model3)
.length
.toString() +
')', ')',
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
children: getDrugInfo( children: getDrugInfo(expandableList[i]['level'], model3).map((item) {
expandableList[i]['level'], model3)
.map((item) {
return Container( return Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
child: AppText( child: AppText(

@ -32,12 +32,12 @@ import 'package:speech_to_text/speech_recognition_error.dart';
import 'package:speech_to_text/speech_to_text.dart' as stt; import 'package:speech_to_text/speech_to_text.dart' as stt;
class PrescriptionCheckOutScreen extends StatefulWidget { class PrescriptionCheckOutScreen extends StatefulWidget {
final PrescriptionViewModel model; final PrescriptionViewModel? model;
final PatiantInformtion patient; final PatiantInformtion? patient;
final List<PrescriptionModel> prescriptionList; final List<PrescriptionModel>? prescriptionList;
final ProcedureTempleteDetailsModel groupProcedures; 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); : super(key: key);
@override @override
@ -46,44 +46,44 @@ class PrescriptionCheckOutScreen extends StatefulWidget {
class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen> { class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen> {
postPrescription( postPrescription(
{String duration, {String? duration,
String doseTimeIn, String? doseTimeIn,
String dose, String? dose,
String drugId, String? drugId,
String strength, String? strength,
String route, String? route,
String frequency, String? frequency,
String indication, String? indication,
String instruction, String? instruction,
PrescriptionViewModel model, PrescriptionViewModel? model,
DateTime doseTime, DateTime? doseTime,
String doseUnit, String? doseUnit,
String icdCode, String? icdCode,
PatiantInformtion patient, PatiantInformtion? patient,
String patientType}) async { String? patientType}) async {
PostPrescriptionReqModel postProcedureReqModel = new PostPrescriptionReqModel(); PostPrescriptionReqModel postProcedureReqModel = new PostPrescriptionReqModel();
List<PrescriptionRequestModel> prescriptionList = []; List<PrescriptionRequestModel> prescriptionList = [];
postProcedureReqModel.appointmentNo = patient.appointmentNo; postProcedureReqModel.appointmentNo = patient!.appointmentNo;
postProcedureReqModel.clinicID = patient.clinicId; postProcedureReqModel.clinicID = patient.clinicId;
postProcedureReqModel.episodeID = patient.episodeNo; postProcedureReqModel.episodeID = patient.episodeNo;
postProcedureReqModel.patientMRN = patient.patientMRN; postProcedureReqModel.patientMRN = patient.patientMRN;
prescriptionList.add(PrescriptionRequestModel( prescriptionList.add(PrescriptionRequestModel(
covered: true, covered: true,
dose: double.parse(dose), dose: double.parse(dose!),
itemId: drugId.isEmpty ? 1 : int.parse(drugId), itemId: drugId!.isEmpty ? 1 : int.parse(drugId),
doseUnitId: int.parse(doseUnit), doseUnitId: int.parse(doseUnit!),
route: route.isEmpty ? 1 : int.parse(route), route: route!.isEmpty ? 1 : int.parse(route),
frequency: frequency.isEmpty ? 1 : int.parse(frequency), frequency: frequency!.isEmpty ? 1 : int.parse(frequency),
remarks: instruction, remarks: instruction,
approvalRequired: true, approvalRequired: true,
icdcode10Id: icdCode.toString(), icdcode10Id: icdCode.toString(),
doseTime: doseTimeIn.isEmpty ? 1 : int.parse(doseTimeIn), doseTime: doseTimeIn!.isEmpty ? 1 : int.parse(doseTimeIn),
duration: duration.isEmpty ? 1 : int.parse(duration), duration: duration!.isEmpty ? 1 : int.parse(duration),
doseStartDate: doseTime.toIso8601String())); doseStartDate: doseTime!.toIso8601String()));
postProcedureReqModel.prescriptionRequestModel = prescriptionList; postProcedureReqModel.prescriptionRequestModel = prescriptionList;
await model.postPrescription(postProcedureReqModel, patient.patientMRN); await model!.postPrescription(postProcedureReqModel, patient.patientMRN!);
if (model.state == ViewState.ErrorLocal) { if (model.state == ViewState.ErrorLocal) {
Helpers.showErrorToast(model.error); Helpers.showErrorToast(model.error);
@ -93,14 +93,14 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
} }
} }
String routeError; String? routeError;
String frequencyError; String? frequencyError;
String doseTimeError; String? doseTimeError;
String durationError; String? durationError;
String unitError; String? unitError;
String strengthError; String? strengthError;
int selectedType; late int selectedType;
TextEditingController strengthController = TextEditingController(); TextEditingController strengthController = TextEditingController();
TextEditingController indicationController = TextEditingController(); TextEditingController indicationController = TextEditingController();
@ -110,10 +110,10 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
bool visbiltySearch = true; bool visbiltySearch = true;
final myController = TextEditingController(); final myController = TextEditingController();
DateTime selectedDate; late DateTime selectedDate;
int strengthChar; late int strengthChar;
GetMedicationResponseModel _selectedMedication; late GetMedicationResponseModel _selectedMedication;
GlobalKey key = new GlobalKey<AutoCompleteTextFieldState<GetMedicationResponseModel>>(); late GlobalKey key = new GlobalKey<AutoCompleteTextFieldState<GetMedicationResponseModel>>();
TextEditingController drugIdController = TextEditingController(); TextEditingController drugIdController = TextEditingController();
TextEditingController doseController = TextEditingController(); TextEditingController doseController = TextEditingController();
@ -210,17 +210,17 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
final screenSize = MediaQuery.of(context).size; final screenSize = MediaQuery.of(context).size;
return BaseView<MedicineViewModel>( return BaseView<MedicineViewModel>(
onModelReady: (model) async { 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) { x = model.patientAssessmentList.map((element) {
return element.icdCode10ID; return element.icdCode10ID;
}); });
GetAssessmentReqModel getAssessmentReqModel = GetAssessmentReqModel( GetAssessmentReqModel getAssessmentReqModel = GetAssessmentReqModel(
patientMRN: widget.patient.patientMRN, patientMRN: widget.patient!.patientMRN,
episodeID: widget.patient.episodeNo.toString(), episodeID: widget.patient!.episodeNo.toString(),
editedBy: '', editedBy: '',
doctorID: '', doctorID: '',
appointmentNo: widget.patient.appointmentNo); appointmentNo: widget.patient!.appointmentNo);
if (model.medicationStrengthList.length == 0) { if (model.medicationStrengthList.length == 0) {
await model.getMedicationStrength(); await model.getMedicationStrength();
} }
@ -235,7 +235,7 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
builder: ( builder: (
BuildContext context, BuildContext context,
MedicineViewModel model, MedicineViewModel model,
Widget child, Widget? child,
) => ) =>
AppScaffold( AppScaffold(
backgroundColor: Color(0xffF8F8F8).withOpacity(0.9), backgroundColor: Color(0xffF8F8F8).withOpacity(0.9),
@ -309,7 +309,7 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
child: Column( child: Column(
children: [ children: [
AppText( AppText(
widget.groupProcedures.procedureName ?? "", widget.groupProcedures!.procedureName ?? "",
bold: true, bold: true,
), ),
Container( Container(
@ -323,11 +323,11 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
activeColor: Color(0xFFB9382C), activeColor: Color(0xFFB9382C),
value: 1, value: 1,
groupValue: selectedType, groupValue: selectedType,
onChanged: (value) { onChanged: (int? value) {
setSelectedType(value); setSelectedType(value!);
}, },
), ),
Text(TranslationBase.of(context).regular), Text(TranslationBase.of(context).regular!),
], ],
), ),
), ),
@ -366,7 +366,7 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
PrescriptionTextFiled( PrescriptionTextFiled(
width: MediaQuery.of(context).size.width * 0.560, width: MediaQuery.of(context).size.width * 0.560,
element: units, element: units,
elementError: unitError, elementError: unitError ?? "",
keyName: 'description', keyName: 'description',
keyId: 'parameterCode', keyId: 'parameterCode',
hintText: 'Select', hintText: 'Select',
@ -385,7 +385,7 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
PrescriptionTextFiled( PrescriptionTextFiled(
elementList: model.itemMedicineListRoute, elementList: model.itemMedicineListRoute,
element: route, element: route,
elementError: routeError, elementError: routeError ?? "",
keyId: 'parameterCode', keyId: 'parameterCode',
keyName: 'description', keyName: 'description',
okFunction: (selectedValue) { okFunction: (selectedValue) {
@ -394,12 +394,12 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
route['isDefault'] = true; route['isDefault'] = true;
}); });
}, },
hintText: TranslationBase.of(context).route, hintText: TranslationBase.of(context).route!,
), ),
SizedBox(height: spaceBetweenTextFileds), SizedBox(height: spaceBetweenTextFileds),
PrescriptionTextFiled( PrescriptionTextFiled(
hintText: TranslationBase.of(context).frequency, hintText: TranslationBase.of(context).frequency!,
elementError: frequencyError, elementError: frequencyError ?? "",
element: frequency, element: frequency,
elementList: model.itemMedicineList, elementList: model.itemMedicineList,
keyId: 'parameterCode', keyId: 'parameterCode',
@ -415,7 +415,7 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
model.getBoxQuantity( model.getBoxQuantity(
freq: frequency['parameterCode'], freq: frequency['parameterCode'],
duration: duration['id'], duration: duration['id'],
itemCode: _selectedMedication.itemId, itemCode: _selectedMedication.itemId!,
strength: double.parse(strengthController.text)); strength: double.parse(strengthController.text));
return; return;
@ -424,8 +424,8 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
}), }),
SizedBox(height: spaceBetweenTextFileds), SizedBox(height: spaceBetweenTextFileds),
PrescriptionTextFiled( PrescriptionTextFiled(
hintText: TranslationBase.of(context).doseTime, hintText: TranslationBase.of(context).doseTime! ?? "",
elementError: doseTimeError, elementError: doseTimeError!,
element: doseTime, element: doseTime,
elementList: model.medicationDoseTimeList, elementList: model.medicationDoseTimeList,
keyId: 'id', keyId: 'id',
@ -475,13 +475,13 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
color: Colors.white, color: Colors.white,
child: InkWell( child: InkWell(
onTap: () => selectDate(context, widget.model), onTap: () => selectDate(context, widget.model!),
child: TextField( child: TextField(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase.of(context).date, TranslationBase.of(context).date!,
selectedDate != null selectedDate != null
? "${AppDateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}" ? "${AppDateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}"
: null, : '',
true, true,
suffixIcon: Icon( suffixIcon: Icon(
Icons.calendar_today, Icons.calendar_today,
@ -494,8 +494,8 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
SizedBox(height: spaceBetweenTextFileds), SizedBox(height: spaceBetweenTextFileds),
PrescriptionTextFiled( PrescriptionTextFiled(
element: duration, element: duration,
elementError: durationError, elementError: durationError ?? "",
hintText: TranslationBase.of(context).duration, hintText: TranslationBase.of(context).duration!,
elementList: model.medicationDurationList, elementList: model.medicationDurationList,
keyName: 'nameEn', keyName: 'nameEn',
keyId: 'id', keyId: 'id',
@ -509,7 +509,7 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
model.getBoxQuantity( model.getBoxQuantity(
freq: frequency['parameterCode'], freq: frequency['parameterCode'],
duration: duration['id'], duration: duration['id'],
itemCode: _selectedMedication.itemId, itemCode: _selectedMedication.itemId!,
strength: double.parse(strengthController.text), strength: double.parse(strengthController.text),
); );
box = model.boxQuintity; box = model.boxQuintity;
@ -531,7 +531,7 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
TextFields( TextFields(
maxLines: 6, maxLines: 6,
minLines: 4, minLines: 4,
hintText: TranslationBase.of(context).instruction, hintText: TranslationBase.of(context).instruction!,
controller: instructionController, controller: instructionController,
//keyboardType: TextInputType.number, //keyboardType: TextInputType.number,
), ),
@ -586,13 +586,13 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
return; return;
} }
if (formKey.currentState.validate()) { if (formKey.currentState!.validate()) {
Navigator.pop(context); Navigator.pop(context);
// openDrugToDrug(model); // openDrugToDrug(model);
{ {
postPrescription( postPrescription(
icdCode: model.patientAssessmentList.isNotEmpty icdCode: model.patientAssessmentList.isNotEmpty
? model.patientAssessmentList[0].icdCode10ID.isEmpty ? model.patientAssessmentList[0].icdCode10ID!.isEmpty
? "test" ? "test"
: model.patientAssessmentList[0].icdCode10ID.toString() : model.patientAssessmentList[0].icdCode10ID.toString()
: "test", : "test",
@ -607,9 +607,9 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
doseUnit: model.itemMedicineListUnit.length == 1 doseUnit: model.itemMedicineListUnit.length == 1
? model.itemMedicineListUnit[0]['parameterCode'].toString() ? model.itemMedicineListUnit[0]['parameterCode'].toString()
: units['parameterCode'].toString(), : units['parameterCode'].toString(),
patient: widget.patient, patient: widget.patient!,
doseTimeIn: doseTime['id'].toString(), doseTimeIn: doseTime['id'].toString(),
model: widget.model, model: widget.model!,
duration: duration['id'].toString(), duration: duration['id'].toString(),
frequency: model.itemMedicineList.length == 1 frequency: model.itemMedicineList.length == 1
? model.itemMedicineList[0]['parameterCode'].toString() ? model.itemMedicineList[0]['parameterCode'].toString()
@ -617,8 +617,8 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
route: model.itemMedicineListRoute.length == 1 route: model.itemMedicineListRoute.length == 1
? model.itemMedicineListRoute[0]['parameterCode'].toString() ? model.itemMedicineListRoute[0]['parameterCode'].toString()
: route['parameterCode'].toString(), : route['parameterCode'].toString(),
drugId: (widget.groupProcedures.aliasN drugId: (widget.groupProcedures!.aliasN!
.replaceAll("item code ;", "")), .replaceAll!("item code ;", "")),
strength: strengthController.text, strength: strengthController.text,
indication: indicationController.text, indication: indicationController.text,
instruction: instructionController.text, instruction: instructionController.text,
@ -649,19 +649,19 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
frequencyError = null; frequencyError = null;
} }
if (units == null) { if (units == null) {
unitError = TranslationBase.of(context).fieldRequired; unitError = TranslationBase.of(context).fieldRequired!;
} else { } else {
unitError = null; unitError = null;
} }
if (strengthController.text == "") { if (strengthController.text == "") {
strengthError = TranslationBase.of(context).fieldRequired; strengthError = TranslationBase.of(context).fieldRequired!;
} else { } else {
strengthError = null; strengthError = null;
} }
}); });
} }
formKey.currentState.save(); formKey.currentState!.save();
}, },
), ),
], ],
@ -690,12 +690,12 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
DateTime selectedDate; DateTime selectedDate;
selectedDate = DateTime.now(); selectedDate = DateTime.now();
final DateTime picked = await showDatePicker( final DateTime? picked = await showDatePicker(
context: context, context: context,
initialDate: selectedDate, initialDate: selectedDate,
firstDate: DateTime.now(), firstDate: DateTime.now(),
lastDate: DateTime(2040), lastDate: DateTime(2040),
initialEntryMode: DatePickerEntryMode.calendar, initialEntryMode: DatePickerEntryMode.calendar!,
); );
if (picked != null && picked != selectedDate) { if (picked != null && picked != selectedDate) {
setState(() { setState(() {
@ -704,8 +704,8 @@ class _PrescriptionCheckOutScreenState extends State<PrescriptionCheckOutScreen>
} }
} }
InputDecoration textFieldSelectorDecoration(String hintText, String selectedText, bool isDropDown, InputDecoration textFieldSelectorDecoration(String hintText, String? selectedText, bool isDropDown,
{Icon suffixIcon}) { {Icon? suffixIcon}) {
return InputDecoration( return InputDecoration(
focusedBorder: OutlineInputBorder( focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0), borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0),

@ -8,13 +8,13 @@ import 'package:flutter/material.dart';
class PrescriptionDetailsPage extends StatelessWidget { class PrescriptionDetailsPage extends StatelessWidget {
final PrescriptionReport prescriptionReport; final PrescriptionReport prescriptionReport;
PrescriptionDetailsPage({Key ? key, this.prescriptionReport}); PrescriptionDetailsPage({required Key key, required this.prescriptionReport});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: TranslationBase.of(context).prescriptions, appBarTitle: TranslationBase.of(context).prescriptions!,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -28,14 +28,14 @@ class PrescriptionDetailsPage extends StatelessWidget {
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(10.0), 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( child: Row(
children: <Widget>[ children: <Widget>[
ClipRRect( ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(5)), borderRadius: BorderRadius.all(Radius.circular(5)),
child: Image.network( child: Image.network(
prescriptionReport.imageSRCUrl, prescriptionReport!.imageSRCUrl!,
fit: BoxFit.cover, fit: BoxFit.cover,
width: 60, width: 60,
height: 70, height: 70,
@ -46,7 +46,7 @@ class PrescriptionDetailsPage extends StatelessWidget {
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Center( child: Center(
child: AppText( child: AppText(
prescriptionReport.itemDescription.isNotEmpty prescriptionReport.itemDescription!.isNotEmpty!
? prescriptionReport.itemDescription ? prescriptionReport.itemDescription
: prescriptionReport.itemDescriptionN), : prescriptionReport.itemDescriptionN),
), ),
@ -109,28 +109,22 @@ class PrescriptionDetailsPage extends StatelessWidget {
color: Colors.white, color: Colors.white,
height: 50, height: 50,
width: double.infinity, width: double.infinity,
child: child: Center(child: Text(prescriptionReport.routeN ?? ""))),
Center(child: Text(prescriptionReport.routeN))),
Container( Container(
color: Colors.white, color: Colors.white,
height: 50, height: 50,
width: double.infinity, width: double.infinity,
child: Center( child: Center(child: Text(prescriptionReport.frequencyN ?? ''))),
child:
Text(prescriptionReport.frequencyN ?? ''))),
Container( Container(
color: Colors.white, color: Colors.white,
height: 50, height: 50,
width: double.infinity, width: double.infinity,
child: Center( child: Center(child: Text('${prescriptionReport.doseDailyQuantity}'))),
child: Text(
'${prescriptionReport.doseDailyQuantity}'))),
Container( Container(
color: Colors.white, color: Colors.white,
height: 50, height: 50,
width: double.infinity, width: double.infinity,
child: child: Center(child: Text('${prescriptionReport.days}')))
Center(child: Text('${prescriptionReport.days}')))
], ],
), ),
], ],

@ -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/prescription_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_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/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/base/base_view.dart';
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
@ -23,14 +24,14 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
final int prescriptionIndex; final int prescriptionIndex;
PrescriptionItemsInPatientPage( PrescriptionItemsInPatientPage(
{Key ? key, {Key? key,
this.prescriptions, required this.prescriptions,
this.patient, required this.patient,
this.patientType, required this.patientType,
this.arrivalType, required this.arrivalType,
this.stopOn, required this.stopOn,
this.startOn, required this.startOn,
this.prescriptionIndex}); required this.prescriptionIndex});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -43,9 +44,9 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
}, },
builder: (_, model, widget) => AppScaffold( builder: (_, model, widget) => AppScaffold(
isShowAppBar: true, isShowAppBar: true,
backgroundColor: Colors.grey[100], backgroundColor: Colors.grey[100]!,
baseViewModel: model, baseViewModel: model,
appBar: PatientProfileAppBar(patient), patientProfileAppBarModel: PatientProfileAppBarModel(patient: patient),
body: SingleChildScrollView( body: SingleChildScrollView(
child: Container( child: Container(
child: Column( child: Column(
@ -101,7 +102,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
TranslationBase.of(context).route, TranslationBase.of(context).route,
color: Colors.grey, color: Colors.grey,
), ),
AppText(" " + prescriptions.routeDescription.toString() ?? ''), AppText(" " + prescriptions.routeDescription.toString()),
], ],
), ),
Row( Row(
@ -169,7 +170,9 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
TranslationBase.of(context).status, TranslationBase.of(context).status,
color: Colors.grey, color: Colors.grey,
), ),
AppText(" " + prescriptions.statusDescription.toString() ?? ''), AppText(
" " + prescriptions.statusDescription.toString(),
),
], ],
), ),
Row( Row(

@ -1,6 +1,7 @@
import 'package:doctor_app_flutter/core/model/Prescriptions/Prescriptions.dart'; 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/core/viewModel/prescriptions_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_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/base/base_view.dart';
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
@ -17,7 +18,12 @@ class PrescriptionItemsPage extends StatelessWidget {
final PatiantInformtion patient; final PatiantInformtion patient;
final String patientType; final String patientType;
final String arrivalType; 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 @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -26,24 +32,23 @@ class PrescriptionItemsPage extends StatelessWidget {
model.getPrescriptionReport(prescriptions: prescriptions,patient: patient), model.getPrescriptionReport(prescriptions: prescriptions,patient: patient),
builder: (_, model, widget) => AppScaffold( builder: (_, model, widget) => AppScaffold(
isShowAppBar: true, isShowAppBar: true,
backgroundColor: Colors.grey[100], backgroundColor: Colors.grey[100]!,
baseViewModel: model, baseViewModel: model,
appBar: PatientProfileAppBar( patientProfileAppBarModel: PatientProfileAppBarModel(
patient, patient: patient,
clinic: prescriptions.clinicDescription, clinic: prescriptions.clinicDescription!,
branch: prescriptions.name, branch: prescriptions.name!,
isPrescriptions: true, isPrescriptions: true,
appointmentDate: AppDateUtils.getDateTimeFromServerFormat(prescriptions.appointmentDate), appointmentDate: AppDateUtils.getDateTimeFromServerFormat(prescriptions.appointmentDate!),
doctorName: prescriptions.doctorName, doctorName: prescriptions.doctorName!,
profileUrl: prescriptions.doctorImageURL, profileUrl: prescriptions.doctorImageURL!,
isAppointmentHeader: true, isAppointmentHeader: true,
), ),
body: SingleChildScrollView( body: SingleChildScrollView(
child: Container( child: Container(
child: Column( child: Column(
children: [ children: [
if (!prescriptions.isInOutPatient!)
if (!prescriptions.isInOutPatient)
...List.generate( ...List.generate(
model.prescriptionReportList.length, model.prescriptionReportList.length,
(index) => Container( (index) => Container(
@ -59,7 +64,7 @@ class PrescriptionItemsPage extends StatelessWidget {
children: [ children: [
Container( Container(
margin: EdgeInsets.only(left: 18,right: 18), 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,), SizedBox(height: 12,),
Row( Row(
children: [ children: [
@ -76,14 +81,14 @@ class PrescriptionItemsPage extends StatelessWidget {
showDialog( showDialog(
context: context, context: context,
builder: (ctx) => ShowImageDialog( builder: (ctx) => ShowImageDialog(
imageUrl: model.prescriptionReportEnhList[index].imageSRCUrl, imageUrl:
) model.prescriptionReportEnhList[index].imageSRCUrl ?? "",
); ));
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Image.network( child: Image.network(
model.prescriptionReportList[index].imageSRCUrl, model.prescriptionReportList[index].imageSRCUrl ?? "",
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
), ),
@ -96,13 +101,13 @@ class PrescriptionItemsPage extends StatelessWidget {
Row( Row(
children: [ children: [
AppText(TranslationBase.of(context).route,color: Colors.grey,), AppText(TranslationBase.of(context).route,color: Colors.grey,),
Expanded(child: AppText(" "+model.prescriptionReportList[index].routeN)), Expanded(child: AppText(" "+model.prescriptionReportList[index].routeN!)),
], ],
), ),
Row( Row(
children: [ children: [
AppText(TranslationBase.of(context).frequency,color: Colors.grey,), AppText(TranslationBase.of(context).frequency,color: Colors.grey,),
AppText(" "+model.prescriptionReportList[index].frequencyN ?? ''), AppText(" "+model.prescriptionReportList[index].frequencyN! ?? ''),
], ],
), ),
Row( Row(
@ -165,7 +170,7 @@ class PrescriptionItemsPage extends StatelessWidget {
showDialog( showDialog(
context: context, context: context,
builder: (ctx) => ShowImageDialog( builder: (ctx) => ShowImageDialog(
imageUrl: model.prescriptionReportEnhList[index].imageSRCUrl, imageUrl: model.prescriptionReportEnhList[index].imageSRCUrl!,
) )
); );
}, },
@ -174,7 +179,7 @@ class PrescriptionItemsPage extends StatelessWidget {
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Image.network( child: Image.network(
model.prescriptionReportEnhList[index].imageSRCUrl, model.prescriptionReportEnhList[index].imageSRCUrl!,
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
@ -194,13 +199,13 @@ class PrescriptionItemsPage extends StatelessWidget {
Row( Row(
children: [ children: [
AppText(TranslationBase.of(context).route,color: Colors.grey,), AppText(TranslationBase.of(context).route,color: Colors.grey,),
Expanded(child: AppText(" "+model.prescriptionReportEnhList[index].route??'')), Expanded(child: AppText(" "+model.prescriptionReportEnhList[index].route!??'')),
], ],
), ),
Row( Row(
children: [ children: [
AppText(TranslationBase.of(context).frequency,color: Colors.grey,), AppText(TranslationBase.of(context).frequency,color: Colors.grey,),
AppText(" "+model.prescriptionReportEnhList[index].frequency ?? ''), AppText(" "+model.prescriptionReportEnhList[index].frequency! ?? ''),
], ],
), ),
Row( Row(

@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
class PrescriptionTextFiled extends StatefulWidget { class PrescriptionTextFiled extends StatefulWidget {
dynamic element; dynamic element;
final String? elementError; final String? elementError;
final bool? isSubmitted;
final List<dynamic> elementList; final List<dynamic> elementList;
final String keyName; final String keyName;
final String keyId; final String keyId;

@ -1,5 +1,6 @@
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; 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/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/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_item_in_patient_page.dart';
import 'package:doctor_app_flutter/screens/prescription/prescription_items_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 { class PrescriptionsPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { 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']; PatiantInformtion patient = routeArgs['patient'];
String patientType = routeArgs['patientType']; String patientType = routeArgs['patientType'];
String arrivalType = routeArgs['arrivalType']; String arrivalType = routeArgs['arrivalType'];
@ -38,10 +39,8 @@ class PrescriptionsPage extends StatelessWidget {
baseViewModel: model, baseViewModel: model,
isShowAppBar: true, isShowAppBar: true,
backgroundColor: Colors.grey[100], backgroundColor: Colors.grey[100],
appBar: PatientProfileAppBar( patientProfileAppBarModel: PatientProfileAppBarModel(
patient, patient: patient, isInpatient:isInpatient,),
isInpatient: isInpatient,
),
body: patient.admissionNo == null body: patient.admissionNo == null
? FractionallySizedBox( ? FractionallySizedBox(
widthFactor: 1.0, widthFactor: 1.0,
@ -59,9 +58,9 @@ class PrescriptionsPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ServiceTitle( ServiceTitle(
title: TranslationBase.of(context).orders, title: TranslationBase.of(context).orders!,
subTitle: subTitle:
TranslationBase.of(context).prescriptions, TranslationBase.of(context).prescriptions!,
), ),
], ],
), ),
@ -74,9 +73,9 @@ class PrescriptionsPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ServiceTitle( ServiceTitle(
title: TranslationBase.of(context).orders, title: TranslationBase.of(context).orders!,
subTitle: subTitle:
TranslationBase.of(context).prescriptions, TranslationBase.of(context)!.prescriptions!,
), ),
], ],
), ),
@ -97,8 +96,8 @@ class PrescriptionsPage extends StatelessWidget {
settingRoute: 'AddProcedureTabPage'), settingRoute: 'AddProcedureTabPage'),
); );
}, },
label: TranslationBase.of(context) label: TranslationBase.of(context)!
.applyForNewPrescriptionsOrder, .applyForNewPrescriptionsOrder!,
), ),
...List.generate( ...List.generate(
model.prescriptionsList.length, model.prescriptionsList.length,
@ -117,17 +116,17 @@ class PrescriptionsPage extends StatelessWidget {
), ),
child: DoctorCard( child: DoctorCard(
doctorName: doctorName:
model.prescriptionsList[index].doctorName, model.prescriptionsList[index].doctorName ?? "",
profileUrl: model profileUrl: model
.prescriptionsList[index].doctorImageURL, .prescriptionsList[index].doctorImageURL ?? "",
branch: model.prescriptionsList[index].name, branch: model.prescriptionsList[index].name ?? "",
clinic: model.prescriptionsList[index] clinic: model.prescriptionsList[index]
.clinicDescription, .clinicDescription ?? "",
isPrescriptions: true, isPrescriptions: true,
appointmentDate: appointmentDate:
AppDateUtils.getDateTimeFromServerFormat( AppDateUtils.getDateTimeFromServerFormat(
model.prescriptionsList[index] model.prescriptionsList[index]!
.appointmentDate, .appointmentDate ?? "",
), ),
))), ))),
if (model.prescriptionsList.isEmpty && if (model.prescriptionsList.isEmpty &&
@ -183,14 +182,14 @@ class PrescriptionsPage extends StatelessWidget {
model model
.medicationForInPatient[ .medicationForInPatient[
index] index]
.startDatetime, .startDatetime ?? "",
), ),
stopOn: AppDateUtils stopOn: AppDateUtils
.getDateTimeFromServerFormat( .getDateTimeFromServerFormat(
model model
.medicationForInPatient[ .medicationForInPatient[
index] index]
.stopDatetime, .stopDatetime ?? "",
), ),
), ),
), ),
@ -205,8 +204,8 @@ class PrescriptionsPage extends StatelessWidget {
isPrescriptions: true, isPrescriptions: true,
appointmentDate: AppDateUtils appointmentDate: AppDateUtils
.getDateTimeFromServerFormat( .getDateTimeFromServerFormat(
model.medicationForInPatient[index] model.medicationForInPatient[index]!
.prescriptionDatetime, .prescriptionDatetime ?? "",
), ),
createdBy: model createdBy: model
.medicationForInPatient[index] .medicationForInPatient[index]

@ -15,24 +15,24 @@ class ExpansionProcedure extends StatefulWidget {
final ProcedureViewModel model; final ProcedureViewModel model;
final Function(ProcedureTempleteDetailsModel) removeFavProcedure; final Function(ProcedureTempleteDetailsModel) removeFavProcedure;
final Function(ProcedureTempleteDetailsModel) addFavProcedure; final Function(ProcedureTempleteDetailsModel) addFavProcedure;
final Function(ProcedureTempleteDetailsModel) selectProcedures; final Function(ProcedureTempleteDetailsModel)? selectProcedures;
final bool Function(ProcedureTempleteModel) isEntityListSelected; final bool Function(ProcedureTempleteModel)? isEntityListSelected;
final bool Function(ProcedureTempleteDetailsModel) isEntityFavListSelected; final bool Function(ProcedureTempleteDetailsModel)? isEntityFavListSelected;
final bool isProcedure; final bool isProcedure;
final ProcedureTempleteDetailsModel groupProcedures; final ProcedureTempleteDetailsModel groupProcedures;
const ExpansionProcedure( const ExpansionProcedure(
{Key ? key, {Key? key,
this.procedureTempleteModel, required this.procedureTempleteModel,
this.model, required this.model,
this.removeFavProcedure, required this.removeFavProcedure,
this.addFavProcedure, required this.addFavProcedure,
this.selectProcedures, this.selectProcedures,
this.isEntityListSelected, this.isEntityListSelected,
this.isEntityFavListSelected, this.isEntityFavListSelected,
this.isProcedure = true, this.isProcedure = true,
this.groupProcedures}) required this.groupProcedures})
: super(key: key); : super(key: key);
@override @override
@ -77,8 +77,8 @@ class _ExpansionProcedureState extends State<ExpansionProcedure> {
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 0), padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 0),
child: AppText( child: AppText(
widget.isProcedure == true widget.isProcedure == true
? "Procedures for " + widget.procedureTempleteModel.templateName ? "Procedures for " + widget.procedureTempleteModel.templateName!
: "Prescription for " + widget.procedureTempleteModel.templateName, : "Prescription for " + widget.procedureTempleteModel.templateName!,
fontSize: 16.0, fontSize: 16.0,
variant: "bodyText", variant: "bodyText",
bold: true, bold: true,
@ -118,14 +118,14 @@ class _ExpansionProcedureState extends State<ExpansionProcedure> {
onTap: () { onTap: () {
if (widget.isProcedure) { if (widget.isProcedure) {
setState(() { setState(() {
if (widget.isEntityFavListSelected(itemProcedure)) { if (widget.isEntityFavListSelected!(itemProcedure)) {
widget.removeFavProcedure(itemProcedure); widget.removeFavProcedure(itemProcedure);
} else { } else {
widget.addFavProcedure(itemProcedure); widget.addFavProcedure(itemProcedure);
} }
}); });
} else { } else {
widget.selectProcedures(itemProcedure); widget.selectProcedures!(itemProcedure);
} }
}, },
child: Container( child: Container(
@ -140,11 +140,11 @@ class _ExpansionProcedureState extends State<ExpansionProcedure> {
padding: const EdgeInsets.symmetric(horizontal: 11), padding: const EdgeInsets.symmetric(horizontal: 11),
child: widget.isProcedure child: widget.isProcedure
? Checkbox( ? Checkbox(
value: widget.isEntityFavListSelected(itemProcedure), value: widget.isEntityFavListSelected!(itemProcedure),
activeColor: Color(0xffD02127), activeColor: Color(0xffD02127),
onChanged: (bool newValue) { onChanged: (bool? newValue) {
setState(() { setState(() {
if (widget.isEntityFavListSelected(itemProcedure)) { if (widget.isEntityFavListSelected!(itemProcedure)) {
widget.removeFavProcedure(itemProcedure); widget.removeFavProcedure(itemProcedure);
} else { } else {
widget.addFavProcedure(itemProcedure); widget.addFavProcedure(itemProcedure);
@ -155,8 +155,8 @@ class _ExpansionProcedureState extends State<ExpansionProcedure> {
value: itemProcedure, value: itemProcedure,
groupValue: widget.groupProcedures, groupValue: widget.groupProcedures,
activeColor: Color(0xffD02127), activeColor: Color(0xffD02127),
onChanged: (newValue) { onChanged: (ProcedureTempleteDetailsModel? newValue) {
widget.selectProcedures(newValue); widget.selectProcedures!(newValue!);
})), })),
Expanded( Expanded(
child: Padding( child: Padding(

@ -12,21 +12,21 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class ProcedureCard extends StatelessWidget { class ProcedureCard extends StatelessWidget {
final Function onTap; final GestureTapCallback onTap;
final EntityList entityList; final EntityList entityList;
final String categoryName; final String? categoryName;
final int categoryID; final int categoryID;
final PatiantInformtion patient; final PatiantInformtion patient;
final int doctorID; final int doctorID;
final bool isInpatient; final bool isInpatient;
const ProcedureCard({ const ProcedureCard({
Key ? key, Key? key,
this.onTap, required this.onTap,
this.entityList, required this.entityList,
this.categoryID, required this.categoryID,
this.categoryName, this.categoryName,
this.patient, required this.patient,
this.doctorID, required this.doctorID,
this.isInpatient = false, this.isInpatient = false,
}) : super(key: key); }) : super(key: key);
@ -97,13 +97,13 @@ class ProcedureCard extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
AppText( AppText(
'${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.convertISOStringToDateTime(entityList.orderDate), isArabic: projectViewModel.isArabic)}', '${AppDateUtils.getDayMonthYearDateFormatted(AppDateUtils.convertISOStringToDateTime(entityList.orderDate ?? ""), isArabic: projectViewModel.isArabic)}',
color: Colors.black, color: Colors.black,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
fontSize: 14, fontSize: 14,
), ),
AppText( AppText(
'${AppDateUtils.getHour(AppDateUtils.convertISOStringToDateTime(entityList.orderDate))}', '${AppDateUtils.getHour(AppDateUtils.convertISOStringToDateTime(entityList.orderDate ?? ""))}',
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
color: Colors.grey[700], color: Colors.grey[700],
fontSize: 14, fontSize: 14,
@ -150,7 +150,7 @@ class ProcedureCard extends StatelessWidget {
'assets/images/male_avatar.png', 'assets/images/male_avatar.png',
height: 25, height: 25,
width: 30, width: 30,
errorBuilder: (BuildContext context, Object exception, StackTrace stackTrace) { errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) {
return Text('No Image'); return Text('No Image');
}, },
))), ))),

@ -10,19 +10,19 @@ enum ProcedureType {
extension procedureType on ProcedureType { extension procedureType on ProcedureType {
String getFavouriteTabName(BuildContext context) { String getFavouriteTabName(BuildContext context) {
return TranslationBase.of(context).favoriteTemplates; return TranslationBase.of(context).favoriteTemplates!;
} }
String getAllLabelName(BuildContext context) { String getAllLabelName(BuildContext context) {
switch (this) { switch (this) {
case ProcedureType.PROCEDURE: case ProcedureType.PROCEDURE:
return TranslationBase.of(context).allProcedures; return TranslationBase.of(context).allProcedures!;
case ProcedureType.LAB_RESULT: case ProcedureType.LAB_RESULT:
return TranslationBase.of(context).allLab; return TranslationBase.of(context).allLab!;
case ProcedureType.RADIOLOGY: case ProcedureType.RADIOLOGY:
return TranslationBase.of(context).allRadiology; return TranslationBase.of(context).allRadiology!;
case ProcedureType.PRESCRIPTION: case ProcedureType.PRESCRIPTION:
return TranslationBase.of(context).allPrescription; return TranslationBase.of(context).allPrescription!;
default: default:
return ""; return "";
} }
@ -31,13 +31,13 @@ extension procedureType on ProcedureType {
String getToolbarLabel(BuildContext context) { String getToolbarLabel(BuildContext context) {
switch (this) { switch (this) {
case ProcedureType.PROCEDURE: case ProcedureType.PROCEDURE:
return TranslationBase.of(context).addProcedures; return TranslationBase.of(context).addProcedures!;
case ProcedureType.LAB_RESULT: case ProcedureType.LAB_RESULT:
return TranslationBase.of(context).addLabOrder; return TranslationBase.of(context).addLabOrder!;
case ProcedureType.RADIOLOGY: case ProcedureType.RADIOLOGY:
return TranslationBase.of(context).addRadiologyOrder; return TranslationBase.of(context).addRadiologyOrder!;
case ProcedureType.PRESCRIPTION: case ProcedureType.PRESCRIPTION:
return TranslationBase.of(context).addPrescription; return TranslationBase.of(context).addPrescription!;
default: default:
return ""; return "";
} }
@ -46,13 +46,13 @@ extension procedureType on ProcedureType {
String getAddButtonTitle(BuildContext context) { String getAddButtonTitle(BuildContext context) {
switch (this) { switch (this) {
case ProcedureType.PROCEDURE: case ProcedureType.PROCEDURE:
return TranslationBase.of(context).addProcedures; return TranslationBase.of(context).addProcedures!;
case ProcedureType.LAB_RESULT: case ProcedureType.LAB_RESULT:
return TranslationBase.of(context).addLabOrder; return TranslationBase.of(context).addLabOrder!;
case ProcedureType.RADIOLOGY: case ProcedureType.RADIOLOGY:
return TranslationBase.of(context).addRadiologyOrder; return TranslationBase.of(context).addRadiologyOrder!;
case ProcedureType.PRESCRIPTION: case ProcedureType.PRESCRIPTION:
return TranslationBase.of(context).addPrescription; return TranslationBase.of(context).addPrescription!;
default: default:
return ""; return "";
} }
@ -61,7 +61,7 @@ extension procedureType on ProcedureType {
String getCategoryId() { String getCategoryId() {
switch (this) { switch (this) {
case ProcedureType.PROCEDURE: case ProcedureType.PROCEDURE:
return null; return "";
case ProcedureType.LAB_RESULT: case ProcedureType.LAB_RESULT:
return "02"; return "02";
case ProcedureType.RADIOLOGY: case ProcedureType.RADIOLOGY:
@ -69,20 +69,20 @@ extension procedureType on ProcedureType {
case ProcedureType.PRESCRIPTION: case ProcedureType.PRESCRIPTION:
return "55"; return "55";
default: default:
return null; return "";
} }
} }
String getCategoryName() { String getCategoryName() {
switch (this) { switch (this) {
case ProcedureType.PROCEDURE: case ProcedureType.PROCEDURE:
return null; return '';
case ProcedureType.LAB_RESULT: case ProcedureType.LAB_RESULT:
return "Laboratory"; return "Laboratory";
case ProcedureType.RADIOLOGY: case ProcedureType.RADIOLOGY:
return "Radiology"; return "Radiology";
default: default:
return null; return '';
} }
} }
} }

@ -19,17 +19,17 @@ import 'package:flutter/material.dart';
import 'ProcedureType.dart'; import 'ProcedureType.dart';
class AddFavouriteProcedure extends StatefulWidget { class AddFavouriteProcedure extends StatefulWidget {
final ProcedureViewModel model; final ProcedureViewModel? model;
final PrescriptionViewModel prescriptionModel; final PrescriptionViewModel? prescriptionModel;
final PatiantInformtion patient; final PatiantInformtion patient;
final ProcedureType procedureType; final ProcedureType procedureType;
AddFavouriteProcedure({ AddFavouriteProcedure({
Key ? key, Key? key,
this.model, this.model,
this.prescriptionModel, this.prescriptionModel,
this.patient, required this.patient,
@required this.procedureType, required this.procedureType,
}); });
@override @override
@ -39,28 +39,28 @@ class AddFavouriteProcedure extends StatefulWidget {
class _AddFavouriteProcedureState extends State<AddFavouriteProcedure> { class _AddFavouriteProcedureState extends State<AddFavouriteProcedure> {
_AddFavouriteProcedureState({this.patient, this.model}); _AddFavouriteProcedureState({this.patient, this.model});
ProcedureViewModel model; ProcedureViewModel? model;
PatiantInformtion patient; PatiantInformtion? patient;
List<ProcedureTempleteDetailsModel> entityList = []; List<ProcedureTempleteDetailsModel> entityList = [];
ProcedureTempleteDetailsModel groupProcedures; ProcedureTempleteDetailsModel? groupProcedures;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<ProcedureViewModel>( return BaseView<ProcedureViewModel>(
onModelReady: (model) => model.getProcedureTemplate(categoryID: widget.procedureType.getCategoryId()), 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, isShowAppBar: false,
baseViewModel: model, baseViewModel: model,
body: Column( body: Column(
children: [ children: [
Container( 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( ? Expanded(
child: EntityListCheckboxSearchFavProceduresWidget( child: EntityListCheckboxSearchFavProceduresWidget(
isProcedure: !(widget.procedureType == ProcedureType.PRESCRIPTION), isProcedure: !(widget.procedureType == ProcedureType.PRESCRIPTION),
model: model, model: model!,
removeFavProcedure: (item) { removeFavProcedure: (item) {
setState(() { setState(() {
entityList.remove(item); entityList.remove(item);

@ -16,13 +16,11 @@ import 'ProcedureType.dart';
import 'entity_list_checkbox_search_widget.dart'; import 'entity_list_checkbox_search_widget.dart';
class AddProcedurePage extends StatefulWidget { class AddProcedurePage extends StatefulWidget {
final ProcedureViewModel model; final ProcedureViewModel? model;
final PatiantInformtion patient; final PatiantInformtion patient;
final ProcedureType procedureType; final ProcedureType procedureType;
const AddProcedurePage( const AddProcedurePage({Key? key, this.model, required this.patient, required this.procedureType}) : super(key: key);
{Key ? key, this.model, this.patient, @required this.procedureType})
: super(key: key);
@override @override
_AddProcedurePageState createState() => _AddProcedurePageState( _AddProcedurePageState createState() => _AddProcedurePageState(
@ -30,10 +28,10 @@ class AddProcedurePage extends StatefulWidget {
} }
class _AddProcedurePageState extends State<AddProcedurePage> { class _AddProcedurePageState extends State<AddProcedurePage> {
int selectedType; int? selectedType;
ProcedureViewModel model; ProcedureViewModel? model;
PatiantInformtion patient; PatiantInformtion? patient;
ProcedureType procedureType; ProcedureType? procedureType;
_AddProcedurePageState({this.patient, this.model, this.procedureType}); _AddProcedurePageState({this.patient, this.model, this.procedureType});
@ -56,17 +54,16 @@ class _AddProcedurePageState extends State<AddProcedurePage> {
return BaseView<ProcedureViewModel>( return BaseView<ProcedureViewModel>(
onModelReady: (model) { onModelReady: (model) {
model.getProcedureCategory( model.getProcedureCategory(
categoryName: procedureType.getCategoryName(), categoryName: procedureType!.getCategoryName(),
categoryID: procedureType.getCategoryId(), categoryID: procedureType!.getCategoryId(),
patientId: patient.patientId); patientId: patient!.patientId);
}, },
builder: (BuildContext context, ProcedureViewModel model, Widget child) => builder: (BuildContext? context, ProcedureViewModel? model, Widget? child) => AppScaffold(
AppScaffold(
isShowAppBar: false, isShowAppBar: false,
body: Column( body: Column(
children: [ children: [
Container( Container(
height: MediaQuery.of(context).size.height * 0.070, height: MediaQuery.of(context!).size.height * 0.070,
), ),
Expanded( Expanded(
child: NetworkBaseView( child: NetworkBaseView(
@ -121,8 +118,8 @@ class _AddProcedurePageState extends State<AddProcedurePage> {
onTap: () { onTap: () {
if (procedureName.text.isNotEmpty && if (procedureName.text.isNotEmpty &&
procedureName.text.length >= 3) procedureName.text.length >= 3)
model.getProcedureCategory( model!.getProcedureCategory(
patientId: patient.patientId, patientId: patient!.patientId,
categoryName: categoryName:
procedureName.text); procedureName.text);
else else
@ -141,16 +138,13 @@ class _AddProcedurePageState extends State<AddProcedurePage> {
), ),
], ],
), ),
if ((procedureType == ProcedureType.PROCEDURE if ((procedureType == ProcedureType.PROCEDURE ? procedureName.text.isNotEmpty : true) &&
? procedureName.text.isNotEmpty model!.categoriesList.length != 0)
: true) &&
model.categoriesList.length != 0)
NetworkBaseView( NetworkBaseView(
baseViewModel: model, baseViewModel: model,
child: EntityListCheckboxSearchWidget( child: EntityListCheckboxSearchWidget(
model: widget.model, model: widget.model!,
masterList: masterList: model.categoriesList[0].entityList!,
model.categoriesList[0].entityList,
removeHistory: (item) { removeHistory: (item) {
setState(() { setState(() {
entityList.remove(item); entityList.remove(item);
@ -181,7 +175,7 @@ class _AddProcedurePageState extends State<AddProcedurePage> {
alignment: WrapAlignment.center, alignment: WrapAlignment.center,
children: <Widget>[ children: <Widget>[
AppButton( AppButton(
title: procedureType.getAddButtonTitle(context), title: procedureType!.getAddButtonTitle(context),
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: Color(0xff359846), color: Color(0xff359846),
onPressed: () async { onPressed: () async {
@ -193,7 +187,7 @@ class _AddProcedurePageState extends State<AddProcedurePage> {
return; return;
} }
await this.model.preparePostProcedure( await this.model!.preparePostProcedure!(
orderType: selectedType.toString(), orderType: selectedType.toString(),
entityList: entityList, entityList: entityList,
patient: patient, patient: patient,

@ -15,33 +15,28 @@ import 'add-favourite-procedure.dart';
import 'add-procedure-page.dart'; import 'add-procedure-page.dart';
class BaseAddProcedureTabPage extends StatefulWidget { class BaseAddProcedureTabPage extends StatefulWidget {
final ProcedureViewModel model; final ProcedureViewModel? model;
final PrescriptionViewModel prescriptionModel; final PrescriptionViewModel? prescriptionModel;
final PatiantInformtion patient; final PatiantInformtion? patient;
final ProcedureType procedureType; final ProcedureType? procedureType;
const BaseAddProcedureTabPage( const BaseAddProcedureTabPage(
{Key ? key, {Key? key, this.model, this.prescriptionModel, this.patient, required this.procedureType})
this.model,
this.prescriptionModel,
this.patient,
@required this.procedureType})
: super(key: key); : super(key: key);
@override @override
_BaseAddProcedureTabPageState createState() => _BaseAddProcedureTabPageState( _BaseAddProcedureTabPageState createState() =>
patient: patient, model: model, procedureType: procedureType); _BaseAddProcedureTabPageState(patient: patient!, model: model, procedureType: procedureType!);
} }
class _BaseAddProcedureTabPageState extends State<BaseAddProcedureTabPage> class _BaseAddProcedureTabPageState extends State<BaseAddProcedureTabPage> with SingleTickerProviderStateMixin {
with SingleTickerProviderStateMixin { final ProcedureViewModel? model;
final ProcedureViewModel model;
final PatiantInformtion patient; final PatiantInformtion patient;
final ProcedureType procedureType; 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; int _activeTab = 0;
@override @override
@ -68,8 +63,7 @@ class _BaseAddProcedureTabPageState extends State<BaseAddProcedureTabPage>
final screenSize = MediaQuery.of(context).size; final screenSize = MediaQuery.of(context).size;
return BaseView<ProcedureViewModel>( return BaseView<ProcedureViewModel>(
builder: (BuildContext context, ProcedureViewModel model, Widget child) => builder: (BuildContext? context, ProcedureViewModel? model, Widget? child) => AppScaffold(
AppScaffold(
isShowAppBar: false, isShowAppBar: false,
body: NetworkBaseView( body: NetworkBaseView(
baseViewModel: model, baseViewModel: model,
@ -77,8 +71,7 @@ class _BaseAddProcedureTabPageState extends State<BaseAddProcedureTabPage>
minChildSize: 0.90, minChildSize: 0.90,
initialChildSize: 0.95, initialChildSize: 0.95,
maxChildSize: 1.0, maxChildSize: 1.0,
builder: builder: (BuildContext context, ScrollController scrollController) {
(BuildContext context, ScrollController scrollController) {
return Container( return Container(
height: MediaQuery.of(context).size.height * 1.25, height: MediaQuery.of(context).size.height * 1.25,
child: Padding( child: Padding(
@ -168,13 +161,13 @@ class _BaseAddProcedureTabPageState extends State<BaseAddProcedureTabPage>
if (widget.procedureType == if (widget.procedureType ==
ProcedureType.PRESCRIPTION) ProcedureType.PRESCRIPTION)
PrescriptionFormWidget( PrescriptionFormWidget(
widget.prescriptionModel, widget.prescriptionModel!,
widget.patient, widget.patient!,
widget.prescriptionModel widget.prescriptionModel!
.prescriptionList) .prescriptionList)
else else
AddProcedurePage( AddProcedurePage(
model: this.model, model: this.model!,
patient: patient, patient: patient,
procedureType: procedureType, procedureType: procedureType,
), ),

@ -14,20 +14,20 @@ class EntityListCheckboxSearchWidget extends StatefulWidget {
final Function addSelectedHistories; final Function addSelectedHistories;
final Function(EntityList) removeHistory; final Function(EntityList) removeHistory;
final Function(EntityList) addHistory; final Function(EntityList) addHistory;
final Function(EntityList) addRemarks; final Function(EntityList)? addRemarks;
final bool Function(EntityList) isEntityListSelected; final bool Function(EntityList) isEntityListSelected;
final List<EntityList> masterList; final List<EntityList> masterList;
/// todo clear the function here /// todo clear the function here
EntityListCheckboxSearchWidget( EntityListCheckboxSearchWidget(
{Key ? key, {Key? key,
this.model, required this.model,
this.addSelectedHistories, required this.addSelectedHistories,
this.removeHistory, required this.removeHistory,
this.masterList, required this.masterList,
this.addHistory, required this.addHistory,
this.isEntityListSelected, required this.isEntityListSelected,
this.addRemarks}) this.addRemarks})
: super(key: key); : super(key: key);
@ -36,11 +36,10 @@ class EntityListCheckboxSearchWidget extends StatefulWidget {
_EntityListCheckboxSearchWidgetState(); _EntityListCheckboxSearchWidgetState();
} }
class _EntityListCheckboxSearchWidgetState class _EntityListCheckboxSearchWidgetState extends State<EntityListCheckboxSearchWidget> {
extends State<EntityListCheckboxSearchWidget> {
int selectedType = 0; int selectedType = 0;
int typeUrgent; late int typeUrgent;
int typeRegular; late int typeRegular;
setSelectedType(int val) { setSelectedType(int val) {
setState(() { setState(() {
@ -97,18 +96,14 @@ class _EntityListCheckboxSearchWidgetState
title: Row( title: Row(
children: [ children: [
Checkbox( Checkbox(
value: widget.isEntityListSelected( value: widget.isEntityListSelected(historyInfo),
historyInfo),
activeColor: Color(0xffD02127), activeColor: Color(0xffD02127),
onChanged: (bool newValue) { onChanged: (bool? newValue) {
setState(() { setState(() {
if (widget.isEntityListSelected( if (widget.isEntityListSelected(historyInfo)) {
historyInfo)) { widget.removeHistory(historyInfo);
widget.removeHistory(
historyInfo);
} else { } else {
widget widget.addHistory(historyInfo);
.addHistory(historyInfo);
} }
}); });
}), }),
@ -159,13 +154,10 @@ class _EntityListCheckboxSearchWidgetState
Color(0xFFD02127), Color(0xFFD02127),
value: 0, value: 0,
groupValue: selectedType, groupValue: selectedType,
onChanged: (value) { onChanged: (int? value) {
historyInfo.type = historyInfo.type = setSelectedType(value!).toString();
setSelectedType(value)
.toString();
historyInfo.type = historyInfo.type = value.toString();
value.toString();
}, },
), ),
AppText( AppText(
@ -178,10 +170,8 @@ class _EntityListCheckboxSearchWidgetState
Color(0xFFD02127), Color(0xFFD02127),
groupValue: selectedType, groupValue: selectedType,
value: 1, value: 1,
onChanged: (value) { onChanged: (int? value) {
historyInfo.type = historyInfo.type = setSelectedType(value!).toString();
setSelectedType(value)
.toString();
historyInfo.type = historyInfo.type =
value.toString(); value.toString();
@ -250,7 +240,7 @@ class _EntityListCheckboxSearchWidgetState
if (query.isNotEmpty) { if (query.isNotEmpty) {
List<EntityList> dummyListData = []; List<EntityList> dummyListData = [];
dummySearchList.forEach((item) { dummySearchList.forEach((item) {
if (item.procedureName.toLowerCase().contains(query.toLowerCase())) { if (item.procedureName!.toLowerCase().contains(query.toLowerCase())) {
dummyListData.add(item); dummyListData.add(item);
} }
}); });

@ -15,32 +15,32 @@ import 'ExpansionProcedure.dart';
class EntityListCheckboxSearchFavProceduresWidget extends StatefulWidget { class EntityListCheckboxSearchFavProceduresWidget extends StatefulWidget {
final ProcedureViewModel model; final ProcedureViewModel model;
final Function addSelectedHistories; final Function? addSelectedHistories;
final Function(ProcedureTempleteModel) removeHistory; final Function(ProcedureTempleteModel)? removeHistory;
final Function(ProcedureTempleteModel) addHistory; final Function(ProcedureTempleteModel)? addHistory;
final Function(ProcedureTempleteModel) addRemarks; final Function(ProcedureTempleteModel)? addRemarks;
final Function(ProcedureTempleteDetailsModel) removeFavProcedure; final Function(ProcedureTempleteDetailsModel) removeFavProcedure;
final Function(ProcedureTempleteDetailsModel) addFavProcedure; final Function(ProcedureTempleteDetailsModel) addFavProcedure;
final Function(ProcedureTempleteDetailsModel) selectProcedures; final Function(ProcedureTempleteDetailsModel)? selectProcedures;
final ProcedureTempleteDetailsModel groupProcedures; final ProcedureTempleteDetailsModel? groupProcedures;
final bool Function(ProcedureTempleteModel) isEntityListSelected; final bool Function(ProcedureTempleteModel)? isEntityListSelected;
final bool Function(ProcedureTempleteDetailsModel) isEntityFavListSelected; final bool Function(ProcedureTempleteDetailsModel)? isEntityFavListSelected;
final List<ProcedureTempleteModel> masterList; final List<ProcedureTempleteModel>? masterList;
final bool isProcedure; final bool isProcedure;
EntityListCheckboxSearchFavProceduresWidget( EntityListCheckboxSearchFavProceduresWidget(
{Key ? key, {Key? key,
this.model, required this.model,
this.addSelectedHistories, this.addSelectedHistories,
this.removeHistory, this.removeHistory,
this.masterList, this.masterList,
this.addHistory, this.addHistory,
this.addFavProcedure, required this.addFavProcedure,
this.selectProcedures, this.selectProcedures,
this.removeFavProcedure, required this.removeFavProcedure,
this.isEntityListSelected, this.isEntityListSelected,
this.isEntityFavListSelected, this.isEntityFavListSelected,
this.addRemarks, this.addRemarks,
@ -55,8 +55,8 @@ class EntityListCheckboxSearchFavProceduresWidget extends StatefulWidget {
class _EntityListCheckboxSearchFavProceduresWidgetState extends State<EntityListCheckboxSearchFavProceduresWidget> { class _EntityListCheckboxSearchFavProceduresWidgetState extends State<EntityListCheckboxSearchFavProceduresWidget> {
int selectedType = 0; int selectedType = 0;
int typeUrgent; late int typeUrgent;
int typeRegular; late int typeRegular;
setSelectedType(int val) { setSelectedType(int val) {
setState(() { setState(() {
@ -112,11 +112,11 @@ class _EntityListCheckboxSearchFavProceduresWidgetState extends State<EntityList
model: widget.model, model: widget.model,
removeFavProcedure: widget.removeFavProcedure, removeFavProcedure: widget.removeFavProcedure,
addFavProcedure: widget.addFavProcedure, addFavProcedure: widget.addFavProcedure,
selectProcedures: widget.selectProcedures, selectProcedures: widget.selectProcedures??null,
isEntityListSelected: widget.isEntityListSelected, isEntityListSelected: widget.isEntityListSelected,
isEntityFavListSelected: widget.isEntityFavListSelected, isEntityFavListSelected: widget.isEntityFavListSelected,
isProcedure: widget.isProcedure, isProcedure: widget.isProcedure,
groupProcedures: widget.groupProcedures); groupProcedures: widget.groupProcedures??ProcedureTempleteDetailsModel());
}).toList(), }).toList(),
) )
: Center( : Center(
@ -136,11 +136,11 @@ class _EntityListCheckboxSearchFavProceduresWidgetState extends State<EntityList
void filterSearchResults(String query) { void filterSearchResults(String query) {
List<ProcedureTempleteModel> dummySearchList = []; List<ProcedureTempleteModel> dummySearchList = [];
dummySearchList.addAll(widget.masterList); dummySearchList.addAll(widget.masterList!);
if (query.isNotEmpty) { if (query.isNotEmpty) {
List<ProcedureTempleteModel> dummyListData = []; List<ProcedureTempleteModel> dummyListData = [];
dummySearchList.forEach((item) { dummySearchList.forEach((item) {
if (item.templateName.toLowerCase().contains(query.toLowerCase())) { if (item.templateName!.toLowerCase().contains(query.toLowerCase())) {
dummyListData.add(item); dummyListData.add(item);
} }
}); });
@ -152,7 +152,7 @@ class _EntityListCheckboxSearchFavProceduresWidgetState extends State<EntityList
} else { } else {
setState(() { setState(() {
items.clear(); items.clear();
items.addAll(widget.masterList); items.addAll(widget.masterList!);
}); });
} }
} }

@ -23,7 +23,11 @@ class ProcedureCheckOutScreen extends StatefulWidget {
final String toolbarTitle; final String toolbarTitle;
ProcedureCheckOutScreen( ProcedureCheckOutScreen(
{this.items, this.model, this.patient, @required this.addButtonTitle, @required this.toolbarTitle}); {required this.items,
required this.model,
required this.patient,
required this.addButtonTitle,
required this.toolbarTitle});
@override @override
_ProcedureCheckOutScreenState createState() => _ProcedureCheckOutScreenState(); _ProcedureCheckOutScreenState createState() => _ProcedureCheckOutScreenState();
@ -37,7 +41,7 @@ class _ProcedureCheckOutScreenState extends State<ProcedureCheckOutScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<ProcedureViewModel>( return BaseView<ProcedureViewModel>(
builder: (BuildContext context, ProcedureViewModel model, Widget child) => AppScaffold( builder: (BuildContext context, ProcedureViewModel model, Widget? child) => AppScaffold(
backgroundColor: Color(0xffF8F8F8).withOpacity(0.9), backgroundColor: Color(0xffF8F8F8).withOpacity(0.9),
isShowAppBar: false, isShowAppBar: false,
body: SingleChildScrollView( body: SingleChildScrollView(

@ -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/core/viewModel/procedure_View_model.dart';
import 'package:doctor_app_flutter/models/doctor/doctor_profile_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/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/base/base_view.dart';
import 'package:doctor_app_flutter/screens/procedures/update-procedure.dart'; import 'package:doctor_app_flutter/screens/procedures/update-procedure.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
@ -19,17 +20,17 @@ import 'ProcedureType.dart';
import 'base_add_procedure_tab_page.dart'; import 'base_add_procedure_tab_page.dart';
class ProcedureScreen extends StatelessWidget { class ProcedureScreen extends StatelessWidget {
int doctorNameP; int? doctorNameP;
void initState() async { void initState() async {
Map profile = await sharedPref.getObj(DOCTOR_PROFILE); Map profile = await sharedPref.getObj(DOCTOR_PROFILE);
DoctorProfileModel doctorProfile = DoctorProfileModel.fromJson(profile); DoctorProfileModel doctorProfile = DoctorProfileModel.fromJson(profile);
doctorNameP = doctorProfile!.doctorID; doctorNameP = doctorProfile.doctorID;
} }
@override @override
Widget build(BuildContext context) { 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']; PatiantInformtion patient = routeArgs['patient'];
String patientType = routeArgs['patientType']; String patientType = routeArgs['patientType'];
String arrivalType = routeArgs['arrivalType']; String arrivalType = routeArgs['arrivalType'];
@ -38,12 +39,12 @@ class ProcedureScreen extends StatelessWidget {
return BaseView<ProcedureViewModel>( return BaseView<ProcedureViewModel>(
onModelReady: (model) => onModelReady: (model) =>
model.getProcedure(mrn: patient.patientId, patientType: patientType, appointmentNo: patient.appointmentNo), 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, isShowAppBar: true,
backgroundColor: Colors.grey[100], backgroundColor: Colors.grey[100],
baseViewModel: model, baseViewModel: model,
appBar: PatientProfileAppBar( patientProfileAppBarModel: PatientProfileAppBarModel(
patient, patient: patient,
isInpatient: isInpatient, isInpatient: isInpatient,
), ),
body: SingleChildScrollView( body: SingleChildScrollView(
@ -152,33 +153,33 @@ class ProcedureScreen extends StatelessWidget {
), ),
if (model.procedureList.isNotEmpty) if (model.procedureList.isNotEmpty)
...List.generate( ...List.generate(
model.procedureList[0].rowcount, model.procedureList[0].rowcount!,
(index) => ProcedureCard( (index) => ProcedureCard(
categoryID: model.procedureList[0].entityList[index].categoryID, categoryID: model.procedureList[0].entityList![index].categoryID!,
entityList: model.procedureList[0].entityList[index], entityList: model.procedureList[0].entityList![index],
onTap: () { onTap: () {
if (model.procedureList[0].entityList[index].categoryID == 2 || if (model.procedureList[0].entityList![index].categoryID == 2 ||
model.procedureList[0].entityList[index].categoryID == 4) model.procedureList[0].entityList![index].categoryID == 4)
updateProcedureForm(context, updateProcedureForm(context,
model: model, model: model,
patient: patient, patient: patient,
remarks: model.procedureList[0].entityList[index].remarks, remarks: model.procedureList[0].entityList![index].remarks!,
orderType: model.procedureList[0].entityList[index].orderType.toString(), orderType: model.procedureList[0].entityList![index].orderType.toString(),
orderNo: model.procedureList[0].entityList[index].orderNo, orderNo: model.procedureList[0].entityList![index].orderNo!,
procedureName: model.procedureList[0].entityList[index].procedureName, procedureName: model.procedureList[0].entityList![index].procedureName!,
categoreId: model.procedureList[0].entityList[index].categoryID.toString(), categoreId: model.procedureList[0].entityList![index].categoryID.toString(),
procedureId: model.procedureList[0].entityList[index].procedureId, procedureId: model.procedureList[0].entityList![index].procedureId!,
limetNo: model.procedureList[0].entityList[index].lineItemNo); limetNo: model.procedureList[0].entityList![index].lineItemNo!);
// } else // } else
// Helpers.showErrorToast( // Helpers.showErrorToast(
// 'You Cant Update This Procedure'); // 'You Cant Update This Procedure');
}, },
patient: patient, patient: patient,
doctorID: model?.doctorProfile?.doctorID, doctorID: model.doctorProfile!.doctorID!,
), ),
), ),
if (model.state == ViewState.ErrorLocal || if (model.state == ViewState.ErrorLocal ||
(model.procedureList.isNotEmpty && model.procedureList[0].entityList.isEmpty)) (model.procedureList.isNotEmpty && model.procedureList[0].entityList!.isEmpty))
Center( Center(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,

@ -18,15 +18,15 @@ import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
void updateProcedureForm(context, void updateProcedureForm(context,
{String procedureName, {required String procedureName,
int orderNo, required int orderNo,
int limetNo, required int limetNo,
PatiantInformtion patient, required PatiantInformtion patient,
String orderType, required String orderType,
String procedureId, required String procedureId,
String remarks, required String remarks,
ProcedureViewModel model, required ProcedureViewModel model,
String categoreId}) { required String categoreId}) {
//ProcedureViewModel model2 = ProcedureViewModel(); //ProcedureViewModel model2 = ProcedureViewModel();
TextEditingController remarksController = TextEditingController(); TextEditingController remarksController = TextEditingController();
TextEditingController orderController = TextEditingController(); TextEditingController orderController = TextEditingController();
@ -60,15 +60,15 @@ class UpdateProcedureWidget extends StatefulWidget {
final int limetNo; final int limetNo;
UpdateProcedureWidget( UpdateProcedureWidget(
{this.model, {required this.model,
this.procedureName, required this.procedureName,
this.remarks, required this.remarks,
this.remarksController, required this.remarksController,
this.patient, required this.patient,
this.procedureId, required this.procedureId,
this.categoryId, required this.categoryId,
this.orderNo, required this.orderNo,
this.limetNo}); required this.limetNo});
@override @override
_UpdateProcedureWidgetState createState() => _UpdateProcedureWidgetState(); _UpdateProcedureWidgetState createState() => _UpdateProcedureWidgetState();
} }
@ -91,21 +91,17 @@ class _UpdateProcedureWidgetState extends State<UpdateProcedureWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final screenSize = MediaQuery.of(context).size; final screenSize = MediaQuery.of(context).size;
return StatefulBuilder(builder: return StatefulBuilder(builder: (BuildContext context, StateSetter setState /*You can rename this!*/) {
(BuildContext context, StateSetter setState /*You can rename this!*/) {
return BaseView<ProcedureViewModel>( return BaseView<ProcedureViewModel>(
onModelReady: (model) => model.getCategory(), onModelReady: (model) => model.getCategory(),
builder: builder: (BuildContext context, ProcedureViewModel model, Widget? child) => NetworkBaseView(
(BuildContext context, ProcedureViewModel model, Widget child) =>
NetworkBaseView(
baseViewModel: model, baseViewModel: model,
child: SingleChildScrollView( child: SingleChildScrollView(
child: Container( child: Container(
height: MediaQuery.of(context).size.height * 0.9, height: MediaQuery.of(context).size.height * 0.9,
child: Form( child: Form(
child: Padding( child: Padding(
padding: padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0),
EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -247,8 +243,8 @@ class _UpdateProcedureWidgetState extends State<UpdateProcedureWidget> {
activeColor: Color(0xFFB9382C), activeColor: Color(0xFFB9382C),
value: 0, value: 0,
groupValue: selectedType, groupValue: selectedType,
onChanged: (value) { onChanged: (int? value) {
setSelectedType(value); setSelectedType(value!);
}, },
), ),
Text('routine'), Text('routine'),
@ -256,11 +252,11 @@ class _UpdateProcedureWidgetState extends State<UpdateProcedureWidget> {
activeColor: Color(0xFFB9382C), activeColor: Color(0xFFB9382C),
groupValue: selectedType, groupValue: selectedType,
value: 1, value: 1,
onChanged: (value) { onChanged: (int? value) {
setSelectedType(value); setSelectedType(value!);
}, },
), ),
Text(TranslationBase.of(context).urgent), Text(TranslationBase.of(context).urgent ?? ""),
], ],
), ),
), ),
@ -295,9 +291,7 @@ class _UpdateProcedureWidgetState extends State<UpdateProcedureWidget> {
children: <Widget>[ children: <Widget>[
AppButton( AppButton(
color: Color(0xff359846), color: Color(0xff359846),
title: TranslationBase.of(context) title: TranslationBase.of(context).updateProcedure!.toUpperCase(),
.updateProcedure
.toUpperCase(),
onPressed: () { onPressed: () {
// if (entityList.isEmpty == true && // if (entityList.isEmpty == true &&
// widget.remarksController.text == // widget.remarksController.text ==
@ -344,19 +338,18 @@ class _UpdateProcedureWidgetState extends State<UpdateProcedureWidget> {
} }
updateProcedure( updateProcedure(
{ProcedureViewModel model, {required ProcedureViewModel model,
String remarks, required String remarks,
int limetNO, required int limetNO,
int orderNo, required int orderNo,
String newProcedureId, String? newProcedureId,
String newCategorieId, String? newCategorieId,
List<EntityList> entityList, required List<EntityList> entityList,
String orderType, required String orderType,
String procedureId, required String procedureId,
PatiantInformtion patient, required PatiantInformtion patient,
String categorieId}) async { required String categorieId}) async {
UpdateProcedureRequestModel updateProcedureReqModel = UpdateProcedureRequestModel updateProcedureReqModel = new UpdateProcedureRequestModel();
new UpdateProcedureRequestModel();
List<Controls> controls = []; List<Controls> controls = [];
ProcedureDetail controlsProcedure = new ProcedureDetail(); ProcedureDetail controlsProcedure = new ProcedureDetail();
@ -424,9 +417,8 @@ class _UpdateProcedureWidgetState extends State<UpdateProcedureWidget> {
return false; return false;
} }
InputDecoration textFieldSelectorDecoration( InputDecoration textFieldSelectorDecoration(String hintText, String selectedText, bool isDropDown,
String hintText, String selectedText, bool isDropDown, {Icon? suffixIcon}) {
{Icon suffixIcon}) {
return InputDecoration( return InputDecoration(
focusedBorder: OutlineInputBorder( focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0), borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0),

@ -31,7 +31,7 @@ class _QrReaderScreenState extends State<QrReaderScreen> {
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: false, isShowAppBar: false,
appBarTitle: TranslationBase.of(context).qr + TranslationBase.of(context).reader, appBarTitle: TranslationBase.of(context).qr! + TranslationBase.of(context).reader!,
body: Center( body: Center(
child: Container( child: Container(
margin: EdgeInsets.only(top: SizeConfig.realScreenHeight / 7), margin: EdgeInsets.only(top: SizeConfig.realScreenHeight / 7),

@ -18,7 +18,7 @@ import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class AddRescheduleLeavScreen extends StatelessWidget { class AddRescheduleLeavScreen extends StatelessWidget {
ProjectViewModel projectsProvider; late ProjectViewModel projectsProvider;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
projectsProvider = Provider.of(context); projectsProvider = Provider.of(context);
@ -27,7 +27,7 @@ class AddRescheduleLeavScreen extends StatelessWidget {
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: true, isShowAppBar: true,
appBarTitle: TranslationBase.of(context).rescheduleLeaves, appBarTitle: TranslationBase.of(context).rescheduleLeaves!,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column(children: [ child: Column(children: [
Padding( Padding(
@ -44,7 +44,7 @@ class AddRescheduleLeavScreen extends StatelessWidget {
false, false,
); );
}, },
label: TranslationBase.of(context).applyForReschedule, label: TranslationBase.of(context).applyForReschedule!,
), ),
), ),
Column( Column(
@ -59,7 +59,7 @@ class AddRescheduleLeavScreen extends StatelessWidget {
border: Border( border: Border(
left: BorderSide( left: BorderSide(
color: item.status == 10 color: item.status == 10
? Colors.red[800] ? Colors.red[800]!
: item.status == 2 : item.status == 2
? HexColor('#CC9B14') ? HexColor('#CC9B14')
: item.status == 9 : item.status == 9
@ -99,7 +99,7 @@ class AddRescheduleLeavScreen extends StatelessWidget {
padding: EdgeInsets.only(top: 10), padding: EdgeInsets.only(top: 10),
child: AppText( child: AppText(
AppDateUtils.convertStringToDateFormat( AppDateUtils.convertStringToDateFormat(
item.createdOn, 'yyyy-MM-dd HH:mm'), item.createdOn!, 'yyyy-MM-dd HH:mm'),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
)) ))
]), ]),
@ -124,7 +124,7 @@ class AddRescheduleLeavScreen extends StatelessWidget {
AppText(TranslationBase.of(context).startDate), AppText(TranslationBase.of(context).startDate),
AppText( AppText(
AppDateUtils.convertStringToDateFormat( AppDateUtils.convertStringToDateFormat(
item.dateTimeFrom, 'yyyy-MM-dd HH:mm'), item.dateTimeFrom!, 'yyyy-MM-dd HH:mm'),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
) )
@ -143,7 +143,7 @@ class AddRescheduleLeavScreen extends StatelessWidget {
AppText(TranslationBase.of(context).endDate), AppText(TranslationBase.of(context).endDate),
AppText( AppText(
AppDateUtils.convertStringToDateFormat( AppDateUtils.convertStringToDateFormat(
item.dateTimeTo, 'yyyy-MM-dd HH:mm'), item.dateTimeTo!, 'yyyy-MM-dd HH:mm'),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
) )
], ],

@ -63,7 +63,7 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.3 cupertino_icons: ^1.0.3
# SVG # SVG
#flutter_svg: ^0.17.4 #flutter_svg: ^1.0.0
percent_indicator: ^3.0.1 percent_indicator: ^3.0.1
#Dependency Injection #Dependency Injection
@ -138,6 +138,10 @@ flutter:
- assets/images/ - assets/images/
- assets/images/dashboard/ - assets/images/dashboard/
- assets/images/login/ - 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/
- assets/images/patient/vital_signs/ - assets/images/patient/vital_signs/
@ -160,6 +164,8 @@ flutter:
weight: 400 weight: 400
- asset: assets/fonts/Poppins/Poppins-Medium.ttf - asset: assets/fonts/Poppins/Poppins-Medium.ttf
weight: 500 weight: 500
- asset: assets/fonts/Poppins/Poppins-SemiBold.ttf
weight: 600
- asset: assets/fonts/Poppins/Poppins-Bold.ttf - asset: assets/fonts/Poppins/Poppins-Bold.ttf
weight: 700 weight: 700
- asset: assets/fonts/Poppins/Poppins-Bold.ttf - asset: assets/fonts/Poppins/Poppins-Bold.ttf

Loading…
Cancel
Save