Delteing unused file & refactoring routes page
parent
fac8473f59
commit
ebe05226e9
@ -1,49 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../lookups/auth_lookup.dart';
|
||||
import '../../widgets/auth/auth_header.dart';
|
||||
import '../../widgets/auth/verfiy_account.dart';
|
||||
import '../../widgets/shared/app_scaffold_widget.dart';
|
||||
|
||||
class VerifyAccountScreen extends StatefulWidget {
|
||||
@override
|
||||
_VerifyAccountScreenState createState() => _VerifyAccountScreenState();
|
||||
}
|
||||
|
||||
class _VerifyAccountScreenState extends State<VerifyAccountScreen> {
|
||||
bool _isLoading = false;
|
||||
|
||||
/*
|
||||
*@author: Elham Rababah
|
||||
*@Date:19/4/2020
|
||||
*@param: isLoading
|
||||
*@return:
|
||||
*@desc: Change Isloading attribute in order to show or hide loader
|
||||
*/
|
||||
void changeLoadingStata(isLoading) {
|
||||
setState(() {
|
||||
_isLoading = isLoading;
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
isLoading: _isLoading,
|
||||
isShowAppBar: false,
|
||||
body: SafeArea(
|
||||
child: ListView(children: <Widget>[
|
||||
Container(
|
||||
margin: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AuthHeader(loginType.verifyPassword),
|
||||
VerifyAccount(changeLoadingStata: changeLoadingStata),
|
||||
],
|
||||
),
|
||||
),
|
||||
]),
|
||||
));
|
||||
}
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
class BloodBankScreen
|
||||
|
||||
extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: Text("Blood Bank"),),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MessagesScreen extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
isShowAppBar: false,
|
||||
body: Center(
|
||||
child: Text('Messages heeer'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ServicesScreen extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
isShowAppBar: false,
|
||||
body: Center(
|
||||
child: Text('Services heeer'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,103 +0,0 @@
|
||||
/*
|
||||
*@author: Amjad Amireh Modified Referred Patients
|
||||
*@Date:27/5/2020
|
||||
|
||||
|
||||
*@desc:
|
||||
*/
|
||||
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/expandable_item_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PatientReferredScreen extends StatefulWidget {
|
||||
PatientReferredScreen({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
_PatientReferredScreenState createState() => _PatientReferredScreenState();
|
||||
}
|
||||
|
||||
class _PatientReferredScreenState extends State<PatientReferredScreen> {
|
||||
|
||||
String patientType;
|
||||
String patientTypetitle;
|
||||
|
||||
List<Map<dynamic,dynamic>>list_product;
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
list_product=new List();
|
||||
for(var k=1;k<=5;k++)
|
||||
{
|
||||
Map map=Map();
|
||||
map.putIfAbsent(getName(k), ()=>getContent());
|
||||
list_product.add(map);
|
||||
|
||||
}
|
||||
list_product.map((s){
|
||||
|
||||
}).map((list)=>list).toList();}
|
||||
|
||||
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
||||
List<String>list=List();
|
||||
|
||||
return AppScaffold(
|
||||
//TODO : add Translation
|
||||
appBarTitle: "My Referred Patients",//patientTypetitle,
|
||||
body: Center(
|
||||
|
||||
child: ListView(
|
||||
children: <Widget>[
|
||||
for(final map in list_product)
|
||||
for(final keys in map.keys)
|
||||
ExpandableItem(keys,map[keys].toList())
|
||||
,
|
||||
],
|
||||
)
|
||||
),
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
String getName(int month)
|
||||
{
|
||||
switch(month)
|
||||
{
|
||||
case 1:
|
||||
return "Mahmoud Shrouf";
|
||||
case 2:
|
||||
return "Mahmoud Shrouf";
|
||||
case 3:
|
||||
return "Mahmoud Shrouf";
|
||||
case 4:
|
||||
return "Mahmoud Shrouf";
|
||||
case 5:
|
||||
return "Mahmoud Shrouf";
|
||||
case 6:
|
||||
return "Mahmoud Shrouf";
|
||||
case 7:
|
||||
return "Mahmoud Shrouf";
|
||||
case 8:
|
||||
return "Mahmoud Shrouf";
|
||||
case 9:
|
||||
return "Mahmoud Shrouf";
|
||||
case 10:
|
||||
return "Mahmoud Shrouf";
|
||||
case 11:
|
||||
return "Mahmoud Shrouf";
|
||||
case 12:
|
||||
return "Mahmoud Shrouf";
|
||||
}
|
||||
}
|
||||
|
||||
List<dynamic> getContent()
|
||||
{
|
||||
|
||||
return ["1","2","3","4","5","6"].toList();
|
||||
}
|
||||
}
|
||||
@ -1,493 +0,0 @@
|
||||
import 'package:doctor_app_flutter/config/config.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
||||
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/insurance_aprovals_request.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
import '../../../config/shared_pref_kay.dart';
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../../models/patient/patiant_info_model.dart';
|
||||
import '../../../util/dr_app_shared_pref.dart';
|
||||
import '../../../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../../../widgets/shared/app_texts_widget.dart';
|
||||
|
||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
||||
|
||||
/*
|
||||
*@author: ibrahim albitar
|
||||
*@Date:21/5/2020
|
||||
*@param:
|
||||
*@return:
|
||||
*@desc:
|
||||
*/
|
||||
|
||||
class InsuranceApprovalsScreen extends StatefulWidget {
|
||||
@override
|
||||
_InsuranceApprovalsState createState() => _InsuranceApprovalsState();
|
||||
}
|
||||
|
||||
class _InsuranceApprovalsState extends State<InsuranceApprovalsScreen> {
|
||||
var approvalsList;
|
||||
var filteredApprovalsList;
|
||||
final _controller = TextEditingController();
|
||||
|
||||
/*
|
||||
*@author: ibrahim al bitar
|
||||
*@Date:21/5/2020
|
||||
*@param:
|
||||
*@return:
|
||||
*@desc:
|
||||
*/
|
||||
getInsuranceApprovalsList(
|
||||
BuildContext context, PatientViewModel model) async {
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
PatiantInformtion patient = routeArgs['patient'];
|
||||
String token = await sharedPref.getString(TOKEN);
|
||||
String type = await sharedPref.getString(SLECTED_PATIENT_TYPE);
|
||||
|
||||
print(type);
|
||||
InsuranceAprovalsRequest insuranceApprovalsRequest =
|
||||
InsuranceAprovalsRequest(
|
||||
patientID: patient.patientId,
|
||||
projectID: patient.projectId,
|
||||
tokenID: token,
|
||||
patientTypeID: patient.patientType,
|
||||
languageID: 2);
|
||||
model
|
||||
.getPatientInsuranceApprovals(insuranceApprovalsRequest.toJson()).then((c){
|
||||
approvalsList = model.insuranceApporvalsList;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<PatientViewModel>(
|
||||
onModelReady: (model) => getInsuranceApprovalsList(context, model),
|
||||
builder: (_, model, w) =>
|
||||
AppScaffold(
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase
|
||||
.of(context)
|
||||
.insuranceApprovals,
|
||||
body: model.insuranceApporvalsList == null ||
|
||||
model.insuranceApporvalsList.length == 0
|
||||
? DrAppEmbeddedError(
|
||||
error:
|
||||
TranslationBase
|
||||
.of(context)
|
||||
.errorNoInsuranceApprovals)
|
||||
: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
margin: EdgeInsets.all(10),
|
||||
width: SizeConfig.screenWidth * 0.80,
|
||||
child: TextField(
|
||||
controller: _controller,
|
||||
onChanged: (String str) {
|
||||
this.searchData(str, model);
|
||||
},
|
||||
textInputAction: TextInputAction.done,
|
||||
decoration: buildInputDecoration(
|
||||
context,
|
||||
TranslationBase
|
||||
.of(context)
|
||||
.searchInsuranceApprovals),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
margin: EdgeInsets.fromLTRB(
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0,
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0),
|
||||
child: ListView.builder(
|
||||
itemCount: approvalsList.length,
|
||||
itemBuilder: (BuildContext ctxt, int index) {
|
||||
return RoundedContainer(
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
ExpansionTile(
|
||||
title: Row(
|
||||
children: <Widget>[
|
||||
Column(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
approvalsList[index][
|
||||
"ApprovalStatusDescption"]
|
||||
.toString()
|
||||
.contains("Approved")
|
||||
? DoctorApp.approved_icon
|
||||
: approvalsList[index][
|
||||
"ApprovalStatusDescption"]
|
||||
.toString()
|
||||
.contains(
|
||||
"Cancelled")
|
||||
? DoctorApp
|
||||
.reject_icon
|
||||
: DoctorApp
|
||||
.pending_icon,
|
||||
color: approvalsList[index][
|
||||
"ApprovalStatusDescption"]
|
||||
.toString()
|
||||
.contains("Approved")
|
||||
? Colors.green
|
||||
: approvalsList[index][
|
||||
"ApprovalStatusDescption"]
|
||||
.toString()
|
||||
.contains(
|
||||
"Cancelled")
|
||||
? Colors.red
|
||||
: Colors.yellow,
|
||||
),
|
||||
AppText(
|
||||
approvalsList[index][
|
||||
"ApprovalStatusDescption"],
|
||||
fontSize: SizeConfig
|
||||
.textMultiplier *
|
||||
1.5,
|
||||
color: approvalsList[index][
|
||||
"ApprovalStatusDescption"]
|
||||
.toString()
|
||||
.contains("Approved")
|
||||
? Colors.green
|
||||
: approvalsList[index][
|
||||
"ApprovalStatusDescption"]
|
||||
.toString()
|
||||
.contains(
|
||||
"Cancelled")
|
||||
? Colors.red
|
||||
: Colors.yellow,
|
||||
)
|
||||
],
|
||||
),
|
||||
Expanded(
|
||||
child: Column(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.start,
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
approvalsList[index]
|
||||
["ClinicName"],
|
||||
marginTop: 10,
|
||||
marginLeft: 10,
|
||||
marginBottom: 5,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
AppText(
|
||||
approvalsList[index]
|
||||
["DoctorName"],
|
||||
marginLeft: 10,
|
||||
marginTop: 1,
|
||||
),
|
||||
AppText(
|
||||
convertDateFormat(
|
||||
approvalsList[index]
|
||||
["ApprovalDate"]),
|
||||
marginLeft: 10,
|
||||
marginBottom: 5,
|
||||
color: Colors.grey[600],
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
children: <Widget>[
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 20,
|
||||
thickness: 1,
|
||||
indent: 0,
|
||||
endIndent: 0,
|
||||
),
|
||||
RoundedContainer(
|
||||
backgroundColor:
|
||||
Color(PRIMARY_COLOR),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
approvalsList[index]
|
||||
["ApprovalNo"]
|
||||
.toString(),
|
||||
color: Colors.white,
|
||||
fontSize: 19,
|
||||
fontWeight: FontWeight.bold,
|
||||
marginTop: 10,
|
||||
marginLeft: 10,
|
||||
marginRight: 10,
|
||||
marginBottom: 2,
|
||||
),
|
||||
AppText(
|
||||
TranslationBase.of(context)
|
||||
.approvalNo,
|
||||
color: Colors.white,
|
||||
fontSize: 16,
|
||||
marginTop: 2,
|
||||
marginLeft: 10,
|
||||
marginBottom: 15,
|
||||
marginRight: 10,
|
||||
),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment
|
||||
.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.producerName,
|
||||
fontSize: 10,
|
||||
color:
|
||||
Colors.white,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
3,
|
||||
),
|
||||
AppText(
|
||||
checkList(approvalsList[
|
||||
index]
|
||||
[
|
||||
"ApporvalDetails"])
|
||||
? approvalsList[
|
||||
index]
|
||||
[
|
||||
"ApporvalDetails"][0]
|
||||
[
|
||||
"ProcedureName"]
|
||||
: "",
|
||||
fontSize: 12,
|
||||
fontWeight:
|
||||
FontWeight
|
||||
.bold,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
3,
|
||||
marginTop: 3,
|
||||
color:
|
||||
Colors.white,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment
|
||||
.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.status,
|
||||
fontSize: 10,
|
||||
color:
|
||||
Colors.white,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
9,
|
||||
),
|
||||
AppText(
|
||||
approvalsList[
|
||||
index][
|
||||
"ApprovalStatusDescption"],
|
||||
fontSize: 12,
|
||||
fontWeight:
|
||||
FontWeight
|
||||
.bold,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
9,
|
||||
marginTop: 3,
|
||||
color:
|
||||
Colors.white,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment
|
||||
.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.receiptOn,
|
||||
fontSize: 10,
|
||||
color:
|
||||
Colors.white,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
3,
|
||||
marginTop: SizeConfig
|
||||
.heightMultiplier *
|
||||
1.5,
|
||||
),
|
||||
AppText(
|
||||
convertDateFormat(
|
||||
approvalsList[
|
||||
index]
|
||||
[
|
||||
"ReceiptOn"]),
|
||||
fontSize: 12,
|
||||
fontWeight:
|
||||
FontWeight
|
||||
.bold,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
3,
|
||||
marginTop: 3,
|
||||
marginBottom:
|
||||
SizeConfig
|
||||
.heightMultiplier *
|
||||
2,
|
||||
color:
|
||||
Colors.white,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment
|
||||
.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
TranslationBase.of(
|
||||
context)
|
||||
.expiryDate,
|
||||
fontSize: 10,
|
||||
color:
|
||||
Colors.white,
|
||||
marginTop: SizeConfig
|
||||
.heightMultiplier *
|
||||
1.5,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
9,
|
||||
),
|
||||
AppText(
|
||||
convertDateFormat(
|
||||
approvalsList[
|
||||
index]
|
||||
[
|
||||
"ExpiryDate"]),
|
||||
fontSize: 12,
|
||||
fontWeight:
|
||||
FontWeight
|
||||
.bold,
|
||||
marginLeft: SizeConfig
|
||||
.widthMultiplier *
|
||||
9,
|
||||
marginTop: 3,
|
||||
marginBottom:
|
||||
SizeConfig
|
||||
.heightMultiplier *
|
||||
2,
|
||||
color:
|
||||
Colors.white,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)),
|
||||
],
|
||||
),
|
||||
],
|
||||
));
|
||||
}),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),);
|
||||
}
|
||||
|
||||
InputDecoration buildInputDecoration(BuildContext context, hint) {
|
||||
return InputDecoration(
|
||||
prefixIcon: Icon(Icons.search, color: Colors.black),
|
||||
filled: true,
|
||||
fillColor: Colors.white,
|
||||
hintText: hint,
|
||||
hintStyle: TextStyle(fontSize: 2 * SizeConfig.textMultiplier),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.all(Radius.circular(10)),
|
||||
borderSide: BorderSide(color: HexColor('#CCCCCC')),
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.all(Radius.circular(10.0)),
|
||||
borderSide: BorderSide(color: Colors.grey), //),
|
||||
));
|
||||
}
|
||||
|
||||
searchData(String str, PatientViewModel model) {
|
||||
var strExist = str.length > 0 ? true : false;
|
||||
|
||||
if (strExist) {
|
||||
filteredApprovalsList = null;
|
||||
filteredApprovalsList = approvalsList
|
||||
.where((note) =>
|
||||
note["ClinicName"].toString().contains(str.toUpperCase()))
|
||||
.toList();
|
||||
setState(() {
|
||||
approvalsList = filteredApprovalsList;
|
||||
});
|
||||
} else {
|
||||
setState(() {
|
||||
approvalsList = model.insuranceApporvalsList;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
convertDateFormat(String str) {
|
||||
if (str == null) return '';
|
||||
const start = "/Date(";
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = str.indexOf(start);
|
||||
final endIndex = str.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(
|
||||
int.parse(str.substring(startIndex + start.length, endIndex)));
|
||||
String newDate = date.year.toString() +
|
||||
"-" +
|
||||
date.month.toString().padLeft(2, '0') +
|
||||
"-" +
|
||||
date.day.toString().padLeft(2, '0');
|
||||
|
||||
return newDate.toString();
|
||||
}
|
||||
|
||||
bool checkList(List list) {
|
||||
return list.length > 0 ? true : false;
|
||||
}
|
||||
}
|
||||
@ -1,262 +0,0 @@
|
||||
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/util/helpers.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
|
||||
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../config/shared_pref_kay.dart';
|
||||
import '../../../../config/size_config.dart';
|
||||
import '../../../../models/patient/lab_orders/lab_orders_req_model.dart';
|
||||
import '../../../../models/patient/patiant_info_model.dart';
|
||||
import '../../../../util/dr_app_shared_pref.dart';
|
||||
import '../../../../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../../../../widgets/shared/app_texts_widget.dart';
|
||||
import 'lab_result_secreen.dart';
|
||||
|
||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
||||
|
||||
/*
|
||||
*@author: Elham Rababah
|
||||
*@Date:26/4/2020
|
||||
*@param:
|
||||
*@return:LabOrdersScreen
|
||||
*@desc: LabOrdersScreen class
|
||||
*/
|
||||
|
||||
class LabOrdersScreen extends StatefulWidget {
|
||||
@override
|
||||
_LabOrdersScreenState createState() => _LabOrdersScreenState();
|
||||
}
|
||||
|
||||
class _LabOrdersScreenState extends State<LabOrdersScreen> {
|
||||
|
||||
|
||||
/*
|
||||
*@author: Elham Rababah
|
||||
*@Date:28/4/2020
|
||||
*@param: context
|
||||
*@return:
|
||||
*@desc: getLabResultOrders Function
|
||||
*/
|
||||
getLabResultOrders(BuildContext context, PatientViewModel model) async {
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
PatiantInformtion patient = routeArgs['patient'];
|
||||
String token = await sharedPref.getString(TOKEN);
|
||||
LabOrdersReqModel labOrdersReqModel = LabOrdersReqModel(
|
||||
patientID: patient.patientId,
|
||||
projectID: patient.projectId,
|
||||
tokenID: token,
|
||||
patientTypeID: patient.patientType??1,
|
||||
languageID: 2);
|
||||
|
||||
model.getLabResultOrders(labOrdersReqModel.toJson());
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<PatientViewModel>(
|
||||
onModelReady: (model) => getLabResultOrders(context, model),
|
||||
builder: (_, model, w) =>
|
||||
AppScaffold(
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase
|
||||
.of(context)
|
||||
.labOrders,
|
||||
body: model.patientLabResultOrdersList.length == 0
|
||||
? DrAppEmbeddedError(
|
||||
error: TranslationBase
|
||||
.of(context)
|
||||
.errorNoLabOrders)
|
||||
: Container(
|
||||
margin: EdgeInsets.fromLTRB(
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0,
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0),
|
||||
child: Container(
|
||||
margin: EdgeInsets.symmetric(vertical: 10),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(20.0),
|
||||
),
|
||||
),
|
||||
child: ListView.builder(
|
||||
itemCount:
|
||||
model.patientLabResultOrdersList.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) =>
|
||||
LabResult(
|
||||
labOrders: model
|
||||
.patientLabResultOrdersList[index],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(10),
|
||||
margin: EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(10)),
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
top: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
left: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
right: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Row(
|
||||
children: <Widget>[
|
||||
LargeAvatar(
|
||||
url: model
|
||||
.patientLabResultOrdersList[
|
||||
index]
|
||||
.doctorImageURL,
|
||||
name: model
|
||||
.patientLabResultOrdersList[
|
||||
index]
|
||||
.doctorName,
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets.fromLTRB(
|
||||
8, 0, 0, 0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
if(model
|
||||
.patientLabResultOrdersList[index]
|
||||
.doctorName != null )
|
||||
AppText(
|
||||
'${model
|
||||
.patientLabResultOrdersList[index]
|
||||
.doctorName}',
|
||||
fontSize: 1.7 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
AppText(
|
||||
' ${model
|
||||
.patientLabResultOrdersList[index]
|
||||
.projectName}',
|
||||
fontSize: 2 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
color: Colors.grey[800]),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
TranslationBase.of(context).invoiceNo,
|
||||
fontSize: 2 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
color: Colors.grey[800],
|
||||
),
|
||||
AppText(
|
||||
' ${model
|
||||
.patientLabResultOrdersList[index]
|
||||
.invoiceNo}',
|
||||
fontSize: 2 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
color: Colors.grey[800],
|
||||
),
|
||||
],
|
||||
),SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
TranslationBase.of(context).orderNo,
|
||||
fontSize: 2 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
color: Colors.grey[800],
|
||||
),
|
||||
AppText(
|
||||
' ${model
|
||||
.patientLabResultOrdersList[index]
|
||||
.orderNo}',
|
||||
fontSize: 2 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
color: Colors.grey[800],
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 3,
|
||||
),
|
||||
Divider(
|
||||
color: Colors.grey,
|
||||
),
|
||||
SizedBox(
|
||||
height: 3,
|
||||
),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
EvaIcons.calendar,
|
||||
color: Colors.grey[700],
|
||||
),
|
||||
SizedBox(
|
||||
width: 10,
|
||||
),
|
||||
Expanded(
|
||||
child: AppText(
|
||||
'${Helpers.getDate(model
|
||||
.patientLabResultOrdersList[index]
|
||||
.createdOn)}',
|
||||
fontSize: 2.0 *
|
||||
SizeConfig.textMultiplier,
|
||||
),
|
||||
)
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
),
|
||||
),);
|
||||
}
|
||||
}
|
||||
@ -1,219 +0,0 @@
|
||||
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/progress_note_request.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
import '../../../config/shared_pref_kay.dart';
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../../models/patient/patiant_info_model.dart';
|
||||
import '../../../util/dr_app_shared_pref.dart';
|
||||
import '../../../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../../../widgets/shared/app_texts_widget.dart';
|
||||
|
||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
||||
|
||||
/*
|
||||
*@author: ibrahim albitar
|
||||
*@Date:21/5/2020
|
||||
*@param:
|
||||
*@return:
|
||||
*@desc:
|
||||
*/
|
||||
|
||||
class PatientsOrdersScreen extends StatefulWidget {
|
||||
@override
|
||||
_PatientsOrdersState createState() => _PatientsOrdersState();
|
||||
}
|
||||
|
||||
class _PatientsOrdersState extends State<PatientsOrdersScreen> {
|
||||
var notesList;
|
||||
var filteredNotesList;
|
||||
final _controller = TextEditingController();
|
||||
var _isInit = true;
|
||||
|
||||
/*
|
||||
*@author: ibrahim al bitar
|
||||
*@Date:21/5/2020
|
||||
*@param:
|
||||
*@return:
|
||||
*@desc:
|
||||
*/
|
||||
getProgressNoteList(BuildContext context, PatientViewModel model ) async {
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
PatiantInformtion patient = routeArgs['patient'];
|
||||
String token = await sharedPref.getString(TOKEN);
|
||||
String type = await sharedPref.getString(SLECTED_PATIENT_TYPE);
|
||||
|
||||
print(type);
|
||||
ProgressNoteRequest progressNoteRequest = ProgressNoteRequest(
|
||||
visitType: 3, // if equal 3 then this will return orders
|
||||
admissionNo: int.parse(patient.admissionNo),
|
||||
projectID: patient.projectId,
|
||||
tokenID: token,
|
||||
patientTypeID: patient.patientType,
|
||||
languageID: 2);
|
||||
model.getPatientProgressNote(progressNoteRequest.toJson()).then((c){
|
||||
notesList = model.patientProgressNoteList;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<PatientViewModel>(
|
||||
onModelReady: (model) => getProgressNoteList(context, model),
|
||||
builder: (_, model, w) => AppScaffold(
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase.of(context).orders,
|
||||
body: notesList == null || notesList.length == 0
|
||||
? DrAppEmbeddedError(
|
||||
error: TranslationBase.of(context).errorNoOrders)
|
||||
: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
margin: EdgeInsets.all(10),
|
||||
width: SizeConfig.screenWidth * 0.80,
|
||||
child: TextField(
|
||||
controller: _controller,
|
||||
onChanged: (String str) {
|
||||
this.searchData(str, model);
|
||||
},
|
||||
textInputAction: TextInputAction.done,
|
||||
decoration: buildInputDecoration(context,
|
||||
TranslationBase.of(context).searchOrders),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
margin: EdgeInsets.fromLTRB(
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0,
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0),
|
||||
child: ListView.builder(
|
||||
itemCount: notesList.length,
|
||||
itemBuilder: (BuildContext ctxt, int index) {
|
||||
return RoundedContainer(
|
||||
backgroundColor: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
ExpansionTile(
|
||||
title: Container(
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
notesList[index]
|
||||
["DoctorName"],
|
||||
marginTop: 10,
|
||||
marginLeft: 10,
|
||||
marginBottom: 5,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
AppText(
|
||||
notesList[index]
|
||||
["AdmissionNo"],
|
||||
marginLeft: 10,
|
||||
color: Colors.grey[600],
|
||||
),
|
||||
AppText(
|
||||
convertDateFormat(
|
||||
notesList[index]
|
||||
["AssessmentDate"]),
|
||||
marginLeft: 10,
|
||||
color: Colors.grey[600],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
children: <Widget>[
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 20,
|
||||
thickness: 1,
|
||||
indent: 0,
|
||||
endIndent: 0,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.start,
|
||||
children: [
|
||||
AppText(
|
||||
notesList[index]["Notes"],
|
||||
margin: 5,
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
));
|
||||
}),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),);
|
||||
}
|
||||
|
||||
InputDecoration buildInputDecoration(BuildContext context, hint) {
|
||||
return InputDecoration(
|
||||
prefixIcon: Icon(Icons.search, color: Colors.black),
|
||||
filled: true,
|
||||
fillColor: Colors.white,
|
||||
hintText: hint,
|
||||
hintStyle: TextStyle(fontSize: 2 * SizeConfig.textMultiplier),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.all(Radius.circular(20)),
|
||||
borderSide: BorderSide(color: HexColor('#CCCCCC')),
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.all(Radius.circular(50.0)),
|
||||
borderSide: BorderSide(color: Colors.grey), //),
|
||||
));
|
||||
}
|
||||
|
||||
searchData(String str, PatientViewModel model) {
|
||||
var strExist = str.length > 0 ? true : false;
|
||||
|
||||
if (strExist) {
|
||||
filteredNotesList = null;
|
||||
filteredNotesList = notesList
|
||||
.where((note) =>
|
||||
note["DoctorName"].toString().contains(str.toUpperCase()))
|
||||
.toList();
|
||||
setState(() {
|
||||
notesList = filteredNotesList;
|
||||
});
|
||||
} else {
|
||||
setState(() {
|
||||
notesList = model.patientProgressNoteList;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
convertDateFormat(String str) {
|
||||
const start = "/Date(";
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = str.indexOf(start);
|
||||
final endIndex = str.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(
|
||||
int.parse(str.substring(startIndex + start.length, endIndex)));
|
||||
String newDate = date.year.toString() +
|
||||
"-" +
|
||||
date.month.toString().padLeft(2, '0') +
|
||||
"-" +
|
||||
date.day.toString().padLeft(2, '0');
|
||||
|
||||
return newDate.toString();
|
||||
}
|
||||
}
|
||||
@ -1,88 +0,0 @@
|
||||
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/reauest_prescription_report_for_in_patient.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/prescription_in_patinets_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/prescription_out_patinets_widget.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../config/shared_pref_kay.dart';
|
||||
import '../../../../models/patient/patiant_info_model.dart';
|
||||
import '../../../../models/patient/prescription/prescription_req_model.dart';
|
||||
import '../../../../util/dr_app_shared_pref.dart';
|
||||
import '../../../../widgets/shared/app_scaffold_widget.dart';
|
||||
|
||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
||||
|
||||
/*
|
||||
*@author: Elham Rababah
|
||||
*@Date:26/4/2020
|
||||
*@param:
|
||||
*@return:PrescriptionScreen
|
||||
*@desc: PrescriptionScreen class
|
||||
*/
|
||||
|
||||
class PrescriptionScreen extends StatefulWidget {
|
||||
@override
|
||||
_PrescriptionScreenState createState() => _PrescriptionScreenState();
|
||||
}
|
||||
|
||||
class _PrescriptionScreenState extends State<PrescriptionScreen> {
|
||||
String type = '2';
|
||||
|
||||
/*
|
||||
*@author: Elham Rababah
|
||||
*@Date:28/4/2020
|
||||
*@param: context
|
||||
*@return:
|
||||
*@desc: getPrescriptionsList Function
|
||||
*/
|
||||
getPrescriptionsList(BuildContext context, PatientViewModel model) async {
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
PatiantInformtion patient = routeArgs['patient'];
|
||||
String token = await sharedPref.getString(TOKEN);
|
||||
type = await sharedPref.getString(SLECTED_PATIENT_TYPE);
|
||||
|
||||
if (type == '1') {
|
||||
RequestPrescriptionReportForInPatient prescriptionReqModel =
|
||||
RequestPrescriptionReportForInPatient(
|
||||
patientID: patient.patientId,
|
||||
patientTypeID: patient.patientType,
|
||||
admissionNo: int.parse(patient.admissionNo));
|
||||
model.getInPatientPrescriptions(prescriptionReqModel.toJson());
|
||||
} else {
|
||||
PrescriptionReqModel prescriptionReqModel = PrescriptionReqModel(
|
||||
patientID: patient.patientId,
|
||||
projectID: patient.projectId,
|
||||
tokenID: token,
|
||||
patientTypeID: patient.patientType,
|
||||
languageID: 2,
|
||||
setupID: 0);
|
||||
model.getOutPatientPrescriptions(prescriptionReqModel.toJson());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<PatientViewModel>(
|
||||
onModelReady: (model) => getPrescriptionsList(context, model),
|
||||
builder: (_, model, w) =>
|
||||
AppScaffold(
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase
|
||||
.of(context)
|
||||
.prescription,
|
||||
body: type == '1'
|
||||
? PrescriptionInPatientWidget(
|
||||
prescriptionReportForInPatientList:
|
||||
model.prescriptionReportForInPatientList,
|
||||
)
|
||||
: PrescriptionOutPatientWidget(
|
||||
patientPrescriptionsList:
|
||||
model.patientPrescriptionsList,
|
||||
),
|
||||
),);
|
||||
}
|
||||
}
|
||||
@ -1,192 +0,0 @@
|
||||
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/radiology/radiology_req_model.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/screens/patients/profile/radiology/radiology_report_screen.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../config/shared_pref_kay.dart';
|
||||
import '../../../../config/size_config.dart';
|
||||
import '../../../../models/patient/patiant_info_model.dart';
|
||||
import '../../../../util/dr_app_shared_pref.dart';
|
||||
import '../../../../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../../../../widgets/shared/app_texts_widget.dart';
|
||||
|
||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
||||
|
||||
/*
|
||||
*@author: Elham Rababah
|
||||
*@Date:26/4/2020
|
||||
*@param:
|
||||
*@return:RadiologyScreen
|
||||
*@desc: RadiologyScreen class
|
||||
*/
|
||||
|
||||
class RadiologyScreen extends StatefulWidget {
|
||||
@override
|
||||
_RadiologyScreenState createState() => _RadiologyScreenState();
|
||||
}
|
||||
|
||||
class _RadiologyScreenState extends State<RadiologyScreen> {
|
||||
|
||||
/*
|
||||
*@author: Elham Rababah
|
||||
*@Date:28/4/2020
|
||||
*@param: context
|
||||
*@return:
|
||||
*@desc: getRadiologyList Function
|
||||
*/
|
||||
getRadiologyList(context, PatientViewModel model) async {
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
PatiantInformtion patient = routeArgs['patient'];
|
||||
String token = await sharedPref.getString(TOKEN);
|
||||
String type = await sharedPref.getString(SLECTED_PATIENT_TYPE);
|
||||
int inOutpatientType = 1;
|
||||
if (type == '0') {
|
||||
inOutpatientType = 2;
|
||||
}
|
||||
print(type);
|
||||
RadiologyReqModel radiologyReqModel = RadiologyReqModel(
|
||||
patientID: patient.patientId,
|
||||
projectID: patient.projectId,
|
||||
tokenID: token,
|
||||
patientTypeID: patient.patientType,
|
||||
languageID: 2,
|
||||
);
|
||||
model.getPatientRadiology(radiologyReqModel.toJson());
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<PatientViewModel>(
|
||||
onModelReady: (model) => getRadiologyList(context, model),
|
||||
builder: (_, model, w) =>
|
||||
AppScaffold(
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase
|
||||
.of(context)
|
||||
.radiology,
|
||||
body:
|
||||
model.patientRadiologyList.length == 0
|
||||
? DrAppEmbeddedError(
|
||||
error: TranslationBase
|
||||
.of(context)
|
||||
.youDoNotHaveAnyItem)
|
||||
: Container(
|
||||
margin: EdgeInsets.fromLTRB(
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0,
|
||||
SizeConfig.realScreenWidth * 0.05,
|
||||
0),
|
||||
child: Container(
|
||||
margin: EdgeInsets.symmetric(vertical: 10),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(20.0),
|
||||
),
|
||||
),
|
||||
child: ListView.builder(
|
||||
itemCount: model.patientRadiologyList.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) =>
|
||||
RadiologyReportScreen(
|
||||
reportData: model
|
||||
.patientRadiologyList[index]
|
||||
.reportData,
|
||||
url: model
|
||||
.patientRadiologyList[index].imageURL,
|
||||
)),
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(10),
|
||||
margin: EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(10)),
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
top: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
left: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
right: BorderSide(
|
||||
color: Colors.grey, width: 0.5),
|
||||
),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Row(
|
||||
children: <Widget>[
|
||||
LargeAvatar(
|
||||
url: model
|
||||
.patientRadiologyList[index]
|
||||
.doctorImageURL,
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets.fromLTRB(
|
||||
8, 0, 0, 0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
'${model.patientRadiologyList[index].doctorName}',
|
||||
fontSize: 2.5 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
fontWeight:
|
||||
FontWeight.bold),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
AppText(
|
||||
'Invoice No:${model.patientRadiologyList[index].invoiceNo}',
|
||||
fontSize: 2 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
AppText(
|
||||
' ${model.patientRadiologyList[index].clinicName}',
|
||||
fontSize: 2 *
|
||||
SizeConfig
|
||||
.textMultiplier,
|
||||
color: Theme.of(context)
|
||||
.primaryColor,
|
||||
),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
),
|
||||
),);
|
||||
}
|
||||
}
|
||||
@ -1,407 +0,0 @@
|
||||
import 'package:doctor_app_flutter/config/config.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_text_form_field.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../../util/dr_app_shared_pref.dart';
|
||||
import '../../../util/extenstions.dart';
|
||||
import '../../../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../../../widgets/shared/app_texts_widget.dart';
|
||||
|
||||
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
||||
|
||||
/*
|
||||
*@author: ibrahim albitar
|
||||
*@Date:4/6/2020
|
||||
*@param:
|
||||
*@return:
|
||||
*@desc:
|
||||
*/
|
||||
|
||||
class ReferPatientScreen extends StatefulWidget {
|
||||
@override
|
||||
_ReferPatientState createState() => _ReferPatientState();
|
||||
}
|
||||
|
||||
class _ReferPatientState extends State<ReferPatientScreen> {
|
||||
dynamic _selectedClinic;
|
||||
dynamic _selectedDoctor;
|
||||
final _extController = TextEditingController();
|
||||
int _activePriority = 1;
|
||||
dynamic _selectedFrequency;
|
||||
final _remarksController = TextEditingController();
|
||||
bool isValid;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final screenSize = MediaQuery.of(context).size;
|
||||
|
||||
return BaseView<PatientViewModel>(
|
||||
onModelReady: (model) => model.getClinicsList(),
|
||||
builder: (_, model, w) => AppScaffold(
|
||||
baseViewModel: model,
|
||||
appBarTitle: TranslationBase.of(context).referralPatient,
|
||||
body: model.clinicsList == null
|
||||
? DrAppEmbeddedError(error: 'Something Wrong!')
|
||||
: SingleChildScrollView(
|
||||
child: Container(
|
||||
margin: EdgeInsets.symmetric(vertical: 16, horizontal: 16),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
height: screenSize.height * 0.070,
|
||||
child: InkWell(
|
||||
onTap: model.clinicsList != null &&
|
||||
model.clinicsList.length > 0
|
||||
? () {
|
||||
ListSelectDialog dialog = ListSelectDialog(
|
||||
list: model.clinicsList,
|
||||
attributeName: 'ClinicDescription',
|
||||
attributeValueId: 'ClinicID',
|
||||
okText: TranslationBase.of(context).ok,
|
||||
okFunction: (selectedValue) {
|
||||
setState(() {
|
||||
_selectedDoctor = null;
|
||||
_selectedClinic = selectedValue;
|
||||
model.getDoctorsList(
|
||||
_selectedClinic['ClinicID']);
|
||||
});
|
||||
},
|
||||
);
|
||||
showDialog(
|
||||
barrierDismissible: false,
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return dialog;
|
||||
},
|
||||
);
|
||||
}
|
||||
: null,
|
||||
child: TextField(
|
||||
decoration: textFieldSelectorDecoration(
|
||||
TranslationBase.of(context).clinicSelect,
|
||||
_selectedClinic != null
|
||||
? _selectedClinic['ClinicDescription']
|
||||
: null,
|
||||
true),
|
||||
enabled: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Container(
|
||||
height: screenSize.height * 0.070,
|
||||
child: InkWell(
|
||||
onTap: model.doctorsList != null &&
|
||||
model.doctorsList.length > 0
|
||||
? () {
|
||||
ListSelectDialog dialog = ListSelectDialog(
|
||||
list: model.doctorsList,
|
||||
attributeName: 'DoctorName',
|
||||
attributeValueId: 'DoctorID',
|
||||
okText: TranslationBase.of(context).ok,
|
||||
okFunction: (selectedValue) {
|
||||
setState(() {
|
||||
_selectedDoctor = selectedValue;
|
||||
});
|
||||
},
|
||||
);
|
||||
showDialog(
|
||||
barrierDismissible: false,
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return dialog;
|
||||
},
|
||||
);
|
||||
}
|
||||
: null,
|
||||
child: TextField(
|
||||
decoration: textFieldSelectorDecoration(
|
||||
TranslationBase.of(context).doctorSelect,
|
||||
_selectedDoctor != null
|
||||
? _selectedDoctor['DoctorName']
|
||||
: null,
|
||||
true),
|
||||
enabled: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Container(
|
||||
height: screenSize.height * 0.070,
|
||||
child: TextField(
|
||||
decoration: textFieldSelectorDecoration(
|
||||
TranslationBase.of(context).ext, null, false),
|
||||
enabled: true,
|
||||
controller: _extController,
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.allow(
|
||||
RegExp(ONLY_NUMBERS))
|
||||
],
|
||||
keyboardType: TextInputType.number,
|
||||
)),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
priorityBar(context, screenSize),
|
||||
SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
AppText(
|
||||
"${TranslationBase.of(context).referralFrequency} ${getPriority()}",
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 16,
|
||||
),
|
||||
SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
Container(
|
||||
height: screenSize.height * 0.070,
|
||||
child: InkWell(
|
||||
onTap: model.referralFrequencyList != null &&
|
||||
model.referralFrequencyList.length > 0
|
||||
? () {
|
||||
ListSelectDialog dialog = ListSelectDialog(
|
||||
list: model.referralFrequencyList,
|
||||
attributeName: 'Description',
|
||||
attributeValueId: 'ParameterCode',
|
||||
okText: TranslationBase.of(context).ok,
|
||||
okFunction: (selectedValue) {
|
||||
setState(() {
|
||||
_selectedFrequency = selectedValue;
|
||||
});
|
||||
},
|
||||
);
|
||||
showDialog(
|
||||
barrierDismissible: false,
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return dialog;
|
||||
},
|
||||
);
|
||||
}
|
||||
: null,
|
||||
child: TextField(
|
||||
decoration: textFieldSelectorDecoration(
|
||||
TranslationBase.of(context)
|
||||
.selectReferralFrequency,
|
||||
_selectedFrequency != null
|
||||
? _selectedFrequency['Description']
|
||||
: null,
|
||||
true),
|
||||
enabled: false,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Container(
|
||||
child: TextField(
|
||||
decoration: textFieldSelectorDecoration(
|
||||
TranslationBase.of(context).clinicDetailsandRemarks,
|
||||
null,
|
||||
false),
|
||||
enabled: true,
|
||||
controller: _remarksController,
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.allow(
|
||||
RegExp(ONLY_LETTERS))
|
||||
],
|
||||
keyboardType: TextInputType.text,
|
||||
minLines: 4,
|
||||
maxLines: 6,
|
||||
)),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Container(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
TranslationBase.of(context).pleaseFill,
|
||||
color: HexColor("#B8382B"),
|
||||
fontWeight: FontWeight.bold,
|
||||
margin: 10,
|
||||
visibility: isValid == null ? false : !isValid,
|
||||
),
|
||||
// TODO replace AppButton with secondary button and add loading
|
||||
AppButton(
|
||||
title: TranslationBase.of(context).send,
|
||||
color: HexColor("#B8382B"),
|
||||
onPressed: () => {referToDoctor(context, model)},
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget priorityBar(BuildContext _context, Size screenSize) {
|
||||
List<String> _priorities = [
|
||||
TranslationBase.of(context).veryUrgent.toUpperCase(),
|
||||
TranslationBase.of(context).urgent.toUpperCase(),
|
||||
TranslationBase.of(context).routine.toUpperCase(),
|
||||
];
|
||||
return Container(
|
||||
height: screenSize.height * 0.070,
|
||||
decoration:
|
||||
containerBorderDecoration(Color(0Xffffffff), Color(0xFFCCCCCC)),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: _priorities.map((item) {
|
||||
bool _isActive = _priorities[_activePriority] == item ? true : false;
|
||||
return Expanded(
|
||||
child: InkWell(
|
||||
child: Center(
|
||||
child: Container(
|
||||
height: screenSize.height * 0.070,
|
||||
decoration: containerBorderDecoration(
|
||||
_isActive ? HexColor("#B8382B") : Colors.white,
|
||||
_isActive ? HexColor("#B8382B") : Colors.white),
|
||||
child: Center(
|
||||
child: Text(
|
||||
item,
|
||||
style: TextStyle(
|
||||
fontSize: 12,
|
||||
color: _isActive
|
||||
? Colors.white
|
||||
: Colors.black, //Colors.black,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
)),
|
||||
),
|
||||
onTap: () {
|
||||
print(_priorities.indexOf(item));
|
||||
setState(() {
|
||||
_activePriority = _priorities.indexOf(item);
|
||||
});
|
||||
},
|
||||
),
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
String getPriority() {
|
||||
DateTime date = DateTime.now();
|
||||
switch (_activePriority) {
|
||||
case 0:
|
||||
date = date.add(new Duration(hours: 3));
|
||||
break;
|
||||
case 1:
|
||||
date = date.add(new Duration(hours: 6));
|
||||
break;
|
||||
case 2:
|
||||
date = date.add(new Duration(days: 1));
|
||||
break;
|
||||
}
|
||||
var format = DateFormat('yyyy/mm/dd HH:mm a');
|
||||
var time = format.format(date);
|
||||
print(time);
|
||||
return time;
|
||||
}
|
||||
|
||||
referToDoctor(BuildContext context, PatientViewModel model) async {
|
||||
if (!validation()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
|
||||
PatiantInformtion patient = routeArgs['patient'];
|
||||
|
||||
try {
|
||||
await model.referToDoctor(
|
||||
extension: _extController.value.text,
|
||||
admissionNo: int.parse(patient.admissionNo),
|
||||
referringDoctorRemarks: _remarksController.value.text,
|
||||
frequency: _selectedFrequency['ParameterCode'].toString(),
|
||||
patientID: patient.patientId,
|
||||
patientTypeID: patient.patientType,
|
||||
priority: (_activePriority + 1).toString(),
|
||||
roomID: patient.roomId,
|
||||
selectedClinicID: _selectedClinic['ClinicID'].toString(),
|
||||
selectedDoctorID: _selectedDoctor['DoctorID'].toString(),
|
||||
projectID: patient.projectId);
|
||||
// TODO: Add Translation
|
||||
DrAppToastMsg.showSuccesToast('Reply Successfully');
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
DrAppToastMsg.showErrorToast(e);
|
||||
}
|
||||
}
|
||||
|
||||
bool validation() {
|
||||
setState(() {
|
||||
isValid = !_extController.value.text.isNullOrEmpty() &&
|
||||
!_remarksController.value.text.isNullOrEmpty() &&
|
||||
_selectedClinic != null &&
|
||||
_selectedDoctor != null &&
|
||||
_selectedFrequency != null;
|
||||
});
|
||||
return isValid;
|
||||
}
|
||||
|
||||
InputDecoration textFieldSelectorDecoration(
|
||||
String hintText, String selectedText, bool isDropDown) {
|
||||
return InputDecoration(
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
disabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Color(0xFFCCCCCC), width: 2.0),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
hintText: selectedText != null ? selectedText : hintText,
|
||||
suffixIcon: isDropDown ? Icon(Icons.arrow_drop_down) : null,
|
||||
hintStyle: TextStyle(
|
||||
fontSize: 14,
|
||||
color: Colors.grey.shade600,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
BoxDecoration containerBorderDecoration(
|
||||
Color containerColor, Color borderColor) {
|
||||
return BoxDecoration(
|
||||
color: containerColor,
|
||||
shape: BoxShape.rectangle,
|
||||
borderRadius: BorderRadius.all(Radius.circular(6)),
|
||||
border: Border.fromBorderSide(BorderSide(
|
||||
color: borderColor,
|
||||
width: 2.0,
|
||||
)),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,91 +0,0 @@
|
||||
import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../config/size_config.dart';
|
||||
import '../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../widgets/shared/drawer_item_widget.dart';
|
||||
import '../widgets/shared/profile_image_widget.dart';
|
||||
import '../widgets/shared/rounded_container_widget.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
|
||||
class ProfileScreen extends StatefulWidget {
|
||||
ProfileScreen({Key key, this.title, this.doctorProfileall}) : super(key: key);
|
||||
|
||||
final String title;
|
||||
DoctorProfileModel doctorProfileall;
|
||||
|
||||
@override
|
||||
_ProfileScreenState createState() => _ProfileScreenState();
|
||||
}
|
||||
|
||||
class _ProfileScreenState extends State<ProfileScreen> {
|
||||
//**************************
|
||||
DoctorProfileModel doctorProfile;
|
||||
//AppDrawer dr;
|
||||
//******************
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
Map arg = ModalRoute.of(context).settings.arguments
|
||||
as Map; //ModalRoute.of(context).settings.arguments;
|
||||
doctorProfile = arg['doctorProfileall'];
|
||||
print("******************");
|
||||
//print(doctorProfile.doctorName);
|
||||
print("******************");
|
||||
return AppScaffold(
|
||||
appBarTitle: TranslationBase.of(context).profile,
|
||||
body: ListView(padding: EdgeInsets.zero, children: <Widget>[
|
||||
Container(
|
||||
height: MediaQuery.of(context).size.height *
|
||||
0.35, //SizeConfig.heightMultiplier * 35,
|
||||
|
||||
child: Container(
|
||||
child: DrawerHeader(
|
||||
child: Container(
|
||||
child: ProfileImageWidget(
|
||||
url: doctorProfile.doctorImageURL,
|
||||
//"https://p.kindpng.com/picc/s/404-4042774_profile-photo-circle-circle-profile-picture-png-transparent.png",
|
||||
name: doctorProfile.doctorName, //"Dr. Chris evans",
|
||||
des: doctorProfile
|
||||
.clinicDescription //"Director of medical records",
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
RoundedContainer(
|
||||
child: ListView(
|
||||
children: <Widget>[
|
||||
DrawerItem(
|
||||
TranslationBase.of(context).gender,
|
||||
icon: Icons.person_pin,
|
||||
color: Colors.black,
|
||||
subTitle: doctorProfile.genderDescription //"Male"
|
||||
,
|
||||
),
|
||||
DrawerItem(TranslationBase.of(context).clinic, icon: Icons.build,
|
||||
color: Colors.black,
|
||||
subTitle:
|
||||
doctorProfile.clinicDescription //"Neurology Clinic",
|
||||
),
|
||||
DrawerItem(
|
||||
TranslationBase.of(context).hospital,
|
||||
icon: Icons.local_hospital,
|
||||
color: Colors.black,
|
||||
subTitle: doctorProfile.projectName, //"Al-Takkassussi",
|
||||
),
|
||||
DrawerItem(
|
||||
TranslationBase.of(context).speciality,
|
||||
icon: Icons.crop_square,
|
||||
color: Colors.black,
|
||||
subTitle: doctorProfile.doctorRate == 0
|
||||
? TranslationBase.of(context).beingBad
|
||||
: TranslationBase.of(context).beingGreat,
|
||||
),
|
||||
],
|
||||
),
|
||||
width: SizeConfig.screenWidth * 0.70,
|
||||
height: SizeConfig.screenHeight * 0.40,
|
||||
),
|
||||
]));
|
||||
}
|
||||
}
|
||||
@ -1,66 +0,0 @@
|
||||
import 'package:doctor_app_flutter/config/config.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/hospital_view_model.dart';
|
||||
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
class SettingsScreen extends StatelessWidget {
|
||||
|
||||
ProjectViewModel projectsProvider;
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
projectsProvider = Provider.of(context);
|
||||
return AppScaffold(
|
||||
appBarTitle: TranslationBase.of(context).settings.toUpperCase(),
|
||||
body: ListView(
|
||||
children: [
|
||||
AppText(TranslationBase.of(context).language.toUpperCase(),fontSize: 18,margin: 5,fontWeight: FontWeight.bold,),
|
||||
Container(
|
||||
margin: EdgeInsets.symmetric(horizontal: 10,vertical: 10),
|
||||
height: 50,
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(color: Colors.grey[600],width: 2.0),
|
||||
borderRadius: BorderRadius.circular(8.0)
|
||||
),
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(7.0),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: InkWell(
|
||||
onTap: () { projectsProvider.changeLanguage('en'); },
|
||||
child: AnimatedContainer(
|
||||
duration: Duration(milliseconds: 350),
|
||||
decoration: BoxDecoration(
|
||||
color: !projectsProvider.isArabic ? AppGlobal.appPrimaryColor : Colors.transparent,
|
||||
border: Border(right: BorderSide(color: Colors.grey[200], width: 2.0))
|
||||
),
|
||||
child: Center(child: AppText(TranslationBase.of(context).lanEnglish, color: !projectsProvider.isArabic ? Colors.white : Colors.grey[500]))
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: InkWell(
|
||||
onTap: (){projectsProvider.changeLanguage('ar');},
|
||||
child: AnimatedContainer(
|
||||
duration: Duration(milliseconds: 350),
|
||||
decoration: BoxDecoration(
|
||||
color: projectsProvider.isArabic ? AppGlobal.appPrimaryColor : Colors.transparent,
|
||||
border: Border(right: BorderSide(color: Colors.grey[200], width: 2.0))
|
||||
),
|
||||
child: Center(child: AppText(TranslationBase.of(context).lanArabic, color: projectsProvider.isArabic ? Colors.white : Colors.grey[500],))
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue