all special lab result
parent
393943a19b
commit
792c7aea9b
@ -0,0 +1,216 @@
|
||||
class AllSpecialLabResultModel {
|
||||
int actualDoctorRate;
|
||||
dynamic admissionDate;
|
||||
dynamic admissionNumber;
|
||||
dynamic appointmentDate;
|
||||
dynamic appointmentNo;
|
||||
dynamic appointmentTime;
|
||||
String clinicDescription;
|
||||
String clinicDescriptionEnglish;
|
||||
dynamic clinicDescriptionN;
|
||||
int clinicID;
|
||||
dynamic createdOn;
|
||||
double decimalDoctorRate;
|
||||
int doctorID;
|
||||
String doctorImageURL;
|
||||
String doctorName;
|
||||
String doctorNameEnglish;
|
||||
dynamic doctorNameN;
|
||||
int doctorRate;
|
||||
int doctorStarsRate;
|
||||
String doctorTitle;
|
||||
int gender;
|
||||
String genderDescription;
|
||||
bool inOutPatient;
|
||||
String invoiceNo;
|
||||
bool isActiveDoctorProfile;
|
||||
bool isDoctorAllowVedioCall;
|
||||
bool isExecludeDoctor;
|
||||
bool isInOutPatient;
|
||||
dynamic isInOutPatientDescription;
|
||||
dynamic isInOutPatientDescriptionN;
|
||||
bool isLiveCareAppointment;
|
||||
bool isRead;
|
||||
bool isSendEmail;
|
||||
String moduleID;
|
||||
String nationalityFlagURL;
|
||||
int noOfPatientsRate;
|
||||
dynamic orderDate;
|
||||
String orderNo;
|
||||
dynamic patientID;
|
||||
String projectID;
|
||||
String projectName;
|
||||
dynamic projectNameN;
|
||||
String qR;
|
||||
String resultData;
|
||||
String resultDataHTML;
|
||||
dynamic resultDataTxt;
|
||||
String setupID;
|
||||
//List<String> speciality;
|
||||
dynamic status;
|
||||
dynamic statusDesc;
|
||||
String strOrderDate;
|
||||
|
||||
AllSpecialLabResultModel(
|
||||
{this.actualDoctorRate,
|
||||
this.admissionDate,
|
||||
this.admissionNumber,
|
||||
this.appointmentDate,
|
||||
this.appointmentNo,
|
||||
this.appointmentTime,
|
||||
this.clinicDescription,
|
||||
this.clinicDescriptionEnglish,
|
||||
this.clinicDescriptionN,
|
||||
this.clinicID,
|
||||
this.createdOn,
|
||||
this.decimalDoctorRate,
|
||||
this.doctorID,
|
||||
this.doctorImageURL,
|
||||
this.doctorName,
|
||||
this.doctorNameEnglish,
|
||||
this.doctorNameN,
|
||||
this.doctorRate,
|
||||
this.doctorStarsRate,
|
||||
this.doctorTitle,
|
||||
this.gender,
|
||||
this.genderDescription,
|
||||
this.inOutPatient,
|
||||
this.invoiceNo,
|
||||
this.isActiveDoctorProfile,
|
||||
this.isDoctorAllowVedioCall,
|
||||
this.isExecludeDoctor,
|
||||
this.isInOutPatient,
|
||||
this.isInOutPatientDescription,
|
||||
this.isInOutPatientDescriptionN,
|
||||
this.isLiveCareAppointment,
|
||||
this.isRead,
|
||||
this.isSendEmail,
|
||||
this.moduleID,
|
||||
this.nationalityFlagURL,
|
||||
this.noOfPatientsRate,
|
||||
this.orderDate,
|
||||
this.orderNo,
|
||||
this.patientID,
|
||||
this.projectID,
|
||||
this.projectName,
|
||||
this.projectNameN,
|
||||
this.qR,
|
||||
this.resultData,
|
||||
this.resultDataHTML,
|
||||
this.resultDataTxt,
|
||||
this.setupID,
|
||||
//this.speciality,
|
||||
this.status,
|
||||
this.statusDesc,
|
||||
this.strOrderDate});
|
||||
|
||||
AllSpecialLabResultModel.fromJson(Map<String, dynamic> json) {
|
||||
actualDoctorRate = json['ActualDoctorRate'];
|
||||
admissionDate = json['AdmissionDate'];
|
||||
admissionNumber = json['AdmissionNumber'];
|
||||
appointmentDate = json['AppointmentDate'];
|
||||
appointmentNo = json['AppointmentNo'];
|
||||
appointmentTime = json['AppointmentTime'];
|
||||
clinicDescription = json['ClinicDescription'];
|
||||
clinicDescriptionEnglish = json['ClinicDescriptionEnglish'];
|
||||
clinicDescriptionN = json['ClinicDescriptionN'];
|
||||
clinicID = json['ClinicID'];
|
||||
createdOn = json['CreatedOn'];
|
||||
decimalDoctorRate = json['DecimalDoctorRate'];
|
||||
doctorID = json['DoctorID'];
|
||||
doctorImageURL = json['DoctorImageURL'];
|
||||
doctorName = json['DoctorName'];
|
||||
doctorNameEnglish = json['DoctorNameEnglish'];
|
||||
doctorNameN = json['DoctorNameN'];
|
||||
doctorRate = json['DoctorRate'];
|
||||
doctorStarsRate = json['DoctorStarsRate'];
|
||||
doctorTitle = json['DoctorTitle'];
|
||||
gender = json['Gender'];
|
||||
genderDescription = json['GenderDescription'];
|
||||
inOutPatient = json['InOutPatient'];
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
isActiveDoctorProfile = json['IsActiveDoctorProfile'];
|
||||
isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
|
||||
isExecludeDoctor = json['IsExecludeDoctor'];
|
||||
isInOutPatient = json['IsInOutPatient'];
|
||||
isInOutPatientDescription = json['IsInOutPatientDescription'];
|
||||
isInOutPatientDescriptionN = json['IsInOutPatientDescriptionN'];
|
||||
isLiveCareAppointment = json['IsLiveCareAppointment'];
|
||||
isRead = json['IsRead'];
|
||||
isSendEmail = json['IsSendEmail'];
|
||||
moduleID = json['ModuleID'];
|
||||
nationalityFlagURL = json['NationalityFlagURL'];
|
||||
noOfPatientsRate = json['NoOfPatientsRate'];
|
||||
orderDate = json['OrderDate'];
|
||||
orderNo = json['OrderNo'];
|
||||
patientID = json['PatientID'];
|
||||
projectID = json['ProjectID'];
|
||||
projectName = json['ProjectName'];
|
||||
projectNameN = json['ProjectNameN'];
|
||||
qR = json['QR'];
|
||||
resultData = json['ResultData'];
|
||||
resultDataHTML = json['ResultDataHTML'];
|
||||
resultDataTxt = json['ResultDataTxt'];
|
||||
setupID = json['SetupID'];
|
||||
//speciality = json['Speciality'].cast<String>();
|
||||
status = json['Status'];
|
||||
statusDesc = json['StatusDesc'];
|
||||
strOrderDate = json['StrOrderDate'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ActualDoctorRate'] = this.actualDoctorRate;
|
||||
data['AdmissionDate'] = this.admissionDate;
|
||||
data['AdmissionNumber'] = this.admissionNumber;
|
||||
data['AppointmentDate'] = this.appointmentDate;
|
||||
data['AppointmentNo'] = this.appointmentNo;
|
||||
data['AppointmentTime'] = this.appointmentTime;
|
||||
data['ClinicDescription'] = this.clinicDescription;
|
||||
data['ClinicDescriptionEnglish'] = this.clinicDescriptionEnglish;
|
||||
data['ClinicDescriptionN'] = this.clinicDescriptionN;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['CreatedOn'] = this.createdOn;
|
||||
data['DecimalDoctorRate'] = this.decimalDoctorRate;
|
||||
data['DoctorID'] = this.doctorID;
|
||||
data['DoctorImageURL'] = this.doctorImageURL;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['DoctorNameEnglish'] = this.doctorNameEnglish;
|
||||
data['DoctorNameN'] = this.doctorNameN;
|
||||
data['DoctorRate'] = this.doctorRate;
|
||||
data['DoctorStarsRate'] = this.doctorStarsRate;
|
||||
data['DoctorTitle'] = this.doctorTitle;
|
||||
data['Gender'] = this.gender;
|
||||
data['GenderDescription'] = this.genderDescription;
|
||||
data['InOutPatient'] = this.inOutPatient;
|
||||
data['InvoiceNo'] = this.invoiceNo;
|
||||
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['IsRead'] = this.isRead;
|
||||
data['IsSendEmail'] = this.isSendEmail;
|
||||
data['ModuleID'] = this.moduleID;
|
||||
data['NationalityFlagURL'] = this.nationalityFlagURL;
|
||||
data['NoOfPatientsRate'] = this.noOfPatientsRate;
|
||||
data['OrderDate'] = this.orderDate;
|
||||
data['OrderNo'] = this.orderNo;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ProjectName'] = this.projectName;
|
||||
data['ProjectNameN'] = this.projectNameN;
|
||||
data['QR'] = this.qR;
|
||||
data['ResultData'] = this.resultData;
|
||||
data['ResultDataHTML'] = this.resultDataHTML;
|
||||
data['ResultDataTxt'] = this.resultDataTxt;
|
||||
data['SetupID'] = this.setupID;
|
||||
//data['Speciality'] = this.speciality;
|
||||
data['Status'] = this.status;
|
||||
data['StatusDesc'] = this.statusDesc;
|
||||
data['StrOrderDate'] = this.strOrderDate;
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
class AllSpecialLabResultRequestModel {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
int patientID;
|
||||
int projectID;
|
||||
|
||||
AllSpecialLabResultRequestModel(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.patientID,
|
||||
this.projectID});
|
||||
|
||||
AllSpecialLabResultRequestModel.fromJson(Map<String, dynamic> json) {
|
||||
versionID = json['VersionID'];
|
||||
channel = json['Channel'];
|
||||
languageID = json['LanguageID'];
|
||||
iPAdress = json['IPAdress'];
|
||||
generalid = json['generalid'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
sessionID = json['SessionID'];
|
||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
patientID = json['PatientID'];
|
||||
projectID = json['ProjectID'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['generalid'] = this.generalid;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['ProjectID'] = this.projectID;
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,219 @@
|
||||
import 'package:doctor_app_flutter/core/viewModel/labs_view_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/procedure_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/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/doctor_card.dart';
|
||||
import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class AllLabSpecialResult extends StatefulWidget {
|
||||
const AllLabSpecialResult({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_AllLabSpecialResultState createState() => _AllLabSpecialResultState();
|
||||
}
|
||||
|
||||
class _AllLabSpecialResultState extends State<AllLabSpecialResult> {
|
||||
String patientType;
|
||||
|
||||
String arrivalType;
|
||||
PatiantInformtion patient;
|
||||
bool isInpatient;
|
||||
bool isFromLiveCare;
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
patient = routeArgs['patient'];
|
||||
patientType = routeArgs['patientType'];
|
||||
arrivalType = routeArgs['arrivalType'];
|
||||
isInpatient = routeArgs['isInpatient'];
|
||||
isFromLiveCare = routeArgs['isFromLiveCare'];
|
||||
|
||||
print(arrivalType);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
ProjectViewModel projectViewModel = Provider.of(context);
|
||||
return BaseView<LabsViewModel>(
|
||||
onModelReady: (model) => model.getAllSpecialLabResult(patientId: patient.patientMRN),
|
||||
builder: (context, LabsViewModel model, widget) => AppScaffold(
|
||||
baseViewModel: model,
|
||||
backgroundColor: Colors.grey[100],
|
||||
isShowAppBar: true,
|
||||
appBar: PatientProfileAppBar(
|
||||
patient,
|
||||
isInpatient: isInpatient,
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
child: FractionallySizedBox(
|
||||
widthFactor: 1.0,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
height: 12,
|
||||
),
|
||||
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
AppText(
|
||||
"Special " + TranslationBase.of(context).lab,
|
||||
style: "caption2",
|
||||
color: Colors.black,
|
||||
fontSize: 13,
|
||||
),
|
||||
AppText(
|
||||
TranslationBase.of(context).result,
|
||||
bold: true,
|
||||
fontSize: 22,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
// if (patient.patientStatusType != null && patient.patientStatusType == 43)
|
||||
// Padding(
|
||||
// padding: const EdgeInsets.all(8.0),
|
||||
// child: Column(
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
// children: [
|
||||
// AppText(
|
||||
// TranslationBase.of(context).lab,
|
||||
// style: "caption2",
|
||||
// color: Colors.black,
|
||||
// fontSize: 13,
|
||||
// ),
|
||||
// AppText(
|
||||
// TranslationBase.of(context).result,
|
||||
// bold: true,
|
||||
// fontSize: 22,
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// if ((patient.patientStatusType != null && patient.patientStatusType == 43) ||
|
||||
// (isFromLiveCare && patient.appointmentNo != null))
|
||||
// AddNewOrder(
|
||||
// onTap: () {
|
||||
// Navigator.push(
|
||||
// context,
|
||||
// MaterialPageRoute(
|
||||
// builder: (context) => BaseAddProcedureTabPage(
|
||||
// patient: patient,
|
||||
// model: model,
|
||||
// procedureType: ProcedureType.LAB_RESULT,
|
||||
// ),
|
||||
// settings: RouteSettings(name: 'AddProcedureTabPage'),
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// label: TranslationBase.of(context).applyForNewLabOrder,
|
||||
// ),
|
||||
...List.generate(
|
||||
model.allSpecialLabList.length,
|
||||
(index) => Container(
|
||||
margin: EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
width: 0.5,
|
||||
color: Colors.white,
|
||||
),
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(8.0),
|
||||
),
|
||||
color: Colors.white),
|
||||
child: Row(
|
||||
children: [
|
||||
Container(
|
||||
width: 20,
|
||||
height: 160,
|
||||
decoration: BoxDecoration(
|
||||
color: model.allSpecialLabList[index].isLiveCareAppointment
|
||||
? Colors.red[900]
|
||||
: !model.allSpecialLabList[index].isInOutPatient
|
||||
? Colors.black
|
||||
: Color(0xffa9a089),
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
|
||||
bottomLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
|
||||
topRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0),
|
||||
bottomRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0)),
|
||||
),
|
||||
child: RotatedBox(
|
||||
quarterTurns: 3,
|
||||
child: Center(
|
||||
child: Text(
|
||||
model.allSpecialLabList[index].isLiveCareAppointment
|
||||
? TranslationBase.of(context).liveCare.toUpperCase()
|
||||
: !model.allSpecialLabList[index].isInOutPatient
|
||||
? TranslationBase.of(context).inPatientLabel.toUpperCase()
|
||||
: TranslationBase.of(context).outpatient.toUpperCase(),
|
||||
style: TextStyle(color: Colors.white),
|
||||
),
|
||||
)),
|
||||
),
|
||||
Expanded(
|
||||
child: DoctorCard(
|
||||
isNoMargin: true,
|
||||
// onTap: () => Navigator.push(
|
||||
// context,
|
||||
// FadePage(
|
||||
// page: LaboratoryResultPage(
|
||||
// patientLabOrders: model.patientLabOrdersList[index],
|
||||
// patient: patient,
|
||||
// isInpatient: isInpatient,
|
||||
// arrivalType: arrivalType,
|
||||
// patientType: patientType,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
doctorName: model.allSpecialLabList[index].doctorName,
|
||||
invoiceNO: ' ${model.allSpecialLabList[index].invoiceNo}',
|
||||
profileUrl: model.allSpecialLabList[index].doctorImageURL,
|
||||
branch: model.allSpecialLabList[index].projectName,
|
||||
clinic: model.allSpecialLabList[index].clinicDescription,
|
||||
appointmentDate: model.allSpecialLabList[index].orderDate,
|
||||
orderNo: model.allSpecialLabList[index].orderNo,
|
||||
isShowTime: false,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
if (model.allSpecialLabList.isEmpty && patient.patientStatusType != 43)
|
||||
Center(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 100,
|
||||
),
|
||||
Image.asset('assets/images/no-data.png'),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: AppText('No Lab Result Found'),
|
||||
)
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue