Merge branch 'master' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into Haroon
# Conflicts: # android/app/src/main/AndroidManifest.xml # lib/config/localized_values.dart # lib/core/service/client/base_app_client.dart # lib/pages/landing/landing_page.dart # lib/pages/login/confirm-login.dart # lib/pages/medical/medical_profile_page.dart # lib/services/authentication/auth_provider.dart # lib/uitl/translations_delegate_base.dart # pubspec.yamlmerge-requests/34/merge
commit
7d0efda1c4
@ -0,0 +1,120 @@
|
||||
class COCItem {
|
||||
Null appointment;
|
||||
String appointmentClinicName;
|
||||
String appointmentDate;
|
||||
String appointmentProjectName;
|
||||
String cOCID;
|
||||
String cOCTitle;
|
||||
String channel;
|
||||
dynamic clinic;
|
||||
String clinicID;
|
||||
String date;
|
||||
dynamic detail;
|
||||
dynamic doctor;
|
||||
String doctorID;
|
||||
String formType;
|
||||
int formTypeID;
|
||||
dynamic identificationNo;
|
||||
int itemID;
|
||||
dynamic mobileNo;
|
||||
dynamic naturename;
|
||||
dynamic patientID;
|
||||
dynamic patientName;
|
||||
dynamic project;
|
||||
dynamic projectID;
|
||||
String solution;
|
||||
String status;
|
||||
String statusAr;
|
||||
dynamic statusEn;
|
||||
|
||||
COCItem(
|
||||
{this.appointment,
|
||||
this.appointmentClinicName,
|
||||
this.appointmentDate,
|
||||
this.appointmentProjectName,
|
||||
this.cOCID,
|
||||
this.cOCTitle,
|
||||
this.channel,
|
||||
this.clinic,
|
||||
this.clinicID,
|
||||
this.date,
|
||||
this.detail,
|
||||
this.doctor,
|
||||
this.doctorID,
|
||||
this.formType,
|
||||
this.formTypeID,
|
||||
this.identificationNo,
|
||||
this.itemID,
|
||||
this.mobileNo,
|
||||
this.naturename,
|
||||
this.patientID,
|
||||
this.patientName,
|
||||
this.project,
|
||||
this.projectID,
|
||||
this.solution,
|
||||
this.status,
|
||||
this.statusAr,
|
||||
this.statusEn});
|
||||
|
||||
COCItem.fromJson(Map<String, dynamic> json) {
|
||||
appointment = json['Appointment'];
|
||||
appointmentClinicName = json['AppointmentClinicName'];
|
||||
appointmentDate = json['AppointmentDate'];
|
||||
appointmentProjectName = json['AppointmentProjectName'];
|
||||
cOCID = json['COCID'];
|
||||
cOCTitle = json['COCTitle'];
|
||||
channel = json['Channel'];
|
||||
clinic = json['Clinic'];
|
||||
clinicID = json['ClinicID'];
|
||||
date = json['Date'];
|
||||
detail = json['Detail'];
|
||||
doctor = json['Doctor'];
|
||||
doctorID = json['DoctorID'];
|
||||
formType = json['FormType'];
|
||||
formTypeID = json['FormTypeID'];
|
||||
identificationNo = json['IdentificationNo'];
|
||||
itemID = json['ItemID'];
|
||||
mobileNo = json['MobileNo'];
|
||||
naturename = json['Naturename'];
|
||||
patientID = json['PatientID'];
|
||||
patientName = json['PatientName'];
|
||||
project = json['Project'];
|
||||
projectID = json['ProjectID'];
|
||||
solution = json['Solution'];
|
||||
status = json['Status'];
|
||||
statusAr = json['StatusAr'];
|
||||
statusEn = json['StatusEn'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['Appointment'] = this.appointment;
|
||||
data['AppointmentClinicName'] = this.appointmentClinicName;
|
||||
data['AppointmentDate'] = this.appointmentDate;
|
||||
data['AppointmentProjectName'] = this.appointmentProjectName;
|
||||
data['COCID'] = this.cOCID;
|
||||
data['COCTitle'] = this.cOCTitle;
|
||||
data['Channel'] = this.channel;
|
||||
data['Clinic'] = this.clinic;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['Date'] = this.date;
|
||||
data['Detail'] = this.detail;
|
||||
data['Doctor'] = this.doctor;
|
||||
data['DoctorID'] = this.doctorID;
|
||||
data['FormType'] = this.formType;
|
||||
data['FormTypeID'] = this.formTypeID;
|
||||
data['IdentificationNo'] = this.identificationNo;
|
||||
data['ItemID'] = this.itemID;
|
||||
data['MobileNo'] = this.mobileNo;
|
||||
data['Naturename'] = this.naturename;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientName'] = this.patientName;
|
||||
data['Project'] = this.project;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['Solution'] = this.solution;
|
||||
data['Status'] = this.status;
|
||||
data['StatusAr'] = this.statusAr;
|
||||
data['StatusEn'] = this.statusEn;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,132 @@
|
||||
class RequestInsertCOCItem {
|
||||
bool isUserLoggedIn;
|
||||
String mobileNo;
|
||||
int identificationNo;
|
||||
int patientID;
|
||||
int patientOutSA;
|
||||
int patientTypeID;
|
||||
String tokenID;
|
||||
String patientName;
|
||||
int projectID;
|
||||
String fileName;
|
||||
String attachment;
|
||||
String uILanguage;
|
||||
String browserInfo;
|
||||
String cOCTypeName;
|
||||
String formTypeID;
|
||||
String details;
|
||||
String deviceInfo;
|
||||
String deviceType;
|
||||
String title;
|
||||
String resolution;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientType;
|
||||
double appVersion;
|
||||
|
||||
RequestInsertCOCItem(
|
||||
{this.isUserLoggedIn,
|
||||
this.mobileNo,
|
||||
this.identificationNo,
|
||||
this.patientID,
|
||||
this.patientOutSA,
|
||||
this.patientTypeID,
|
||||
this.tokenID,
|
||||
this.patientName,
|
||||
this.projectID,
|
||||
this.fileName,
|
||||
this.attachment,
|
||||
this.uILanguage,
|
||||
this.browserInfo,
|
||||
this.cOCTypeName,
|
||||
this.formTypeID,
|
||||
this.details,
|
||||
this.deviceInfo,
|
||||
this.deviceType,
|
||||
this.title,
|
||||
this.resolution,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientType,
|
||||
this.appVersion});
|
||||
|
||||
RequestInsertCOCItem.fromJson(Map<String, dynamic> json) {
|
||||
isUserLoggedIn = json['IsUserLoggedIn'];
|
||||
mobileNo = json['MobileNo'];
|
||||
identificationNo = json['IdentificationNo'];
|
||||
patientID = json['PatientID'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientName = json['PatientName'];
|
||||
projectID = json['ProjectID'];
|
||||
fileName = json['FileName'];
|
||||
attachment = json['Attachment'];
|
||||
uILanguage = json['UILanguage'];
|
||||
browserInfo = json['BrowserInfo'];
|
||||
cOCTypeName = json['COCTypeName'];
|
||||
formTypeID = json['FormTypeID'];
|
||||
details = json['Details'];
|
||||
deviceInfo = json['DeviceInfo'];
|
||||
deviceType = json['DeviceType'];
|
||||
title = json['Title'];
|
||||
resolution = json['Resolution'];
|
||||
versionID = json['VersionID'];
|
||||
channel = json['Channel'];
|
||||
languageID = json['LanguageID'];
|
||||
iPAdress = json['IPAdress'];
|
||||
generalid = json['generalid'];
|
||||
sessionID = json['SessionID'];
|
||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
appVersion = json['AppVersion'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['IsUserLoggedIn'] = this.isUserLoggedIn;
|
||||
data['MobileNo'] = this.mobileNo;
|
||||
data['IdentificationNo'] = this.identificationNo;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientName'] = this.patientName;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['FileName'] = this.fileName;
|
||||
data['Attachment'] = this.attachment;
|
||||
data['UILanguage'] = this.uILanguage;
|
||||
data['BrowserInfo'] = this.browserInfo;
|
||||
data['COCTypeName'] = this.cOCTypeName;
|
||||
data['FormTypeID'] = this.formTypeID;
|
||||
data['Details'] = this.details;
|
||||
data['DeviceInfo'] = this.deviceInfo;
|
||||
data['DeviceType'] = this.deviceType;
|
||||
data['Title'] = this.title;
|
||||
data['Resolution'] = this.resolution;
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['generalid'] = this.generalid;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['AppVersion'] = this.appVersion;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
class ReauestInsuranceApprovalModel {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
int eXuldAPPNO;
|
||||
int projectID;
|
||||
|
||||
ReauestInsuranceApprovalModel(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.eXuldAPPNO,
|
||||
this.projectID});
|
||||
|
||||
ReauestInsuranceApprovalModel.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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
eXuldAPPNO = json['EXuldAPPNO'];
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['EXuldAPPNO'] = this.eXuldAPPNO;
|
||||
data['ProjectID'] = this.projectID;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,129 @@
|
||||
class InsuranceApprovalDetails {
|
||||
String procedureName;
|
||||
String status;
|
||||
String isInvoicedDesc;
|
||||
|
||||
InsuranceApprovalDetails({
|
||||
this.procedureName,
|
||||
this.status,
|
||||
this.isInvoicedDesc,
|
||||
});
|
||||
|
||||
InsuranceApprovalDetails.fromJson(Map<String, dynamic> json) {
|
||||
try {
|
||||
isInvoicedDesc = json['IsInvoicedDesc'];
|
||||
status = json['Status'];
|
||||
procedureName = json['ProcedureName'];
|
||||
} catch (e) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class InsuranceApprovalModel {
|
||||
InsuranceApprovalDetails approvalDetails;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
int eXuldAPPNO;
|
||||
int projectID;
|
||||
String doctorName;
|
||||
String clinicName;
|
||||
String patientDescription;
|
||||
int approvalNo;
|
||||
String approvalStatusDescption;
|
||||
int unUsedCount;
|
||||
//String companyName;
|
||||
String expiryDate;
|
||||
String rceiptOn;
|
||||
|
||||
InsuranceApprovalModel(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.eXuldAPPNO,
|
||||
this.projectID,
|
||||
this.doctorName,
|
||||
this.clinicName,
|
||||
this.patientDescription,
|
||||
this.approvalNo,
|
||||
this.approvalStatusDescption,
|
||||
this.unUsedCount,
|
||||
//this.companyName,
|
||||
this.expiryDate,
|
||||
this.rceiptOn,
|
||||
this.approvalDetails});
|
||||
InsuranceApprovalDetails x = InsuranceApprovalDetails();
|
||||
InsuranceApprovalModel.fromJson(Map<String, dynamic> json) {
|
||||
try {
|
||||
rceiptOn = json['ReceiptOn'];
|
||||
expiryDate = json['ExpiryDate'];
|
||||
//companyName = json['CompanyName'];
|
||||
unUsedCount = json['TotaUnUsedCount'];
|
||||
approvalStatusDescption = json['ApprovalStatusDescption'];
|
||||
approvalNo = json['ApprovalNo'];
|
||||
patientDescription = json['IsInOutPatientDescription'];
|
||||
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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
eXuldAPPNO = json['EXuldAPPNO'];
|
||||
projectID = json['ProjectID'];
|
||||
doctorName = json['DoctorName'];
|
||||
clinicName = json['ClinicName'];
|
||||
approvalDetails =
|
||||
InsuranceApprovalDetails.fromJson(json['ApporvalDetails'][0]);
|
||||
} catch (e) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['EXuldAPPNO'] = this.eXuldAPPNO;
|
||||
data['ProjectID'] = this.projectID;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,90 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class InsuranceCardModel {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
String groupName;
|
||||
String companyName;
|
||||
String subCategoryDesc;
|
||||
String patientCardID;
|
||||
String insurancePolicyNumber;
|
||||
bool isActive;
|
||||
String cardValidTo;
|
||||
|
||||
InsuranceCardModel({
|
||||
this.insurancePolicyNumber,
|
||||
this.subCategoryDesc,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.groupName,
|
||||
this.companyName,
|
||||
this.patientCardID,
|
||||
this.isActive,
|
||||
this.cardValidTo,
|
||||
});
|
||||
|
||||
InsuranceCardModel.fromJson(Map<String, dynamic> json) {
|
||||
isActive = json['IsActive'];
|
||||
insurancePolicyNumber = json['InsurancePolicyNo'];
|
||||
patientCardID = json['PatientCardID'];
|
||||
companyName = json['CompanyName'];
|
||||
groupName = json['GroupName'];
|
||||
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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
subCategoryDesc = json['SubCategoryDesc'];
|
||||
cardValidTo = json['CardValidTo'];
|
||||
}
|
||||
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class InsuranceUpdateModel {
|
||||
int patientID;
|
||||
int patientType;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
String createdOn;
|
||||
String statusDescription;
|
||||
|
||||
InsuranceUpdateModel(
|
||||
{this.patientID,
|
||||
this.patientType,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.createdOn,
|
||||
this.statusDescription});
|
||||
|
||||
InsuranceUpdateModel.fromJson(Map<String, dynamic> json) {
|
||||
statusDescription = json['StatusDescription'];
|
||||
patientID = json['PatientID'];
|
||||
patientType = json['PatientType'];
|
||||
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'];
|
||||
createdOn = json['CreatedOn'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientType'] = this.patientType;
|
||||
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;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,156 @@
|
||||
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
|
||||
|
||||
class PatientLabOrders {
|
||||
int actualDoctorRate;
|
||||
String clinicDescription;
|
||||
String clinicDescriptionEnglish;
|
||||
Null clinicDescriptionN;
|
||||
int clinicID;
|
||||
int doctorID;
|
||||
String doctorImageURL;
|
||||
String doctorName;
|
||||
String doctorNameEnglish;
|
||||
Null doctorNameN;
|
||||
int doctorRate;
|
||||
String doctorTitle;
|
||||
int gender;
|
||||
String genderDescription;
|
||||
String invoiceNo;
|
||||
bool isActiveDoctorProfile;
|
||||
bool isDoctorAllowVedioCall;
|
||||
bool isExecludeDoctor;
|
||||
bool isInOutPatient;
|
||||
String isInOutPatientDescription;
|
||||
String isInOutPatientDescriptionN;
|
||||
bool isRead;
|
||||
String nationalityFlagURL;
|
||||
int noOfPatientsRate;
|
||||
DateTime orderDate;
|
||||
String orderNo;
|
||||
String patientID;
|
||||
String projectID;
|
||||
String projectName;
|
||||
Null projectNameN;
|
||||
String qR;
|
||||
String setupID;
|
||||
List<String> speciality;
|
||||
|
||||
PatientLabOrders(
|
||||
{this.actualDoctorRate,
|
||||
this.clinicDescription,
|
||||
this.clinicDescriptionEnglish,
|
||||
this.clinicDescriptionN,
|
||||
this.clinicID,
|
||||
this.doctorID,
|
||||
this.doctorImageURL,
|
||||
this.doctorName,
|
||||
this.doctorNameEnglish,
|
||||
this.doctorNameN,
|
||||
this.doctorRate,
|
||||
this.doctorTitle,
|
||||
this.gender,
|
||||
this.genderDescription,
|
||||
this.invoiceNo,
|
||||
this.isActiveDoctorProfile,
|
||||
this.isDoctorAllowVedioCall,
|
||||
this.isExecludeDoctor,
|
||||
this.isInOutPatient,
|
||||
this.isInOutPatientDescription,
|
||||
this.isInOutPatientDescriptionN,
|
||||
this.isRead,
|
||||
this.nationalityFlagURL,
|
||||
this.noOfPatientsRate,
|
||||
this.orderDate,
|
||||
this.orderNo,
|
||||
this.patientID,
|
||||
this.projectID,
|
||||
this.projectName,
|
||||
this.projectNameN,
|
||||
this.qR,
|
||||
this.setupID,
|
||||
this.speciality});
|
||||
|
||||
PatientLabOrders.fromJson(Map<String, dynamic> json) {
|
||||
actualDoctorRate = json['ActualDoctorRate'];
|
||||
clinicDescription = json['ClinicDescription'];
|
||||
clinicDescriptionEnglish = json['ClinicDescriptionEnglish'];
|
||||
clinicDescriptionN = json['ClinicDescriptionN'];
|
||||
clinicID = json['ClinicID'];
|
||||
doctorID = json['DoctorID'];
|
||||
doctorImageURL = json['DoctorImageURL'];
|
||||
doctorName = json['DoctorName'];
|
||||
doctorNameEnglish = json['DoctorNameEnglish'];
|
||||
doctorNameN = json['DoctorNameN'];
|
||||
doctorRate = json['DoctorRate'];
|
||||
doctorTitle = json['DoctorTitle'];
|
||||
gender = json['Gender'];
|
||||
genderDescription = json['GenderDescription'];
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
isActiveDoctorProfile = json['IsActiveDoctorProfile'];
|
||||
isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
|
||||
isExecludeDoctor = json['IsExecludeDoctor'];
|
||||
isInOutPatient = json['IsInOutPatient'];
|
||||
isInOutPatientDescription = json['IsInOutPatientDescription'];
|
||||
isInOutPatientDescriptionN = json['IsInOutPatientDescriptionN'];
|
||||
isRead = json['IsRead'];
|
||||
nationalityFlagURL = json['NationalityFlagURL'];
|
||||
noOfPatientsRate = json['NoOfPatientsRate'];
|
||||
orderDate = DateUtil.convertStringToDate(json['OrderDate']);
|
||||
orderNo = json['OrderNo'];
|
||||
patientID = json['PatientID'];
|
||||
projectID = json['ProjectID'];
|
||||
projectName = json['ProjectName'];
|
||||
projectNameN = json['ProjectNameN'];
|
||||
qR = json['QR'];
|
||||
setupID = json['SetupID'];
|
||||
// speciality = json['Speciality'].cast<String>();
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ActualDoctorRate'] = this.actualDoctorRate;
|
||||
data['ClinicDescription'] = this.clinicDescription;
|
||||
data['ClinicDescriptionEnglish'] = this.clinicDescriptionEnglish;
|
||||
data['ClinicDescriptionN'] = this.clinicDescriptionN;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
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['DoctorTitle'] = this.doctorTitle;
|
||||
data['Gender'] = this.gender;
|
||||
data['GenderDescription'] = this.genderDescription;
|
||||
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['IsRead'] = this.isRead;
|
||||
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['SetupID'] = this.setupID;
|
||||
data['Speciality'] = this.speciality;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class PatientLabOrdersList {
|
||||
String filterName = "";
|
||||
List<PatientLabOrders> patientLabOrdersList = List();
|
||||
|
||||
PatientLabOrdersList(
|
||||
{this.filterName, PatientLabOrders patientDoctorAppointment}) {
|
||||
patientLabOrdersList.add(patientDoctorAppointment);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
class PatientLabSpecialResult {
|
||||
String invoiceNo;
|
||||
String moduleID;
|
||||
String resultData;
|
||||
String resultDataHTML;
|
||||
Null resultDataTxt;
|
||||
|
||||
PatientLabSpecialResult(
|
||||
{this.invoiceNo,
|
||||
this.moduleID,
|
||||
this.resultData,
|
||||
this.resultDataHTML,
|
||||
this.resultDataTxt});
|
||||
|
||||
PatientLabSpecialResult.fromJson(Map<String, dynamic> json) {
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
moduleID = json['ModuleID'];
|
||||
resultData = json['ResultData'];
|
||||
resultDataHTML = json['ResultDataHTML'];
|
||||
resultDataTxt = json['ResultDataTxt'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['InvoiceNo'] = this.invoiceNo;
|
||||
data['ModuleID'] = this.moduleID;
|
||||
data['ResultData'] = this.resultData;
|
||||
data['ResultDataHTML'] = this.resultDataHTML;
|
||||
data['ResultDataTxt'] = this.resultDataTxt;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
class RequestPatientLabOrders {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
|
||||
RequestPatientLabOrders(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType});
|
||||
|
||||
RequestPatientLabOrders.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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
}
|
||||
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,84 @@
|
||||
class RequestPatientLabSpecialResult {
|
||||
String invoiceNo;
|
||||
String orderNo;
|
||||
String setupID;
|
||||
String projectID;
|
||||
int clinicID;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
|
||||
RequestPatientLabSpecialResult(
|
||||
{this.invoiceNo,
|
||||
this.orderNo,
|
||||
this.setupID,
|
||||
this.projectID,
|
||||
this.clinicID,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType});
|
||||
|
||||
RequestPatientLabSpecialResult.fromJson(Map<String, dynamic> json) {
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
orderNo = json['OrderNo'];
|
||||
setupID = json['SetupID'];
|
||||
projectID = json['ProjectID'];
|
||||
clinicID = json['ClinicID'];
|
||||
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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['InvoiceNo'] = this.invoiceNo;
|
||||
data['OrderNo'] = this.orderNo;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,112 @@
|
||||
class RequestSendLabReportEmail {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
String to;
|
||||
String dateofBirth;
|
||||
String patientIditificationNum;
|
||||
String patientMobileNumber;
|
||||
String patientName;
|
||||
String setupID;
|
||||
String projectName;
|
||||
String clinicName;
|
||||
String doctorName;
|
||||
String projectID;
|
||||
String invoiceNo;
|
||||
String orderDate;
|
||||
|
||||
RequestSendLabReportEmail(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.to,
|
||||
this.dateofBirth,
|
||||
this.patientIditificationNum,
|
||||
this.patientMobileNumber,
|
||||
this.patientName,
|
||||
this.setupID,
|
||||
this.projectName,
|
||||
this.clinicName,
|
||||
this.doctorName,
|
||||
this.projectID,
|
||||
this.invoiceNo,
|
||||
this.orderDate});
|
||||
|
||||
RequestSendLabReportEmail.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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
to = json['To'];
|
||||
dateofBirth = json['DateofBirth'];
|
||||
patientIditificationNum = json['PatientIditificationNum'];
|
||||
patientMobileNumber = json['PatientMobileNumber'];
|
||||
patientName = json['PatientName'];
|
||||
setupID = json['SetupID'];
|
||||
projectName = json['ProjectName'];
|
||||
clinicName = json['ClinicName'];
|
||||
doctorName = json['DoctorName'];
|
||||
projectID = json['ProjectID'];
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
orderDate = json['OrderDate'];
|
||||
}
|
||||
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['To'] = this.to;
|
||||
data['DateofBirth'] = this.dateofBirth;
|
||||
data['PatientIditificationNum'] = this.patientIditificationNum;
|
||||
data['PatientMobileNumber'] = this.patientMobileNumber;
|
||||
data['PatientName'] = this.patientName;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['ProjectName'] = this.projectName;
|
||||
data['ClinicName'] = this.clinicName;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['InvoiceNo'] = this.invoiceNo;
|
||||
data['OrderDate'] = this.orderDate;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,108 @@
|
||||
class PharmacyPrescriptions {
|
||||
String expiryDate;
|
||||
double sellingPrice;
|
||||
int quantity;
|
||||
int itemID;
|
||||
int locationID;
|
||||
int projectID;
|
||||
String setupID;
|
||||
String locationDescription;
|
||||
Null locationDescriptionN;
|
||||
String itemDescription;
|
||||
Null itemDescriptionN;
|
||||
String alias;
|
||||
int locationTypeID;
|
||||
int barcode;
|
||||
Null companybarcode;
|
||||
int cityID;
|
||||
String cityName;
|
||||
int distanceInKilometers;
|
||||
String latitude;
|
||||
int locationType;
|
||||
String longitude;
|
||||
String phoneNumber;
|
||||
String projectImageURL;
|
||||
Null sortOrder;
|
||||
|
||||
PharmacyPrescriptions(
|
||||
{this.expiryDate,
|
||||
this.sellingPrice,
|
||||
this.quantity,
|
||||
this.itemID,
|
||||
this.locationID,
|
||||
this.projectID,
|
||||
this.setupID,
|
||||
this.locationDescription,
|
||||
this.locationDescriptionN,
|
||||
this.itemDescription,
|
||||
this.itemDescriptionN,
|
||||
this.alias,
|
||||
this.locationTypeID,
|
||||
this.barcode,
|
||||
this.companybarcode,
|
||||
this.cityID,
|
||||
this.cityName,
|
||||
this.distanceInKilometers,
|
||||
this.latitude,
|
||||
this.locationType,
|
||||
this.longitude,
|
||||
this.phoneNumber,
|
||||
this.projectImageURL,
|
||||
this.sortOrder});
|
||||
|
||||
PharmacyPrescriptions.fromJson(Map<String, dynamic> json) {
|
||||
expiryDate = json['ExpiryDate'];
|
||||
sellingPrice = json['SellingPrice'];
|
||||
quantity = json['Quantity'];
|
||||
itemID = json['ItemID'];
|
||||
locationID = json['LocationID'];
|
||||
projectID = json['ProjectID'];
|
||||
setupID = json['SetupID'];
|
||||
locationDescription = json['LocationDescription'];
|
||||
locationDescriptionN = json['LocationDescriptionN'];
|
||||
itemDescription = json['ItemDescription'];
|
||||
itemDescriptionN = json['ItemDescriptionN'];
|
||||
alias = json['Alias'];
|
||||
locationTypeID = json['LocationTypeID'];
|
||||
barcode = json['Barcode'];
|
||||
companybarcode = json['Companybarcode'];
|
||||
cityID = json['CityID'];
|
||||
cityName = json['CityName'];
|
||||
distanceInKilometers = json['DistanceInKilometers'];
|
||||
latitude = json['Latitude'];
|
||||
locationType = json['LocationType'];
|
||||
longitude = json['Longitude'];
|
||||
phoneNumber = json['PhoneNumber'];
|
||||
projectImageURL = json['ProjectImageURL'];
|
||||
sortOrder = json['SortOrder'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ExpiryDate'] = this.expiryDate;
|
||||
data['SellingPrice'] = this.sellingPrice;
|
||||
data['Quantity'] = this.quantity;
|
||||
data['ItemID'] = this.itemID;
|
||||
data['LocationID'] = this.locationID;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['LocationDescription'] = this.locationDescription;
|
||||
data['LocationDescriptionN'] = this.locationDescriptionN;
|
||||
data['ItemDescription'] = this.itemDescription;
|
||||
data['ItemDescriptionN'] = this.itemDescriptionN;
|
||||
data['Alias'] = this.alias;
|
||||
data['LocationTypeID'] = this.locationTypeID;
|
||||
data['Barcode'] = this.barcode;
|
||||
data['Companybarcode'] = this.companybarcode;
|
||||
data['CityID'] = this.cityID;
|
||||
data['CityName'] = this.cityName;
|
||||
data['DistanceInKilometers'] = this.distanceInKilometers;
|
||||
data['Latitude'] = this.latitude;
|
||||
data['LocationType'] = this.locationType;
|
||||
data['Longitude'] = this.longitude;
|
||||
data['PhoneNumber'] = this.phoneNumber;
|
||||
data['ProjectImageURL'] = this.projectImageURL;
|
||||
data['SortOrder'] = this.sortOrder;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,144 @@
|
||||
class PrescriptionReportEnh {
|
||||
String address;
|
||||
int appointmentNo;
|
||||
String clinic;
|
||||
Null companyName;
|
||||
int days;
|
||||
String doctorName;
|
||||
int doseDailyQuantity;
|
||||
String frequency;
|
||||
int frequencyNumber;
|
||||
Null image;
|
||||
Null imageExtension;
|
||||
String imageSRCUrl;
|
||||
Null imageString;
|
||||
String imageThumbUrl;
|
||||
String isCovered;
|
||||
String itemDescription;
|
||||
int itemID;
|
||||
String orderDate;
|
||||
int patientID;
|
||||
String patientName;
|
||||
String phoneOffice1;
|
||||
Null prescriptionQR;
|
||||
int prescriptionTimes;
|
||||
Null productImage;
|
||||
Null productImageBase64;
|
||||
String productImageString;
|
||||
int projectID;
|
||||
String projectName;
|
||||
String remarks;
|
||||
String route;
|
||||
String sKU;
|
||||
int scaleOffset;
|
||||
String startDate;
|
||||
|
||||
PrescriptionReportEnh(
|
||||
{this.address,
|
||||
this.appointmentNo,
|
||||
this.clinic,
|
||||
this.companyName,
|
||||
this.days,
|
||||
this.doctorName,
|
||||
this.doseDailyQuantity,
|
||||
this.frequency,
|
||||
this.frequencyNumber,
|
||||
this.image,
|
||||
this.imageExtension,
|
||||
this.imageSRCUrl,
|
||||
this.imageString,
|
||||
this.imageThumbUrl,
|
||||
this.isCovered,
|
||||
this.itemDescription,
|
||||
this.itemID,
|
||||
this.orderDate,
|
||||
this.patientID,
|
||||
this.patientName,
|
||||
this.phoneOffice1,
|
||||
this.prescriptionQR,
|
||||
this.prescriptionTimes,
|
||||
this.productImage,
|
||||
this.productImageBase64,
|
||||
this.productImageString,
|
||||
this.projectID,
|
||||
this.projectName,
|
||||
this.remarks,
|
||||
this.route,
|
||||
this.sKU,
|
||||
this.scaleOffset,
|
||||
this.startDate});
|
||||
|
||||
PrescriptionReportEnh.fromJson(Map<String, dynamic> json) {
|
||||
address = json['Address'];
|
||||
appointmentNo = json['AppointmentNo'];
|
||||
clinic = json['Clinic'];
|
||||
companyName = json['CompanyName'];
|
||||
days = json['Days'];
|
||||
doctorName = json['DoctorName'];
|
||||
doseDailyQuantity = json['DoseDailyQuantity'];
|
||||
frequency = json['Frequency'];
|
||||
frequencyNumber = json['FrequencyNumber'];
|
||||
image = json['Image'];
|
||||
imageExtension = json['ImageExtension'];
|
||||
imageSRCUrl = json['ImageSRCUrl'];
|
||||
imageString = json['ImageString'];
|
||||
imageThumbUrl = json['ImageThumbUrl'];
|
||||
isCovered = json['IsCovered'];
|
||||
itemDescription = json['ItemDescription'];
|
||||
itemID = json['ItemID'];
|
||||
orderDate = json['OrderDate'];
|
||||
patientID = json['PatientID'];
|
||||
patientName = json['PatientName'];
|
||||
phoneOffice1 = json['PhoneOffice1'];
|
||||
prescriptionQR = json['PrescriptionQR'];
|
||||
prescriptionTimes = json['PrescriptionTimes'];
|
||||
productImage = json['ProductImage'];
|
||||
productImageBase64 = json['ProductImageBase64'];
|
||||
productImageString = json['ProductImageString'];
|
||||
projectID = json['ProjectID'];
|
||||
projectName = json['ProjectName'];
|
||||
remarks = json['Remarks'];
|
||||
route = json['Route'];
|
||||
sKU = json['SKU'];
|
||||
scaleOffset = json['ScaleOffset'];
|
||||
startDate = json['StartDate'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['Address'] = this.address;
|
||||
data['AppointmentNo'] = this.appointmentNo;
|
||||
data['Clinic'] = this.clinic;
|
||||
data['CompanyName'] = this.companyName;
|
||||
data['Days'] = this.days;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['DoseDailyQuantity'] = this.doseDailyQuantity;
|
||||
data['Frequency'] = this.frequency;
|
||||
data['FrequencyNumber'] = this.frequencyNumber;
|
||||
data['Image'] = this.image;
|
||||
data['ImageExtension'] = this.imageExtension;
|
||||
data['ImageSRCUrl'] = this.imageSRCUrl;
|
||||
data['ImageString'] = this.imageString;
|
||||
data['ImageThumbUrl'] = this.imageThumbUrl;
|
||||
data['IsCovered'] = this.isCovered;
|
||||
data['ItemDescription'] = this.itemDescription;
|
||||
data['ItemID'] = this.itemID;
|
||||
data['OrderDate'] = this.orderDate;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientName'] = this.patientName;
|
||||
data['PhoneOffice1'] = this.phoneOffice1;
|
||||
data['PrescriptionQR'] = this.prescriptionQR;
|
||||
data['PrescriptionTimes'] = this.prescriptionTimes;
|
||||
data['ProductImage'] = this.productImage;
|
||||
data['ProductImageBase64'] = this.productImageBase64;
|
||||
data['ProductImageString'] = this.productImageString;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ProjectName'] = this.projectName;
|
||||
data['Remarks'] = this.remarks;
|
||||
data['Route'] = this.route;
|
||||
data['SKU'] = this.sKU;
|
||||
data['ScaleOffset'] = this.scaleOffset;
|
||||
data['StartDate'] = this.startDate;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
class RequestGetListPharmacyForPrescriptions {
|
||||
int latitude;
|
||||
int longitude;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int itemID;
|
||||
|
||||
RequestGetListPharmacyForPrescriptions(
|
||||
{this.latitude,
|
||||
this.longitude,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.itemID});
|
||||
|
||||
RequestGetListPharmacyForPrescriptions.fromJson(Map<String, dynamic> json) {
|
||||
latitude = json['Latitude'];
|
||||
longitude = json['Longitude'];
|
||||
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'];
|
||||
itemID = json['ItemID'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['Latitude'] = this.latitude;
|
||||
data['Longitude'] = this.longitude;
|
||||
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['ItemID'] = this.itemID;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,84 @@
|
||||
class RequestPrescriptionReportEnh {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
int appointmentNo;
|
||||
String setupID;
|
||||
int episodeID;
|
||||
int clinicID;
|
||||
int projectID;
|
||||
|
||||
RequestPrescriptionReportEnh(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.appointmentNo,
|
||||
this.setupID,
|
||||
this.episodeID,
|
||||
this.clinicID,
|
||||
this.projectID});
|
||||
|
||||
RequestPrescriptionReportEnh.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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
appointmentNo = json['AppointmentNo'];
|
||||
setupID = json['SetupID'];
|
||||
episodeID = json['EpisodeID'];
|
||||
clinicID = json['ClinicID'];
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['AppointmentNo'] = this.appointmentNo;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['EpisodeID'] = this.episodeID;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['ProjectID'] = this.projectID;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,187 @@
|
||||
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
|
||||
|
||||
class FinalRadiology {
|
||||
String setupID;
|
||||
int projectID;
|
||||
Null patientID;
|
||||
int invoiceLineItemNo;
|
||||
int invoiceNo;
|
||||
int doctorID;
|
||||
int clinicID;
|
||||
DateTime orderDate;
|
||||
String reportData;
|
||||
String imageURL;
|
||||
String procedureID;
|
||||
int appointmentNo;
|
||||
Null dIAPacsURL;
|
||||
bool isRead;
|
||||
String readOn;
|
||||
var admissionNo;
|
||||
bool isInOutPatient;
|
||||
int actualDoctorRate;
|
||||
String clinicDescription;
|
||||
String dIAPACSURL;
|
||||
String doctorImageURL;
|
||||
String doctorName;
|
||||
int doctorRate;
|
||||
String doctorTitle;
|
||||
int gender;
|
||||
String genderDescription;
|
||||
bool isActiveDoctorProfile;
|
||||
bool isExecludeDoctor;
|
||||
String isInOutPatientDescription;
|
||||
String isInOutPatientDescriptionN;
|
||||
String nationalityFlagURL;
|
||||
int noOfPatientsRate;
|
||||
int orderNo;
|
||||
String projectName;
|
||||
String qR;
|
||||
String reportDataHTML;
|
||||
String reportDataTextString;
|
||||
List<String> speciality;
|
||||
bool isCVI;
|
||||
bool isRadMedicalReport;
|
||||
|
||||
FinalRadiology(
|
||||
{this.setupID,
|
||||
this.projectID,
|
||||
this.patientID,
|
||||
this.invoiceLineItemNo,
|
||||
this.invoiceNo,
|
||||
this.doctorID,
|
||||
this.clinicID,
|
||||
this.orderDate,
|
||||
this.reportData,
|
||||
this.imageURL,
|
||||
this.procedureID,
|
||||
this.appointmentNo,
|
||||
this.dIAPacsURL,
|
||||
this.isRead,
|
||||
this.readOn,
|
||||
this.admissionNo,
|
||||
this.isInOutPatient,
|
||||
this.actualDoctorRate,
|
||||
this.clinicDescription,
|
||||
this.dIAPACSURL,
|
||||
this.doctorImageURL,
|
||||
this.doctorName,
|
||||
this.doctorRate,
|
||||
this.doctorTitle,
|
||||
this.gender,
|
||||
this.genderDescription,
|
||||
this.isActiveDoctorProfile,
|
||||
this.isExecludeDoctor,
|
||||
this.isInOutPatientDescription,
|
||||
this.isInOutPatientDescriptionN,
|
||||
this.nationalityFlagURL,
|
||||
this.noOfPatientsRate,
|
||||
this.orderNo,
|
||||
this.projectName,
|
||||
this.qR,
|
||||
this.reportDataHTML,
|
||||
this.reportDataTextString,
|
||||
this.speciality,
|
||||
this.isCVI,
|
||||
this.isRadMedicalReport});
|
||||
|
||||
FinalRadiology.fromJson(Map<String, dynamic> json) {
|
||||
try {
|
||||
setupID = json['SetupID'];
|
||||
projectID = json['ProjectID'];
|
||||
patientID = json['PatientID'];
|
||||
invoiceLineItemNo = json['InvoiceLineItemNo'];
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
doctorID = json['DoctorID'];
|
||||
clinicID = json['ClinicID'];
|
||||
orderDate = DateUtil.convertStringToDate(json['OrderDate']);
|
||||
reportData = json['ReportData'];
|
||||
imageURL = json['ImageURL'];
|
||||
procedureID = json['ProcedureID'];
|
||||
appointmentNo = json['AppointmentNo'];
|
||||
dIAPacsURL = json['DIAPacsURL'];
|
||||
isRead = json['IsRead'];
|
||||
readOn = json['ReadOn'];
|
||||
admissionNo = json['AdmissionNo'];
|
||||
isInOutPatient = json['IsInOutPatient'];
|
||||
actualDoctorRate = json['ActualDoctorRate'];
|
||||
clinicDescription = json['ClinicDescription'];
|
||||
dIAPACSURL = json['DIA_PACS_URL'];
|
||||
doctorImageURL = json['DoctorImageURL'];
|
||||
doctorName = json['DoctorName'];
|
||||
doctorRate = json['DoctorRate'];
|
||||
doctorTitle = json['DoctorTitle'];
|
||||
gender = json['Gender'];
|
||||
genderDescription = json['GenderDescription'];
|
||||
isActiveDoctorProfile = json['IsActiveDoctorProfile'];
|
||||
isExecludeDoctor = json['IsExecludeDoctor'];
|
||||
isInOutPatientDescription = json['IsInOutPatientDescription'];
|
||||
isInOutPatientDescriptionN = json['IsInOutPatientDescriptionN'];
|
||||
nationalityFlagURL = json['NationalityFlagURL'];
|
||||
noOfPatientsRate = json['NoOfPatientsRate'];
|
||||
orderNo = json['OrderNo'];
|
||||
projectName = json['ProjectName'];
|
||||
qR = json['QR'];
|
||||
reportDataHTML = json['ReportDataHTML'];
|
||||
reportDataTextString = json['ReportDataTextString'];
|
||||
// speciality = json['Speciality'].cast<String>();
|
||||
isCVI = json['isCVI'];
|
||||
isRadMedicalReport = json['isRadMedicalReport'];
|
||||
} catch (e) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
|
||||
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['InvoiceLineItemNo'] = this.invoiceLineItemNo;
|
||||
data['InvoiceNo'] = this.invoiceNo;
|
||||
data['DoctorID'] = this.doctorID;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['OrderDate'] = this.orderDate;
|
||||
data['ReportData'] = this.reportData;
|
||||
data['ImageURL'] = this.imageURL;
|
||||
data['ProcedureID'] = this.procedureID;
|
||||
data['AppointmentNo'] = this.appointmentNo;
|
||||
data['DIAPacsURL'] = this.dIAPacsURL;
|
||||
data['IsRead'] = this.isRead;
|
||||
data['ReadOn'] = this.readOn;
|
||||
data['AdmissionNo'] = this.admissionNo;
|
||||
data['IsInOutPatient'] = this.isInOutPatient;
|
||||
data['ActualDoctorRate'] = this.actualDoctorRate;
|
||||
data['ClinicDescription'] = this.clinicDescription;
|
||||
data['DIA_PACS_URL'] = this.dIAPACSURL;
|
||||
data['DoctorImageURL'] = this.doctorImageURL;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['DoctorRate'] = this.doctorRate;
|
||||
data['DoctorTitle'] = this.doctorTitle;
|
||||
data['Gender'] = this.gender;
|
||||
data['GenderDescription'] = this.genderDescription;
|
||||
data['IsActiveDoctorProfile'] = this.isActiveDoctorProfile;
|
||||
data['IsExecludeDoctor'] = this.isExecludeDoctor;
|
||||
data['IsInOutPatientDescription'] = this.isInOutPatientDescription;
|
||||
data['IsInOutPatientDescriptionN'] = this.isInOutPatientDescriptionN;
|
||||
data['NationalityFlagURL'] = this.nationalityFlagURL;
|
||||
data['NoOfPatientsRate'] = this.noOfPatientsRate;
|
||||
data['OrderNo'] = this.orderNo;
|
||||
data['ProjectName'] = this.projectName;
|
||||
data['QR'] = this.qR;
|
||||
data['ReportDataHTML'] = this.reportDataHTML;
|
||||
data['ReportDataTextString'] = this.reportDataTextString;
|
||||
data['Speciality'] = this.speciality;
|
||||
data['isCVI'] = this.isCVI;
|
||||
data['isRadMedicalReport'] = this.isRadMedicalReport;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class FinalRadiologyList {
|
||||
String filterName = "";
|
||||
List<FinalRadiology> finalRadiologyList = List();
|
||||
|
||||
FinalRadiologyList({this.filterName, FinalRadiology finalRadiology}) {
|
||||
finalRadiologyList.add(finalRadiology);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,92 @@
|
||||
class RequestPatientRadOrdersDetails {
|
||||
int projectID;
|
||||
int orderNo;
|
||||
int invoiceNo;
|
||||
String setupID;
|
||||
String procedureID;
|
||||
bool isMedicalReport;
|
||||
bool isCVI;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
|
||||
RequestPatientRadOrdersDetails(
|
||||
{this.projectID,
|
||||
this.orderNo,
|
||||
this.invoiceNo,
|
||||
this.setupID,
|
||||
this.procedureID,
|
||||
this.isMedicalReport,
|
||||
this.isCVI,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType});
|
||||
|
||||
RequestPatientRadOrdersDetails.fromJson(Map<String, dynamic> json) {
|
||||
projectID = json['ProjectID'];
|
||||
orderNo = json['OrderNo'];
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
setupID = json['SetupID'];
|
||||
procedureID = json['ProcedureID'];
|
||||
isMedicalReport = json['IsMedicalReport'];
|
||||
isCVI = json['isCVI'];
|
||||
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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['OrderNo'] = this.orderNo;
|
||||
data['InvoiceNo'] = this.invoiceNo;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['ProcedureID'] = this.procedureID;
|
||||
data['IsMedicalReport'] = this.isMedicalReport;
|
||||
data['isCVI'] = this.isCVI;
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,116 @@
|
||||
class RequestSendRadReportEmail {
|
||||
int channel;
|
||||
String clinicName;
|
||||
String dateofBirth;
|
||||
int deviceTypeID;
|
||||
String doctorName;
|
||||
String generalid;
|
||||
int invoiceNo;
|
||||
String iPAdress;
|
||||
bool isDentalAllowedBackend;
|
||||
int languageID;
|
||||
String orderDate;
|
||||
int patientID;
|
||||
String patientIditificationNum;
|
||||
String patientMobileNumber;
|
||||
String patientName;
|
||||
int patientOutSA;
|
||||
int patientType;
|
||||
int patientTypeID;
|
||||
int projectID;
|
||||
String projectName;
|
||||
String radResult;
|
||||
String sessionID;
|
||||
String setupID;
|
||||
String to;
|
||||
String tokenID;
|
||||
double versionID;
|
||||
|
||||
RequestSendRadReportEmail(
|
||||
{this.channel,
|
||||
this.clinicName,
|
||||
this.dateofBirth,
|
||||
this.deviceTypeID,
|
||||
this.doctorName,
|
||||
this.generalid,
|
||||
this.invoiceNo,
|
||||
this.iPAdress,
|
||||
this.isDentalAllowedBackend,
|
||||
this.languageID,
|
||||
this.orderDate,
|
||||
this.patientID,
|
||||
this.patientIditificationNum,
|
||||
this.patientMobileNumber,
|
||||
this.patientName,
|
||||
this.patientOutSA,
|
||||
this.patientType,
|
||||
this.patientTypeID,
|
||||
this.projectID,
|
||||
this.projectName,
|
||||
this.radResult,
|
||||
this.sessionID,
|
||||
this.setupID,
|
||||
this.to,
|
||||
this.tokenID,
|
||||
this.versionID});
|
||||
|
||||
RequestSendRadReportEmail.fromJson(Map<String, dynamic> json) {
|
||||
channel = json['Channel'];
|
||||
clinicName = json['ClinicName'];
|
||||
dateofBirth = json['DateofBirth'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
doctorName = json['DoctorName'];
|
||||
generalid = json['generalid'];
|
||||
invoiceNo = json['InvoiceNo'];
|
||||
iPAdress = json['IPAdress'];
|
||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||
languageID = json['LanguageID'];
|
||||
orderDate = json['OrderDate'];
|
||||
patientID = json['PatientID'];
|
||||
patientIditificationNum = json['PatientIditificationNum'];
|
||||
patientMobileNumber = json['PatientMobileNumber'];
|
||||
patientName = json['PatientName'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
patientType = json['PatientType'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
projectID = json['ProjectID'];
|
||||
projectName = json['ProjectName'];
|
||||
radResult = json['RadResult'];
|
||||
sessionID = json['SessionID'];
|
||||
setupID = json['SetupID'];
|
||||
to = json['To'];
|
||||
tokenID = json['TokenID'];
|
||||
versionID = json['VersionID'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['Channel'] = this.channel;
|
||||
data['ClinicName'] = this.clinicName;
|
||||
data['DateofBirth'] = this.dateofBirth;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['generalid'] = this.generalid;
|
||||
data['InvoiceNo'] = this.invoiceNo;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['OrderDate'] = this.orderDate;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientIditificationNum'] = this.patientIditificationNum;
|
||||
data['PatientMobileNumber'] = this.patientMobileNumber;
|
||||
data['PatientName'] = this.patientName;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ProjectName'] = this.projectName;
|
||||
data['RadResult'] = this.radResult;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['To'] = this.to;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['VersionID'] = this.versionID;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:diplomaticquarterapp/config/config.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/feedback/COC_items.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/feedback/request_insert_coc_item.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
||||
|
||||
class FeedbackService extends BaseService {
|
||||
List<COCItem> cOCItemList = List();
|
||||
RequestInsertCOCItem _requestInsertCOCItem = RequestInsertCOCItem();
|
||||
|
||||
Future sendCOCItem(
|
||||
{String title,
|
||||
String details,
|
||||
String cOCTypeName,
|
||||
String attachment}) async {
|
||||
hasError = false;
|
||||
|
||||
_requestInsertCOCItem.attachment = attachment;
|
||||
_requestInsertCOCItem.title = title;
|
||||
_requestInsertCOCItem.details = details;
|
||||
_requestInsertCOCItem.cOCTypeName = cOCTypeName;
|
||||
_requestInsertCOCItem.formTypeID = cOCTypeName;
|
||||
_requestInsertCOCItem.mobileNo =
|
||||
"966537503378"; //TODO Change it to be dynamic
|
||||
_requestInsertCOCItem.isUserLoggedIn = true;
|
||||
_requestInsertCOCItem.projectID = 1231755;
|
||||
_requestInsertCOCItem.patientName = "TAMER FANASHEH";
|
||||
_requestInsertCOCItem.fileName = "";
|
||||
_requestInsertCOCItem.uILanguage = "ar"; //TODO Change it to be dynamic
|
||||
_requestInsertCOCItem.browserInfo = Platform.localHostname;
|
||||
_requestInsertCOCItem.deviceInfo = Platform.localHostname;
|
||||
_requestInsertCOCItem.resolution = "400x847";
|
||||
_requestInsertCOCItem.projectID = 0;
|
||||
_requestInsertCOCItem.identificationNo = 2344670985;
|
||||
|
||||
await baseAppClient
|
||||
.post(SEND_FEEDBACK, onSuccess: (dynamic response, int statusCode) {
|
||||
var asd = "";
|
||||
},
|
||||
onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _requestInsertCOCItem.toJson());
|
||||
}
|
||||
|
||||
Future getStatusCOC() async {
|
||||
hasError = false;
|
||||
Map<String, dynamic> body = new Map<String, dynamic>();
|
||||
body['IdentificationNo'] = '2344670985';
|
||||
body['MobileNo'] = '966537503378';
|
||||
body['Searching_type'] = '1';
|
||||
|
||||
await baseAppClient.post(GET_STATUS_FOR_COCO,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
cOCItemList = [];
|
||||
response['ListCOCItems'].forEach((cOC) {
|
||||
cOCItemList.add(COCItem.fromJson(cOC));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: body);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,112 @@
|
||||
import 'package:diplomaticquarterapp/config/config.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card_update.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_approval.dart';
|
||||
|
||||
class InsuranceCardService extends BaseService {
|
||||
List<InsuranceCardModel> _cardList = List();
|
||||
List<InsuranceUpdateModel> _cardUpdated = List();
|
||||
List<InsuranceApprovalModel> _insuranceApproval = List();
|
||||
|
||||
List<InsuranceCardModel> get cardList => _cardList;
|
||||
List<InsuranceUpdateModel> get updatedCard => _cardUpdated;
|
||||
List<InsuranceApprovalModel> get insuranceApproval => _insuranceApproval;
|
||||
|
||||
clearInsuranceCard() {
|
||||
_cardList.clear();
|
||||
}
|
||||
|
||||
clearUpdatedList() {
|
||||
_cardUpdated.clear();
|
||||
}
|
||||
|
||||
InsuranceCardModel _insuranceCardModel = InsuranceCardModel(
|
||||
channel: 3,
|
||||
deviceTypeID: 2,
|
||||
generalid: "Cs2020@2016\$2958",
|
||||
iPAdress: "10.20.10.20",
|
||||
isDentalAllowedBackend: false,
|
||||
languageID: 1,
|
||||
patientID: 1231755,
|
||||
patientOutSA: 0,
|
||||
patientType: 1,
|
||||
patientTypeID: 1,
|
||||
sessionID: "uoKFXSLUwEaHYPwKZNA",
|
||||
tokenID: "@dm!n",
|
||||
versionID: 5.5,
|
||||
);
|
||||
|
||||
InsuranceUpdateModel _insuranceUpdateModel = InsuranceUpdateModel(
|
||||
channel: 3,
|
||||
deviceTypeID: 2,
|
||||
generalid: "Cs2020@2016\$2958",
|
||||
iPAdress: "10.20.10.20",
|
||||
isDentalAllowedBackend: false,
|
||||
patientID: 1231755,
|
||||
patientType: 1,
|
||||
versionID: 5.5,
|
||||
languageID: 2,
|
||||
patientOutSA: 0,
|
||||
sessionID: "ENRSJBKXnzCuuVQ",
|
||||
);
|
||||
|
||||
InsuranceApprovalModel _insuranceApprovalModel = InsuranceApprovalModel(
|
||||
versionID: 5.5,
|
||||
channel: 3,
|
||||
languageID: LANGUAGE_ID,
|
||||
iPAdress: "10.20.10.20",
|
||||
generalid: "Cs2020@2016\$2958",
|
||||
patientOutSA: 0,
|
||||
sessionID: "DypNmtMkivzURHjeYg",
|
||||
isDentalAllowedBackend: false,
|
||||
deviceTypeID: 2,
|
||||
patientID: 1231755,
|
||||
tokenID: "@dm!n",
|
||||
patientTypeID: 1,
|
||||
patientType: 1,
|
||||
eXuldAPPNO: 0,
|
||||
projectID: 0);
|
||||
|
||||
Future getInsurance() async {
|
||||
hasError = false;
|
||||
_cardList.clear();
|
||||
await baseAppClient.post(GET_PAtIENTS_INSURANCE,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
response['List_PatientInsuranceCard'].forEach((item) {
|
||||
_cardList.add(InsuranceCardModel.fromJson(item));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _insuranceCardModel.toJson());
|
||||
}
|
||||
|
||||
Future getInsuranceUpdate() async {
|
||||
hasError = false;
|
||||
// _cardList.clear();
|
||||
await baseAppClient.post(GET_PAtIENTS_INSURANCE_UPDATED,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
response['List_PatientInsuranceCardHistory'].forEach((item) {
|
||||
_cardUpdated.add(InsuranceUpdateModel.fromJson(item));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _insuranceUpdateModel.toJson());
|
||||
}
|
||||
|
||||
Future getInsuranceApproval() async {
|
||||
hasError = false;
|
||||
// _cardList.clear();
|
||||
await baseAppClient.post(GET_PAtIENTS_INSURANCE_APPROVALS,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
response['HIS_Approval_List'].forEach((item) {
|
||||
_insuranceApproval.add(InsuranceApprovalModel.fromJson(item));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _insuranceApprovalModel.toJson());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,91 @@
|
||||
import 'package:diplomaticquarterapp/config/config.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/doctor_profile.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/doctor_rating.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/patient_doctor_appointment.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/reques_patient_doctor_appointmentt.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/request_doctor_profile.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/request_doctor_rating.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_special_result.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/request_patient_lab_orders.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/request_patient_lab_special_result.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/request_send_lab_report_email.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
||||
|
||||
class LabsService extends BaseService {
|
||||
|
||||
|
||||
RequestPatientLabOrders _requestPatientLabOrders = RequestPatientLabOrders();
|
||||
List<PatientLabOrders> patientLabOrdersList = List();
|
||||
|
||||
|
||||
Future getPatientLabOrdersList() async {
|
||||
await baseAppClient.post(GET_Patient_LAB_ORDERS,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
patientLabOrdersList.clear();
|
||||
response['ListPLO'].forEach((hospital) {
|
||||
patientLabOrdersList
|
||||
.add(PatientLabOrders.fromJson(hospital));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _requestPatientLabOrders.toJson());
|
||||
}
|
||||
|
||||
|
||||
RequestPatientLabSpecialResult _requestPatientLabSpecialResult = RequestPatientLabSpecialResult();
|
||||
|
||||
|
||||
List<PatientLabSpecialResult> patientLabSpecialResult = List();
|
||||
|
||||
Future getLaboratoryResult(
|
||||
{String projectID, int clinicID, String invoiceNo, String orderNo}) async {
|
||||
hasError = false;
|
||||
_requestPatientLabSpecialResult.projectID = projectID;
|
||||
_requestPatientLabSpecialResult.clinicID = clinicID;
|
||||
_requestPatientLabSpecialResult.invoiceNo = invoiceNo;//'1800296522';//;
|
||||
_requestPatientLabSpecialResult.orderNo = orderNo;
|
||||
|
||||
await baseAppClient.post(GET_Patient_LAB_SPECIAL_RESULT,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
patientLabSpecialResult.clear();
|
||||
response['ListPLSR'].forEach((hospital) {
|
||||
patientLabSpecialResult
|
||||
.add(PatientLabSpecialResult.fromJson(hospital));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _requestPatientLabSpecialResult.toJson());
|
||||
}
|
||||
|
||||
RequestSendLabReportEmail _requestSendLabReportEmail = RequestSendLabReportEmail();
|
||||
|
||||
Future sendLabReportEmail(
|
||||
{PatientLabOrders patientLabOrder}) async {
|
||||
|
||||
_requestSendLabReportEmail.projectID = patientLabOrder.projectID;
|
||||
_requestSendLabReportEmail.invoiceNo = patientLabOrder.invoiceNo;
|
||||
_requestSendLabReportEmail.doctorName = patientLabOrder.doctorName;
|
||||
_requestSendLabReportEmail.clinicName = patientLabOrder.clinicDescription;
|
||||
_requestSendLabReportEmail.patientName = 'Tamer';//TODO Change it
|
||||
_requestSendLabReportEmail.patientIditificationNum = '2344670985';//TODO change it
|
||||
_requestSendLabReportEmail.dateofBirth = '/Date(536743800000+0300)/';//TODO change it
|
||||
_requestSendLabReportEmail.to = 'Tamer.fanasheh@gmail.com';//TODO change it
|
||||
_requestSendLabReportEmail.orderDate = '${patientLabOrder.orderDate.year}-${patientLabOrder.orderDate.month}-${patientLabOrder.orderDate.day}';
|
||||
_requestSendLabReportEmail.patientMobileNumber = '537503378';//TODO change it
|
||||
_requestSendLabReportEmail.projectName = patientLabOrder.projectName;
|
||||
|
||||
await baseAppClient.post(GET_Patient_LAB_SPECIAL_RESULT,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
AppToast.showSuccessToast(message: 'A copy has been sent to the email');
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _requestSendLabReportEmail.toJson());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,98 @@
|
||||
import 'package:diplomaticquarterapp/config/config.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/doctor_profile.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/doctor_rating.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/patient_doctor_appointment.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/reques_patient_doctor_appointmentt.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/request_doctor_profile.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/doctor/request_doctor_rating.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_special_result.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/request_patient_lab_orders.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/request_patient_lab_special_result.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/request_send_lab_report_email.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/radiology/request_send_rad_report_email.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
||||
|
||||
class RadiologyService extends BaseService {
|
||||
List<FinalRadiology> finalRadiologyList = List();
|
||||
String url = '';
|
||||
|
||||
Future getRadImageURL({int invoiceNo, int lineItem,int projectId}) async {
|
||||
hasError = false;
|
||||
final Map<String, dynamic> body = new Map<String, dynamic>();
|
||||
body['InvoiceNo'] = invoiceNo;
|
||||
body['LineItemNo'] = lineItem;
|
||||
body['ProjectID'] = projectId;
|
||||
|
||||
await baseAppClient.post(GET_RAD_IMAGE_URL,
|
||||
isAllowAny: true,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
url = response['Data'];
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: body);
|
||||
}
|
||||
|
||||
Future getPatientRadOrders () async {
|
||||
hasError = false;
|
||||
await baseAppClient.post(GET_PATIENT_ORDERS,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
finalRadiologyList.clear();
|
||||
response['FinalRadiologyList'].forEach((radiology) {
|
||||
finalRadiologyList.add(FinalRadiology.fromJson(radiology));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: Map());
|
||||
}
|
||||
|
||||
Future getPatientRadOrdersDetails() async {
|
||||
hasError = false;
|
||||
await baseAppClient.post(GET_PATIENT_ORDERS,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
finalRadiologyList.clear();
|
||||
response['FinalRadiologyList'].forEach((radiology) {
|
||||
finalRadiologyList.add(FinalRadiology.fromJson(radiology));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: Map());
|
||||
}
|
||||
|
||||
RequestSendRadReportEmail _requestSendRadReportEmail =
|
||||
RequestSendRadReportEmail();
|
||||
|
||||
Future sendRadReportEmail(
|
||||
{FinalRadiology finalRadiology}) async {
|
||||
_requestSendRadReportEmail.projectID = finalRadiology.projectID;
|
||||
_requestSendRadReportEmail.clinicName = finalRadiology.clinicDescription;
|
||||
_requestSendRadReportEmail.invoiceNo = finalRadiology.invoiceNo;
|
||||
_requestSendRadReportEmail.setupID = finalRadiology.setupID;
|
||||
_requestSendRadReportEmail.doctorName = finalRadiology.doctorName;
|
||||
_requestSendRadReportEmail.orderDate = '${finalRadiology.orderDate.year}-${finalRadiology.orderDate.month}-${finalRadiology.orderDate.day}';
|
||||
_requestSendRadReportEmail.patientIditificationNum = '2344670985';//TODO change it
|
||||
_requestSendRadReportEmail.patientMobileNumber = '537503378';//TODO change it
|
||||
_requestSendRadReportEmail.patientName = 'TAMER FANASHE';//TODO change it
|
||||
_requestSendRadReportEmail.patientIditificationNum = '2344670985';//TODO change it
|
||||
_requestSendRadReportEmail.projectName = finalRadiology.projectName;
|
||||
_requestSendRadReportEmail.radResult = 'asd';//finalRadiology.reportData;
|
||||
_requestSendRadReportEmail.to = 'Tamer.fanasheh@gmail.com';
|
||||
_requestSendRadReportEmail.dateofBirth = '/Date(536743800000+0300)/';
|
||||
|
||||
hasError = false;
|
||||
await baseAppClient.post(SEND_RAD_REPORT_EMAIL,
|
||||
isAllowAny: true,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
|
||||
},
|
||||
onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _requestSendRadReportEmail.toJson());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/feedback/COC_items.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/feedback/feedback_service.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
|
||||
|
||||
import '../../../locator.dart';
|
||||
|
||||
class FeedbackViewModel extends BaseViewModel {
|
||||
FeedbackService _feedbackService = locator<FeedbackService>();
|
||||
|
||||
List<COCItem> get cOCItemList => _feedbackService.cOCItemList;
|
||||
|
||||
Future<bool> sendCOCItem(
|
||||
{String title,
|
||||
String details,
|
||||
String cOCTypeName,
|
||||
String attachment}) async {
|
||||
setState(ViewState.BusyLocal);
|
||||
await _feedbackService.sendCOCItem(
|
||||
title: title,
|
||||
details: details,
|
||||
cOCTypeName: cOCTypeName,
|
||||
attachment: attachment);
|
||||
if (_feedbackService.hasError) {
|
||||
error = _feedbackService.error;
|
||||
setState(ViewState.ErrorLocal);
|
||||
return false;
|
||||
} else {
|
||||
setState(ViewState.Idle);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
getCOC() async {
|
||||
setState(ViewState.Busy);
|
||||
await _feedbackService.getStatusCOC();
|
||||
if (_feedbackService.hasError) {
|
||||
error = _feedbackService.error;
|
||||
setState(ViewState.Error);
|
||||
} else {
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_approval.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card_update.dart';
|
||||
import 'package:diplomaticquarterapp/pages/insurance/insurance_approval_screen.dart';
|
||||
|
||||
import 'base_view_model.dart';
|
||||
import '../../locator.dart';
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/insurance_service.dart';
|
||||
|
||||
class InsuranceViewModel extends BaseViewModel {
|
||||
bool hasError = false;
|
||||
|
||||
InsuranceCardService _insuranceCardService = locator<InsuranceCardService>();
|
||||
|
||||
List<InsuranceCardModel> get insurance => _insuranceCardService.cardList;
|
||||
List<InsuranceUpdateModel> get insuranceUpdate =>
|
||||
_insuranceCardService.updatedCard;
|
||||
List<InsuranceApprovalModel> get insuranceApproval =>
|
||||
_insuranceCardService.insuranceApproval;
|
||||
|
||||
Future getInsurance() async {
|
||||
hasError = false;
|
||||
_insuranceCardService.clearInsuranceCard();
|
||||
setState(ViewState.Busy);
|
||||
await _insuranceCardService.getInsurance();
|
||||
if (_insuranceCardService.hasError) {
|
||||
error = _insuranceCardService.error;
|
||||
setState(ViewState.ErrorLocal);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
|
||||
Future getInsuranceUpdated() async {
|
||||
hasError = false;
|
||||
//_insuranceCardService.clearInsuranceCard();
|
||||
setState(ViewState.Busy);
|
||||
await _insuranceCardService.getInsuranceUpdate();
|
||||
if (_insuranceCardService.hasError) {
|
||||
error = _insuranceCardService.error;
|
||||
setState(ViewState.ErrorLocal);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
|
||||
Future getInsuranceApproval() async {
|
||||
hasError = false;
|
||||
//_insuranceCardService.clearInsuranceCard();
|
||||
setState(ViewState.Busy);
|
||||
await _insuranceCardService.getInsuranceApproval();
|
||||
if (_insuranceCardService.hasError) {
|
||||
error = _insuranceCardService.error;
|
||||
setState(ViewState.ErrorLocal);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,106 @@
|
||||
|
||||
import 'package:diplomaticquarterapp/core/enum/filter_type.dart';
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_special_result.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/medical/labs_service.dart';
|
||||
|
||||
import '../../../locator.dart';
|
||||
import '../base_view_model.dart';
|
||||
|
||||
class LabsViewModel extends BaseViewModel {
|
||||
FilterType filterType = FilterType.Clinic;
|
||||
LabsService _labsService = locator<LabsService>();
|
||||
|
||||
List<PatientLabOrdersList> _patientLabOrdersListClinic = List();
|
||||
List<PatientLabOrdersList> _patientLabOrdersListHospital = List();
|
||||
|
||||
List<PatientLabOrdersList> get patientLabOrdersList =>
|
||||
filterType == FilterType.Clinic
|
||||
? _patientLabOrdersListClinic
|
||||
: _patientLabOrdersListHospital;
|
||||
|
||||
void getLabs() async {
|
||||
setState(ViewState.Busy);
|
||||
await _labsService.getPatientLabOrdersList();
|
||||
if (_labsService.hasError) {
|
||||
error = _labsService.error;
|
||||
setState(ViewState.Error);
|
||||
} else {
|
||||
_labsService.patientLabOrdersList.forEach((element) {
|
||||
List<PatientLabOrdersList> patientLabOrdersClinic =
|
||||
_patientLabOrdersListClinic
|
||||
.where((elementClinic) =>
|
||||
elementClinic.filterName == element.clinicDescription)
|
||||
.toList();
|
||||
|
||||
if (patientLabOrdersClinic.length != 0) {
|
||||
_patientLabOrdersListClinic[_patientLabOrdersListClinic
|
||||
.indexOf(patientLabOrdersClinic[0])]
|
||||
.patientLabOrdersList
|
||||
.add(element);
|
||||
} else {
|
||||
_patientLabOrdersListClinic.add(PatientLabOrdersList(
|
||||
filterName: element.clinicDescription,
|
||||
patientDoctorAppointment: element));
|
||||
}
|
||||
|
||||
// doctor list sort via project
|
||||
List<PatientLabOrdersList> patientLabOrdersHospital =
|
||||
_patientLabOrdersListHospital
|
||||
.where(
|
||||
(elementClinic) =>
|
||||
elementClinic.filterName == element.projectName,
|
||||
)
|
||||
.toList();
|
||||
|
||||
if (patientLabOrdersHospital.length != 0) {
|
||||
_patientLabOrdersListHospital[_patientLabOrdersListHospital
|
||||
.indexOf(patientLabOrdersHospital[0])]
|
||||
.patientLabOrdersList
|
||||
.add(element);
|
||||
} else {
|
||||
_patientLabOrdersListHospital.add(PatientLabOrdersList(
|
||||
filterName: element.projectName,
|
||||
patientDoctorAppointment: element));
|
||||
}
|
||||
});
|
||||
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
||||
|
||||
setFilterType(FilterType filterType) {
|
||||
this.filterType = filterType;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
List<PatientLabSpecialResult> get patientLabSpecialResult =>
|
||||
_labsService.patientLabSpecialResult;
|
||||
|
||||
getLaboratoryResult(
|
||||
{String projectID,
|
||||
int clinicID,
|
||||
String invoiceNo,
|
||||
String orderNo}) async {
|
||||
setState(ViewState.Busy);
|
||||
await _labsService.getLaboratoryResult(invoiceNo: invoiceNo,orderNo: orderNo,projectID: projectID,clinicID: clinicID);
|
||||
if (_labsService.hasError) {
|
||||
error = _labsService.error;
|
||||
setState(ViewState.Error);
|
||||
} else {
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
||||
|
||||
sendLabReportEmail({PatientLabOrders patientLabOrder}) async {
|
||||
setState(ViewState.Busy);
|
||||
await _labsService.sendLabReportEmail(patientLabOrder: patientLabOrder);
|
||||
if (_labsService.hasError) {
|
||||
error = _labsService.error;
|
||||
setState(ViewState.Error);
|
||||
} else {
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,101 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/filter_type.dart';
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/medical/radiology_service.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
||||
|
||||
import '../../../locator.dart';
|
||||
import '../base_view_model.dart';
|
||||
|
||||
class RadiologyViewModel extends BaseViewModel {
|
||||
FilterType filterType = FilterType.Clinic;
|
||||
RadiologyService _radiologyService = locator<RadiologyService>();
|
||||
|
||||
List<FinalRadiologyList> _finalRadiologyListClinic = List();
|
||||
List<FinalRadiologyList> _finalRadiologyListHospital = List();
|
||||
|
||||
List<FinalRadiologyList> get finalRadiologyList =>
|
||||
filterType == FilterType.Clinic
|
||||
? _finalRadiologyListClinic
|
||||
: _finalRadiologyListHospital;
|
||||
|
||||
void getPatientRadOrders() async {
|
||||
setState(ViewState.Busy);
|
||||
await _radiologyService.getPatientRadOrders();
|
||||
if (_radiologyService.hasError) {
|
||||
error = _radiologyService.error;
|
||||
setState(ViewState.Error);
|
||||
} else {
|
||||
_radiologyService.finalRadiologyList.forEach((element) {
|
||||
List<FinalRadiologyList> finalRadiologyListClinic =
|
||||
_finalRadiologyListClinic
|
||||
.where((elementClinic) =>
|
||||
elementClinic.filterName == element.clinicDescription)
|
||||
.toList();
|
||||
|
||||
if (finalRadiologyListClinic.length != 0) {
|
||||
_finalRadiologyListClinic[
|
||||
finalRadiologyListClinic.indexOf(finalRadiologyListClinic[0])]
|
||||
.finalRadiologyList
|
||||
.add(element);
|
||||
} else {
|
||||
_finalRadiologyListClinic.add(FinalRadiologyList(
|
||||
filterName: element.clinicDescription, finalRadiology: element));
|
||||
}
|
||||
|
||||
// FinalRadiologyList list sort via project
|
||||
List<FinalRadiologyList> finalRadiologyListHospital =
|
||||
_finalRadiologyListHospital
|
||||
.where(
|
||||
(elementClinic) =>
|
||||
elementClinic.filterName == element.projectName,
|
||||
)
|
||||
.toList();
|
||||
|
||||
if (finalRadiologyListHospital.length != 0) {
|
||||
_finalRadiologyListHospital[finalRadiologyListHospital
|
||||
.indexOf(finalRadiologyListHospital[0])]
|
||||
.finalRadiologyList
|
||||
.add(element);
|
||||
} else {
|
||||
_finalRadiologyListHospital.add(FinalRadiologyList(
|
||||
filterName: element.projectName, finalRadiology: element));
|
||||
}
|
||||
});
|
||||
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
||||
|
||||
String get radImageURL => _radiologyService.url;
|
||||
|
||||
getRadImageURL({int invoiceNo, int lineItem,int projectId}) async {
|
||||
setState(ViewState.Busy);
|
||||
await _radiologyService.getRadImageURL(invoiceNo: invoiceNo,lineItem: lineItem,projectId: projectId);
|
||||
if (_radiologyService.hasError) {
|
||||
error = _radiologyService.error;
|
||||
setState(ViewState.Error);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
|
||||
sendRadReportEmail(
|
||||
{FinalRadiology finalRadiology}) async {
|
||||
setState(ViewState.BusyLocal);
|
||||
await _radiologyService.sendRadReportEmail(
|
||||
finalRadiology: finalRadiology
|
||||
);
|
||||
if (_radiologyService.hasError) {
|
||||
error = _radiologyService.error;
|
||||
AppToast.showErrorToast(message: error);
|
||||
} else {
|
||||
AppToast.showSuccessToast(message: 'A copy has been sent to the email');
|
||||
}
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
|
||||
setFilterType(FilterType filterType) {
|
||||
this.filterType = filterType;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,151 @@
|
||||
class RegisterUserRequest {
|
||||
Patientobject patientobject;
|
||||
String patientIdentificationID;
|
||||
int patientMobileNumber;
|
||||
String logInTokenID;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
Null sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
|
||||
RegisterUserRequest(
|
||||
{this.patientobject,
|
||||
this.patientIdentificationID,
|
||||
this.patientMobileNumber,
|
||||
this.logInTokenID,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID});
|
||||
|
||||
RegisterUserRequest.fromJson(Map<String, dynamic> json) {
|
||||
patientobject = json['Patientobject'] != null
|
||||
? new Patientobject.fromJson(json['Patientobject'])
|
||||
: null;
|
||||
patientIdentificationID = json['PatientIdentificationID'];
|
||||
patientMobileNumber = json['PatientMobileNumber'];
|
||||
logInTokenID = json['LogInTokenID'];
|
||||
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'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
if (this.patientobject != null) {
|
||||
data['Patientobject'] = this.patientobject.toJson();
|
||||
}
|
||||
data['PatientIdentificationID'] = this.patientIdentificationID;
|
||||
data['PatientMobileNumber'] = this.patientMobileNumber;
|
||||
data['LogInTokenID'] = this.logInTokenID;
|
||||
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;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Patientobject {
|
||||
bool tempValue;
|
||||
int patientIdentificationType;
|
||||
String patientIdentificationNo;
|
||||
int mobileNumber;
|
||||
int patientOutSA;
|
||||
String firstName;
|
||||
String middleName;
|
||||
String lastName;
|
||||
dynamic strDateofBirth;
|
||||
String dateofBirth;
|
||||
int gender;
|
||||
String nationalityID;
|
||||
String dateofBirthN;
|
||||
String emailAddress;
|
||||
String sourceType;
|
||||
String preferredLanguage;
|
||||
String marital;
|
||||
|
||||
Patientobject(
|
||||
{this.tempValue,
|
||||
this.patientIdentificationType,
|
||||
this.patientIdentificationNo,
|
||||
this.mobileNumber,
|
||||
this.patientOutSA,
|
||||
this.firstName,
|
||||
this.middleName,
|
||||
this.lastName,
|
||||
this.strDateofBirth,
|
||||
this.dateofBirth,
|
||||
this.gender,
|
||||
this.nationalityID,
|
||||
this.dateofBirthN,
|
||||
this.emailAddress,
|
||||
this.sourceType,
|
||||
this.preferredLanguage,
|
||||
this.marital});
|
||||
|
||||
Patientobject.fromJson(Map<String, dynamic> json) {
|
||||
tempValue = json['TempValue'];
|
||||
patientIdentificationType = json['PatientIdentificationType'];
|
||||
patientIdentificationNo = json['PatientIdentificationNo'];
|
||||
mobileNumber = json['MobileNumber'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
firstName = json['FirstName'];
|
||||
middleName = json['MiddleName'];
|
||||
lastName = json['LastName'];
|
||||
strDateofBirth = json['StrDateofBirth'];
|
||||
dateofBirth = json['DateofBirth'];
|
||||
gender = json['Gender'];
|
||||
nationalityID = json['NationalityID'];
|
||||
dateofBirthN = json['DateofBirthN'];
|
||||
emailAddress = json['EmailAddress'];
|
||||
sourceType = json['SourceType'];
|
||||
|
||||
preferredLanguage = json['PreferredLanguage'];
|
||||
marital = json['Marital'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['TempValue'] = this.tempValue;
|
||||
data['PatientIdentificationType'] = this.patientIdentificationType;
|
||||
data['PatientIdentificationNo'] = this.patientIdentificationNo;
|
||||
data['MobileNumber'] = this.mobileNumber;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['FirstName'] = this.firstName;
|
||||
data['MiddleName'] = this.middleName;
|
||||
data['LastName'] = this.lastName;
|
||||
data['StrDateofBirth'] = this.strDateofBirth;
|
||||
data['DateofBirth'] = this.dateofBirth;
|
||||
data['Gender'] = this.gender;
|
||||
data['NationalityID'] = this.nationalityID;
|
||||
data['DateofBirthN'] = this.dateofBirthN;
|
||||
data['EmailAddress'] = this.emailAddress;
|
||||
data['SourceType'] = this.sourceType;
|
||||
|
||||
data['PreferredLanguage'] = this.preferredLanguage;
|
||||
data['Marital'] = this.marital;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,104 @@
|
||||
class RegisteredAuthenticatedUserRequest {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
String voipToken;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
String deviceToken;
|
||||
String deviceType;
|
||||
String patientMobileNumber;
|
||||
String nationalID;
|
||||
int gender;
|
||||
int loginType;
|
||||
String mACAddress;
|
||||
int latitude;
|
||||
int longitude;
|
||||
|
||||
RegisteredAuthenticatedUserRequest(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.voipToken,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.deviceToken,
|
||||
this.deviceType,
|
||||
this.patientMobileNumber,
|
||||
this.nationalID,
|
||||
this.gender,
|
||||
this.loginType,
|
||||
this.mACAddress,
|
||||
this.latitude,
|
||||
this.longitude});
|
||||
|
||||
RegisteredAuthenticatedUserRequest.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'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
voipToken = json['VoipToken'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
deviceToken = json['DeviceToken'];
|
||||
deviceType = json['DeviceType'];
|
||||
patientMobileNumber = json['PatientMobileNumber'];
|
||||
nationalID = json['NationalID'];
|
||||
gender = json['Gender'];
|
||||
loginType = json['LoginType'];
|
||||
mACAddress = json['MACAddress'];
|
||||
latitude = json['Latitude'];
|
||||
longitude = json['Longitude'];
|
||||
}
|
||||
|
||||
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['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['VoipToken'] = this.voipToken;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['DeviceToken'] = this.deviceToken;
|
||||
data['DeviceType'] = this.deviceType;
|
||||
data['PatientMobileNumber'] = this.patientMobileNumber;
|
||||
data['NationalID'] = this.nationalID;
|
||||
data['Gender'] = this.gender;
|
||||
data['LoginType'] = this.loginType;
|
||||
data['MACAddress'] = this.mACAddress;
|
||||
data['Latitude'] = this.latitude;
|
||||
data['Longitude'] = this.longitude;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/client/base_app_client.dart';
|
||||
import 'package:diplomaticquarterapp/models/Authentication/select_device_imei_res.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/routes.dart';
|
||||
|
||||
class MyFamily extends StatefulWidget {
|
||||
@override
|
||||
_MyFamily createState() => _MyFamily();
|
||||
}
|
||||
|
||||
class _MyFamily extends State<MyFamily> {
|
||||
bool isLoading = true;
|
||||
@override
|
||||
void initState() {
|
||||
isLoading = true;
|
||||
// checkUser(context);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
appBarTitle: TranslationBase.of(context).myFamilyFiles,
|
||||
isShowAppBar: true,
|
||||
body: SingleChildScrollView(
|
||||
padding: EdgeInsets.all(20),
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
TabBar(
|
||||
tabs: [
|
||||
Tab(icon: Icon(Icons.directions_car)),
|
||||
Tab(icon: Icon(Icons.directions_transit)),
|
||||
],
|
||||
),
|
||||
TabBarView(
|
||||
children: [
|
||||
Icon(Icons.directions_car),
|
||||
Icon(Icons.directions_transit),
|
||||
],
|
||||
)
|
||||
],
|
||||
)));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,98 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/feedback/feedback_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class StatusFeedbackPage extends StatefulWidget {
|
||||
@override
|
||||
_StatusFeedbackPageState createState() => _StatusFeedbackPageState();
|
||||
}
|
||||
|
||||
class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<FeedbackViewModel>(
|
||||
onModelReady: (model) => model.getCOC(),
|
||||
builder: (_, model, widget) => AppScaffold(
|
||||
baseViewModel: model,
|
||||
body: Container(
|
||||
margin: EdgeInsets.only(top: 8.0,left: 8.0,right: 8.0,bottom: MediaQuery.of(context).size.height * 0.1 ),
|
||||
padding: EdgeInsets.all(15.0),
|
||||
child: ListView.builder(
|
||||
itemCount: model.cOCItemList.length,
|
||||
itemBuilder: (context, index) => Container(
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.rectangle,
|
||||
border: Border.all(color: Colors.white, width: 0.5),
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
color: Colors.white,
|
||||
),
|
||||
margin: EdgeInsets.all(4),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
SizedBox(height: 8,),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: <Widget>[
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Texts('${model.cOCItemList[index].cOCTitle}'),
|
||||
Texts(
|
||||
'Number :${model.cOCItemList[index].itemID}',
|
||||
variant: 'overline',
|
||||
),
|
||||
],
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Texts('${model.cOCItemList[index].status}'),
|
||||
Texts(
|
||||
'${model.cOCItemList[index].date}',
|
||||
variant: 'overline',
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
Texts('${model.cOCItemList[index].formType}'),
|
||||
Divider(height: 4.5,color: Colors.grey[500],)
|
||||
],
|
||||
),
|
||||
),
|
||||
)),
|
||||
),
|
||||
bottomSheet: Container(
|
||||
height: MediaQuery.of(context).size.height * 0.13,
|
||||
width: double.infinity,
|
||||
padding: EdgeInsets.all(8.0),
|
||||
child: Center(
|
||||
child: Container(
|
||||
height: MediaQuery.of(context).size.height * 0.1,
|
||||
width: MediaQuery.of(context).size.width * 0.8,
|
||||
child: Button(
|
||||
label: 'Search',
|
||||
loading: model.state == ViewState.BusyLocal,
|
||||
onTap: () {
|
||||
//TODO When come back
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,118 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:diplomaticquarterapp/pages/feedback/send_feedback_page.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'Status_feedback_page.dart';
|
||||
|
||||
class FeedbackHomePage extends StatefulWidget {
|
||||
@override
|
||||
_FeedbackHomePageState createState() => _FeedbackHomePageState();
|
||||
}
|
||||
|
||||
class _FeedbackHomePageState extends State<FeedbackHomePage>
|
||||
with SingleTickerProviderStateMixin {
|
||||
TabController _tabController;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_tabController = TabController(length: 2, vsync: this);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_tabController.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: 'Feedback',
|
||||
body: Scaffold(
|
||||
extendBodyBehindAppBar: true,
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size.fromHeight(65.0),
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
Positioned(
|
||||
bottom: 1,
|
||||
left: 0,
|
||||
right: 0,
|
||||
child: BackdropFilter(
|
||||
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
|
||||
child: Container(
|
||||
color: Theme.of(context)
|
||||
.scaffoldBackgroundColor
|
||||
.withOpacity(0.8),
|
||||
height: 70.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
Center(
|
||||
child: Container(
|
||||
height: 60.0,
|
||||
margin: EdgeInsets.only(top: 10.0),
|
||||
width: MediaQuery.of(context).size.width * 0.9,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: Theme.of(context).dividerColor,
|
||||
width: 0.7),
|
||||
),
|
||||
color: Colors.white),
|
||||
child: Center(
|
||||
child: TabBar(
|
||||
isScrollable: true,
|
||||
controller: _tabController,
|
||||
indicatorWeight: 5.0,
|
||||
indicatorSize: TabBarIndicatorSize.label,
|
||||
indicatorColor: Colors.red[800],
|
||||
labelColor: Theme.of(context).primaryColor,
|
||||
labelPadding:
|
||||
EdgeInsets.only(top: 4.0, left: 18.0, right: 18.0),
|
||||
unselectedLabelColor: Colors.grey[800],
|
||||
tabs: [
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.30,
|
||||
child: Center(
|
||||
child: Texts('Send'),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.30,
|
||||
child: Center(
|
||||
child: Texts('Status'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: TabBarView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
controller: _tabController,
|
||||
children: <Widget>[
|
||||
SendFeedbackPage(),
|
||||
StatusFeedbackPage()
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,418 @@
|
||||
import 'package:diplomaticquarterapp/widgets/others/rounded_container.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
||||
|
||||
class InsuranceApproval extends StatefulWidget {
|
||||
@override
|
||||
_InsuranceApprovalState createState() => _InsuranceApprovalState();
|
||||
}
|
||||
|
||||
class _InsuranceApprovalState extends State<InsuranceApproval> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<InsuranceViewModel>(
|
||||
onModelReady: (model) => model.getInsuranceApproval(),
|
||||
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase.of(context).approvals,
|
||||
body: SingleChildScrollView(
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: SizeConfig.screenWidth * 0.004,
|
||||
right: SizeConfig.screenWidth * 0.004,
|
||||
top: SizeConfig.screenWidth * 0.04,
|
||||
),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
width: double.infinity,
|
||||
height: SizeConfig.screenHeight * 0.09,
|
||||
color: Color(0xffEEEEEE),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
TranslationBase.of(context).totalApproval,
|
||||
style: TextStyle(
|
||||
color: Color(0xff60688B),
|
||||
fontSize: 19.0,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
if (model.insuranceApproval.length > 0)
|
||||
Container(
|
||||
width: SizeConfig.widthMultiplier * 18.0,
|
||||
height: SizeConfig.heightMultiplier * 2.8,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xffC5272D),
|
||||
borderRadius: BorderRadius.circular(19.0)),
|
||||
child: Center(
|
||||
child: Text(
|
||||
model.insuranceApproval[0].unUsedCount
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
color: Colors.white, fontSize: 19.0),
|
||||
),
|
||||
))
|
||||
],
|
||||
)),
|
||||
...List.generate(
|
||||
model.insuranceApproval.length,
|
||||
(index) => RoundedContainer(
|
||||
backgroundColor: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
ExpansionTile(
|
||||
title: Container(
|
||||
height: 120.0,
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
model.insuranceApproval[index]
|
||||
.patientDescription ==
|
||||
"In Patient"
|
||||
? Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xffB8372C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
16.0)),
|
||||
width: 95.0,
|
||||
padding:
|
||||
EdgeInsets.only(left: 11.5),
|
||||
child: Text(
|
||||
model.insuranceApproval[index]
|
||||
.patientDescription ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.patientDescription,
|
||||
style: TextStyle(
|
||||
color: Colors.white),
|
||||
),
|
||||
)
|
||||
: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xff505A5D),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
16.0)),
|
||||
width: 95.0,
|
||||
padding:
|
||||
EdgeInsets.only(left: 11.5),
|
||||
child: Text(
|
||||
model.insuranceApproval[index]
|
||||
.patientDescription ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.patientDescription,
|
||||
style: TextStyle(
|
||||
color: Colors.white),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.0),
|
||||
child: Text(
|
||||
model.insuranceApproval[index]
|
||||
.clinicName,
|
||||
style: TextStyle(
|
||||
fontSize: 20.0,
|
||||
color: Color(0xff60686B),
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
Text(
|
||||
model.insuranceApproval[index]
|
||||
.doctorName,
|
||||
style: TextStyle(
|
||||
fontSize: 17.0,
|
||||
fontStyle: FontStyle.italic),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 12.0, horizontal: 12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
TranslationBase.of(context)
|
||||
.approvalNo +
|
||||
model.insuranceApproval[index]
|
||||
.approvalNo
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 18.0,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
TranslationBase.of(context)
|
||||
.procedureStatus +
|
||||
model.insuranceApproval[index]
|
||||
.approvalStatusDescption,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 17.5),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
TranslationBase.of(context)
|
||||
.unusedCount +
|
||||
model.insuranceApproval[index]
|
||||
.unUsedCount
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
// Text(
|
||||
// 'Company Name: ' +
|
||||
// model.insuranceApproval[index]
|
||||
// .companyName ==
|
||||
// null
|
||||
// ? '000'
|
||||
// : model
|
||||
// .insuranceApproval[index].companyName,
|
||||
// style: TextStyle(
|
||||
// fontSize: 17.5,
|
||||
// fontWeight: FontWeight.w600),
|
||||
// ),
|
||||
Text(
|
||||
TranslationBase.of(context)
|
||||
.companyName,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 17.5,
|
||||
),
|
||||
),
|
||||
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
TranslationBase.of(context)
|
||||
.receiptOn +
|
||||
convertDateFormat(model
|
||||
.insuranceApproval[index]
|
||||
.rceiptOn),
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
TranslationBase.of(context)
|
||||
.expiryDate +
|
||||
convertDateFormat(model
|
||||
.insuranceApproval[index]
|
||||
.expiryDate),
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 55.0,
|
||||
thickness: 1.2,
|
||||
),
|
||||
IntrinsicHeight(
|
||||
child: Row(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Text(TranslationBase.of(
|
||||
context)
|
||||
.procedureName),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails
|
||||
.procedureName,
|
||||
style: TextStyle(
|
||||
fontWeight:
|
||||
FontWeight.w600,
|
||||
fontSize: 15.5),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
VerticalDivider(
|
||||
width: 10.0,
|
||||
thickness: 1.2,
|
||||
color: Colors.black,
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Text(TranslationBase.of(
|
||||
context)
|
||||
.procedureStatus),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails
|
||||
.status,
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight:
|
||||
FontWeight
|
||||
.w600),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
VerticalDivider(
|
||||
width: 2.3,
|
||||
thickness: 1.2,
|
||||
color: Colors.black,
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Text(TranslationBase.of(
|
||||
context)
|
||||
.usageStatus),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails
|
||||
.isInvoicedDesc,
|
||||
style: TextStyle(
|
||||
fontWeight:
|
||||
FontWeight.w600,
|
||||
fontSize: 17.5),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
)),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
convertDateFormat(String Date) {
|
||||
const start = "/Date(";
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = Date.indexOf(start);
|
||||
final endIndex = Date.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(
|
||||
int.parse(Date.substring(startIndex + start.length, endIndex)));
|
||||
String newDate = date.year.toString() +
|
||||
"-" +
|
||||
date.month.toString().padLeft(2, '0') +
|
||||
"-" +
|
||||
date.day.toString().padLeft(2, '0');
|
||||
|
||||
return newDate.toString();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,153 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/rounded_container.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
||||
|
||||
class InsuranceCard extends StatefulWidget {
|
||||
@override
|
||||
_InsuranceCardState createState() => _InsuranceCardState();
|
||||
}
|
||||
|
||||
class _InsuranceCardState extends State<InsuranceCard> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<InsuranceViewModel>(
|
||||
onModelReady: (model) => model.getInsurance(),
|
||||
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase.of(context).insuranceCards,
|
||||
body: Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: SizeConfig.screenWidth * 0.004,
|
||||
right: SizeConfig.screenWidth * 0.004,
|
||||
top: SizeConfig.screenWidth * 0.04),
|
||||
child: ListView.builder(
|
||||
itemCount: model.insurance == null ? 0 : model.insurance.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return RoundedContainer(
|
||||
backgroundColor: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
ExpansionTile(
|
||||
title: Container(
|
||||
height: 65.0,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 15.0),
|
||||
child: Texts(
|
||||
model.insurance[index].groupName,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
children: <Widget>[
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 0.5,
|
||||
),
|
||||
Texts(
|
||||
TranslationBase.of(context).companyName +
|
||||
model.insurance[index].companyName,
|
||||
fontSize: 20.0,
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 0.5,
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
TranslationBase.of(context).category +
|
||||
model.insurance[index].subCategoryDesc,
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
Text(
|
||||
TranslationBase.of(context).expirationDate +
|
||||
convertDateFormat(
|
||||
model.insurance[index].cardValidTo),
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
Text(
|
||||
TranslationBase.of(context).patientCard +
|
||||
model.insurance[index].patientCardID,
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
Text(
|
||||
TranslationBase.of(context).policyNumber +
|
||||
model
|
||||
.insurance[index].insurancePolicyNumber,
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
],
|
||||
),
|
||||
Column(
|
||||
children: <Widget>[
|
||||
model.insurance[index].isActive == true
|
||||
? Text('Active',
|
||||
style: TextStyle(
|
||||
color: Colors.green,
|
||||
fontWeight: FontWeight.w900,
|
||||
fontSize: 17.9))
|
||||
: Text('Not Active',
|
||||
style: TextStyle(
|
||||
color: Colors.red,
|
||||
fontWeight: FontWeight.w900,
|
||||
fontSize: 17.9))
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 14.5,
|
||||
),
|
||||
if (model.insurance[index].isActive == true)
|
||||
Container(
|
||||
child: Button(
|
||||
label: TranslationBase.of(context).seeDetails,
|
||||
),
|
||||
width: 400.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
convertDateFormat(String exDate) {
|
||||
const start = "/Date(";
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = exDate.indexOf(start);
|
||||
final endIndex = exDate.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(
|
||||
int.parse(exDate.substring(startIndex + start.length, endIndex)));
|
||||
String newDate = date.year.toString() +
|
||||
"-" +
|
||||
date.month.toString().padLeft(2, '0') +
|
||||
"-" +
|
||||
date.day.toString().padLeft(2, '0');
|
||||
|
||||
return newDate.toString();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,311 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/rounded_container.dart';
|
||||
import 'package:rating_bar/rating_bar.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
|
||||
class InsuranceUpdate extends StatefulWidget {
|
||||
@override
|
||||
_InsuranceUpdateState createState() => _InsuranceUpdateState();
|
||||
}
|
||||
|
||||
class _InsuranceUpdateState extends State<InsuranceUpdate>
|
||||
with SingleTickerProviderStateMixin {
|
||||
TabController _tabController;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_tabController = TabController(length: 2, vsync: this);
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_tabController.dispose();
|
||||
}
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<InsuranceViewModel>(
|
||||
onModelReady: (model) => model.getInsuranceUpdated(),
|
||||
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
appBarTitle: 'Insurance Cards',
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
body: Scaffold(
|
||||
extendBodyBehindAppBar: true,
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size.fromHeight(70.0),
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
Center(
|
||||
child: Container(
|
||||
height: 60.0,
|
||||
margin: EdgeInsets.only(top: 10.0),
|
||||
width: MediaQuery.of(context).size.width * 1.9,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: Theme.of(context).dividerColor,
|
||||
width: 5.7,
|
||||
),
|
||||
),
|
||||
color: Colors.white,
|
||||
),
|
||||
child: Center(
|
||||
child: TabBar(
|
||||
controller: _tabController,
|
||||
isScrollable: true,
|
||||
indicatorWeight: 4.0,
|
||||
indicatorColor: Colors.red,
|
||||
labelColor: Theme.of(context).primaryColor,
|
||||
labelPadding: EdgeInsets.symmetric(
|
||||
horizontal: 13.0, vertical: 2.0),
|
||||
unselectedLabelColor: Colors.grey,
|
||||
tabs: <Widget>[
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.35,
|
||||
child: Center(
|
||||
child: Texts('Card'),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.35,
|
||||
child: Center(
|
||||
child: Texts('History'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: TabBarView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
controller: _tabController,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
child: ListView.builder(
|
||||
itemCount: model.insuranceUpdate == null
|
||||
? 0
|
||||
: model.insuranceUpdate.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return Container(
|
||||
margin: EdgeInsets.all(10.0),
|
||||
child: Card(
|
||||
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
|
||||
color: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
child: Container(
|
||||
width: MediaQuery.of(context).size.width,
|
||||
padding: EdgeInsets.all(10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
Flex(
|
||||
direction: Axis.horizontal,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 3,
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 2.0,
|
||||
left: 10.0,
|
||||
right: 20.0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text("TAMER FANASHEH ",
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
'File No.' +
|
||||
model
|
||||
.insuranceUpdate[
|
||||
index]
|
||||
.patientID
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
model.insuranceUpdate[index]
|
||||
.createdOn,
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Container(
|
||||
// height: MediaQuery.of(context).size.height * 0.12,
|
||||
margin: EdgeInsets.only(top: 20.0),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
child: Button(
|
||||
label: 'Fetch',
|
||||
),
|
||||
height: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.8,
|
||||
width:
|
||||
SizeConfig.screenWidth *
|
||||
4.2,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
Container(
|
||||
child: ListView.builder(
|
||||
itemCount: model.insuranceUpdate == null
|
||||
? 0
|
||||
: model.insuranceUpdate.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return Container(
|
||||
margin: EdgeInsets.all(10.0),
|
||||
child: Card(
|
||||
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
|
||||
color: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
child: Container(
|
||||
width: MediaQuery.of(context).size.width,
|
||||
padding: EdgeInsets.all(10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
Flex(
|
||||
direction: Axis.horizontal,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 3,
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 2.0,
|
||||
left: 10.0,
|
||||
right: 20.0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text("TAMER FANASHEH ",
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
'File No.' +
|
||||
model
|
||||
.insuranceUpdate[
|
||||
index]
|
||||
.patientID
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
model.insuranceUpdate[index]
|
||||
.createdOn,
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Container(
|
||||
// height: MediaQuery.of(context).size.height * 0.12,
|
||||
margin: EdgeInsets.only(top: 20.0),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Image.asset(
|
||||
"assets/images/new-design/confirm_button.png",
|
||||
width: 30.0,
|
||||
height: 30.0),
|
||||
Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 13.5, left: 2.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceUpdate[
|
||||
index]
|
||||
.statusDescription,
|
||||
textAlign:
|
||||
TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 12.0)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
////////////////
|
||||
],
|
||||
))
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/medical/labs_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/medical/laboratory_result_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class LaboratoryResultPage extends StatelessWidget {
|
||||
final PatientLabOrders patientLabOrders;
|
||||
|
||||
LaboratoryResultPage({Key key, this.patientLabOrders});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<LabsViewModel>(
|
||||
onModelReady: (model) => model.getLaboratoryResult(
|
||||
invoiceNo: patientLabOrders.invoiceNo,
|
||||
clinicID: patientLabOrders.clinicID,
|
||||
projectID: patientLabOrders.projectID,
|
||||
orderNo: patientLabOrders.orderNo),
|
||||
builder: (_, model, widget) => AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: 'Laboratory result',
|
||||
baseViewModel: model,
|
||||
body: Scaffold(
|
||||
body: ListView.builder(
|
||||
itemBuilder: (context, index) => LaboratoryResultWidget(
|
||||
onTap: () => model.sendLabReportEmail(patientLabOrder: patientLabOrders),
|
||||
billNo: model.patientLabSpecialResult[index].invoiceNo,
|
||||
details: model.patientLabSpecialResult[index].resultDataHTML,
|
||||
),
|
||||
itemCount: model.patientLabSpecialResult.length,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,104 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/filter_type.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/medical/labs_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'laboratory_result_page.dart';
|
||||
|
||||
class LabsHomePage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<LabsViewModel>(
|
||||
onModelReady: (model) => model.getLabs(),
|
||||
builder: (context, LabsViewModel model, widget) => AppScaffold(
|
||||
baseViewModel: model,
|
||||
isShowAppBar: true,
|
||||
appBarTitle: 'Lab Orders',
|
||||
body: SingleChildScrollView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
child: FractionallySizedBox(
|
||||
widthFactor: 1.0,
|
||||
child: Center(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: InkWell(
|
||||
onTap: () => model.setFilterType(FilterType.Clinic),
|
||||
child: ListTile(
|
||||
title: const Text('Clinic'),
|
||||
leading: Radio(
|
||||
value: FilterType.Clinic,
|
||||
groupValue: model.filterType,
|
||||
activeColor: Colors.red[800],
|
||||
onChanged: (FilterType value) {
|
||||
model.setFilterType(value);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: InkWell(
|
||||
onTap: () => model.setFilterType(FilterType.Hospital),
|
||||
child: ListTile(
|
||||
title: const Text('Hospital'),
|
||||
leading: Radio(
|
||||
value: FilterType.Hospital,
|
||||
groupValue: model.filterType,
|
||||
activeColor: Colors.red[800],
|
||||
onChanged: (FilterType value) =>
|
||||
model.setFilterType(value),
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
...List.generate(
|
||||
model.patientLabOrdersList.length,
|
||||
(index) => AppExpandableNotifier(
|
||||
title: model.patientLabOrdersList[index].filterName,
|
||||
bodyWidget: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: model
|
||||
.patientLabOrdersList[index].patientLabOrdersList
|
||||
.map((labOrder) {
|
||||
return DoctorCard(
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
FadePage(
|
||||
page: LaboratoryResultPage(
|
||||
patientLabOrders: labOrder,
|
||||
),
|
||||
),
|
||||
),
|
||||
name: labOrder.doctorName,
|
||||
profileUrl: labOrder.doctorImageURL,
|
||||
subName: 'Bill No : ${labOrder.invoiceNo}',
|
||||
date: DateUtil.getMonthDayYearDateFormatted(
|
||||
labOrder.orderDate),
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,100 @@
|
||||
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:maps_launcher/maps_launcher.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class PharmacyForPrescriptionsPage extends StatelessWidget {
|
||||
final PrescriptionReport prescriptionReport;
|
||||
|
||||
PharmacyForPrescriptionsPage({Key key, this.prescriptionReport});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<PrescriptionsViewModel>(
|
||||
onModelReady: (model) => model.getListPharmacyForPrescriptions(itemId: prescriptionReport.itemID),
|
||||
builder: (_, model, widget) => AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: 'Title',
|
||||
baseViewModel: model,
|
||||
body: ListView.builder(
|
||||
itemBuilder: (context, index) => Container(
|
||||
width: double.infinity,
|
||||
margin: EdgeInsets.only(top: 10, left: 10, right: 10),
|
||||
padding: EdgeInsets.all(8.0),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(10.0),
|
||||
),
|
||||
border: Border.all(color: Colors.grey[200], width: 0.5),
|
||||
),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
child: Image.network(
|
||||
model.pharmacyPrescriptionsList[index].projectImageURL,
|
||||
fit: BoxFit.cover,
|
||||
width: 60,
|
||||
height: 70,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Texts(model.pharmacyPrescriptionsList[index]
|
||||
.locationDescription),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Texts(model.pharmacyPrescriptionsList[index].cityName),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
MapsLauncher.launchCoordinates(
|
||||
double.parse(
|
||||
model.pharmacyPrescriptionsList[index].latitude),
|
||||
double.parse(
|
||||
model.pharmacyPrescriptionsList[index].longitude));
|
||||
},
|
||||
child: Icon(
|
||||
Icons.pin_drop,
|
||||
size: 18,
|
||||
color: Colors.red[900],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 15,
|
||||
),
|
||||
InkWell(
|
||||
onTap: Feedback.wrapForTap((){
|
||||
launch("tel://${model.pharmacyPrescriptionsList[index].phoneNumber}");
|
||||
},context),
|
||||
child: Container(
|
||||
child: Icon(
|
||||
Icons.call,
|
||||
size: 18,
|
||||
color: Colors.red[900],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
itemCount: model.pharmacyPrescriptionsList.length,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class PrescriptionsHistory extends StatefulWidget {
|
||||
@override
|
||||
_PrescriptionsHistoryState createState() => _PrescriptionsHistoryState();
|
||||
}
|
||||
|
||||
class _PrescriptionsHistoryState extends State<PrescriptionsHistory> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,108 @@
|
||||
import 'package:diplomaticquarterapp/core/model/prescriptions/prescriptions_order.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/BottomButton.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PrescriptionsHistoryDetailsPage extends StatelessWidget {
|
||||
final PrescriptionsOrder prescriptionsOrder;
|
||||
|
||||
PrescriptionsHistoryDetailsPage({Key key,this.prescriptionsOrder});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<PrescriptionsViewModel>(
|
||||
onModelReady: (model) => model.getPrescriptionReportEnh(prescriptionsOrder: prescriptionsOrder),
|
||||
builder: (_,model,widget) => AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: 'Order History',
|
||||
baseViewModel: model,
|
||||
body: SingleChildScrollView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
child: Container(
|
||||
margin: EdgeInsets.all(15.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Table(
|
||||
border: TableBorder.symmetric(
|
||||
inside: BorderSide(width: 0.5),
|
||||
outside: BorderSide(width: 0.5)),
|
||||
children: [
|
||||
TableRow(
|
||||
children: [
|
||||
Container(
|
||||
height: 50,
|
||||
color: Colors.white,
|
||||
child: Center(child: Texts('Order No'),),
|
||||
),
|
||||
Container(
|
||||
height: 50,
|
||||
color: Colors.white,
|
||||
child: Center(child: Texts('Date'),),
|
||||
),
|
||||
]
|
||||
),
|
||||
TableRow(
|
||||
children: [
|
||||
Container(
|
||||
height: 50,
|
||||
color: Colors.white,
|
||||
child: Center(child: Texts('12655'),),
|
||||
),
|
||||
Container(
|
||||
height: 50,
|
||||
color: Colors.white,
|
||||
child: Center(child: Texts('2020-7-15'),),
|
||||
),
|
||||
]
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(height: 15,),
|
||||
...List.generate(model.prescriptionReportEnhList.length, (index) => Container(
|
||||
margin: EdgeInsets.all(8.0),
|
||||
color: Colors.white,
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
child: Image.network(
|
||||
model.prescriptionReportEnhList[index].imageSRCUrl,
|
||||
fit: BoxFit.cover,
|
||||
width: 60,
|
||||
height: 70,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Texts(model.prescriptionReportEnhList[index]
|
||||
.itemDescription),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
],
|
||||
),
|
||||
))
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
bottomSheet: Container(
|
||||
//padding: EdgeInsets.all(8.0),
|
||||
// margin: EdgeInsets.all(8.0),
|
||||
child: BottomButton(label: 'Cancel order',color: Colors.red[300],),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,83 @@
|
||||
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_history_details_page.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PrescriptionsHistoryPage extends StatelessWidget {
|
||||
final PrescriptionsViewModel prescriptionsViewModel;
|
||||
|
||||
PrescriptionsHistoryPage({Key key, this.prescriptionsViewModel});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
baseViewModel: prescriptionsViewModel,
|
||||
body: ListView.builder(
|
||||
physics: BouncingScrollPhysics(),
|
||||
itemBuilder: (context, index) => InkWell(
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
FadePage(
|
||||
page: PrescriptionsHistoryDetailsPage(
|
||||
prescriptionsOrder:
|
||||
prescriptionsViewModel.prescriptionsHistory[index],
|
||||
),
|
||||
),
|
||||
),
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(15.0),
|
||||
margin: EdgeInsets.all(8.0),
|
||||
decoration:
|
||||
BoxDecoration(shape: BoxShape.rectangle, color: Colors.white),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Texts(
|
||||
DateUtil.getDayMonthYearHourMinuteDateFormatted(
|
||||
prescriptionsViewModel
|
||||
.prescriptionsHistory[index].createdOn),
|
||||
fontWeight: FontWeight.w300,
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Texts(
|
||||
'Order No ${prescriptionsViewModel.prescriptionsHistory[index].iD}'),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Texts(
|
||||
'${prescriptionsViewModel.prescriptionsHistory[index].descriptionN}'),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Texts(
|
||||
'Order Details',
|
||||
fontWeight: FontWeight.w300,
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_forward_ios,
|
||||
size: 25,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
itemCount: prescriptionsViewModel.prescriptionsHistory.length,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,67 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/medical/radiology_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class RadiologyDetailsPage extends StatelessWidget {
|
||||
final FinalRadiology finalRadiology;
|
||||
|
||||
RadiologyDetailsPage({Key key, this.finalRadiology});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<RadiologyViewModel>(
|
||||
onModelReady: (model) => model.getRadImageURL(
|
||||
projectId: finalRadiology.projectID,
|
||||
lineItem: finalRadiology.invoiceLineItemNo,
|
||||
invoiceNo: finalRadiology.invoiceNo),
|
||||
builder: (_, model, widget) => AppScaffold(
|
||||
appBarTitle: 'Radiology Report',
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
body: SingleChildScrollView(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Text('${finalRadiology.reportData}',textAlign: TextAlign.center,),
|
||||
],
|
||||
),
|
||||
),
|
||||
bottomSheet: Container(
|
||||
width: double.infinity,
|
||||
height: MediaQuery.of(context).size.height * 0.2,
|
||||
color: Colors.grey[100],
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Divider(),
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.8,
|
||||
child: Button(
|
||||
onTap: () {
|
||||
launch(model.radImageURL);
|
||||
},
|
||||
label: 'Open Radio Image',
|
||||
backgroundColor: Colors.grey[800],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.8,
|
||||
child: Button(
|
||||
onTap: () => model.sendRadReportEmail(
|
||||
finalRadiology: finalRadiology),
|
||||
label: 'Send Copy',
|
||||
loading: model.state == ViewState.BusyLocal,
|
||||
backgroundColor: Colors.red[800],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
)),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,102 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/filter_type.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/medical/radiology_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/radiology/radiology_details_page.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class RadiologyHomePage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<RadiologyViewModel>(
|
||||
onModelReady: (model) => model.getPatientRadOrders(),
|
||||
builder: (_, model, widget) => AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: 'Radiology',
|
||||
baseViewModel: model,
|
||||
body: FractionallySizedBox(
|
||||
widthFactor: 1.0,
|
||||
child: ListView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
children: <Widget>[
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: InkWell(
|
||||
onTap: () =>
|
||||
model.setFilterType(FilterType.Clinic),
|
||||
child: ListTile(
|
||||
title: const Text('Clinic'),
|
||||
leading: Radio(
|
||||
value: FilterType.Clinic,
|
||||
groupValue: model.filterType,
|
||||
activeColor: Colors.red[800],
|
||||
onChanged: (FilterType value) {
|
||||
model.setFilterType(value);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: InkWell(
|
||||
onTap: () => model
|
||||
.setFilterType(FilterType.Hospital),
|
||||
child: ListTile(
|
||||
title: const Text('Hospital'),
|
||||
leading: Radio(
|
||||
value: FilterType.Hospital,
|
||||
groupValue: model.filterType,
|
||||
activeColor: Colors.red[800],
|
||||
onChanged: (FilterType value) {
|
||||
model.setFilterType(value);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
...List.generate(
|
||||
model.finalRadiologyList.length,
|
||||
(index) => AppExpandableNotifier(
|
||||
title: model
|
||||
.finalRadiologyList[index].filterName,
|
||||
bodyWidget: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: model
|
||||
.finalRadiologyList[index].finalRadiologyList
|
||||
.map((radiology) {
|
||||
return InkWell(
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
FadePage(
|
||||
page: RadiologyDetailsPage(finalRadiology: radiology,),
|
||||
),
|
||||
),
|
||||
child: DoctorCard(
|
||||
name: radiology.doctorName,
|
||||
profileUrl: radiology.doctorImageURL,
|
||||
subName: '${radiology.projectName} \nBill No ${radiology.invoiceNo}',
|
||||
date: DateUtil.getMonthDayYearDateFormatted(
|
||||
radiology.orderDate),
|
||||
),
|
||||
);
|
||||
}).toList(),
|
||||
)),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,141 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:feather_icons_flutter/feather_icons_flutter.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
|
||||
class ImageOptions {
|
||||
static showImageOptions(BuildContext context, Function(String) image) {
|
||||
showModalBottomSheet(
|
||||
backgroundColor: Colors.transparent,
|
||||
context: context,
|
||||
builder: (BuildContext bc) {
|
||||
return _BottomSheet(
|
||||
children: <Widget>[
|
||||
_BottomSheetItem(
|
||||
title: "Select file souse",
|
||||
),
|
||||
_BottomSheetItem(
|
||||
title: "Gallery",
|
||||
icon: FeatherIcons.image,
|
||||
onTap: () async {
|
||||
File _image =
|
||||
await ImagePicker.pickImage(source: ImageSource.gallery);
|
||||
String fileName = _image.path;
|
||||
final bytes = File(fileName).readAsBytesSync();
|
||||
String base64Encode = base64.encode(bytes);
|
||||
if (base64Encode != null) {
|
||||
image(base64Encode);
|
||||
}
|
||||
},
|
||||
),
|
||||
_BottomSheetItem(
|
||||
title: "Camera",
|
||||
icon: FeatherIcons.camera,
|
||||
onTap: () async {
|
||||
File _image =
|
||||
await ImagePicker.pickImage(source: ImageSource.camera);
|
||||
String fileName = _image.path;
|
||||
final bytes = File(fileName).readAsBytesSync();
|
||||
String base64Encode = base64.encode(bytes);
|
||||
if (base64Encode != null) {
|
||||
image(base64Encode);
|
||||
}
|
||||
},
|
||||
),
|
||||
_BottomSheetItem(
|
||||
title: "Cancel",
|
||||
onTap: (){},
|
||||
)
|
||||
],
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class _BottomSheet extends StatelessWidget {
|
||||
final List<Widget> children;
|
||||
|
||||
_BottomSheet({Key key, @required this.children}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 12.0),
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(context).backgroundColor,
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(16.0), topRight: Radius.circular(16.0))),
|
||||
child: SafeArea(
|
||||
top: false,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(context).dividerColor,
|
||||
borderRadius: BorderRadius.circular(3.0)),
|
||||
width: 40.0,
|
||||
height: 6.0,
|
||||
),
|
||||
...children
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _BottomSheetItem extends StatelessWidget {
|
||||
final Function onTap;
|
||||
final IconData icon;
|
||||
final String title;
|
||||
final ITEM_COLOR color;
|
||||
|
||||
_BottomSheetItem(
|
||||
{Key key,
|
||||
this.onTap,
|
||||
@required this.title,
|
||||
this.icon,
|
||||
this.color = ITEM_COLOR.primary})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
if (onTap != null) {
|
||||
Navigator.pop(context);
|
||||
onTap();
|
||||
}
|
||||
},
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 18.0, vertical: 18.0),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
if (icon != null)
|
||||
Icon(
|
||||
icon,
|
||||
color: color == ITEM_COLOR.error
|
||||
? Theme.of(context).errorColor
|
||||
: Theme.of(context).primaryColor,
|
||||
size: 18.0,
|
||||
),
|
||||
if (icon != null) SizedBox(width: 24.0),
|
||||
Texts(
|
||||
title ?? "",
|
||||
style: "bodyText2",
|
||||
color: color == ITEM_COLOR.error
|
||||
? Theme.of(context).errorColor
|
||||
: null,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
enum ITEM_COLOR { primary, error }
|
||||
@ -0,0 +1,143 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../text.dart';
|
||||
|
||||
class LaboratoryResultWidget extends StatefulWidget {
|
||||
final GestureTapCallback onTap;
|
||||
final String billNo;
|
||||
final String details;
|
||||
|
||||
const LaboratoryResultWidget({Key key, this.onTap, this.billNo, this.details})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
_LaboratoryResultWidgetState createState() => _LaboratoryResultWidgetState();
|
||||
}
|
||||
|
||||
class _LaboratoryResultWidgetState extends State<LaboratoryResultWidget> {
|
||||
bool _isShowMore = false;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
margin: EdgeInsets.all(15),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
margin: EdgeInsets.all(15),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.rectangle,
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(5.0),
|
||||
)),
|
||||
padding: EdgeInsets.all(10.0),
|
||||
margin: EdgeInsets.only(left: 5, right: 5),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Texts('Bill No'),
|
||||
Texts(widget.billNo),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: widget.onTap,
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(left: 5, right: 5),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.rectangle,
|
||||
color: Colors.red[800],
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(5.0),
|
||||
)),
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
Icons.email,
|
||||
color: Colors.white,
|
||||
),
|
||||
Texts(
|
||||
'Send a copy',
|
||||
color: Colors.white,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
setState(() {
|
||||
_isShowMore = !_isShowMore;
|
||||
});
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(10.0),
|
||||
margin: EdgeInsets.only(left: 5, right: 5),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.rectangle,
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(5.0),
|
||||
)),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Expanded(child: Texts('Result')),
|
||||
Container(
|
||||
width: 25,
|
||||
height: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle, color: Colors.red[900]),
|
||||
child: Icon(
|
||||
_isShowMore
|
||||
? Icons.keyboard_arrow_up
|
||||
: Icons.keyboard_arrow_down,
|
||||
color: Colors.white,
|
||||
size: 22,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
if (_isShowMore)
|
||||
AnimatedContainer(
|
||||
padding: EdgeInsets.all(10.0),
|
||||
margin: EdgeInsets.only(left: 5, right: 5),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.rectangle,
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.only(
|
||||
bottomLeft: Radius.circular(5.0),
|
||||
bottomRight: Radius.circular(5.0),
|
||||
)),
|
||||
duration: Duration(milliseconds: 7000),
|
||||
child: Text(widget.details?? 'No Data'),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue