Sickleave implementation done.
parent
b240293064
commit
de717edfe8
@ -0,0 +1,176 @@
|
|||||||
|
class PatientSickLeavesResponseModel {
|
||||||
|
String? setupID;
|
||||||
|
int? projectID;
|
||||||
|
int? patientID;
|
||||||
|
int? patientType;
|
||||||
|
int? clinicID;
|
||||||
|
int? doctorID;
|
||||||
|
int? requestNo;
|
||||||
|
String? requestDate;
|
||||||
|
int? sickLeaveDays;
|
||||||
|
int? appointmentNo;
|
||||||
|
int? admissionNo;
|
||||||
|
dynamic reportDate;
|
||||||
|
num? actualDoctorRate;
|
||||||
|
String? appointmentDate;
|
||||||
|
String? clinicName;
|
||||||
|
double? decimalDoctorRate;
|
||||||
|
String? doctorImageURL;
|
||||||
|
String? doctorName;
|
||||||
|
num? doctorRate;
|
||||||
|
num? doctorStarsRate;
|
||||||
|
String? doctorTitle;
|
||||||
|
int? employeeID;
|
||||||
|
String? endDate;
|
||||||
|
int? gender;
|
||||||
|
String? genderDescription;
|
||||||
|
bool? isActiveDoctorProfile;
|
||||||
|
bool? isDoctorAllowVedioCall;
|
||||||
|
bool? isExecludeDoctor;
|
||||||
|
bool? isInOutPatient;
|
||||||
|
String? isInOutPatientDescription;
|
||||||
|
String? isInOutPatientDescriptionN;
|
||||||
|
bool? isLiveCareAppointment;
|
||||||
|
dynamic medicalDirectorApprovedStatus;
|
||||||
|
int? noOfPatientsRate;
|
||||||
|
dynamic patientName;
|
||||||
|
String? projectName;
|
||||||
|
String? qR;
|
||||||
|
List<String>? speciality;
|
||||||
|
String? startDate;
|
||||||
|
int? status;
|
||||||
|
String? strRequestDate;
|
||||||
|
|
||||||
|
PatientSickLeavesResponseModel(
|
||||||
|
{this.setupID,
|
||||||
|
this.projectID,
|
||||||
|
this.patientID,
|
||||||
|
this.patientType,
|
||||||
|
this.clinicID,
|
||||||
|
this.doctorID,
|
||||||
|
this.requestNo,
|
||||||
|
this.requestDate,
|
||||||
|
this.sickLeaveDays,
|
||||||
|
this.appointmentNo,
|
||||||
|
this.admissionNo,
|
||||||
|
this.reportDate,
|
||||||
|
this.actualDoctorRate,
|
||||||
|
this.appointmentDate,
|
||||||
|
this.clinicName,
|
||||||
|
this.decimalDoctorRate,
|
||||||
|
this.doctorImageURL,
|
||||||
|
this.doctorName,
|
||||||
|
this.doctorRate,
|
||||||
|
this.doctorStarsRate,
|
||||||
|
this.doctorTitle,
|
||||||
|
this.employeeID,
|
||||||
|
this.endDate,
|
||||||
|
this.gender,
|
||||||
|
this.genderDescription,
|
||||||
|
this.isActiveDoctorProfile,
|
||||||
|
this.isDoctorAllowVedioCall,
|
||||||
|
this.isExecludeDoctor,
|
||||||
|
this.isInOutPatient,
|
||||||
|
this.isInOutPatientDescription,
|
||||||
|
this.isInOutPatientDescriptionN,
|
||||||
|
this.isLiveCareAppointment,
|
||||||
|
this.medicalDirectorApprovedStatus,
|
||||||
|
this.noOfPatientsRate,
|
||||||
|
this.patientName,
|
||||||
|
this.projectName,
|
||||||
|
this.qR,
|
||||||
|
this.speciality,
|
||||||
|
this.startDate,
|
||||||
|
this.status,
|
||||||
|
this.strRequestDate});
|
||||||
|
|
||||||
|
PatientSickLeavesResponseModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
setupID = json['SetupID'];
|
||||||
|
projectID = json['ProjectID'];
|
||||||
|
patientID = json['PatientID'];
|
||||||
|
patientType = json['PatientType'];
|
||||||
|
clinicID = json['ClinicID'];
|
||||||
|
doctorID = json['DoctorID'];
|
||||||
|
requestNo = json['RequestNo'];
|
||||||
|
requestDate = json['RequestDate'];
|
||||||
|
sickLeaveDays = json['SickLeaveDays'];
|
||||||
|
appointmentNo = json['AppointmentNo'];
|
||||||
|
admissionNo = json['AdmissionNo'];
|
||||||
|
reportDate = json['ReportDate'];
|
||||||
|
actualDoctorRate = json['ActualDoctorRate'];
|
||||||
|
appointmentDate = json['AppointmentDate'];
|
||||||
|
clinicName = json['ClinicName'];
|
||||||
|
decimalDoctorRate = json['DecimalDoctorRate'];
|
||||||
|
doctorImageURL = json['DoctorImageURL'];
|
||||||
|
doctorName = json['DoctorName'];
|
||||||
|
doctorRate = json['DoctorRate'];
|
||||||
|
doctorStarsRate = json['DoctorStarsRate'];
|
||||||
|
doctorTitle = json['DoctorTitle'];
|
||||||
|
employeeID = json['EmployeeID'];
|
||||||
|
endDate = json['EndDate'];
|
||||||
|
gender = json['Gender'];
|
||||||
|
genderDescription = json['GenderDescription'];
|
||||||
|
isActiveDoctorProfile = json['IsActiveDoctorProfile'];
|
||||||
|
isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
|
||||||
|
isExecludeDoctor = json['IsExecludeDoctor'];
|
||||||
|
isInOutPatient = json['IsInOutPatient'];
|
||||||
|
isInOutPatientDescription = json['IsInOutPatientDescription'];
|
||||||
|
isInOutPatientDescriptionN = json['IsInOutPatientDescriptionN'];
|
||||||
|
isLiveCareAppointment = json['IsLiveCareAppointment'];
|
||||||
|
medicalDirectorApprovedStatus = json['MedicalDirectorApprovedStatus'];
|
||||||
|
noOfPatientsRate = json['NoOfPatientsRate'];
|
||||||
|
patientName = json['PatientName'];
|
||||||
|
projectName = json['ProjectName'];
|
||||||
|
qR = json['QR'];
|
||||||
|
speciality = json['Speciality'].cast<String>();
|
||||||
|
startDate = json['StartDate'];
|
||||||
|
status = json['Status'];
|
||||||
|
strRequestDate = json['StrRequestDate'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['SetupID'] = this.setupID;
|
||||||
|
data['ProjectID'] = this.projectID;
|
||||||
|
data['PatientID'] = this.patientID;
|
||||||
|
data['PatientType'] = this.patientType;
|
||||||
|
data['ClinicID'] = this.clinicID;
|
||||||
|
data['DoctorID'] = this.doctorID;
|
||||||
|
data['RequestNo'] = this.requestNo;
|
||||||
|
data['RequestDate'] = this.requestDate;
|
||||||
|
data['SickLeaveDays'] = this.sickLeaveDays;
|
||||||
|
data['AppointmentNo'] = this.appointmentNo;
|
||||||
|
data['AdmissionNo'] = this.admissionNo;
|
||||||
|
data['ReportDate'] = this.reportDate;
|
||||||
|
data['ActualDoctorRate'] = this.actualDoctorRate;
|
||||||
|
data['AppointmentDate'] = this.appointmentDate;
|
||||||
|
data['ClinicName'] = this.clinicName;
|
||||||
|
data['DecimalDoctorRate'] = this.decimalDoctorRate;
|
||||||
|
data['DoctorImageURL'] = this.doctorImageURL;
|
||||||
|
data['DoctorName'] = this.doctorName;
|
||||||
|
data['DoctorRate'] = this.doctorRate;
|
||||||
|
data['DoctorStarsRate'] = this.doctorStarsRate;
|
||||||
|
data['DoctorTitle'] = this.doctorTitle;
|
||||||
|
data['EmployeeID'] = this.employeeID;
|
||||||
|
data['EndDate'] = this.endDate;
|
||||||
|
data['Gender'] = this.gender;
|
||||||
|
data['GenderDescription'] = this.genderDescription;
|
||||||
|
data['IsActiveDoctorProfile'] = this.isActiveDoctorProfile;
|
||||||
|
data['IsDoctorAllowVedioCall'] = this.isDoctorAllowVedioCall;
|
||||||
|
data['IsExecludeDoctor'] = this.isExecludeDoctor;
|
||||||
|
data['IsInOutPatient'] = this.isInOutPatient;
|
||||||
|
data['IsInOutPatientDescription'] = this.isInOutPatientDescription;
|
||||||
|
data['IsInOutPatientDescriptionN'] = this.isInOutPatientDescriptionN;
|
||||||
|
data['IsLiveCareAppointment'] = this.isLiveCareAppointment;
|
||||||
|
data['MedicalDirectorApprovedStatus'] = this.medicalDirectorApprovedStatus;
|
||||||
|
data['NoOfPatientsRate'] = this.noOfPatientsRate;
|
||||||
|
data['PatientName'] = this.patientName;
|
||||||
|
data['ProjectName'] = this.projectName;
|
||||||
|
data['QR'] = this.qR;
|
||||||
|
data['Speciality'] = this.speciality;
|
||||||
|
data['StartDate'] = this.startDate;
|
||||||
|
data['Status'] = this.status;
|
||||||
|
data['StrRequestDate'] = this.strRequestDate;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,88 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
|
||||||
|
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
|
||||||
|
import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_model.dart';
|
||||||
|
import 'package:hmg_patient_app_new/features/medical_file/models/patient_sickleave_response_model.dart';
|
||||||
|
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
|
||||||
|
import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart';
|
||||||
|
import 'package:hmg_patient_app_new/theme/colors.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import 'widgets/patient_sick_leave_card.dart';
|
||||||
|
|
||||||
|
class PatientSickleavesListPage extends StatefulWidget {
|
||||||
|
const PatientSickleavesListPage({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<PatientSickleavesListPage> createState() => _PatientSickleavesListPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _PatientSickleavesListPageState extends State<PatientSickleavesListPage> {
|
||||||
|
late MedicalFileViewModel medicalFileViewModel;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
scheduleMicrotask(() {
|
||||||
|
medicalFileViewModel.setIsPatientSickLeaveListLoading(true);
|
||||||
|
medicalFileViewModel.getPatientSickLeaveList(onError: (error) {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
medicalFileViewModel = Provider.of<MedicalFileViewModel>(context, listen: false);
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.bgScaffoldColor,
|
||||||
|
body: CollapsingListView(
|
||||||
|
title: "${LocaleKeys.sick.tr(context: context)} ${LocaleKeys.sickSubtitle.tr(context: context)}",
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
child: Consumer<MedicalFileViewModel>(builder: (context, medicalFileVM, child) {
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
ListView.separated(
|
||||||
|
scrollDirection: Axis.vertical,
|
||||||
|
itemCount: medicalFileVM.isPatientSickLeaveListLoading ? 3 : medicalFileVM.patientSickLeaveList.length,
|
||||||
|
shrinkWrap: true,
|
||||||
|
physics: NeverScrollableScrollPhysics(),
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
return medicalFileVM.isPatientSickLeaveListLoading
|
||||||
|
? PatientSickLeaveCard(
|
||||||
|
patientSickLeavesResponseModel: PatientSickLeavesResponseModel(),
|
||||||
|
isLoading: true,
|
||||||
|
).paddingSymmetrical(24.h, 0.0)
|
||||||
|
: medicalFileVM.patientSickLeaveList.isNotEmpty
|
||||||
|
? AnimationConfiguration.staggeredList(
|
||||||
|
position: index,
|
||||||
|
duration: const Duration(milliseconds: 1000),
|
||||||
|
child: SlideAnimation(
|
||||||
|
verticalOffset: 100.0,
|
||||||
|
child: FadeInAnimation(
|
||||||
|
child: PatientSickLeaveCard(
|
||||||
|
patientSickLeavesResponseModel: medicalFileVM.patientSickLeaveList.first,
|
||||||
|
isLoading: false,
|
||||||
|
).paddingSymmetrical(24.h, 0.0),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: SizedBox.shrink();
|
||||||
|
},
|
||||||
|
separatorBuilder: (BuildContext cxt, int index) => SizedBox(height: 8.h),
|
||||||
|
),
|
||||||
|
SizedBox(height: 60.h),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,191 @@
|
|||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/app_assets.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/app_state.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/dependencies.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/utils/date_util.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/utils/utils.dart';
|
||||||
|
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
|
||||||
|
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
|
||||||
|
import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_model.dart';
|
||||||
|
import 'package:hmg_patient_app_new/features/medical_file/models/patient_sickleave_response_model.dart';
|
||||||
|
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
|
||||||
|
import 'package:hmg_patient_app_new/presentation/medical_file/patient_sickleaves_list_page.dart';
|
||||||
|
import 'package:hmg_patient_app_new/theme/colors.dart';
|
||||||
|
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
|
||||||
|
import 'package:hmg_patient_app_new/widgets/chip/app_custom_chip_widget.dart';
|
||||||
|
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
|
||||||
|
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
|
||||||
|
import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
|
||||||
|
import 'package:open_filex/open_filex.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
class PatientSickLeaveCard extends StatelessWidget {
|
||||||
|
PatientSickLeaveCard({super.key, required this.patientSickLeavesResponseModel, this.isLoading = false});
|
||||||
|
|
||||||
|
late MedicalFileViewModel medicalFileViewModel;
|
||||||
|
PatientSickLeavesResponseModel patientSickLeavesResponseModel;
|
||||||
|
bool isLoading;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
AppState _appState = getIt.get<AppState>();
|
||||||
|
medicalFileViewModel = Provider.of<MedicalFileViewModel>(context, listen: false);
|
||||||
|
return Container(
|
||||||
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24, hasShadow: true),
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.all(16.h),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
"${LocaleKeys.sick.tr(context: context)} ${LocaleKeys.sickSubtitle.tr(context: context)}".toText16(isBold: true),
|
||||||
|
AppCustomChipWidget(
|
||||||
|
labelText: isLoading ? "" : getStatusText(context),
|
||||||
|
backgroundColor: getStatusColor().withOpacity(0.15),
|
||||||
|
textColor: getStatusColor(),
|
||||||
|
).toShimmer2(isShow: isLoading, width: 100.h),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
SizedBox(height: 16.h),
|
||||||
|
Row(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Image.network(
|
||||||
|
isLoading ? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png" : patientSickLeavesResponseModel.doctorImageURL!,
|
||||||
|
width: 30.h,
|
||||||
|
height: 30.h,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
).circle(100).toShimmer2(isShow: isLoading),
|
||||||
|
SizedBox(width: 16.h),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
(isLoading ? "" : patientSickLeavesResponseModel.doctorName!).toText16(isBold: true).toShimmer2(isShow: isLoading),
|
||||||
|
SizedBox(height: 8.h),
|
||||||
|
Wrap(
|
||||||
|
direction: Axis.horizontal,
|
||||||
|
spacing: 3.h,
|
||||||
|
runSpacing: 4.h,
|
||||||
|
children: [
|
||||||
|
AppCustomChipWidget(
|
||||||
|
icon: AppAssets.doctor_calendar_icon,
|
||||||
|
labelText: DateUtil.formatDateToDate(DateUtil.convertStringToDate(patientSickLeavesResponseModel.appointmentDate), false),
|
||||||
|
).toShimmer2(isShow: isLoading),
|
||||||
|
AppCustomChipWidget(labelText: isLoading ? "Pending Activation" : patientSickLeavesResponseModel.clinicName!).toShimmer2(isShow: isLoading),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
SizedBox(height: 16.h),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
isLoading
|
||||||
|
? Container().toShimmer2(isShow: true, height: 40.h, width: 100.h, radius: 12.h)
|
||||||
|
: Expanded(
|
||||||
|
flex: 6,
|
||||||
|
child: CustomButton(
|
||||||
|
text: "Download Report".needTranslation,
|
||||||
|
onPressed: () async {
|
||||||
|
LoaderBottomSheet.showLoader();
|
||||||
|
await medicalFileViewModel.getPatientSickLeavePDF(patientSickLeavesResponseModel, _appState.getAuthenticatedUser()!).then((val) async {
|
||||||
|
LoaderBottomSheet.hideLoader();
|
||||||
|
if (medicalFileViewModel.patientSickLeavePDFBase64.isNotEmpty) {
|
||||||
|
String path = await Utils.createFileFromString(medicalFileViewModel.patientSickLeavePDFBase64, "pdf");
|
||||||
|
try {
|
||||||
|
OpenFilex.open(path);
|
||||||
|
} catch (ex) {
|
||||||
|
showCommonBottomSheetWithoutHeight(
|
||||||
|
context,
|
||||||
|
child: Utils.getErrorWidget(loadingText: "Cannot open file".needTranslation),
|
||||||
|
callBackFunc: () {},
|
||||||
|
isFullScreen: false,
|
||||||
|
isCloseButtonVisible: true,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
backgroundColor: AppColors.secondaryLightRedColor,
|
||||||
|
borderColor: AppColors.secondaryLightRedColor,
|
||||||
|
textColor: AppColors.primaryRedColor,
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
borderRadius: 12,
|
||||||
|
padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
|
||||||
|
height: 40.h,
|
||||||
|
icon: AppAssets.download,
|
||||||
|
iconColor: AppColors.primaryRedColor,
|
||||||
|
iconSize: 14.h,
|
||||||
|
).toShimmer2(isShow: isLoading),
|
||||||
|
),
|
||||||
|
SizedBox(width: 8.h),
|
||||||
|
Expanded(
|
||||||
|
flex: 1,
|
||||||
|
child: Container(
|
||||||
|
height: 40.h,
|
||||||
|
width: 40.h,
|
||||||
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
||||||
|
color: AppColors.textColor,
|
||||||
|
borderRadius: 10.h,
|
||||||
|
),
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.all(10.h),
|
||||||
|
child: Utils.buildSvgWithAssets(
|
||||||
|
icon: AppAssets.forward_arrow_icon,
|
||||||
|
width: 10.h,
|
||||||
|
height: 10.h,
|
||||||
|
fit: BoxFit.contain,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
).toShimmer2(isShow: isLoading).onPress(() {
|
||||||
|
Navigator.of(context).push(
|
||||||
|
FadePage(
|
||||||
|
page: PatientSickleavesListPage(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
String getStatusText(BuildContext context) {
|
||||||
|
String statusText = "";
|
||||||
|
if (patientSickLeavesResponseModel.status == 1) {
|
||||||
|
statusText = LocaleKeys.pendingActivation.tr(context: context);
|
||||||
|
} else if (patientSickLeavesResponseModel.status == 2) {
|
||||||
|
statusText = LocaleKeys.ready.tr(context: context);
|
||||||
|
} else if (patientSickLeavesResponseModel.status == 3) {
|
||||||
|
statusText = LocaleKeys.awaitingApproval.tr(context: context);
|
||||||
|
} else {
|
||||||
|
statusText = "";
|
||||||
|
}
|
||||||
|
return statusText;
|
||||||
|
}
|
||||||
|
|
||||||
|
Color getStatusColor() {
|
||||||
|
Color statusColor = Colors.white;
|
||||||
|
if (patientSickLeavesResponseModel.status == 1) {
|
||||||
|
statusColor = Color(0xffCC9B14);
|
||||||
|
} else if (patientSickLeavesResponseModel.status == 2) {
|
||||||
|
statusColor = Color(0xff359846);
|
||||||
|
} else if (patientSickLeavesResponseModel.status == 3) {
|
||||||
|
statusColor = Color(0xffD02127);
|
||||||
|
} else {
|
||||||
|
statusColor = Colors.white;
|
||||||
|
}
|
||||||
|
return statusColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue