edit patient search

merge-requests/65/head
her_username 6 years ago
parent 111d90d56f
commit 312a4741a0

@ -11,8 +11,8 @@ import '../models/list_doctor_working_hours_table_model.dart';
import '../models/request_schedule.dart';
class ScheduleProvider with ChangeNotifier {
Client client =
HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]);
Client client = HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]);
List<ListDoctorWorkingHoursTable> listDoctorWorkingHoursTable = [];
bool isLoading = true;

@ -1,9 +1,11 @@
import 'package:barcode_scan/platform_wrapper.dart';
import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/models/patient/patient_model.dart';
import 'package:doctor_app_flutter/models/patient/topten_users_res_model.dart';
import 'package:doctor_app_flutter/providers/patients_provider.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/widgets/shared/app_button.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
@ -20,11 +22,13 @@ class QrReaderScreen extends StatefulWidget {
}
class _QrReaderScreenState extends State<QrReaderScreen> {
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
bool isLoading = false;
PatientModel patient = PatientModel(
ProjectID: 15,
ClinicID: 0,
DoctorID: 4709,
DoctorID: 1485,
FirstName: "0",
MiddleName: "0",
LastName: "0",
@ -103,24 +107,28 @@ class _QrReaderScreenState extends State<QrReaderScreen> {
),
):Container(),
Column(
children: patientList.map((item) {
return InkWell(
onTap: (){
Navigator.of(context).pushNamed(PATIENTS_PROFILE, arguments: {
"patient": item,
});
},
child: CardWithBgWidget(
widget: Container(
child: AppText(
'${item.firstName} ${item.lastName}',
fontSize: 2.5 * SizeConfig.textMultiplier,
children: patientList.map((item) {
return InkWell(
onTap: (){
Navigator.of(context).pushNamed(PATIENTS_PROFILE, arguments: {
"patient": item,
});
},
child: AnimatedContainer(
duration: Duration(milliseconds: 200),
child: CardWithBgWidget(
widget: Container(
child: AppText(
'${item.firstName} ${item.lastName}',
fontSize: 2.5 * SizeConfig.textMultiplier,
),
),
),
),
),
);
}).toList()
)
);
}).toList()
),
],
),
),
@ -134,51 +142,59 @@ class _QrReaderScreenState extends State<QrReaderScreen> {
/// When give qr we will change this method to get data
/// var result = await BarcodeScanner.scan();
/// int patientID = get from qr result
String patientType = "1";
setState(() {
isLoading = true;
patientList = [];
});
patient.PatientID = 3120144;
Provider.of<PatientsProvider>(context, listen: false)
.getPatientList(patient, "1")
.then((response) {
if (response['MessageStatus'] == 1) {
switch (patientType) {
case "0":
if (response['List_MyOutPatient'] != null) {
setState(() {
patientList = ModelResponse.fromJson(response['List_MyOutPatient']).list;
isLoading = false;
});
} else {
setState(() {
error = 'No patient';
isLoading = false;
});
}
break;
case "1":
if (response['List_MyInPatient'] != null) {
setState(() {
patientList = ModelResponse.fromJson(response['List_MyInPatient']).list;
isLoading = false;
error="";
});
} else {
setState(() {
error = 'No patient';
isLoading = false;
});
var result = await BarcodeScanner.scan();
// if (result.rawContent == "") {
List<String> listOfParams = result.rawContent.split(',');
String patientType = "1";
setState(() {
isLoading = true;
patientList = [];
});
String token = await sharedPref.getString(TOKEN);
patient.PatientID = 3120269;
patient.TokenID = token;
Provider.of<PatientsProvider>(context, listen: false)
.getPatientList(patient, "1")
.then((response) {
if (response['MessageStatus'] == 1) {
switch (patientType) {
case "0":
if (response['List_MyOutPatient'] != null) {
setState(() {
patientList = ModelResponse
.fromJson(response['List_MyOutPatient'])
.list;
isLoading = false;
});
} else {
setState(() {
error = 'No patient';
isLoading = false;
});
}
break;
}
case "1":
if (response['List_MyInPatient'] != null) {
setState(() {
patientList = ModelResponse.fromJson(response['List_MyInPatient']).list;
isLoading = false;
error = "";
});
} else {
setState(() {
error = 'No patient';
isLoading = false;
});
break;
}
}
} else {
setState(() {
error = response['ErrorMessage'] ?? response['ErrorEndUserMessage'];
isLoading = false;
});
}
} else {
setState(() {
error = response['ErrorMessage'] ?? response['ErrorEndUserMessage'];
isLoading = false;
});
}
});
}
});
}
// }
}

@ -65,8 +65,7 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
if (_formKey.currentState.validate()) {
_formKey.currentState.save();
//*********************************** */
sharedPref.setString(TOKEN, '@dm!n');
sharedPref.setString(SLECTED_PATIENT_TYPE, _selectedType);
print('_selectedType${_selectedType}');
String token = await sharedPref.getString(TOKEN);
@ -81,7 +80,6 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
"selectedType": _selectedType
});
} else {
// If all data are not valid then start auto validation.
setState(() {
_autoValidate = true;
});
@ -235,9 +233,7 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
_patientSearchFormValues.setLastName = "0";
}
},
// validator: (value) {
// return TextValidator().validateName(value);
// },
inputFormatter: ONLY_LETTERS),
SizedBox(
height: 10,
@ -286,7 +282,7 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
),
AppTextFormField(
textInputType: TextInputType.number,
hintText: 'Patiant File',
hintText: 'Patient File',
// validator: (value) {
// return TextValidator().validateIdNumber(value);
// },

@ -37,15 +37,19 @@ class PatientsScreen extends StatefulWidget {
class _PatientsScreenState extends State<PatientsScreen> {
List<dynamic> litems;
// final List parsed;
List parsed;
//**********
List date;
List unfilterDate;
//***********
List<PatiantInformtion> responseModelList;
List<PatiantInformtion> responseModelList2;
// List<String> _locations = ['Today', 'Old Date', 'YESTERDAY'];
List<String> _locations = ['Today', 'Tomorrow', 'Next Week'];
int _activeLocation = 0;
@ -53,11 +57,14 @@ class _PatientsScreenState extends State<PatientsScreen> {
bool _isInit = true;
String patientType;
String patientTypetitle;
var _isLoading = true;
var _isLoading = false;
bool _isError =true;
String error ="";
var _hasError;
//*******Amjad add to search box******
final _controller = TextEditingController();
//**************
PatientModel patient;
PatientsProvider patientsProv;
@ -77,26 +84,32 @@ class _PatientsScreenState extends State<PatientsScreen> {
if (_isInit) {
PatientsProvider patientsProv = Provider.of<PatientsProvider>(context);
setState(() {
_isLoading = true;
_isError = false;
error ="";
});
patientsProv.getPatientList(patient, patientType).then((res) {
setState(() {
int val2 = int.parse(patientType);
litems = res[SERVICES_PATIANT2[val2]];
parsed = litems;
responseModelList = new ModelResponse.fromJson(parsed).list;
responseModelList2 = responseModelList;
//********************
_isLoading = false;
_hasError = res['ErrorEndUserMessage'];
if (res['MessageStatus'] == 1) {
int val2 = int.parse(patientType);
litems = res[SERVICES_PATIANT2[val2]];
parsed = litems;
responseModelList = new ModelResponse.fromJson(parsed).list;
responseModelList2 = responseModelList;
_isError = false;
} else {
_isError = true;
error = res['ErrorMessage'] ?? res['ErrorEndUserMessage'];
}
});
print(res);
}).catchError((error) {
// patientsProv.isLoading=false;
// patientsProv.isError=true;
print("====================error================");
print(error);
setState(() {
_isError = true;
this.error = helpers.generateContactAdminMsg(error);
});
});
}
@ -106,7 +119,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
}
/*
*@author: Amjad Amireh
*@author: Amjad Amireh
*@Date:2/5/2020
*@param:
*@return:PatientsScreen Search textbox filter
@ -141,7 +154,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
//***********DateFormat**************
/*
*@author: Amjad Amireh
*@author: Amjad Amireh
*@Date:5/5/2020
*@param:
*@return:Convert time from Milesecond to date with time
@ -177,10 +190,10 @@ class _PatientsScreenState extends State<PatientsScreen> {
}
/*
*@author: Amjad Amireh
*@author: Amjad Amireh
*@Date:5/5/2020
*@param:
*@return:Convert time from Milesecond to date
*@return:Convert time from Milesecond to date
*@desc:
*/
@ -202,7 +215,8 @@ class _PatientsScreenState extends State<PatientsScreen> {
return newDate.toString();
}
convertDateFormat2(String str) {
convertDateFormat2(String str) {
String timeConvert;
const start = "/Date(";
const end = "+0300)";
@ -220,6 +234,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
return newDate.toString();
}
filterBooking(String str) {
this.responseModelList = this.responseModelList2;
@ -281,15 +296,13 @@ class _PatientsScreenState extends State<PatientsScreen> {
return AppScaffold(
appBarTitle: patientTypetitle,
//***********Modify by amjad (create List view to insert all new data webservise in scroll )*************
body: patientsProv.isLoading
body: _isLoading
? DrAppCircularProgressIndeicator()
: patientsProv.isError
? DrAppEmbeddedError(error: patientsProv.error)
: _isError
? DrAppEmbeddedError(error:error)
: litems == null
? DrAppEmbeddedError(
error: 'You don\'t have any ' +
patientTypetitle +
" patiant")
error: 'You don\'t have any patient')
: Container(
child:
ListView(scrollDirection: Axis.vertical, children: <
@ -332,7 +345,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
this.searchData(str);
},
decoration: buildInputDecoration(
context, 'Search patiant'),
context, 'Search Patient'),
),
),
Container(
@ -367,11 +380,13 @@ class _PatientsScreenState extends State<PatientsScreen> {
patientType)] ==
"List_MyOutPatient"
? AppText(
convertDateFormat2(item
.appointmentDate
.toString())+" "+"-"+" "+item.startTime
,
.appointmentDate
.toString()) +
" " +
"-" +
" " +
item.startTime,
fontSize: 2.5 *
SizeConfig
.textMultiplier)

@ -134,6 +134,20 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.3"
charts_common:
dependency: transitive
description:
name: charts_common
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.0"
charts_flutter:
dependency: "direct main"
description:
name: charts_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.0"
checked_yaml:
dependency: transitive
description:

Loading…
Cancel
Save