merge-requests/99/head
Elham Rababah 6 years ago
commit 6e5c2aca4d

@ -11,5 +11,14 @@ const Map<String, Map<String, String>> localizedValues = {
'messagesScreenToolbarTitle' : {'en': 'Messages','ar': 'الرسائل' },
'mySchedule' : {'en': 'My Schedule', 'ar' : 'جدولي'},
'errorNoSchedule' :{'en': 'You don\'t have any Schedule' , 'ar': 'ليس لديك أي جدول زمني'},
'verify': {'en': 'Verify', 'ar' : 'تحقق'},
'referralDoctor':{'en': 'Referral Doctor', 'ar' : 'الطبيب المُحول إليه'},
'referringClinic':{'en': 'Referring Clinic', 'ar' : 'العيادة المُحول إليها'},
'frequency':{'en': 'Frequency', 'ar' : 'نوع التحويلا'},
'priority':{'en': 'Priority', 'ar' : 'الأولوية'},
'maxResponseTime':{'en': 'Max Response Time', 'ar' : 'الوقت الأقصى للرد'},
'clinicDetailsandRemarks':{'en': 'Clinic Details and Remarks', 'ar' : 'ملاحضات وتفاصيل العيادة'},
'answerSuggestions':{'en': 'Answer/Suggestions', 'ar' : 'ملاحضات وتفاصيل العيادة'},
};

@ -0,0 +1,98 @@
import 'package:doctor_app_flutter/screens/dashboard_screen.dart';
import 'package:doctor_app_flutter/screens/doctor/message_screen.dart';
import 'package:doctor_app_flutter/screens/doctor/my_schedule_screen.dart';
import 'package:doctor_app_flutter/screens/doctor/services_screen.dart';
import 'package:doctor_app_flutter/widgets/shared/app_drawer_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/bottom_nav_bar.dart';
import 'package:doctor_app_flutter/widgets/shared/profile_image_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
class LandingPage extends StatefulWidget {
@override
_LandingPageState createState() => _LandingPageState();
}
class _LandingPageState extends State<LandingPage> {
int currentTab = 0;
PageController pageController;
_changeCurrentTab(int tab) {
setState(() {
currentTab = tab;
pageController.jumpToPage(tab);
});
}
@override
void initState() {
super.initState();
pageController = new PageController(keepPage: true);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
elevation: 0,
backgroundColor: Hexcolor('#515B5D'),
textTheme: TextTheme(
headline6: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)),
title: Text(getText(currentTab).toUpperCase()),
leading: Builder(
builder: (BuildContext context) {
return IconButton(
icon: Icon(Icons.menu),
color: Colors.white,
onPressed: () => Scaffold.of(context).openDrawer(),
);
},
),
centerTitle: true,
actions: <Widget>[
ProfileImageWidget(
height: 50,
width: 50,
url:
"https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
)
],
),
drawer: Theme(
data: Theme.of(context).copyWith(
canvasColor: Colors.transparent,
),
child: SafeArea(child: AppDrawer()),
),
extendBody: true,
body: PageView(
physics: NeverScrollableScrollPhysics(),
controller: pageController,
children: [
DashboardScreen(),
MessagesScreen(),
MyScheduleScreen(),
ServicesScreen()
],
),
bottomNavigationBar: BottomNavBar(changeIndex: _changeCurrentTab),
);
}
getText(currentTab) {
switch (currentTab) {
case 0:
return "HOME";
case 1:
return "REPLAY";
case 2:
return "SCHEDULE";
case 3:
return 'SERVICES';
}
}
}

@ -1,4 +1,5 @@
import 'package:doctor_app_flutter/providers/project_provider.dart';
import 'package:doctor_app_flutter/providers/schedule_provider.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
@ -26,7 +27,8 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider<PatientsProvider>(create: (context) => PatientsProvider()),
ChangeNotifierProvider<AuthProvider>(create: (context) => AuthProvider()),
ChangeNotifierProvider<HospitalProvider>(create: (context) => HospitalProvider()),
ChangeNotifierProvider<ProjectProvider>(create: (context) => ProjectProvider(),)
ChangeNotifierProvider<ProjectProvider>(create: (context) => ProjectProvider(),),
ChangeNotifierProvider<ScheduleProvider>(create: (context) => ScheduleProvider(),)
],
child: Consumer<ProjectProvider>(
builder: (context,projectProvider,child) => MaterialApp(
@ -47,7 +49,7 @@ class MyApp extends StatelessWidget {
primaryColor: Colors.grey,
buttonColor: Hexcolor('#B8382C'),
fontFamily: 'WorkSans',
dividerColor: Colors.grey[200],
dividerColor: Colors.grey[350],
backgroundColor: Color.fromRGBO(255,255,255, 1)
),
initialRoute: INIT_ROUTE,

@ -0,0 +1,200 @@
class PrescriptionReportForInPatient {
int admissionNo;
int authorizedBy;
Null bedNo;
String comments;
int createdBy;
String createdByName;
Null createdByNameN;
String createdOn;
String direction;
int directionID;
Null directionN;
String dose;
int editedBy;
Null iVDiluentLine;
int iVDiluentType;
Null iVDiluentVolume;
Null iVRate;
Null iVStability;
String itemDescription;
int itemID;
int lineItemNo;
int locationId;
int noOfDoses;
int orderNo;
int patientID;
String pharmacyRemarks;
String prescriptionDatetime;
int prescriptionNo;
String processedBy;
int projectID;
int refillID;
String refillType;
Null refillTypeN;
int reviewedPharmacist;
Null roomId;
String route;
int routeId;
Null routeN;
Null setupID;
String startDatetime;
int status;
String statusDescription;
Null statusDescriptionN;
String stopDatetime;
int unitofMeasurement;
String unitofMeasurementDescription;
Null unitofMeasurementDescriptionN;
PrescriptionReportForInPatient(
{this.admissionNo,
this.authorizedBy,
this.bedNo,
this.comments,
this.createdBy,
this.createdByName,
this.createdByNameN,
this.createdOn,
this.direction,
this.directionID,
this.directionN,
this.dose,
this.editedBy,
this.iVDiluentLine,
this.iVDiluentType,
this.iVDiluentVolume,
this.iVRate,
this.iVStability,
this.itemDescription,
this.itemID,
this.lineItemNo,
this.locationId,
this.noOfDoses,
this.orderNo,
this.patientID,
this.pharmacyRemarks,
this.prescriptionDatetime,
this.prescriptionNo,
this.processedBy,
this.projectID,
this.refillID,
this.refillType,
this.refillTypeN,
this.reviewedPharmacist,
this.roomId,
this.route,
this.routeId,
this.routeN,
this.setupID,
this.startDatetime,
this.status,
this.statusDescription,
this.statusDescriptionN,
this.stopDatetime,
this.unitofMeasurement,
this.unitofMeasurementDescription,
this.unitofMeasurementDescriptionN});
PrescriptionReportForInPatient.fromJson(Map<String, dynamic> json) {
admissionNo = json['AdmissionNo'];
authorizedBy = json['AuthorizedBy'];
bedNo = json['BedNo'];
comments = json['Comments'];
createdBy = json['CreatedBy'];
createdByName = json['CreatedByName'];
createdByNameN = json['CreatedByNameN'];
createdOn = json['CreatedOn'];
direction = json['Direction'];
directionID = json['DirectionID'];
directionN = json['DirectionN'];
dose = json['Dose'];
editedBy = json['EditedBy'];
iVDiluentLine = json['IVDiluentLine'];
iVDiluentType = json['IVDiluentType'];
iVDiluentVolume = json['IVDiluentVolume'];
iVRate = json['IVRate'];
iVStability = json['IVStability'];
itemDescription = json['ItemDescription'];
itemID = json['ItemID'];
lineItemNo = json['LineItemNo'];
locationId = json['LocationId'];
noOfDoses = json['NoOfDoses'];
orderNo = json['OrderNo'];
patientID = json['PatientID'];
pharmacyRemarks = json['PharmacyRemarks'];
prescriptionDatetime = json['PrescriptionDatetime'];
prescriptionNo = json['PrescriptionNo'];
processedBy = json['ProcessedBy'];
projectID = json['ProjectID'];
refillID = json['RefillID'];
refillType = json['RefillType'];
refillTypeN = json['RefillTypeN'];
reviewedPharmacist = json['ReviewedPharmacist'];
roomId = json['RoomId'];
route = json['Route'];
routeId = json['RouteId'];
routeN = json['RouteN'];
setupID = json['SetupID'];
startDatetime = json['StartDatetime'];
status = json['Status'];
statusDescription = json['StatusDescription'];
statusDescriptionN = json['StatusDescriptionN'];
stopDatetime = json['StopDatetime'];
unitofMeasurement = json['UnitofMeasurement'];
unitofMeasurementDescription = json['UnitofMeasurementDescription'];
unitofMeasurementDescriptionN = json['UnitofMeasurementDescriptionN'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['AdmissionNo'] = this.admissionNo;
data['AuthorizedBy'] = this.authorizedBy;
data['BedNo'] = this.bedNo;
data['Comments'] = this.comments;
data['CreatedBy'] = this.createdBy;
data['CreatedByName'] = this.createdByName;
data['CreatedByNameN'] = this.createdByNameN;
data['CreatedOn'] = this.createdOn;
data['Direction'] = this.direction;
data['DirectionID'] = this.directionID;
data['DirectionN'] = this.directionN;
data['Dose'] = this.dose;
data['EditedBy'] = this.editedBy;
data['IVDiluentLine'] = this.iVDiluentLine;
data['IVDiluentType'] = this.iVDiluentType;
data['IVDiluentVolume'] = this.iVDiluentVolume;
data['IVRate'] = this.iVRate;
data['IVStability'] = this.iVStability;
data['ItemDescription'] = this.itemDescription;
data['ItemID'] = this.itemID;
data['LineItemNo'] = this.lineItemNo;
data['LocationId'] = this.locationId;
data['NoOfDoses'] = this.noOfDoses;
data['OrderNo'] = this.orderNo;
data['PatientID'] = this.patientID;
data['PharmacyRemarks'] = this.pharmacyRemarks;
data['PrescriptionDatetime'] = this.prescriptionDatetime;
data['PrescriptionNo'] = this.prescriptionNo;
data['ProcessedBy'] = this.processedBy;
data['ProjectID'] = this.projectID;
data['RefillID'] = this.refillID;
data['RefillType'] = this.refillType;
data['RefillTypeN'] = this.refillTypeN;
data['ReviewedPharmacist'] = this.reviewedPharmacist;
data['RoomId'] = this.roomId;
data['Route'] = this.route;
data['RouteId'] = this.routeId;
data['RouteN'] = this.routeN;
data['SetupID'] = this.setupID;
data['StartDatetime'] = this.startDatetime;
data['Status'] = this.status;
data['StatusDescription'] = this.statusDescription;
data['StatusDescriptionN'] = this.statusDescriptionN;
data['StopDatetime'] = this.stopDatetime;
data['UnitofMeasurement'] = this.unitofMeasurement;
data['UnitofMeasurementDescription'] = this.unitofMeasurementDescription;
data['UnitofMeasurementDescriptionN'] = this.unitofMeasurementDescriptionN;
return data;
}
}

@ -0,0 +1,64 @@
class RequestPrescriptionReportForInPatient {
int patientID;
int projectID;
int admissionNo;
int languageID;
String stamp;
String iPAdress;
double versionID;
int channel;
String tokenID;
String sessionID;
bool isLoginForDoctorApp;
bool patientOutSA;
int patientTypeID;
RequestPrescriptionReportForInPatient(
{this.patientID,
this.projectID,
this.admissionNo,
this.languageID,
this.stamp,
this.iPAdress,
this.versionID,
this.channel,
this.tokenID,
this.sessionID,
this.isLoginForDoctorApp,
this.patientOutSA,
this.patientTypeID});
RequestPrescriptionReportForInPatient.fromJson(Map<String, dynamic> json) {
patientID = json['PatientID'];
projectID = json['ProjectID'];
admissionNo = json['AdmissionNo'];
languageID = json['LanguageID'];
stamp = json['stamp'];
iPAdress = json['IPAdress'];
versionID = json['VersionID'];
channel = json['Channel'];
tokenID = json['TokenID'];
sessionID = json['SessionID'];
isLoginForDoctorApp = json['IsLoginForDoctorApp'];
patientOutSA = json['PatientOutSA'];
patientTypeID = json['PatientTypeID'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientID'] = this.patientID;
data['ProjectID'] = this.projectID;
data['AdmissionNo'] = this.admissionNo;
data['LanguageID'] = this.languageID;
data['stamp'] = this.stamp;
data['IPAdress'] = this.iPAdress;
data['VersionID'] = this.versionID;
data['Channel'] = this.channel;
data['TokenID'] = this.tokenID;
data['SessionID'] = this.sessionID;
data['IsLoginForDoctorApp'] = this.isLoginForDoctorApp;
data['PatientOutSA'] = this.patientOutSA;
data['PatientTypeID'] = this.patientTypeID;
return data;
}
}

@ -6,6 +6,7 @@ import 'package:doctor_app_flutter/models/patient/lab_orders_res_model.dart';
import 'package:doctor_app_flutter/models/patient/lab_result.dart';
import 'package:doctor_app_flutter/models/patient/lab_result_req_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/models/patient/prescription_report_for_in_patient.dart';
import 'package:doctor_app_flutter/models/patient/prescription_res_model.dart';
import 'package:doctor_app_flutter/models/patient/radiology_res_model.dart';
import 'package:flutter/cupertino.dart';
@ -25,8 +26,7 @@ import '../util/helpers.dart';
Helpers helpers = Helpers();
class PatientsProvider with ChangeNotifier
{
class PatientsProvider with ChangeNotifier {
bool isLoading = false;
bool isError = false;
String error = '';
@ -35,10 +35,10 @@ class PatientsProvider with ChangeNotifier
List<LabOrdersResModel> patientLabResultOrdersList = [];
List<PrescriptionResModel> patientPrescriptionsList = [];
List<RadiologyResModel> patientRadiologyList = [];
List<PrescriptionReportForInPatient> prescriptionReportForInPatientList = [];
/*@author: ibrahe albitar
*@Date:2/6/2020
/*@author: ibrahe albitar
*@Date:2/6/2020
*@desc: getPatientPrescriptions
*/
@ -48,7 +48,7 @@ class PatientsProvider with ChangeNotifier
var insuranceApporvalsList = [];
Client client =
HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]);
HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]);
PatiantInformtion _selectedPatient;
@ -211,17 +211,15 @@ class PatientsProvider with ChangeNotifier
*@Date:3/5/2020
*@param: patient
*@return:
*@desc: getPatientPrescriptions
*@desc: geOutPatientPrescriptions
*/
getPatientPrescriptions(patient) async {
// isLoading = true;
// notifyListeners();
getOutPatientPrescriptions(patient) async {
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response =
await AppClient.post(GET_PRESCRIPTION, body: json.encode(patient));
await AppClient.post(GET_PRESCRIPTION, body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
@ -253,6 +251,37 @@ class PatientsProvider with ChangeNotifier
}
}
/*@author: Mohammad Aljammal
*@Date:4/6/2020
*@param: patient
*@return:
*@desc: getInPatientPrescriptions
*/
getInPatientPrescriptions(patient) async {
setBasicData();
try {
prescriptionReportForInPatientList = [];
notifyListeners();
await BaseAppClient.post(
'DoctorApplication.svc/REST/GetPrescriptionReportForInPatient',
onSuccess: (dynamic response, int statusCode) {
response['List_PrescriptionReportForInPatient'].forEach((v) {
prescriptionReportForInPatientList
.add(PrescriptionReportForInPatient.fromJson(v));
});
isError = false;
isLoading = false;
}, onFailure: (String error, int statusCode) {
isError = true;
this.error = error;
}, body: patient);
notifyListeners();
} catch (err) {
handelCatchErrorCase(err);
}
}
/*@author: Elham Rababah
*@Date:12/5/2020
*@param: patient
@ -280,7 +309,7 @@ class PatientsProvider with ChangeNotifier
try {
if (await Helpers.checkConnection()) {
final response =
await AppClient.post(GET_RADIOLOGY, body: json.encode(patient));
await AppClient.post(GET_RADIOLOGY, body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
@ -311,7 +340,6 @@ class PatientsProvider with ChangeNotifier
}
}
getLabResult(LabOrdersResModel labOrdersResModel) async {
labResultList.clear();
isLoading = true;
@ -321,15 +349,14 @@ class PatientsProvider with ChangeNotifier
requestLabResult.orderNo = labOrdersResModel.orderNo;
requestLabResult.invoiceNo = labOrdersResModel.invoiceNo;
requestLabResult.patientTypeID = labOrdersResModel.patientType;
await BaseAppClient.post(
'DoctorApplication.svc/REST/GetPatientLabResults',
await BaseAppClient.post('DoctorApplication.svc/REST/GetPatientLabResults',
onSuccess: (dynamic response, int statusCode) {
isError = false;
isLoading = false;
response['List_GetLabNormal'].forEach((v) {
labResultList.add(new LabResult.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
isError = false;
isLoading = false;
response['List_GetLabNormal'].forEach((v) {
labResultList.add(new LabResult.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
isError = true;
isLoading = false;
this.error = error;
@ -337,13 +364,12 @@ class PatientsProvider with ChangeNotifier
notifyListeners();
}
getPatientInsuranceApprovals(patient) async {
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response = await AppClient.post(
PATIENT_INSURANCE_APPROVALS_URL, body: json.encode(patient));
final response = await AppClient.post(PATIENT_INSURANCE_APPROVALS_URL,
body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
@ -372,44 +398,40 @@ class PatientsProvider with ChangeNotifier
}
}
/*@author: ibrahe albitar
*@Date:2/6/2020
/*@author: ibrahe albitar
*@Date:2/6/2020
*@desc: getPatientPrescriptions
*/
getPatientProgressNote(patient) async {
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response = await AppClient.post(PATIENT_PROGRESS_NOTE_URL,
body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
if (statusCode < 200 || statusCode >= 400 || json == null) {
isError = true;
error = 'Error While Fetching data';
setBasicData();
try {
if (await Helpers.checkConnection()) {
final response = await AppClient.post(PATIENT_PROGRESS_NOTE_URL,
body: json.encode(patient));
final int statusCode = response.statusCode;
isLoading = false;
if (statusCode < 200 || statusCode >= 400 || json == null) {
isError = true;
error = 'Error While Fetching data';
} else {
var res = json.decode(response.body);
print('$res');
if (res['MessageStatus'] == 1) {
patientProgressNoteList = res['List_GetPregressNoteForInPatient'];
} else {
var res = json.decode(response.body);
print('$res');
if (res['MessageStatus'] == 1) {
patientProgressNoteList = res['List_GetPregressNoteForInPatient'];
} else {
isError = true;
error = res['ErrorMessage'] ?? res['ErrorEndUserMessage'];
}
isError = true;
error = res['ErrorMessage'] ?? res['ErrorEndUserMessage'];
}
} else {
isLoading = false;
isError = true;
error = 'Please Check The Internet Connection';
}
notifyListeners();
} catch (err) {
handelCatchErrorCase(err);
} else {
isLoading = false;
isError = true;
error = 'Please Check The Internet Connection';
}
notifyListeners();
} catch (err) {
handelCatchErrorCase(err);
}
}
}

@ -26,6 +26,7 @@ import './screens/patients/profile/vital_sign/vital_sign_item_details_screen.dar
import './screens/patients/profile/vital_sign/vital_sign_screen.dart';
import './screens/profile_screen.dart';
import './screens/settings/settings_screen.dart';
import 'landing_page.dart';
import 'screens/doctor/doctor_reply_screen.dart';
const String INIT_ROUTE = LOGIN;
@ -59,7 +60,7 @@ const String VITAL_SIGN_DETAILS = 'patients/vital-sign-details';
const String BODY_MEASUREMENTS = 'patients/body-measurements';
var routes = {
HOME: (_) => DashboardScreen(),
HOME: (_) => LandingPage(),
LOGIN: (_) => Loginsreen(),
PROFILE: (_) => ProfileScreen(),
MY_SCHEDULE: (_) => MyScheduleScreen(),

@ -7,10 +7,8 @@ import '../../widgets/auth/change_password.dart';
class ChangePasswordScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
// return Container()];
return AppScaffold(
pageOnly: true,
body: SafeArea(
child: ListView(children: <Widget>[
Container(

@ -57,8 +57,7 @@ class _LoginsreenState extends State<Loginsreen> {
Widget build(BuildContext context) {
getSharedPref();
return AppScaffold(
pageOnly: true,
isloading: _isLoading,
isLoading: _isLoading,
body: SafeArea(
child: ListView(children: <Widget>[
FutureBuilder(

@ -37,8 +37,7 @@ class _VerificationMethodsScreenState extends State<VerificationMethodsScreen> {
@override
Widget build(BuildContext context) {
return AppScaffold(
pageOnly: true,
isloading: _isLoading,
isLoading: _isLoading,
body: ListView(children: <Widget>[
Container(
margin: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0),

@ -31,8 +31,7 @@ class _VerifyAccountScreenState extends State<VerifyAccountScreen> {
@override
Widget build(BuildContext context) {
return AppScaffold(
isloading: _isLoading,
pageOnly: true,
isLoading: _isLoading,
body: SafeArea(
child: ListView(children: <Widget>[
Container(

@ -33,14 +33,14 @@ class DashboardScreen extends StatefulWidget {
class _DashboardScreenState extends State<DashboardScreen> {
HospitalProvider projectsProvider;
@override
Widget build(BuildContext context) {
projectsProvider = Provider.of(context);
return AppScaffold(
appBarTitle: TranslationBase.of(context).dashboardScreenToolbarTitle,
current: 0,
body: Container(
child: new SingleChildScrollView(
return SafeArea(
bottom: true,
child: Scaffold(
body: SingleChildScrollView(
child: SizedBox(
height: MediaQuery.of(context).size.height,
child: Column(
@ -99,13 +99,13 @@ class _DashboardScreenState extends State<DashboardScreen> {
flex: 1,
child: Column(
crossAxisAlignment:
CrossAxisAlignment.stretch,
CrossAxisAlignment.stretch,
children: <Widget>[
Expanded(
child: DashboardItemTexts(
"Arrived",
"23",
)),
"Arrived",
"23",
)),
Expanded(
child: DashboardItemTexts(
"Not Arrived",
@ -117,21 +117,21 @@ class _DashboardScreenState extends State<DashboardScreen> {
),
Expanded(
child: Column(
crossAxisAlignment:
crossAxisAlignment:
CrossAxisAlignment.stretch,
children: <Widget>[
Expanded(
child: DashboardItemTexts(
"ER",
"23",
)),
Expanded(
child: DashboardItemTexts(
"Walk-in",
"23",
children: <Widget>[
Expanded(
child: DashboardItemTexts(
"ER",
"23",
)),
Expanded(
child: DashboardItemTexts(
"Walk-in",
"23",
)),
],
)),
],
)),
],
),
))
@ -376,7 +376,9 @@ class _DashboardScreenState extends State<DashboardScreen> {
// ,
//constraints: new BoxConstraints(),
),
)));
),
),
);
// Container(

@ -31,7 +31,6 @@ class DoctorReplyScreen extends StatelessWidget {
_doctorReplyProvider = Provider.of(context);
return AppScaffold(
appBarTitle: TranslationBase.of(context).doctorReply,
showAppDrawer: false,
body:_doctorReplyProvider.isLoading? DrAppCircularProgressIndeicator():
_doctorReplyProvider.isError? Center(
child: Text(

@ -5,9 +5,7 @@ import 'package:flutter/material.dart';
class MessagesScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppScaffold(
current: 1,
appBarTitle: TranslationBase.of(context).messagesScreenToolbarTitle,
return Scaffold(
body: Center(
child: Text('Messages heeer'),
),

@ -17,8 +17,6 @@ class MyReferralPatient extends StatelessWidget {
Widget build(BuildContext context) {
referralPatientProvider = Provider.of(context);
return AppScaffold(
showBottomBar: false,
showAppDrawer: false,
appBarTitle: 'My Referral Patient',
body: referralPatientProvider.isLoading
? DrAppCircularProgressIndeicator()

@ -18,8 +18,6 @@ class MyReferredPatient extends StatelessWidget {
Widget build(BuildContext context) {
referredPatientProvider = Provider.of(context);
return AppScaffold(
showBottomBar: false,
showAppDrawer: false,
appBarTitle: 'My Referred Patient',
body: referredPatientProvider.isLoading
? DrAppCircularProgressIndeicator()

@ -15,11 +15,7 @@ class MyScheduleScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
scheduleProvider = Provider.of(context);
return AppScaffold(
// pageOnly: false,
showBottomBar: false,
showAppDrawer: false,
appBarTitle: TranslationBase.of(context).mySchedule,
return Scaffold(
body: scheduleProvider.isLoading
? DrAppCircularProgressIndeicator()
: scheduleProvider.isError

@ -4,9 +4,7 @@ import 'package:flutter/material.dart';
class ServicesScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppScaffold(
current: 2,
appBarTitle: 'Services',
return Scaffold(
body: Center(
child: Text('Services heeer'),
),

@ -113,8 +113,6 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "SEARCH FOR PATIENT",
showBottomBar: false,
showAppDrawer: false,
body: ListView(
children: <Widget>[
RoundedContainer(

@ -296,8 +296,6 @@ class _PatientsScreenState extends State<PatientsScreen> {
PatientsProvider patientsProv = Provider.of<PatientsProvider>(context);
return AppScaffold(
showBottomBar: false,
showAppDrawer: false,
appBarTitle: patientTypetitle,
body: _isLoading
? DrAppCircularProgressIndeicator()
@ -398,9 +396,9 @@ class _PatientsScreenState extends State<PatientsScreen> {
url +
avatarFemale,
height:
100.0,
80.0,
width:
100.0,
80.0,
semanticsLabel:
'Female Logo')
],

@ -77,8 +77,6 @@ class _InsuranceApprovalsState extends State<InsuranceApprovalsScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Insurance Approvals",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError

@ -73,8 +73,6 @@ class _LabOrdersScreenState extends State<LabOrdersScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Lab Orders",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError

@ -41,8 +41,6 @@ class _LabResultState extends State<LabResult> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Lab Orders",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError

@ -76,8 +76,6 @@ class _PatientsOrdersState extends State<PatientsOrdersScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Orders",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError

@ -9,9 +9,6 @@ class PatientProfileScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppScaffold(
// child: child,
showBottomBar: false,
showAppDrawer: false,
appBarTitle: 'Patient Profile',
body: PatientProfileWidget(),
);

@ -1,3 +1,4 @@
import 'package:doctor_app_flutter/models/patient/reauest_prescription_report_for_in_patient.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart';
import 'package:flutter/cupertino.dart';
@ -12,9 +13,7 @@ import '../../../../providers/patients_provider.dart';
import '../../../../util/dr_app_shared_pref.dart';
import '../../../../widgets/shared/app_scaffold_widget.dart';
import '../../../../widgets/shared/app_texts_widget.dart';
import '../../../../widgets/shared/card_with_bg_widget.dart';
import '../../../../widgets/shared/dr_app_circular_progress_Indeicator.dart';
import '../../../../widgets/shared/profile_image_widget.dart';
import '../../../../widgets/shared/errors/dr_app_embedded_error.dart';
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
@ -47,20 +46,25 @@ class _PrescriptionScreenState extends State<PrescriptionScreen> {
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
PatiantInformtion patient = routeArgs['patient'];
String token = await sharedPref.getString(TOKEN);
// String type = await sharedPref.getString(SLECTED_PATIENT_TYPE);
// int inOutpatientType = 1;
// if (type == '0') {
// inOutpatientType = 2;
// }
// print(type);
PrescriptionReqModel prescriptionReqModel = PrescriptionReqModel(
patientID: patient.patientId,
projectID: patient.projectId,
tokenID: token,
patientTypeID: patient.patientType,
languageID: 2,
setupID: 0);
patientsProv.getPatientPrescriptions(prescriptionReqModel.toJson());
String type = await sharedPref.getString(SLECTED_PATIENT_TYPE);
if (type == '1') {
RequestPrescriptionReportForInPatient prescriptionReqModel =
RequestPrescriptionReportForInPatient(
patientID: patient.patientId,
patientTypeID: patient.patientType,
admissionNo: int.parse(patient.admissionNo));
patientsProv.getInPatientPrescriptions(prescriptionReqModel.toJson());
} else {
PrescriptionReqModel prescriptionReqModel = PrescriptionReqModel(
patientID: patient.patientId,
projectID: patient.projectId,
tokenID: token,
patientTypeID: patient.patientType,
languageID: 2,
setupID: 0);
patientsProv.getOutPatientPrescriptions(prescriptionReqModel.toJson());
}
}
@override
@ -77,8 +81,6 @@ class _PrescriptionScreenState extends State<PrescriptionScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Prescriptions",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError
@ -104,25 +106,38 @@ class _PrescriptionScreenState extends State<PrescriptionScreen> {
Row(
children: <Widget>[
LargeAvatar(
url: patientsProv.patientPrescriptionsList[index].doctorImageURL,name:patientsProv.patientPrescriptionsList[index].doctorName ,radius: 10,width: 70,),
url: patientsProv
.patientPrescriptionsList[index]
.doctorImageURL,
name: patientsProv
.patientPrescriptionsList[index]
.doctorName,
radius: 10,
width: 70,
),
Expanded(
child: Container(
margin: EdgeInsets.only(left: 15,right: 15),
margin: EdgeInsets.only(
left: 15, right: 15),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'${patientsProv.patientPrescriptionsList[index].name}',
fontSize: 2.5 * SizeConfig.textMultiplier,
fontSize: 2.5 *
SizeConfig.textMultiplier,
),
SizedBox(
height: 8,
),
AppText(
' ${patientsProv.patientPrescriptionsList[index].clinicDescription}',
fontSize: 2.5 * SizeConfig.textMultiplier,
color: Theme.of(context).primaryColor),
'${patientsProv.patientPrescriptionsList[index].clinicDescription}',
fontSize: 2.5 *
SizeConfig
.textMultiplier,
color: Theme.of(context)
.primaryColor),
SizedBox(
height: 8,
),

@ -76,8 +76,6 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Progress Note",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError

@ -0,0 +1,40 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class RadiologyReportScreen extends StatelessWidget {
final String reportData;
RadiologyReportScreen({Key key, this.reportData});
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Radiology Report",
body: Container(
padding: EdgeInsets.all(10),
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(10)),
color: Colors.white,
border: Border(
bottom: BorderSide(
color: Colors.grey, width: 0.5),
top: BorderSide(
color: Colors.grey, width: 0.5),
left: BorderSide(
color: Colors.grey, width: 0.5),
right: BorderSide(
color: Colors.grey, width: 0.5),
),
),
child: AppText(reportData,
fontSize: 2.5 * SizeConfig.textMultiplier,
),
),
);
}
}

@ -1,3 +1,5 @@
import 'package:doctor_app_flutter/screens/patients/profile/radiology/radiology_report_screen.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -74,8 +76,6 @@ class _RadiologyScreenState extends State<RadiologyScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Radiology",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError
@ -88,68 +88,106 @@ class _RadiologyScreenState extends State<RadiologyScreen> {
0,
SizeConfig.realScreenWidth * 0.05,
0),
child: ListView.builder(
itemCount: patientsProv.patientRadiologyList.length,
itemBuilder: (BuildContext ctxt, int index) {
return InkWell(
child: CardWithBgWidget(
widget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
ProfileImageWidget(
child: Container(
margin: EdgeInsets.symmetric(vertical: 10),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(20.0),
),
),
child: ListView.builder(
itemCount: patientsProv.patientRadiologyList.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => RadiologyReportScreen(reportData: patientsProv.patientRadiologyList[index].reportData,)),);
},
child: Container(
padding: EdgeInsets.all(10),
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(10)),
border: Border(
bottom: BorderSide(
color: Colors.grey, width: 0.5),
top: BorderSide(
color: Colors.grey, width: 0.5),
left: BorderSide(
color: Colors.grey, width: 0.5),
right: BorderSide(
color: Colors.grey, width: 0.5),
),
),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
LargeAvatar(
url: patientsProv
.patientRadiologyList[index]
.doctorImageURL),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
8, 0, 0, 0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'${patientsProv.patientRadiologyList[index].doctorName}',
fontSize: 2.5 *
.doctorImageURL,
name: patientsProv
.patientLabResultOrdersList[
index]
.doctorName,
),
Expanded(
child: Padding(
padding:
const EdgeInsets.fromLTRB(
8, 0, 0, 0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'${patientsProv.patientRadiologyList[index].doctorName}',
fontSize: 2.5 *
SizeConfig
.textMultiplier,
fontWeight:
FontWeight.bold),
SizedBox(
height: 8,
),
AppText(
'Invoice No:${patientsProv.patientRadiologyList[index].invoiceNo}',
fontSize: 2 *
SizeConfig
.textMultiplier,
),
SizedBox(
height: 8,
),
AppText(
' ${patientsProv.patientRadiologyList[index].clinicName}',
fontSize: 2 *
SizeConfig
.textMultiplier,
fontWeight:
FontWeight.bold),
SizedBox(
height: 8,
),
AppText(
'Invoice No:${patientsProv.patientRadiologyList[index].invoiceNo}',
fontSize: 2 *
SizeConfig.textMultiplier,
),
SizedBox(
height: 8,
),
AppText(
' ${patientsProv.patientRadiologyList[index].clinicName}',
fontSize: 2 *
SizeConfig.textMultiplier,
color: Theme.of(context)
.primaryColor,
),
SizedBox(
height: 8,
),
],
color: Theme.of(context)
.primaryColor,
),
SizedBox(
height: 8,
),
],
),
),
),
)
],
),
],
)
],
),
],
),
),
),
onTap: () {},
);
}),
);
}),
),
),
);
}

@ -77,8 +77,6 @@ class _VitalSignScreenState extends State<VitalSignScreen> {
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "VITAL SIGN",
showAppDrawer: false,
showBottomBar: false,
body: patientsProv.isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError

@ -40,6 +40,16 @@ class TranslationBase {
String get errorNoSchedule => localizedValues['errorNoSchedule'][locale.languageCode];
String get verify => localizedValues['verify'][locale.languageCode];
String get referralDoctor => localizedValues['referralDoctor'][locale.languageCode];
String get referringClinic => localizedValues['referringClinic'][locale.languageCode];
String get frequency => localizedValues['frequency'][locale.languageCode];
String get priority => localizedValues['priority'][locale.languageCode];
String get maxResponseTime => localizedValues['maxResponseTime'][locale.languageCode];
String get clinicDetailsandRemarks=> localizedValues['clinicDetailsandRemarks'][locale.languageCode];
String get answerSuggestions => localizedValues['answerSuggestions'][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -75,113 +75,54 @@ class _MyReferralPatientWidgetState extends State<MyReferralPatientWidget> {
children: [
TableRow(
children: [
Expanded(
child: Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
'File No',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferralPatientModel.referringDoctor}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
'File No',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferralPatientModel.referringDoctor}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
Expanded(
child: Container(
margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Referring Doctor',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
widget.myReferralPatientModel
.referringClinicDescription,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
Container(
margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Referring Doctor',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
widget.myReferralPatientModel
.referringClinicDescription,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
)
),
]
),
TableRow(
children: [
Expanded(
child: Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Referring Clinic',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferralPatientModel.referringClinicDescription}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
),
Expanded(
child: Container(
margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Frequency',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
widget.myReferralPatientModel
.frequencyDescription,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
)
]
),
TableRow(
children: [
Expanded(
child: Container(
Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
@ -189,13 +130,13 @@ class _MyReferralPatientWidgetState extends State<MyReferralPatientWidget> {
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Priority',
'Referring Clinic',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferralPatientModel.priorityDescription}',
'${widget.myReferralPatientModel.referringClinicDescription}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
@ -203,9 +144,7 @@ class _MyReferralPatientWidgetState extends State<MyReferralPatientWidget> {
],
),
),
),
Expanded(
child: Container(
Container(
margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
@ -213,21 +152,69 @@ class _MyReferralPatientWidgetState extends State<MyReferralPatientWidget> {
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Max Response Time',
'Frequency',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
Helpers.getDateFormatted(widget
.myReferralPatientModel
.mAXResponseTime),
widget.myReferralPatientModel
.frequencyDescription,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
)
]
),
TableRow(
children: [
Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Priority',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferralPatientModel.priorityDescription}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
Container(
margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Max Response Time',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
Helpers.getDateFormatted(widget
.myReferralPatientModel
.mAXResponseTime),
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
)
],

@ -1,6 +1,7 @@
import 'package:doctor_app_flutter/models/my_referral_patient_model.dart';
import 'package:doctor_app_flutter/models/my_referred_patient_model.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
@ -86,144 +87,81 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
),
children: [
TableRow(children: [
Expanded(
child: Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
decoration: BoxDecoration(),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'File No',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferredPatientModel.patientId}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
decoration: BoxDecoration(),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
TranslationBase.of(context).fileNo,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferredPatientModel.patientId}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
Expanded(
child: Container(
margin: EdgeInsets.only(
left: 4,
top: 2.5,
right: 2.5,
bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Referral Doctor',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
Texts(
widget.myReferredPatientModel
.referralDoctorName,
maxLength: 80,
readMore: true,
),
],
),
Container(
margin: EdgeInsets.only(
left: 4,
top: 2.5,
right: 2.5,
bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
TranslationBase.of(context).referralDoctor,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
Texts(
widget.myReferredPatientModel
.referralDoctorName,
maxLength: 80,
readMore: true,
),
],
),
),
]),
TableRow(
children: [
Expanded(
child: Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Referring Clinic',
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferredPatientModel.referralClinicDescription}',
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
),
Expanded(
child: Container(
margin: EdgeInsets.only(
left: 4,
top: 2.5,
right: 2.5,
bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Frequency',
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
widget.myReferredPatientModel
.frequencyDescription,
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
)
],
),
TableRow(children: [
Expanded(
child: Container(
Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Priority',
fontSize:
1.7 * SizeConfig.textMultiplier,
TranslationBase.of(context).referringClinic,
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferredPatientModel.priorityDescription}',
fontSize:
1.7 * SizeConfig.textMultiplier,
'${widget.myReferredPatientModel.referralClinicDescription}',
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
),
Expanded(
child: Container(
Container(
margin: EdgeInsets.only(
left: 4,
top: 2.5,
@ -232,24 +170,75 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Max Response Time',
fontSize:
1.7 * SizeConfig.textMultiplier,
TranslationBase.of(context).frequency,
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
Helpers.getDateFormatted(widget
.myReferredPatientModel
.maxResponseTime),
fontSize:
1.7 * SizeConfig.textMultiplier,
widget.myReferredPatientModel
.frequencyDescription,
fontSize: 1.7 *
SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
)
],
),
TableRow(children: [
Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
TranslationBase.of(context).priority,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
'${widget.myReferredPatientModel.priorityDescription}',
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
),
Container(
margin: EdgeInsets.only(
left: 4,
top: 2.5,
right: 2.5,
bottom: 2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
TranslationBase.of(context).maxResponseTime,
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
AppText(
Helpers.getDateFormatted(widget
.myReferredPatientModel
.maxResponseTime),
fontSize:
1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w300,
)
],
),
)
])
@ -263,7 +252,7 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
height: 5,
),
AppText(
'Clinic Details and Remarks',
TranslationBase.of(context).clinicDetailsandRemarks,
fontSize: 1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
textAlign: TextAlign.start,
@ -281,7 +270,7 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
height: 5,
),
AppText(
'Answer/Suggestions',
TranslationBase.of(context).answerSuggestions,
fontSize: 1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
textAlign: TextAlign.start,
@ -319,7 +308,7 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
DrAppToastMsg.showErrorToast(e);
}
},
title: 'Verify',
title: TranslationBase.of(context).verify,
loading: _isLoading,
),
)

@ -10,63 +10,33 @@ import '../../widgets/shared/app_loader_widget.dart';
import '../../widgets/shared/custom_shape_clipper.dart';
class AppScaffold extends StatelessWidget {
bool pageOnly = false;
// bool showAll =
bool showAppBar = true;
bool showAppDrawer = true;
bool showBottomBar = true;
bool showbg = true;
bool showCurve = true;
String appBarTitle = '';
String appBarTitle;
Widget body;
bool isloading = false;
int current;
//======
Color backGroundcolorhex=Colors.teal;//Hexcolor('#88b74093');//Hexcolor('#FCF7F7');
//======
bool isLoading;
AppScaffold(
{this.pageOnly,
this.appBarTitle,
this.showAppBar,
this.showBottomBar,
this.showAppDrawer = true,
this.body,
this.showbg,
this.showCurve,
this.isloading = false,
this.current,
this.backGroundcolorhex
});
AppScaffold({this.appBarTitle ='', this.body, this.isLoading = false});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor:Hexcolor('#F5F5F5'),
// (pageOnly == true || showbg == false) ? null : Hexcolor('#FCF7F7'),
appBar: (pageOnly == true || showAppBar == false)
? null
: AppBar(
backgroundColor: Hexcolor('#F5F5F5'),
appBar: appBarTitle != ''
? AppBar(
elevation: 0,
backgroundColor:Hexcolor('#515B5D'), //Hexcolor('#FFDDD9'),
backgroundColor: Hexcolor('#515B5D'),
textTheme: TextTheme(
title: TextStyle(
color: Colors.white, fontWeight: FontWeight.bold)),//Colors.black
headline6: TextStyle(
color: Colors.white, fontWeight: FontWeight.bold)),
title: Text(appBarTitle.toUpperCase()),
leading: Builder(builder: (BuildContext context) {
return IconButton(
icon: showAppDrawer
? Icon(Icons.menu)
: Icon(Icons.arrow_back_ios),
color: Colors.white,//Colors.black,
onPressed: () => showAppDrawer
? Scaffold.of(context).openDrawer()
: Navigator.pop(context),
icon: Icon(Icons.arrow_back_ios),
color: Colors.white, //Colors.black,
onPressed: () => Navigator.pop(context),
);
}),
centerTitle: true,
actions: <Widget>[
// IconButton(icon: Icon(Icons.person), onPressed: null)
ProfileImageWidget(
height: 50,
width: 50,
@ -74,93 +44,12 @@ class AppScaffold extends StatelessWidget {
"https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
)
],
),
drawer: (pageOnly == true || showAppDrawer == false)
? null
: Theme(
data: Theme.of(context).copyWith(
canvasColor: Colors.transparent,
),
child: SafeArea(child: AppDrawer()),
),
// ,
bottomNavigationBar: (pageOnly == true || showBottomBar == false)
? null
: BottomNavigationBar(
items: [
BottomNavigationBarItem(
icon: Icon(
Icons.home,
color: current == 0 ? Colors.red : Colors.grey,
),
title: Text(
'Home',
style: TextStyle(
color: current == 0 ? Colors.red : Colors.grey),
),
backgroundColor: Colors.green,
// activeIcon: Icon(DoctorApp.home_icon)
),
BottomNavigationBarItem(
icon: new Icon(
Icons.mail,
color: current == 1 ? Colors.red : Colors.grey,
),
title: new Text('Messages',
style: TextStyle(
color: current == 1 ? Colors.red : Colors.grey)),
// backgroundColor: current == 1?Colors.red:Colors.grey,
),
BottomNavigationBarItem(
icon: Icon(
Icons.apps,
color: current == 2 ? Colors.red : Colors.grey,
),
title: Text('Menu',
style: TextStyle(
color: current == 2 ? Colors.red : Colors.grey)),
)
],
onTap: (index) => navigatot(index, context),
),
body: (pageOnly == true || showCurve == false)
? Stack(children: <Widget>[body, buildAppLoaderWidget(isloading)])
: Stack(
children: <Widget>[
ClipPath(
clipper: CustomShapeClipper(),
child: Container(
height: SizeConfig.realScreenHeight * 0.40,
decoration:
BoxDecoration(color: Hexcolor('#F5F5F5')))),//Hexcolor('#FFDDD9')
Positioned(
// key: ,
// top: SizeConfig.realScreenHeight * 0.10,
child: body),
buildAppLoaderWidget(isloading)
],
));
)
: null,
body: Stack(children: <Widget>[body, buildAppLoaderWidget(isLoading)]));
}
Widget buildAppLoaderWidget(bool isloading) {
return isloading ? AppLoaderWidget() : Container();
}
navigatot(index, context) {
print('index :${index} current : ${current}');
if (index != current) {
switch (index) {
case 0:
Navigator.of(context).pushReplacementNamed(HOME);
break;
case 1:
Navigator.of(context).pushReplacementNamed(MESSAGES);
break;
case 2:
Navigator.of(context).pushReplacementNamed(SERVICES);
break;
default:
}
}
}
}

@ -0,0 +1,75 @@
import 'package:doctor_app_flutter/presentation/doctor_app_icons.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'bottom_navigation_item.dart';
class BottomNavBar extends StatefulWidget {
final ValueChanged<int> changeIndex;
BottomNavBar({Key key, this.changeIndex}) : super(key: key);
@override
_BottomNavBarState createState() => _BottomNavBarState();
}
class _BottomNavBarState extends State<BottomNavBar> {
int _index = 0;
_changeIndex(int index) {
widget.changeIndex(index);
setState(() {
_index = index;
});
}
@override
Widget build(BuildContext context) {
return BottomAppBar(
elevation: 4,
shape: CircularNotchedRectangle(),
color: Colors.white,
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 18),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
BottomNavigationItem(
icon: DoctorApp.home_icon,
activeIcon: DoctorApp.home_icon_active,
changeIndex: _changeIndex,
index: _index,
currentIndex: 0,
name: 'HOME',
),
BottomNavigationItem(
icon: DoctorApp.message_icon,
activeIcon: DoctorApp.message_icon_active,
changeIndex: _changeIndex,
index: _index,
currentIndex: 1,
name: 'REPLAY',
),
BottomNavigationItem(
icon: DoctorApp.schedule_icon,
activeIcon: DoctorApp.scdedule_icon_active,
changeIndex: _changeIndex,
index: _index,
currentIndex: 2,
name: 'SCHEDULE',
),
BottomNavigationItem(
icon: DoctorApp.menu_icon,
activeIcon: DoctorApp.menu_icon_active,
changeIndex: _changeIndex,
index: _index,
currentIndex: 3,
name: 'SERVICES',
)
],
),
),
);
}
}

@ -0,0 +1,68 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class BottomNavigationItem extends StatelessWidget {
final IconData icon;
final IconData activeIcon;
final ValueChanged<int> changeIndex;
final int index;
final int currentIndex;
final String name;
BottomNavigationItem(
{this.icon,
this.activeIcon,
this.changeIndex,
this.index,
this.currentIndex,
this.name});
@override
Widget build(BuildContext context) {
return Expanded(
child: SizedBox(
height: 70.0,
child: Material(
type: MaterialType.transparency,
child: InkWell(
highlightColor: Colors.transparent,
splashColor: Colors.transparent,
onTap: () => changeIndex(currentIndex),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 15,),
Container(
// decoration: BoxDecoration(boxShadow: [
// BoxShadow(
// color: currentIndex == index
// ? Color.fromRGBO(78, 62, 253, 0.4)
// : Color.fromRGBO(78, 62, 253, 0),
// blurRadius: 9.0,
// spreadRadius: -4.0,
// offset: Offset(0.0, 2.0))
// ]),
child: Icon(currentIndex == index ? activeIcon : icon,
/*color: currentIndex == index
? Theme.of(context).primaryColor
: Theme.of(context).dividerColor,*/
size: 22.0),
),
SizedBox(height: 5,),
Text(
name,
style: TextStyle(
color: currentIndex == index
? Theme.of(context).primaryColor
: Theme.of(context).dividerColor,
),
),
],
),
),
),
),
);
}
}

@ -36,11 +36,11 @@ class CardWithBgWidgetNew extends StatelessWidget {
children: [
Center(
child: Container(
padding:EdgeInsets.fromLTRB(0, 10,0, 10), //EdgeInsets.all(10.0),//10
// padding:EdgeInsets.fromLTRB(0, 10,0, 10), //EdgeInsets.all(10.0),//10
// margin: EdgeInsets.only(left: 10),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: widget,
child: Center(child: widget),
)),
)
],

Loading…
Cancel
Save