|
|
|
|
@ -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)
|
|
|
|
|
|