improvements-test
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 1.2 MiB |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<g id="Group_1261" data-name="Group 1261" transform="translate(-148.52 -172.52)">
|
||||
<path id="Path_1724" data-name="Path 1724" d="M9,0a9,9,0,0,1,9,9,9.18,9.18,0,0,1-1.863,5.483A8.844,8.844,0,0,1,9,18,9,9,0,0,1,9,0Z" transform="translate(148.52 172.52)" fill="#e6b71b"/>
|
||||
<path id="hourglass_2_" data-name="hourglass (2)" d="M10.865,10.178H10.4V8.663a2.662,2.662,0,0,0-.88-1.977l-.783-.7a.578.578,0,0,1,0-.86l.783-.7a2.665,2.665,0,0,0,.88-1.978V.925h.463a.463.463,0,0,0,0-.925h-7.4a.463.463,0,0,0,0,.925h.463V2.439a2.662,2.662,0,0,0,.88,1.977l.783.7a.578.578,0,0,1,0,.86l-.783.7a2.665,2.665,0,0,0-.88,1.978v1.514H3.463a.463.463,0,1,0,0,.925h7.4a.463.463,0,0,0,0-.925ZM5.313,8.711a1.264,1.264,0,0,1,.373-.9L6.918,6.578a.347.347,0,0,1,.491,0L8.642,7.811a1.264,1.264,0,0,1,.373.9v1.467h-3.7Z" transform="translate(150.356 175.968)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 947 B |
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<g id="Group_1261" data-name="Group 1261" transform="translate(-148.52 -172.52)">
|
||||
<path id="Path_1724" data-name="Path 1724" d="M9,0a9,9,0,0,1,9,9,9.18,9.18,0,0,1-1.863,5.483A8.844,8.844,0,0,1,9,18,9,9,0,0,1,9,0Z" transform="translate(148.52 172.52)" fill="#5ab145"/>
|
||||
<g id="check_4_" data-name="check (4)" transform="translate(151.64 177.596)">
|
||||
<path id="Path_1722" data-name="Path 1722" d="M10.35,68.552l-5.79,5.79L1.411,71.193,0,72.6l4.56,4.56,7.2-7.2Z" transform="translate(0 -68.552)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 627 B |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 147 KiB |
@ -0,0 +1,40 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "864393916058",
|
||||
"firebase_url": "https://diplomaticquarter-d2385.firebaseio.com",
|
||||
"project_id": "diplomaticquarter-d2385",
|
||||
"storage_bucket": "diplomaticquarter-d2385.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:864393916058:android:5b5a65cd6d8c18b4b97923",
|
||||
"android_client_info": {
|
||||
"package_name": "com.cloud.diplomaticquarterapp"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "864393916058-tphjrn8j39ntevt32ekcvmll8aue7qql.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyBdV3mos1BPhUzNKCj2KANJtiO3o2zh9IM"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "864393916058-tphjrn8j39ntevt32ekcvmll8aue7qql.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "815750722565",
|
||||
"firebase_url": "https://api-project-815750722565.firebaseio.com",
|
||||
"project_id": "api-project-815750722565",
|
||||
"storage_bucket": "api-project-815750722565.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063",
|
||||
"android_client_info": {
|
||||
"package_name": "com.ejada.hmg"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyDUfg6AKM1-00WyzpvLImUBC46wFrq9-qw"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package io.flutter.plugins;
|
||||
|
||||
import io.flutter.plugin.common.PluginRegistry;
|
||||
import com.huawei.hms.flutter.location.LocationPlugin;
|
||||
|
||||
/**
|
||||
* Generated file. Do not edit.
|
||||
*/
|
||||
public final class GeneratedPluginRegistrant {
|
||||
public static void registerWith(PluginRegistry registry) {
|
||||
if (alreadyRegisteredWith(registry)) {
|
||||
return;
|
||||
}
|
||||
LocationPlugin.registerWith(registry.registrarFor("com.huawei.hms.flutter.location.LocationPlugin"));
|
||||
}
|
||||
|
||||
private static boolean alreadyRegisteredWith(PluginRegistry registry) {
|
||||
final String key = GeneratedPluginRegistrant.class.getCanonicalName();
|
||||
if (registry.hasPlugin(key)) {
|
||||
return true;
|
||||
}
|
||||
registry.registrarFor(key);
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
sdk.dir=C:\\Users\\sultan.khan\\AppData\\Local\\Android\\Sdk
|
||||
flutter.sdk=C:\\Program Files\\flutter
|
@ -0,0 +1,14 @@
|
||||
// This is a generated file; do not edit or check into version control.
|
||||
FLUTTER_ROOT=C:\Program Files\flutter
|
||||
FLUTTER_APPLICATION_PATH=C:\Projects\DQ\hms-plugins\flutter-hms-location
|
||||
FLUTTER_TARGET=lib\main.dart
|
||||
FLUTTER_BUILD_DIR=build
|
||||
SYMROOT=${SOURCE_ROOT}/../build\ios
|
||||
OTHER_LDFLAGS=$(inherited) -framework Flutter
|
||||
FLUTTER_FRAMEWORK_DIR=C:\Program Files\flutter\bin\cache\artifacts\engine\ios
|
||||
FLUTTER_BUILD_NAME=5.0.0
|
||||
FLUTTER_BUILD_NUMBER=301
|
||||
DART_OBFUSCATION=false
|
||||
TRACK_WIDGET_CREATION=false
|
||||
TREE_SHAKE_ICONS=false
|
||||
PACKAGE_CONFIG=.packages
|
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
# This is a generated file; do not edit or check into version control.
|
||||
export "FLUTTER_ROOT=C:\Program Files\flutter"
|
||||
export "FLUTTER_APPLICATION_PATH=C:\Projects\DQ\hms-plugins\flutter-hms-location"
|
||||
export "FLUTTER_TARGET=lib\main.dart"
|
||||
export "FLUTTER_BUILD_DIR=build"
|
||||
export "SYMROOT=${SOURCE_ROOT}/../build\ios"
|
||||
export "OTHER_LDFLAGS=$(inherited) -framework Flutter"
|
||||
export "FLUTTER_FRAMEWORK_DIR=C:\Program Files\flutter\bin\cache\artifacts\engine\ios"
|
||||
export "FLUTTER_BUILD_NAME=5.0.0"
|
||||
export "FLUTTER_BUILD_NUMBER=301"
|
||||
export "DART_OBFUSCATION=false"
|
||||
export "TRACK_WIDGET_CREATION=false"
|
||||
export "TREE_SHAKE_ICONS=false"
|
||||
export "PACKAGE_CONFIG=.packages"
|
@ -0,0 +1,17 @@
|
||||
//
|
||||
// Generated file. Do not edit.
|
||||
//
|
||||
|
||||
#ifndef GeneratedPluginRegistrant_h
|
||||
#define GeneratedPluginRegistrant_h
|
||||
|
||||
#import <Flutter/Flutter.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface GeneratedPluginRegistrant : NSObject
|
||||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
#endif /* GeneratedPluginRegistrant_h */
|
@ -0,0 +1,12 @@
|
||||
//
|
||||
// Generated file. Do not edit.
|
||||
//
|
||||
|
||||
#import "GeneratedPluginRegistrant.h"
|
||||
|
||||
@implementation GeneratedPluginRegistrant
|
||||
|
||||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {
|
||||
}
|
||||
|
||||
@end
|
@ -0,0 +1,198 @@
|
||||
class DoctorListByTimeModel {
|
||||
dynamic clinicID;
|
||||
String clinicName;
|
||||
String doctorTitle;
|
||||
dynamic iD;
|
||||
String name;
|
||||
dynamic projectID;
|
||||
String projectName;
|
||||
dynamic actualDoctorRate;
|
||||
dynamic clinicRoomNo;
|
||||
dynamic date;
|
||||
dynamic dayName;
|
||||
double decimalDoctorRate;
|
||||
dynamic doctorAvailability;
|
||||
dynamic doctorID;
|
||||
String doctorImageURL;
|
||||
dynamic doctorProfile;
|
||||
dynamic doctorProfileInfo;
|
||||
dynamic doctorRate;
|
||||
dynamic doctorStarsRate;
|
||||
dynamic gender;
|
||||
String genderDescription;
|
||||
bool isAllowWaitList;
|
||||
bool isAppointmentAllowed;
|
||||
bool isDoctorAllowVedioCall;
|
||||
bool isDoctorDummy;
|
||||
bool isDoctorHasPrePostImages;
|
||||
bool isLiveCare;
|
||||
String latitude;
|
||||
String longitude;
|
||||
String nationalityFlagURL;
|
||||
String nationalityID;
|
||||
String nationalityName;
|
||||
dynamic nearestFreeSlot;
|
||||
dynamic noOfPatientsRate;
|
||||
dynamic originalClinicID;
|
||||
dynamic personRate;
|
||||
dynamic projectDistanceInKiloMeters;
|
||||
String qR;
|
||||
dynamic qRString;
|
||||
dynamic rateNumber;
|
||||
dynamic serviceID;
|
||||
String setupID;
|
||||
List<String> speciality;
|
||||
dynamic workingHours;
|
||||
|
||||
DoctorListByTimeModel(
|
||||
{this.clinicID,
|
||||
this.clinicName,
|
||||
this.doctorTitle,
|
||||
this.iD,
|
||||
this.name,
|
||||
this.projectID,
|
||||
this.projectName,
|
||||
this.actualDoctorRate,
|
||||
this.clinicRoomNo,
|
||||
this.date,
|
||||
this.dayName,
|
||||
this.decimalDoctorRate,
|
||||
this.doctorAvailability,
|
||||
this.doctorID,
|
||||
this.doctorImageURL,
|
||||
this.doctorProfile,
|
||||
this.doctorProfileInfo,
|
||||
this.doctorRate,
|
||||
this.doctorStarsRate,
|
||||
this.gender,
|
||||
this.genderDescription,
|
||||
this.isAllowWaitList,
|
||||
this.isAppointmentAllowed,
|
||||
this.isDoctorAllowVedioCall,
|
||||
this.isDoctorDummy,
|
||||
this.isDoctorHasPrePostImages,
|
||||
this.isLiveCare,
|
||||
this.latitude,
|
||||
this.longitude,
|
||||
this.nationalityFlagURL,
|
||||
this.nationalityID,
|
||||
this.nationalityName,
|
||||
this.nearestFreeSlot,
|
||||
this.noOfPatientsRate,
|
||||
this.originalClinicID,
|
||||
this.personRate,
|
||||
this.projectDistanceInKiloMeters,
|
||||
this.qR,
|
||||
this.qRString,
|
||||
this.rateNumber,
|
||||
this.serviceID,
|
||||
this.setupID,
|
||||
this.speciality,
|
||||
this.workingHours});
|
||||
|
||||
DoctorListByTimeModel.fromJson(Map<String, dynamic> json) {
|
||||
clinicID = json['ClinicID'];
|
||||
clinicName = json['ClinicName'];
|
||||
doctorTitle = json['DoctorTitle'];
|
||||
iD = json['ID'];
|
||||
name = json['Name'];
|
||||
projectID = json['ProjectID'];
|
||||
projectName = json['ProjectName'];
|
||||
actualDoctorRate = json['ActualDoctorRate'];
|
||||
clinicRoomNo = json['ClinicRoomNo'];
|
||||
date = json['Date'];
|
||||
dayName = json['DayName'];
|
||||
decimalDoctorRate = json['DecimalDoctorRate'];
|
||||
doctorAvailability = json['DoctorAvailability'];
|
||||
doctorID = json['DoctorID'];
|
||||
doctorImageURL = json['DoctorImageURL'];
|
||||
doctorProfile = json['DoctorProfile'];
|
||||
doctorProfileInfo = json['DoctorProfileInfo'];
|
||||
doctorRate = json['DoctorRate'];
|
||||
doctorStarsRate = json['DoctorStarsRate'];
|
||||
gender = json['Gender'];
|
||||
genderDescription = json['GenderDescription'];
|
||||
isAllowWaitList = json['IsAllowWaitList'];
|
||||
isAppointmentAllowed = json['IsAppointmentAllowed'];
|
||||
isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
|
||||
isDoctorDummy = json['IsDoctorDummy'];
|
||||
isDoctorHasPrePostImages = json['IsDoctorHasPrePostImages'];
|
||||
isLiveCare = json['IsLiveCare'];
|
||||
latitude = json['Latitude'];
|
||||
longitude = json['Longitude'];
|
||||
nationalityFlagURL = json['NationalityFlagURL'];
|
||||
nationalityID = json['NationalityID'];
|
||||
nationalityName = json['NationalityName'];
|
||||
nearestFreeSlot = json['NearestFreeSlot'];
|
||||
noOfPatientsRate = json['NoOfPatientsRate'];
|
||||
originalClinicID = json['OriginalClinicID'];
|
||||
personRate = json['PersonRate'];
|
||||
projectDistanceInKiloMeters = json['ProjectDistanceInKiloMeters'];
|
||||
qR = json['QR'];
|
||||
qRString = json['QRString'];
|
||||
rateNumber = json['RateNumber'];
|
||||
serviceID = json['ServiceID'];
|
||||
setupID = json['SetupID'];
|
||||
speciality = json['Speciality'].cast<String>();
|
||||
workingHours = json['WorkingHours'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['ClinicName'] = this.clinicName;
|
||||
data['DoctorTitle'] = this.doctorTitle;
|
||||
data['ID'] = this.iD;
|
||||
data['Name'] = this.name;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ProjectName'] = this.projectName;
|
||||
data['ActualDoctorRate'] = this.actualDoctorRate;
|
||||
data['ClinicRoomNo'] = this.clinicRoomNo;
|
||||
data['Date'] = this.date;
|
||||
data['DayName'] = this.dayName;
|
||||
data['DecimalDoctorRate'] = this.decimalDoctorRate;
|
||||
data['DoctorAvailability'] = this.doctorAvailability;
|
||||
data['DoctorID'] = this.doctorID;
|
||||
data['DoctorImageURL'] = this.doctorImageURL;
|
||||
data['DoctorProfile'] = this.doctorProfile;
|
||||
data['DoctorProfileInfo'] = this.doctorProfileInfo;
|
||||
data['DoctorRate'] = this.doctorRate;
|
||||
data['DoctorStarsRate'] = this.doctorStarsRate;
|
||||
data['Gender'] = this.gender;
|
||||
data['GenderDescription'] = this.genderDescription;
|
||||
data['IsAllowWaitList'] = this.isAllowWaitList;
|
||||
data['IsAppointmentAllowed'] = this.isAppointmentAllowed;
|
||||
data['IsDoctorAllowVedioCall'] = this.isDoctorAllowVedioCall;
|
||||
data['IsDoctorDummy'] = this.isDoctorDummy;
|
||||
data['IsDoctorHasPrePostImages'] = this.isDoctorHasPrePostImages;
|
||||
data['IsLiveCare'] = this.isLiveCare;
|
||||
data['Latitude'] = this.latitude;
|
||||
data['Longitude'] = this.longitude;
|
||||
data['NationalityFlagURL'] = this.nationalityFlagURL;
|
||||
data['NationalityID'] = this.nationalityID;
|
||||
data['NationalityName'] = this.nationalityName;
|
||||
data['NearestFreeSlot'] = this.nearestFreeSlot;
|
||||
data['NoOfPatientsRate'] = this.noOfPatientsRate;
|
||||
data['OriginalClinicID'] = this.originalClinicID;
|
||||
data['PersonRate'] = this.personRate;
|
||||
data['ProjectDistanceInKiloMeters'] = this.projectDistanceInKiloMeters;
|
||||
data['QR'] = this.qR;
|
||||
data['QRString'] = this.qRString;
|
||||
data['RateNumber'] = this.rateNumber;
|
||||
data['ServiceID'] = this.serviceID;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['Speciality'] = this.speciality;
|
||||
data['WorkingHours'] = this.workingHours;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class DoctorsListTime {
|
||||
List<DoctorListByTimeModel> doctorsByTimeList = List();
|
||||
String filterName = "";
|
||||
|
||||
DoctorsListTime({filterName, DoctorListByTimeModel doctor}) {
|
||||
doctorsByTimeList.add(doctor);
|
||||
this.filterName = filterName;
|
||||
}
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
class DoctorListByTimeRequestModel {
|
||||
int clinicID;
|
||||
bool isGetNearAppointment;
|
||||
bool continueDentalPlan;
|
||||
bool isSearchAppointmnetByClinicID;
|
||||
int patientID;
|
||||
int latitude;
|
||||
int longitude;
|
||||
bool license;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
dynamic sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
|
||||
DoctorListByTimeRequestModel(
|
||||
{this.clinicID,
|
||||
this.isGetNearAppointment,
|
||||
this.continueDentalPlan,
|
||||
this.isSearchAppointmnetByClinicID,
|
||||
this.patientID,
|
||||
this.latitude,
|
||||
this.longitude,
|
||||
this.license,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID});
|
||||
|
||||
DoctorListByTimeRequestModel.fromJson(Map<String, dynamic> json) {
|
||||
clinicID = json['ClinicID'];
|
||||
isGetNearAppointment = json['IsGetNearAppointment'];
|
||||
continueDentalPlan = json['ContinueDentalPlan'];
|
||||
isSearchAppointmnetByClinicID = json['IsSearchAppointmnetByClinicID'];
|
||||
patientID = json['PatientID'];
|
||||
latitude = json['Latitude'];
|
||||
longitude = json['Longitude'];
|
||||
license = json['License'];
|
||||
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>();
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['IsGetNearAppointment'] = this.isGetNearAppointment;
|
||||
data['ContinueDentalPlan'] = this.continueDentalPlan;
|
||||
data['IsSearchAppointmnetByClinicID'] = this.isSearchAppointmnetByClinicID;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['Latitude'] = this.latitude;
|
||||
data['Longitude'] = this.longitude;
|
||||
data['License'] = this.license;
|
||||
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,64 @@
|
||||
class GetDoctorListModel {
|
||||
int calcID;
|
||||
int projectID;
|
||||
int clinicID;
|
||||
String clinicName;
|
||||
int doctorID;
|
||||
String doctorImageURL;
|
||||
String doctorName;
|
||||
String doctorTitle;
|
||||
int gender;
|
||||
String genderDescription;
|
||||
String nationality;
|
||||
String nationalityFlagURL;
|
||||
String projectName;
|
||||
|
||||
GetDoctorListModel(
|
||||
{this.calcID,
|
||||
this.projectID,
|
||||
this.clinicID,
|
||||
this.clinicName,
|
||||
this.doctorID,
|
||||
this.doctorImageURL,
|
||||
this.doctorName,
|
||||
this.doctorTitle,
|
||||
this.gender,
|
||||
this.genderDescription,
|
||||
this.nationality,
|
||||
this.nationalityFlagURL,
|
||||
this.projectName});
|
||||
|
||||
GetDoctorListModel.fromJson(Map<String, dynamic> json) {
|
||||
calcID = json['CalcID'];
|
||||
projectID = json['ProjectID'];
|
||||
clinicID = json['ClinicID'];
|
||||
clinicName = json['ClinicName'];
|
||||
doctorID = json['DoctorID'];
|
||||
doctorImageURL = json['DoctorImageURL'];
|
||||
doctorName = json['DoctorName'];
|
||||
doctorTitle = json['DoctorTitle'];
|
||||
gender = json['Gender'];
|
||||
genderDescription = json['GenderDescription'];
|
||||
nationality = json['Nationality'];
|
||||
nationalityFlagURL = json['NationalityFlagURL'];
|
||||
projectName = json['ProjectName'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['CalcID'] = this.calcID;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['ClinicName'] = this.clinicName;
|
||||
data['DoctorID'] = this.doctorID;
|
||||
data['DoctorImageURL'] = this.doctorImageURL;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['DoctorTitle'] = this.doctorTitle;
|
||||
data['Gender'] = this.gender;
|
||||
data['GenderDescription'] = this.genderDescription;
|
||||
data['Nationality'] = this.nationality;
|
||||
data['NationalityFlagURL'] = this.nationalityFlagURL;
|
||||
data['ProjectName'] = this.projectName;
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
class GetDoctorListRequestModel {
|
||||
int calculationID;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
|
||||
GetDoctorListRequestModel(
|
||||
{this.calculationID,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID});
|
||||
|
||||
GetDoctorListRequestModel.fromJson(Map<String, dynamic> json) {
|
||||
calculationID = json['CalculationID'];
|
||||
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>();
|
||||
data['CalculationID'] = this.calculationID;
|
||||
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,124 @@
|
||||
class PrescriptionReportINP {
|
||||
int patientID;
|
||||
String patientName;
|
||||
String patientAge;
|
||||
String patientGender;
|
||||
String address;
|
||||
String phoneOffice;
|
||||
String itemDescription;
|
||||
int doseTimingID;
|
||||
int frequencyID;
|
||||
int routeID;
|
||||
String clinic;
|
||||
String doctorName;
|
||||
String route;
|
||||
String frequency;
|
||||
String remarks;
|
||||
String name;
|
||||
int days;
|
||||
String startDate;
|
||||
String orderDate;
|
||||
int doseDailyQuantity;
|
||||
int itemID;
|
||||
Null productImage;
|
||||
String sKU;
|
||||
String itemDescriptionN;
|
||||
String routeN;
|
||||
String frequencyN;
|
||||
String imageSRCUrl;
|
||||
String imageThumbUrl;
|
||||
|
||||
PrescriptionReportINP(
|
||||
{this.patientID,
|
||||
this.patientName,
|
||||
this.patientAge,
|
||||
this.patientGender,
|
||||
this.address,
|
||||
this.phoneOffice,
|
||||
this.itemDescription,
|
||||
this.doseTimingID,
|
||||
this.frequencyID,
|
||||
this.routeID,
|
||||
this.clinic,
|
||||
this.doctorName,
|
||||
this.route,
|
||||
this.frequency,
|
||||
this.remarks,
|
||||
this.name,
|
||||
this.days,
|
||||
this.startDate,
|
||||
this.orderDate,
|
||||
this.doseDailyQuantity,
|
||||
this.itemID,
|
||||
this.productImage,
|
||||
this.sKU,
|
||||
this.itemDescriptionN,
|
||||
this.routeN,
|
||||
this.frequencyN,
|
||||
this.imageSRCUrl,
|
||||
this.imageThumbUrl});
|
||||
|
||||
PrescriptionReportINP.fromJson(Map<String, dynamic> json) {
|
||||
patientID = json['PatientID'];
|
||||
patientName = json['PatientName'];
|
||||
patientAge = json['PatientAge'];
|
||||
patientGender = json['PatientGender'];
|
||||
address = json['Address'];
|
||||
phoneOffice = json['PhoneOffice'];
|
||||
itemDescription = json['ItemDescription'];
|
||||
doseTimingID = json['DoseTimingID'];
|
||||
frequencyID = json['FrequencyID'];
|
||||
routeID = json['RouteID'];
|
||||
clinic = json['Clinic'];
|
||||
doctorName = json['DoctorName'];
|
||||
route = json['Route'];
|
||||
frequency = json['Frequency'];
|
||||
remarks = json['Remarks'];
|
||||
name = json['Name'];
|
||||
days = json['Days'];
|
||||
startDate = json['StartDate'];
|
||||
orderDate = json['OrderDate'];
|
||||
doseDailyQuantity = json['DoseDailyQuantity'];
|
||||
itemID = json['ItemID'];
|
||||
productImage = json['ProductImage'];
|
||||
sKU = json['SKU'];
|
||||
itemDescriptionN = json['ItemDescriptionN'];
|
||||
routeN = json['RouteN'];
|
||||
frequencyN = json['FrequencyN'];
|
||||
imageSRCUrl = json['ImageSRCUrl'];
|
||||
imageThumbUrl = json['ImageThumbUrl'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientName'] = this.patientName;
|
||||
data['PatientAge'] = this.patientAge;
|
||||
data['PatientGender'] = this.patientGender;
|
||||
data['Address'] = this.address;
|
||||
data['PhoneOffice'] = this.phoneOffice;
|
||||
data['ItemDescription'] = this.itemDescription;
|
||||
data['DoseTimingID'] = this.doseTimingID;
|
||||
data['FrequencyID'] = this.frequencyID;
|
||||
data['RouteID'] = this.routeID;
|
||||
data['Clinic'] = this.clinic;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['Route'] = this.route;
|
||||
data['Frequency'] = this.frequency;
|
||||
data['Remarks'] = this.remarks;
|
||||
data['Name'] = this.name;
|
||||
data['Days'] = this.days;
|
||||
data['StartDate'] = this.startDate;
|
||||
data['OrderDate'] = this.orderDate;
|
||||
data['DoseDailyQuantity'] = this.doseDailyQuantity;
|
||||
data['ItemID'] = this.itemID;
|
||||
data['ProductImage'] = this.productImage;
|
||||
data['SKU'] = this.sKU;
|
||||
data['ItemDescriptionN'] = this.itemDescriptionN;
|
||||
data['RouteN'] = this.routeN;
|
||||
data['FrequencyN'] = this.frequencyN;
|
||||
data['ImageSRCUrl'] = this.imageSRCUrl;
|
||||
data['ImageThumbUrl'] = this.imageThumbUrl;
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
import 'package:diplomaticquarterapp/pages/landing/home_page.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/floatingActionButton.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
|
||||
import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart';
|
||||
import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart';
|
||||
import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart';
|
||||
|
||||
class H20BottomNavigationBar extends StatelessWidget {
|
||||
H20BottomNavigationBar({Key key}) : super(key: key);
|
||||
|
||||
PageController pageController = PageController(keepPage: true);
|
||||
int currentTab = 0;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// TODO: implement build
|
||||
return Scaffold(
|
||||
body: PageView(
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
controller: pageController,
|
||||
children: [
|
||||
HomePage(
|
||||
goToMyProfile: () {
|
||||
_changeCurrentTab(1);
|
||||
},
|
||||
),
|
||||
MedicalProfilePage(),
|
||||
BookingOptions(),
|
||||
MyFamily(isAppbarVisible: false),
|
||||
ToDo(isShowAppBar: false),
|
||||
], // Please do not remove the BookingOptions from this array
|
||||
),
|
||||
bottomNavigationBar: BottomNavBar(
|
||||
changeIndex: _changeCurrentTab,
|
||||
index: currentTab,
|
||||
),
|
||||
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
|
||||
floatingActionButton: FloatingButton(
|
||||
elevation: true,
|
||||
onTap: () {
|
||||
_changeCurrentTab(2);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
_changeCurrentTab(int tab) {
|
||||
// setState(() {
|
||||
currentTab = tab;
|
||||
if (tab != 0)
|
||||
pageController.jumpToPage(tab);
|
||||
else {
|
||||
pageController.jumpToPage(tab);
|
||||
}
|
||||
// });
|
||||
}
|
||||
}
|
@ -0,0 +1,112 @@
|
||||
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/health-calculator/Bariatrics-viewmodel.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.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:rating_bar/rating_bar.dart';
|
||||
|
||||
class DoctorList extends StatelessWidget {
|
||||
const DoctorList({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<BariatricsViewModel>(
|
||||
allowAny: true,
|
||||
onModelReady: (model) => model.getDoctorList(),
|
||||
builder: (BuildContext context, BariatricsViewModel model, Widget child) => AppScaffold(
|
||||
isShowDecPage: false,
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
appBarTitle: "Doctors List",
|
||||
description: TranslationBase.of(context).infoApprovals,
|
||||
infoList: TranslationBase.of(context).infoApprovalPoints,
|
||||
body: ListView.builder(
|
||||
itemCount: model.doctorLists.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 10.0),
|
||||
child: Container(
|
||||
//height: MediaQuery.of(context).size.height * 0.09,
|
||||
decoration: BoxDecoration(color: Colors.white),
|
||||
|
||||
child: ExpansionTile(
|
||||
title: Padding(
|
||||
padding: EdgeInsets.all(21.0),
|
||||
child: Texts(model.doctorLists[index].filterName),
|
||||
),
|
||||
children: model.doctorLists[index].doctorsByTimeList
|
||||
.map((doctor) => Card(
|
||||
margin: EdgeInsets.fromLTRB(10.0, 16.0, 10.0, 8.0),
|
||||
color: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
child: Container(
|
||||
decoration: BoxDecoration(),
|
||||
padding: EdgeInsets.all(7.0),
|
||||
width: MediaQuery.of(context).size.width,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(100.0),
|
||||
child: Image.network(doctor.doctorImageURL, fit: BoxFit.fill, height: 60.0, width: 60.0),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 4,
|
||||
child: Container(
|
||||
width: MediaQuery.of(context).size.width * 0.55,
|
||||
margin: EdgeInsets.fromLTRB(20.0, 10.0, 10.0, 0.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
if (doctor.doctorTitle != null)
|
||||
Text(doctor.doctorTitle + " " + doctor.name, style: TextStyle(fontSize: 14.0, color: Colors.grey[700], letterSpacing: 1.0)),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 3.0),
|
||||
child: Text(doctor.clinicName != null ? doctor.clinicName : "", style: TextStyle(fontSize: 12.0, color: Colors.grey[600], letterSpacing: 1.0)),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 3.0),
|
||||
child: Text(doctor.projectName, style: TextStyle(fontSize: 12.0, color: Colors.grey[600], letterSpacing: 1.0)),
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
RatingBar.readOnly(
|
||||
initialRating: doctor.actualDoctorRate.toDouble(),
|
||||
size: 20.0,
|
||||
filledColor: Colors.yellow[700],
|
||||
emptyColor: Colors.grey[500],
|
||||
isHalfAllowed: true,
|
||||
halfFilledIcon: Icons.star_half,
|
||||
filledIcon: Icons.star,
|
||||
emptyIcon: Icons.star,
|
||||
),
|
||||
Container(
|
||||
child: Image.network(doctor.nationalityFlagURL, width: 25.0, height: 25.0),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
))
|
||||
.toList(),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
));
|
||||
}
|
||||
}
|
@ -0,0 +1,310 @@
|
||||
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report_inp.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/MyAppointments/widgets/reminder_dialog.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/prescriptions/pharmacy_for_prescriptions_page.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.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';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class PrescriptionDetailsPageINP extends StatelessWidget {
|
||||
final PrescriptionReportINP prescriptionReport;
|
||||
|
||||
PrescriptionDetailsPageINP({Key key, this.prescriptionReport});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: TranslationBase.of(context).prescriptions,
|
||||
body: SingleChildScrollView(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
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(
|
||||
prescriptionReport.imageSRCUrl,
|
||||
fit: BoxFit.cover,
|
||||
width: 60,
|
||||
height: 70,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Center(
|
||||
child: Texts(
|
||||
prescriptionReport.itemDescription.isNotEmpty
|
||||
? prescriptionReport.itemDescription
|
||||
: prescriptionReport.itemDescriptionN ?? ''),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.all(8),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: InkWell(
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
FadePage(
|
||||
page: PharmacyForPrescriptionsPage(
|
||||
itemID: prescriptionReport.itemID),
|
||||
),
|
||||
),
|
||||
child: Center(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
shape: BoxShape.rectangle),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
Icons.pin_drop,
|
||||
color: Colors.red[800],
|
||||
size: 55,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Texts(TranslationBase.of(context).availability)
|
||||
],
|
||||
),
|
||||
)),
|
||||
),
|
||||
_addReminderButton(context)
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
margin: EdgeInsets.only(top: 10, left: 10, right: 10),
|
||||
child: Table(
|
||||
border: TableBorder.symmetric(
|
||||
inside: BorderSide(width: 0.5),
|
||||
outside: BorderSide(width: 0.5)),
|
||||
children: [
|
||||
TableRow(
|
||||
children: [
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 40,
|
||||
width: double.infinity,
|
||||
child: Center(
|
||||
child: Texts(
|
||||
TranslationBase.of(context).route,
|
||||
fontSize: 14,
|
||||
))),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 40,
|
||||
width: double.infinity,
|
||||
child: Center(
|
||||
child: Texts(
|
||||
TranslationBase.of(context).frequency,
|
||||
fontSize: 14,
|
||||
))),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 40,
|
||||
width: double.infinity,
|
||||
padding: EdgeInsets.symmetric(horizontal: 4),
|
||||
child: Center(
|
||||
child: Texts(
|
||||
"${TranslationBase.of(context).dailyDoses}",
|
||||
fontSize: 14,
|
||||
))),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 40,
|
||||
width: double.infinity,
|
||||
child: Center(
|
||||
child: Texts(
|
||||
TranslationBase.of(context).duration,
|
||||
fontSize: 14,
|
||||
))),
|
||||
],
|
||||
),
|
||||
TableRow(
|
||||
children: [
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 50,
|
||||
width: double.infinity,
|
||||
child: Center(
|
||||
child: Text(prescriptionReport.routeN ?? ''))),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 50,
|
||||
width: double.infinity,
|
||||
child: Center(
|
||||
child:
|
||||
Text(prescriptionReport.frequencyN ?? ''))),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 50,
|
||||
width: double.infinity,
|
||||
child: Center(
|
||||
child: Text(
|
||||
'${prescriptionReport.doseDailyQuantity}'))),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
height: 50,
|
||||
width: double.infinity,
|
||||
child:
|
||||
Center(child: Text('${prescriptionReport.days}')))
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 10, left: 10, right: 10),
|
||||
width: double.infinity,
|
||||
color: Colors.white,
|
||||
padding: EdgeInsets.all(5),
|
||||
child: Center(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Texts(TranslationBase.of(context).notes),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Divider(
|
||||
height: 0.5,
|
||||
color: Colors.grey[300],
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Texts(prescriptionReport.remarks ?? ''),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _addReminderButton(BuildContext context) {
|
||||
ProjectViewModel projectViewModel = Provider.of(context);
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
DateTime startDate = DateTime.now();
|
||||
DateTime endDate = DateTime(startDate.year, startDate.month,
|
||||
startDate.day + prescriptionReport.days);
|
||||
|
||||
print(prescriptionReport);
|
||||
showGeneralDialog(
|
||||
barrierColor: Colors.black.withOpacity(0.5),
|
||||
transitionBuilder: (context, a1, a2, widget) {
|
||||
final curvedValue =
|
||||
Curves.easeInOutBack.transform(a1.value) - 1.0;
|
||||
return Transform(
|
||||
transform:
|
||||
Matrix4.translationValues(0.0, curvedValue * 200, 0.0),
|
||||
child: Opacity(
|
||||
opacity: a1.value,
|
||||
child: ReminderDialog(
|
||||
eventId: prescriptionReport.itemID.toString(),
|
||||
title: "Prescription Reminder",
|
||||
description:
|
||||
"${prescriptionReport.itemDescriptionN} ${prescriptionReport.frequencyN} ${prescriptionReport.routeN} ",
|
||||
startDate:
|
||||
"/Date(${startDate.millisecondsSinceEpoch}+0300)/",
|
||||
endDate: "/Date(${endDate.millisecondsSinceEpoch}+0300)/",
|
||||
location: prescriptionReport.remarks,
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
transitionDuration: Duration(milliseconds: 500),
|
||||
barrierDismissible: true,
|
||||
barrierLabel: '',
|
||||
context: context,
|
||||
pageBuilder: (context, animation1, animation2) {});
|
||||
},
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Container(
|
||||
// height: 100.0,
|
||||
margin: EdgeInsets.all(7.0),
|
||||
padding: EdgeInsets.only(bottom: 4.0),
|
||||
decoration: BoxDecoration(boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.grey[400], blurRadius: 2.0, spreadRadius: 0.0)
|
||||
], borderRadius: BorderRadius.circular(10), color: Colors.white),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
margin: EdgeInsets.fromLTRB(5.0, 5.0, 5.0, 0.0),
|
||||
child: Text("add",
|
||||
overflow: TextOverflow.clip,
|
||||
style: TextStyle(
|
||||
color: new Color(0xffB8382C),
|
||||
letterSpacing: 1.0,
|
||||
fontSize: 18.0)),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.fromLTRB(5.0, 0.0, 5.0, 0.0),
|
||||
child: Text("reminder",
|
||||
overflow: TextOverflow.clip,
|
||||
style: TextStyle(
|
||||
color: Colors.black,
|
||||
letterSpacing: 1.0,
|
||||
fontSize: 15.0)),
|
||||
),
|
||||
Container(
|
||||
alignment: projectViewModel.isArabic
|
||||
? Alignment.bottomLeft
|
||||
: Alignment.bottomRight,
|
||||
margin: projectViewModel.isArabic
|
||||
? EdgeInsets.fromLTRB(10.0, 7.0, 0.0, 8.0)
|
||||
: EdgeInsets.fromLTRB(0.0, 7.0, 10.0, 8.0),
|
||||
child: Image.asset(
|
||||
"assets/images/new-design/reminder_icon.png",
|
||||
width: 45.0,
|
||||
height: 45.0),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|