fix all the screenshots

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

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

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

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

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

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

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

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

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

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

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

@ -21,7 +21,7 @@ import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/medicine/medicine_item_widget.dart';
import '../../widgets/shared/text_fields/TextFields.dart';
import 'package:doctor_app_flutter/widgets/shared/TextFields.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';

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

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

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

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

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

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

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

@ -43,21 +43,21 @@ class UpdatePrescriptionForm extends StatefulWidget {
UpdatePrescriptionForm(
{required this.drugName,
required this.doseStreangth,
required this.drugId,
required this.remarks,
required this.patient,
required this.duration,
required this.route,
required this.dose,
required this.startDate,
required this.doseUnit,
required this.enteredRemarks,
required this.frequency,
required this.model,
required this.drugNameGeneric,
required this.uom,
required this.box});
required this.doseStreangth,
required this.drugId,
required this.remarks,
required this.patient,
required this.duration,
required this.route,
required this.dose,
required this.startDate,
required this.doseUnit,
required this.enteredRemarks,
required this.frequency,
required this.model,
required this.drugNameGeneric,
required this.uom,
required this.box});
@override
_UpdatePrescriptionFormState createState() => _UpdatePrescriptionFormState();
}

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

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

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

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

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

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

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

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

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

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

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

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

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

Loading…
Cancel
Save