bug fixes

merge-requests/365/head
Sultan Khan 3 years ago
parent 57d87dfc03
commit 9e31a3c560

@ -3,15 +3,17 @@ import 'package:diplomaticquarterapp/core/model/er/PatientER.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:flutter/cupertino.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/models/DoctorScheduleResponse.dart';
class MedicalService extends BaseService {
List<AppoitmentAllHistoryResultList> appoitmentAllHistoryResultList = List();
List<DoctorScheduleResponse> doctorScheduleResponse = List();
getAppointmentHistory({bool isActiveAppointment = false}) async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
if(isActiveAppointment) {
if (isActiveAppointment) {
body['IsActiveAppointment'] = true;
body['isDentalAllowedBackend'] = false;
}
@ -37,12 +39,30 @@ class MedicalService extends BaseService {
body['RequesterMobileNo'] = user.mobileNumber;
body['RequesterIsOutSA'] = user.outSA;
await baseAppClient.post(GET_PATIENT_APPOINTMENT_HISTORY,
onSuccess: (response, statusCode) async {
}, onFailure: (String error, int statusCode) {
onSuccess: (response, statusCode) async {},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future<Map> getSchedule(DoctorList doctorRequest) async {
Map<String, dynamic> request;
request = {
'DoctorID': doctorRequest.doctorID,
'ProjectID': doctorRequest.projectID,
'ClinicID': doctorRequest.clinicID,
'DoctorWorkingHoursDays': 7
};
dynamic localRes;
await baseAppClient.post(DOCTOR_SCHEDULE_URL,
onSuccess: (response, statusCode) async {
localRes = response;
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request);
localRes['List_DoctorWorkingHoursTable'].forEach((item) =>
{doctorScheduleResponse.add(DoctorScheduleResponse.fromJson(item))});
}
}

@ -4,12 +4,16 @@ import 'package:diplomaticquarterapp/core/service/medical/medical_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/models/DoctorScheduleResponse.dart';
class MedicalViewModel extends BaseViewModel {
MedicalService _medicalService = locator<MedicalService>();
List<AppoitmentAllHistoryResultList> get appoitmentAllHistoryResultList =>
_medicalService.appoitmentAllHistoryResultList;
List<DoctorScheduleResponse> get getDoctorScheduleList =>
_medicalService.doctorScheduleResponse;
getAppointmentHistory() async {
if (authenticatedUserObject.isLogin) {
@ -22,4 +26,16 @@ class MedicalViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
}
getDoctorSchedule(DoctorList doctorRequest) async {
if (authenticatedUserObject.isLogin) {
setState(ViewState.Busy);
await _medicalService.getSchedule(doctorRequest);
if (_medicalService.hasError) {
error = _medicalService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
}
}

@ -34,8 +34,8 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails>
@override
Widget build(BuildContext context) {
return BaseView<AnciallryOrdersViewModel>(
onModelReady: (model) =>
model.getOrdersDetails(widget.appoNo, widget.orderNo, widget.projectID),
onModelReady: (model) => model.getOrdersDetails(
widget.appoNo, widget.orderNo, widget.projectID),
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
baseViewModel: model,
@ -70,9 +70,12 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails>
label: TranslationBase.of(context).payNow,
backgroundColor: Colors.red[800],
onTap: () {
Navigator.push(context,
FadePage(page: OrdersPayment(),
),);
Navigator.push(
context,
FadePage(
page: OrdersPayment(),
),
);
},
)
],
@ -146,11 +149,11 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails>
),
Row(
children: [
Texts(
TranslationBase.of(context).invoiceDate,
// fontWeight: FontWeight.bold,
color: Colors.red[500],
),
// Texts(
// TranslationBase.of(context).invoiceDate,
// // fontWeight: FontWeight.bold,
// color: Colors.red[500],
// ),
Texts(" : "),
Texts(
DateUtil.getDayMonthYearDateFormatted(
@ -223,13 +226,10 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails>
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Row(
children: [
],
children: [],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Texts(
TranslationBase.of(context).price,
@ -248,19 +248,19 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails>
color: Colors.grey[500],
fontSize: 14,
),
] ),
]),
],
),
Divider(
color: Colors.black26,
),
],
));
}
Widget getAncillaryDetails(model) {
Map newMap = groupBy(model.ancillaryListsDetails[0].ancillaryOrderProcDetailsList,
Map newMap = groupBy(
model.ancillaryListsDetails[0].ancillaryOrderProcDetailsList,
(obj) => obj.procedureCategoryName);
print(newMap);
@ -325,6 +325,4 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails>
}).toList(),
);
}
}

@ -7,9 +7,10 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/medical_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
class SchedulePage extends StatefulWidget {
final DoctorList doctorList;
@ -24,6 +25,7 @@ class _SchedulePageState extends State<SchedulePage> {
PageController _pageController = PageController();
double currentPage = 0;
int selectedindex = 0;
bool isLoading = true;
List<DoctorScheduleResponse> doctorScheduleResponse = [];
final List<Widget> introWidgetsList = <Widget>[
Text('Hello'),
@ -33,7 +35,7 @@ class _SchedulePageState extends State<SchedulePage> {
@override
void initState() {
getSchedule(widget.doctorList);
//getSchedule(widget.doctorList, context);
// _pageController.addListener(() {
// setState(() {
// currentPage = _pageController.page;
@ -44,9 +46,12 @@ class _SchedulePageState extends State<SchedulePage> {
@override
Widget build(BuildContext context) {
return AppScaffold(
return BaseView<MedicalViewModel>(
onModelReady: (model) => model.getDoctorSchedule(widget.doctorList),
builder: (_, model, widget) => AppScaffold(
appBarTitle: TranslationBase.of(context).schedule,
isShowAppBar: true,
isLoading: true,
body: SizedBox(
height: MediaQuery.of(context).size.height,
child: Stack(
@ -63,7 +68,7 @@ class _SchedulePageState extends State<SchedulePage> {
itemBuilder: (context, index) {
return Container(
child: ListView.builder(
itemCount: doctorScheduleResponse.length,
itemCount: model.getDoctorScheduleList.length,
itemBuilder: (context, index) => ClipRRect(
borderRadius: const BorderRadius.all(
Radius.circular(20.0)),
@ -71,17 +76,21 @@ class _SchedulePageState extends State<SchedulePage> {
padding: EdgeInsets.only(
left: 10,
right: 10,
top: 25,
bottom: 25),
height: 100,
margin: EdgeInsets.all(10),
top: 20,
bottom: 20),
margin: EdgeInsets.only(
left: 20,
right: 20,
top: 7,
bottom: 7),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.green,
spreadRadius: 3),
offset: Offset(-10, 0)),
],
borderRadius: const BorderRadius.all(
borderRadius:
const BorderRadius.all(
Radius.circular(10.0)),
color: Colors.white),
child: Row(
@ -91,21 +100,26 @@ class _SchedulePageState extends State<SchedulePage> {
Column(
children: [
Texts(
doctorScheduleResponse[index]
model
.getDoctorScheduleList[
index]
.dayName,
color: HexColor('#0bb690'),
color:
HexColor('#0bb690'),
),
Texts(
DateUtil
.getDayMonthYearDateFormatted(
DateUtil
.convertStringToDate(
doctorScheduleResponse[
model
.getDoctorScheduleList[
index]
.date,
),
),
color: HexColor('#0bb690'),
color:
HexColor('#0bb690'),
)
],
)
@ -113,7 +127,9 @@ class _SchedulePageState extends State<SchedulePage> {
),
Expanded(
child: Texts(
doctorScheduleResponse[index]
model
.getDoctorScheduleList[
index]
.workingHours,
color: HexColor('#0bb690'),
),
@ -128,19 +144,20 @@ class _SchedulePageState extends State<SchedulePage> {
length: introWidgetsList.length,
)
],
)));
))));
}
getSchedule(DoctorList doctor) {
// GifLoaderDialogUtils.showMyDialog(AppGlobal.context);
service = new DoctorsListService();
service.getSchedule(doctor).then((value) {
doctorScheduleResponse.clear();
setState(() {
value['List_DoctorWorkingHoursTable'].forEach((item) => {
doctorScheduleResponse.add(DoctorScheduleResponse.fromJson(item))
});
});
});
}
//getSchedule(DoctorList doctor, BuildContext context) {
//GifLoaderDialogUtils.showMyDialog(context);
//service = new DoctorsListService();
// service.getSchedule(doctor).then((value) {
// doctorScheduleResponse.clear();
// setState(() {
// value['List_DoctorWorkingHoursTable'].forEach((item) => {
// doctorScheduleResponse.add(DoctorScheduleResponse.fromJson(item))
// });
// GifLoaderDialogUtils.hideDialog(context);
// });
// });
// }
}

@ -471,9 +471,8 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
})
}
});
// familyFileProvider.getSharedRecordByStatus();
}
familyFileProvider.getSharedRecordByStatus();
}
}

@ -1,51 +1,16 @@
import 'dart:math';
import 'package:badges/badges.dart';
import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/medical_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/MyAppointments.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_approval_screen.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_card_screen.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart';
import 'package:diplomaticquarterapp/pages/medical/patient_sick_leave_page.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/monthly_reports.dart';
import 'package:diplomaticquarterapp/pages/medical/smart_watch_health_data/smart_watch_instructions.dart';
import 'package:diplomaticquarterapp/pages/vaccine/my_vaccines_screen.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_home_page.dart';
import 'package:diplomaticquarterapp/pages/medical/radiology/radiology_home_page.dart';
import 'package:diplomaticquarterapp/pages/medical/vital_sign/vital_sign_details_screen.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/report_home_page.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/medical_profile_item.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/time_line_widget.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/alert_dialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/others/sliver_app_bar_delegate.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_card_screen.dart';
import 'package:provider/provider.dart';
import '../../locator.dart';
import '../../uitl/gif_loader_dialog_utils.dart';
import 'active_medications/ActiveMedicationsPage.dart';
import 'allergies_page.dart';
import 'ask_doctor/ask_doctor_home_page.dart';
import 'balance/my_balance_page.dart';
import 'doctor/doctor_home_page.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_approval_screen.dart';
import 'eye/EyeHomePage.dart';
import 'eye/EyeMeasurementsPage.dart';
import 'labs/labs_home_page.dart';
import 'my_trackers/my_trackers.dart';
class MedicalProfilePage extends StatefulWidget {
@override

@ -14,7 +14,7 @@ import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
class DoctorsListService extends BaseService {
AppSharedPreferences sharedPref = AppSharedPreferences();
@ -1498,22 +1498,4 @@ class DoctorsListService extends BaseService {
}, body: request);
return Future.value(localRes);
}
Future<Map> getSchedule(DoctorList doctorRequest) async {
Map<String, dynamic> request;
request = {
'DoctorID': doctorRequest.doctorID,
'ProjectID': doctorRequest.projectID,
'ClinicID': doctorRequest.clinicID,
'DoctorWorkingHoursDays': 7
};
dynamic localRes;
await baseAppClient.post(DOCTOR_SCHEDULE_URL,
onSuccess: (response, statusCode) async {
localRes = response;
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request);
return Future.value(localRes);
}
}

Loading…
Cancel
Save