Merge branch 'sultan' into 'development'

Sultan

See merge request Cloud_Solution/doctor_app_flutter!270
merge-requests/272/merge
Mohammad Aljammal 5 years ago
commit 1c614001d6

@ -26,7 +26,9 @@ const PATIENT_GET_CLINIC_BY_PROJECT_URL =
"Services/DoctorApplication.svc/REST/GetClinicsByProjectID";
const PROJECT_GET_INFO = "Services/DoctorApplication.svc/REST/GetProjectInfo";
const GET_PROJECTS = 'Services/Lists.svc/REST/GetProjectForDoctorAPP';
//const GET_PROJECTS = 'Services/Lists.svc/REST/GetProjectForDoctorAPP';
const GET_PROJECTS = 'Services/DoctorApplication.svc/REST/GetProjectInfo';
const GET_PATIENT_VITAL_SIGN =
'Services/Doctors.svc/REST/Doctor_GetPatientVitalSign';
const GET_PATIENT_VITAL_SIGN_DATA =

@ -24,6 +24,8 @@ class SickLeaveService extends BaseService {
dynamic get postReschedule => _postReschedule;
dynamic _postReschedule;
dynamic get sickLeaveResponse => _sickLeaveResponse;
dynamic _sickLeaveResponse;
Future getStatistics(appoNo, patientMRN) async {
hasError = false;
await baseAppClient.post(
@ -48,10 +50,8 @@ class SickLeaveService extends BaseService {
await baseAppClient.post(
ADD_SICK_LEAVE,
onSuccess: (dynamic response, int statusCode) {
Future.value(response);
//print(response);
// _statistics = {};
// _statistics = response['SickLeaveStatistics'];
_sickLeaveResponse = response;
return Future.value(response);
},
onFailure: (String error, int statusCode) {
hasError = true;
@ -72,10 +72,8 @@ class SickLeaveService extends BaseService {
await baseAppClient.post(
EXTEND_SICK_LEAVE,
onSuccess: (dynamic response, int statusCode) {
Future.value(response);
print(response);
// _statistics = {};
// _statistics = response['SickLeaveStatistics'];
_sickLeaveResponse = response;
return Future.value(response);
},
onFailure: (String error, int statusCode) {
hasError = true;

@ -6,7 +6,7 @@ import 'package:flutter/cupertino.dart';
class HospitalViewModel with ChangeNotifier {
BaseAppClient baseAppClient = BaseAppClient();
Future<Map> getProjectsList() async {
Future<Map> getProjectsList(memberID) async {
const url = GET_PROJECTS;
// TODO create model or remove it if no info need
var info = {
@ -17,7 +17,8 @@ class HospitalViewModel with ChangeNotifier {
"Channel": 9,
"TokenID": "",
"SessionID": "i1UJwCTSqt",
"IsLoginForDoctorApp": true
"IsLoginForDoctorApp": true,
"MemberID": memberID
};
dynamic localRes;

@ -17,6 +17,7 @@ class SickLeaveViewModel extends BaseViewModel {
List get coveringDoctors => _sickLeaveService.coveringDoctorsList;
get getReschduleLeave => _sickLeaveService.getAllRescheduleLeave;
get postSechedule => _sickLeaveService.postReschedule;
get sickleaveResponse => _sickLeaveService.sickLeaveResponse;
Future addSickLeave(AddSickLeaveRequest addSickLeaveRequest) async {
setState(ViewState.Busy);
await _sickLeaveService.addSickLeave(addSickLeaveRequest);

@ -52,8 +52,8 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
var fromDate;
var toDate;
var clinicID;
var fromTime;
var toTime;
String fromTime;
String toTime;
TextEditingController _controller4 = new TextEditingController();
TextEditingController _controller5 = new TextEditingController();
void _presentDatePicker(id) {
@ -764,7 +764,9 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
//df.format(DateTime.parse(widget.updateData.dateTimeFrom));
this.fromTime =
df.format(DateTime.parse(widget.updateData.dateTimeFrom));
this.fromTime = this.fromTime.substring(0, this.fromTime.length - 3);
this.toTime = df.format(DateTime.parse(widget.updateData.dateTimeTo));
this.toTime = this.toTime.substring(0, this.toTime.length - 3);
_toDateController2.text =
dateFormat.format(DateTime.parse(widget.updateData.dateTimeTo));
_controller5.text = toTime;
@ -820,8 +822,8 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
"weekDayId": 1,
"shiftId": 1,
"isOpen": true,
"timeFrom": "",
"timeTo": "",
"timeFrom": fromTime,
"timeTo": toTime,
"timeFromstr": "",
"timeTostr": ""
}
@ -845,17 +847,17 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
}
updateRecheduleLeave(model) {
final df = new DateFormat('yyyy-MM-ddTHH:MM:ss');
final dateFormat = new DateFormat('yyyy-MM-dd');
// final df = new DateFormat('yyyy-MM-ddTHH:MM:ss');
final df = new DateFormat('yyyy-MM-dd');
var fromDates = fromDate;
var toDates = toDate;
if (offTime == '1') {
fromDate = df.format(DateTime.parse(fromDates)) +
fromDate = df.format(DateTime.parse(_toDateController.text)) +
'T' +
fromTime +
':' +
DateTime.now().second.toString();
toDate = df.format(DateTime.parse(fromDates)) +
toDate = df.format(DateTime.parse(_toDateController.text)) +
'T' +
toTime +
':' +
@ -883,10 +885,10 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
"weekDayId": 1,
"shiftId": 1,
"isOpen": true,
"timeFrom": fromTime,
"timeTo": toTime,
"timeFromstr": "",
"timeTostr": ""
"timeFrom": "",
"timeTo": "",
"timeFromstr": fromTime,
"timeTostr": toTime
}
]
}

@ -4,7 +4,9 @@ import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart';
import 'package:doctor_app_flutter/models/sickleave/add_sickleave_request.dart';
import 'package:doctor_app_flutter/routes.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/sick-leave/add-sickleave.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
@ -116,6 +118,10 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
borderColor: Colors.white,
onChanged: (value) {
addSickLeave.noOfDays = value;
if (widget.extendedData != null) {
widget.extendedData.noOfDays =
int.parse(value);
}
},
hintText: widget.extendedData != null
? widget.extendedData.noOfDays
@ -163,6 +169,10 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
inputFormatter: ONLY_DATE,
onChanged: (value) {
addSickLeave.startDate = value;
if (widget.extendedData != null) {
widget.extendedData.startDate =
value;
}
}),
],
)),
@ -323,6 +333,9 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
.remarks),
onChanged: (value) {
addSickLeave.remarks = value;
if (widget.extendedData != null) {
widget.extendedData.remarks = value;
}
},
)
],
@ -338,14 +351,26 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
title: widget.isExtended == true
? TranslationBase.of(context).extend
: TranslationBase.of(context).add,
onPressed: () {
onPressed: () async {
if (widget.isExtended) {
model2
.extendSickLeave(
widget.extendedData)
.then((value) => (value) {
print(value);
});
await model2.extendSickLeave(
widget.extendedData);
DrAppToastMsg.showSuccesToast(
model2.sickleaveResponse[
'ListSickLeavesToExtent']
['success']);
Navigator.of(context).popUntil((route) {
return route.settings.name ==
PATIENTS_PROFILE;
});
Navigator.of(context).pushNamed(
ADD_SICKLEAVE,
arguments: {
'patient': widget.patient
});
//print(value);
//});
} else {
_validateInputs(model2);
}

@ -63,7 +63,7 @@ class _LoginFormState extends State<LoginForm> {
Widget build(BuildContext context) {
authProv = Provider.of<AuthViewModel>(context);
projectsProv = Provider.of<HospitalViewModel>(context);
getProjects();
return Form(
key: loginFormKey,
child: Container(
@ -88,9 +88,13 @@ class _LoginFormState extends State<LoginForm> {
onSaved: (value) {
userInfo.userID = value.trim();
},
onChanged: (value) {
userInfo.userID = value.trim();
},
onFieldSubmitted: (_) {
focusPass.nextFocus();
},
onEditingComplete: () {},
autofocus: false,
),
buildSizedBox(),
@ -113,8 +117,11 @@ class _LoginFormState extends State<LoginForm> {
},
onFieldSubmitted: (_) {
focusPass.nextFocus();
helpers.showCupertinoPicker(
context, projectsList, 'Name', onSelectProject);
// helpers.showCupertinoPicker(
// context, projectsList, 'facilityName', onSelectProject);
},
onTap: () {
this.getProjects(userInfo.userID);
},
),
buildSizedBox(),
@ -123,8 +130,8 @@ class _LoginFormState extends State<LoginForm> {
focusNode: focusProject,
controller: projectIdController,
onTap: () {
helpers.showCupertinoPicker(
context, projectsList, 'Name', onSelectProject);
// helpers.showCupertinoPicker(context, projectsList,
// 'facilityName', onSelectProject);
},
showCursor: false,
readOnly: true,
@ -143,7 +150,7 @@ class _LoginFormState extends State<LoginForm> {
readOnly: true,
decoration: buildInputDecoration(
context,
TranslationBase.of(context).loading,
TranslationBase.of(context).pleaseEnterYourProject,
'assets/images/password_icon.png')),
buildSizedBox(),
Row(
@ -322,13 +329,15 @@ class _LoginFormState extends State<LoginForm> {
});
}
getProjectsList() {
getProjectsList(memberID) {
//showLoading();
projectsProv.getProjectsList().then((res) {
projectsProv.getProjectsList(memberID).then((res) {
//hideLoading();
if (res['MessageStatus'] == 1) {
projectsList = res['ProjectInfo'];
setState(() {
projectsList = res['ListProject'];
userInfo.projectID = projectsList[0]["facilityId"];
projectIdController.text = projectsList[0]['facilityName'];
});
} else {
// handel error
@ -350,8 +359,8 @@ class _LoginFormState extends State<LoginForm> {
onSelectProject(index) {
setState(() {
userInfo.projectID = projectsList[index]["ID"];
projectIdController.text = projectsList[index]['Name'];
userInfo.projectID = projectsList[index]["facilityId"];
projectIdController.text = projectsList[index]['facilityName'];
});
primaryFocus.unfocus();
@ -371,10 +380,10 @@ class _LoginFormState extends State<LoginForm> {
Navigator.pop(context);
}
getProjects() {
if (_isInit) {
getProjects(value) {
if (value != null && value != '') {
if (projectsList.length == 0) {
getProjectsList();
getProjectsList(value);
}
}
_isInit = false;

Loading…
Cancel
Save