|
|
|
@ -6,11 +6,12 @@
|
|
|
|
|
|
|
|
|
|
*@desc:
|
|
|
|
|
*/
|
|
|
|
|
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/routes.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/screens/patients/TopTenUsersModelResponse.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/screens/patients/patiant_info_model.dart';
|
|
|
|
|
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
@ -34,7 +35,9 @@ class _PatientsScreenState extends State<PatientsScreen> {
|
|
|
|
|
List<dynamic> litems;
|
|
|
|
|
//*******************
|
|
|
|
|
List<PatiantInformtion> responseModelList;
|
|
|
|
|
//List<PatiantInformtion<dynamic>> litems2;
|
|
|
|
|
List<String> _locations = ['Today', 'Tomorrow', 'Next Week'];
|
|
|
|
|
int _activeLocation = 0;
|
|
|
|
|
|
|
|
|
|
//*******************
|
|
|
|
|
|
|
|
|
|
bool _isInit = true;
|
|
|
|
@ -68,16 +71,13 @@ class _PatientsScreenState extends State<PatientsScreen> {
|
|
|
|
|
print('List_MyInPatient${(res['List_MyInPatient'])}');
|
|
|
|
|
setState(() {
|
|
|
|
|
int val2 = int.parse(patientType);
|
|
|
|
|
litems = res[SERVICES_PATIANT2[val2]]; //res['List_MyInPatient'];
|
|
|
|
|
litems = res[SERVICES_PATIANT2[val2]];
|
|
|
|
|
//********************
|
|
|
|
|
// litems2=res[SERVICES_PATIANT2[val2]];
|
|
|
|
|
//PatiantInformtion
|
|
|
|
|
//List<PatiantInformtion> responseModelList = new PatiantInformtion.fromJson(litems).;//TopTenUsersModelResponse.fromJson(parsed).list;
|
|
|
|
|
final List parsed = litems; //json.decode(response.body);
|
|
|
|
|
//List<PatientModel> responseModelList = new TopTenUsersModelResponse.fromJson(parsed).list;
|
|
|
|
|
// List<PatiantInformtion> responseModelList = new TopTenUsersModelResponse.fromJson(parsed).list;
|
|
|
|
|
|
|
|
|
|
final List parsed = litems;
|
|
|
|
|
|
|
|
|
|
responseModelList =
|
|
|
|
|
new TopTenUsersModelResponse.fromJson(parsed).list;
|
|
|
|
|
new ModelResponse.fromJson(parsed).list;
|
|
|
|
|
//********************
|
|
|
|
|
_isLoading = false;
|
|
|
|
|
_hasError = res['ErrorEndUserMessage'];
|
|
|
|
@ -99,15 +99,21 @@ class _PatientsScreenState extends State<PatientsScreen> {
|
|
|
|
|
appBarTitle: 'Patients',
|
|
|
|
|
//***********Modify by amjad (create List view to insert all new data webservise in scroll )*************
|
|
|
|
|
body: Container(
|
|
|
|
|
child: ListView(
|
|
|
|
|
scrollDirection: Axis.vertical,
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
Container(
|
|
|
|
|
child: ListView(scrollDirection: Axis.vertical, children: <Widget>[
|
|
|
|
|
Container(
|
|
|
|
|
//child:litems == null?Column():Column(children: <Widget>[
|
|
|
|
|
child: litems == null
|
|
|
|
|
? Column()
|
|
|
|
|
: Column(
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
//*********change to test screen************* */
|
|
|
|
|
// child:Column(children: <Widget>[
|
|
|
|
|
Padding(
|
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
|
top: MediaQuery.of(context).size.height * 0.03),
|
|
|
|
|
child: _locationBar(context),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(height: 10.0),
|
|
|
|
|
Container(
|
|
|
|
|
width: SizeConfig.screenWidth * 0.80,
|
|
|
|
|
child: TextField(
|
|
|
|
@ -123,43 +129,43 @@ class _PatientsScreenState extends State<PatientsScreen> {
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
Column(
|
|
|
|
|
children:
|
|
|
|
|
responseModelList.map((PatiantInformtion item) {
|
|
|
|
|
return InkWell(
|
|
|
|
|
child: CardWithBgWidget(
|
|
|
|
|
widget: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
AppText(
|
|
|
|
|
item.nationalityName,
|
|
|
|
|
fontSize: 2.5 * SizeConfig.textMultiplier,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(item.lastName,
|
|
|
|
|
fontSize:
|
|
|
|
|
2.5 * SizeConfig.textMultiplier),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(item.middleName,
|
|
|
|
|
fontSize:
|
|
|
|
|
2.5 * SizeConfig.textMultiplier),
|
|
|
|
|
],
|
|
|
|
|
children:
|
|
|
|
|
responseModelList.map((PatiantInformtion item) {
|
|
|
|
|
return InkWell(
|
|
|
|
|
child: CardWithBgWidget(
|
|
|
|
|
widget: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
AppText(
|
|
|
|
|
item.nationalityName,
|
|
|
|
|
fontSize: 2.5 * SizeConfig.textMultiplier,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(item.lastName,
|
|
|
|
|
fontSize:
|
|
|
|
|
2.5 * SizeConfig.textMultiplier),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
),
|
|
|
|
|
AppText(item.middleName,
|
|
|
|
|
fontSize:
|
|
|
|
|
2.5 * SizeConfig.textMultiplier),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
onTap: () {
|
|
|
|
|
Navigator.of(context).pushNamed(PATIENTS_PROFILE,
|
|
|
|
|
arguments: {"patient": item});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}).toList())
|
|
|
|
|
onTap: () {
|
|
|
|
|
Navigator.of(context).pushNamed(
|
|
|
|
|
PATIENTS_PROFILE,
|
|
|
|
|
arguments: {"patient": item});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}).toList(),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
)));
|
|
|
|
|
))
|
|
|
|
|
])));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//***********amjad update*************
|
|
|
|
@ -185,6 +191,52 @@ class _PatientsScreenState extends State<PatientsScreen> {
|
|
|
|
|
borderSide: BorderSide(color: Theme.of(context).primaryColor),
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//*************
|
|
|
|
|
Widget _locationBar(BuildContext _context) {
|
|
|
|
|
//*********
|
|
|
|
|
|
|
|
|
|
//*********
|
|
|
|
|
return Container(
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.065,
|
|
|
|
|
width: SizeConfig.screenWidth * 0.80,
|
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
|
color: Color(0Xff59434f), //Color.fromARGB(89, 67, 79,0),
|
|
|
|
|
borderRadius: BorderRadius.circular(20)),
|
|
|
|
|
child: Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
|
|
|
mainAxisSize: MainAxisSize.max,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
children: _locations.map((l) {
|
|
|
|
|
bool _isActive = _locations[_activeLocation] == l ? true : false;
|
|
|
|
|
return Column(mainAxisSize: MainAxisSize.min, children: <Widget>[
|
|
|
|
|
InkWell(
|
|
|
|
|
child: Text(
|
|
|
|
|
l,
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
color: Colors.white,
|
|
|
|
|
fontWeight: FontWeight.bold),
|
|
|
|
|
),
|
|
|
|
|
onTap: () {
|
|
|
|
|
print(l);
|
|
|
|
|
print(_locations.indexOf(l));
|
|
|
|
|
setState(() {
|
|
|
|
|
_activeLocation = _locations.indexOf(l);
|
|
|
|
|
});
|
|
|
|
|
}),
|
|
|
|
|
_isActive
|
|
|
|
|
? Container(
|
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
|
borderRadius: BorderRadius.circular(10),
|
|
|
|
|
color: Colors.white),
|
|
|
|
|
height: 3,
|
|
|
|
|
width: 80,
|
|
|
|
|
)
|
|
|
|
|
: Container()
|
|
|
|
|
]);
|
|
|
|
|
}).toList(),
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//***********************
|
|
|
|
|