Lab orders implemented

pull/11/head
haroon amjad 2 months ago
parent fe8c1120a8
commit 4c241b0dac

@ -0,0 +1,5 @@
<svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.750003 0.5C1.16422 0.5 1.5 0.835786 1.5 1.25L1.5 9.5C1.5 10.7586 1.5016 11.6272 1.58942 12.2804C1.62819 12.5687 1.67538 12.8924 1.83848 13.1422C1.95715 12.8856 2.07191 12.6272 2.18665 12.3689C2.47248 11.7253 2.75821 11.0819 3.10416 10.4668C3.43746 9.87424 3.83965 9.27939 4.33108 8.82579C4.82903 8.36617 5.46164 8.01415 6.22936 8.01415C7.27311 8.01415 7.92788 8.68468 8.3481 9.11502L8.39122 9.15913C8.88116 9.65927 9.11532 9.85377 9.45987 9.85377C9.81442 9.85377 10.0587 9.72072 10.2997 9.45678C10.5904 9.13855 10.797 8.74892 10.9993 8.36753C11.035 8.30022 11.0706 8.23315 11.1065 8.16679C11.6292 7.1996 12.4126 5.75 14.2497 5.75C14.6639 5.75 14.9997 6.08579 14.9997 6.5C14.9997 6.91421 14.6639 7.25 14.2497 7.25C13.3951 7.25 12.9972 7.82361 12.4106 8.90856L12.3554 9.01102C12.1052 9.47556 11.8051 10.0328 11.4073 10.4683C10.9456 10.9739 10.3217 11.3538 9.45987 11.3538C8.43569 11.3538 7.78734 10.6885 7.37321 10.2636C7.33984 10.2294 7.30593 10.1938 7.27138 10.1575C6.98691 9.85872 6.65883 9.51415 6.22936 9.51415C5.95327 9.51415 5.66691 9.63409 5.34846 9.92803C5.02348 10.228 4.71182 10.6683 4.41154 11.2022C4.08981 11.7742 3.82488 12.3731 3.55988 12.9722C3.42272 13.2822 3.28554 13.5923 3.14046 13.8988C3.16661 13.9031 3.19299 13.907 3.2196 13.9106C3.87283 13.9984 4.74136 14 6 14L14.25 14C14.6642 14 15 14.3358 15 14.75C15 15.1642 14.6642 15.5 14.25 15.5L5.946 15.5C4.7545 15.5 3.78462 15.5 3.01973 15.3972C2.22174 15.2899 1.53552 15.0585 0.988517 14.5115C0.441518 13.9645 0.210083 13.2783 0.102796 12.4803C-3.90597e-05 11.7154 -2.12493e-05 10.7455 6.35895e-07 9.55404L6.35895e-07 1.25C6.35895e-07 0.835786 0.335789 0.5 0.750003 0.5Z" fill="#ED1C2B"/>
<path d="M4.5 2C4.91421 2 5.25 1.66421 5.25 1.25C5.25 0.835786 4.91421 0.5 4.5 0.5L3.75 0.5C3.33579 0.5 3 0.835786 3 1.25C3 1.66421 3.33579 2 3.75 2L4.5 2Z" fill="#ED1C2B"/>
<path d="M6.75 5C7.16421 5 7.5 4.66421 7.5 4.25C7.5 3.83579 7.16421 3.5 6.75 3.5L3.75 3.5C3.33579 3.5 3 3.83579 3 4.25C3 4.66421 3.33579 5 3.75 5L6.75 5Z" fill="#ED1C2B"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -778,5 +778,7 @@
"aboutApp": "حول التطبيق",
"dontHaveAccount": "ليس لديك حساب؟",
"loginOrRegister": "تسجيل الدخول أو التسجيل",
"myFiles" : "ملفاتي"
"myFiles" : "ملفاتي",
"resultsPending": "النتائج معلقة",
"resultsAvailable": "النتائج متاحة"
}

@ -774,5 +774,7 @@
"termsConditions": "These Online Services Terms of Use (Service Terms) govern certain online services provided by Dr Sulaiman Al Habib Medical Services Group Company (HMG, we, us, our)...",
"dontHaveAccount": "Don't have an account?",
"loginOrRegister": "Login or Register",
"myFiles": "My Files"
"myFiles": "My Files",
"resultsPending": "Results Pending",
"resultsAvailable": "Results Available"
}

@ -61,6 +61,7 @@ class AppAssets {
static const String recharge_icon = '$svgBasePath/recharge_icon.svg';
static const String eye_result_icon = '$svgBasePath/eye_results_icon.svg';
static const String search_icon = '$svgBasePath/search_icon.svg';
static const String view_report_icon = '$svgBasePath/view_report_icon.svg';
//bottom navigation//

@ -31,7 +31,7 @@ class LabRepoImp implements LabRepo {
"PatientType": 1,
"PatientTypeID": 1,
"TokenID": "@dm!n",
"PatientID": "2663907",
"PatientID": "1018977",
"PatientOutSA": "0",
"SessionID": "03478TYC02N80874CTYN04883475!?"
};
@ -52,7 +52,6 @@ class LabRepoImp implements LabRepo {
throw Exception("lab list is empty");
}
// final labOrders = list.map((item) => PatientLabOrdersResponseModel.fromJson(item as Map<String, dynamic>)).toList();
final labOrders = list
.map((item) => PatientLabOrdersResponseModel.fromJson(item as Map<String, dynamic>))
.toList()

@ -45,7 +45,7 @@ class PatientLabOrdersResponseModel {
dynamic? projectNameN;
String? qR;
String? setupID;
List<String>? speciality;
// List<String>? speciality;
int? status;
String? statusDesc;
String? strOrderDate;
@ -98,7 +98,7 @@ class PatientLabOrdersResponseModel {
this.projectNameN,
this.qR,
this.setupID,
this.speciality,
// this.speciality,
this.status,
this.statusDesc,
this.strOrderDate,
@ -151,7 +151,7 @@ class PatientLabOrdersResponseModel {
projectNameN = json['ProjectNameN'];
qR = json['QR'];
setupID = json['SetupID'];
speciality = json['Speciality'].cast<String>();
// speciality = json['Speciality'].cast<String>();
status = json['Status'];
statusDesc = json['StatusDesc'];
strOrderDate = json['StrOrderDate'];
@ -211,7 +211,7 @@ class PatientLabOrdersResponseModel {
data['ProjectNameN'] = this.projectNameN;
data['QR'] = this.qR;
data['SetupID'] = this.setupID;
data['Speciality'] = this.speciality;
// data['Speciality'] = this.speciality;
data['Status'] = this.status;
data['StatusDesc'] = this.statusDesc;
data['StrOrderDate'] = this.strOrderDate;

@ -777,5 +777,7 @@ abstract class LocaleKeys {
static const dontHaveAccount = 'dontHaveAccount';
static const loginOrRegister = 'loginOrRegister';
static const myFiles = 'myFiles';
static const resultsPending = 'resultsPending';
static const resultsAvailable = 'resultsAvailable';
}

@ -98,6 +98,7 @@ class _LabOrdersPageState extends State<LabOrdersPage> {
});
},
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: EdgeInsets.all(16.h),
@ -108,7 +109,7 @@ class _LabOrdersPageState extends State<LabOrdersPage> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
CustomButton(
text: LocaleKeys.pending.tr(context: context),
text: getLabOrderStatusText(model.patientLabOrders[index].status!),
onPressed: () {},
backgroundColor: getLabOrderStatusColor(model.patientLabOrders[index].status!).withOpacity(0.15),
borderColor: getLabOrderStatusColor(model.patientLabOrders[index].status!).withOpacity(0.01),
@ -172,7 +173,39 @@ class _LabOrdersPageState extends State<LabOrdersPage> {
firstChild: SizedBox.shrink(),
secondChild: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 8.h),
child: Text('Details for ${model.patientLabOrders[index].clinicDescription}'),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
...model.patientLabOrders[index].testDetails!.map((detail) {
return Padding(
padding: EdgeInsets.only(bottom: 8.h),
child: '${detail.description}'.toText14(weight: FontWeight.w500),
);
}).toList(),
SizedBox(height: 16.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
SizedBox(),
CustomButton(
icon: AppAssets.view_report_icon,
iconColor: AppColors.primaryRedColor,
iconSize: 16.h,
text: "View Report",
onPressed: () {},
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
fontSize: 14,
fontWeight: FontWeight.bold,
borderRadius: 12,
padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
height: 40.h,
),
],
),
],
),
),
crossFadeState: isExpanded ? CrossFadeState.showSecond : CrossFadeState.showFirst,
duration: Duration(milliseconds: 300),
@ -209,4 +242,19 @@ class _LabOrdersPageState extends State<LabOrdersPage> {
return AppColors.greyColor;
}
}
String getLabOrderStatusText(num status) {
switch (status) {
case 44:
return LocaleKeys.resultsPending.tr(context: context);
case 45:
return LocaleKeys.resultsPending.tr(context: context);
case 16:
return LocaleKeys.resultsAvailable.tr(context: context);
case 17:
return LocaleKeys.resultsAvailable.tr(context: context);
default:
return "";
}
}
}

Loading…
Cancel
Save