Merge branch 'get_pending_orders' into 'development'

Get pending orders

See merge request Cloud_Solution/doctor_app_flutter!882
merge-requests/883/merge
Elham Ali 3 years ago
commit c4617250ae

@ -24,14 +24,14 @@ class ProfileReqModel {
{this.projectID,
this.clinicID,
this.doctorID,
this.isRegistered =true,
this.isRegistered = true,
this.license,
this.languageID,
this.stamp = '2020-04-26T09:32:18.317Z',
this.iPAdress='11.11.11.11',
this.iPAdress = '11.11.11.11',
// this.versionID=5.5,
this.channel=9,
this.sessionID='E2bsEeYEJo',
this.channel = 9,
this.sessionID = 'E2bsEeYEJo',
this.tokenID,
this.isLoginForDoctorApp = true});

@ -53,6 +53,7 @@ class _RegisterPatientPageState extends State<RegisterPatientPage>
@override
Widget build(BuildContext context) {
final screenSize = MediaQuery.of(context).size;
///TODO Elham* Add Translation
return BaseView<PatientRegistrationViewModel>(
builder: (_, model, w) => AppScaffold(

@ -18,14 +18,15 @@ import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dar
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/country_textfield_custom.dart';
import 'package:flutter/material.dart';
class RegisterSearchPatientPage extends StatefulWidget {
final Function changePageViewIndex;
final PatientRegistrationViewModel model;
const RegisterSearchPatientPage({Key key, this.changePageViewIndex, this.model})
const RegisterSearchPatientPage(
{Key key, this.changePageViewIndex, this.model})
: super(key: key);
@override
@ -36,23 +37,42 @@ class RegisterSearchPatientPage extends StatefulWidget {
class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
String countryError;
dynamic _selectedCountry;
bool isSubmitted = false;
List<dynamic> countryList;
dynamic country;
bool isSubmitted = false;
TextEditingController _phoneController = TextEditingController(text: "508079569");
TextEditingController _phoneController =
TextEditingController(text: "508079569");
TextEditingController _phoneCode = TextEditingController(text: "966");
String phoneError;
TextEditingController _idController = TextEditingController(text: "1062938285");
TextEditingController _idController =
TextEditingController(text: "1062938285");
String idError;
DateTime _birthDate;
String birthdateError;
@override
void initState() {
_phoneCode.text = "";
countryList = List();
dynamic ksaCountry = {"id": 967, "name": "Saudi Arabia"};
dynamic uaeCountry = {"id": 971, "name": "United Arab Emirates"};
countryList.add(ksaCountry);
countryList.add(uaeCountry);
}
@override
Widget build(BuildContext context) {
final screenSize = MediaQuery.of(context).size;
/// TODO Elham* add transaltion
return AppScaffold(
@ -77,15 +97,19 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
SizedBox(
height: 10,
),
AppTextFieldCustom(
height: screenSize.height * 0.075,
CountryTextField(
elementList: countryList,
element: country,
elementError: countryError,
keyName: 'name',
keyId: 'id',
okFunction: (selectedValue) {
setState(() {
country = selectedValue;
_phoneCode.text = selectedValue['id'].toString();
});
},
hintText: "Country",
isTextFieldHasSuffix: true,
validationError: countryError,
dropDownText: _selectedCountry != null
? _selectedCountry['nameEn']
: "Saudi Arabia",
enabled: false,
),
SizedBox(
height: 10,
@ -102,16 +126,18 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
inputType: TextInputType.phone,
controller: _phoneCode,
validationError: phoneError,
enabled: false,
),
),
if(_phoneController
.text.isEmpty &&
isSubmitted
if (_phoneController.text.isEmpty && isSubmitted)
SizedBox(
height: 35,
)
SizedBox(height: 35,)
],
),
SizedBox(width: 10,),
SizedBox(
width: 10,
),
Expanded(
child: Container(
// width: MediaQuery.of(context).size.width*0.7,
@ -120,11 +146,9 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
hintText: "Phone Number",
inputType: TextInputType.phone,
controller: _phoneController,
validationError: _phoneController
.text.isEmpty &&
isSubmitted
? TranslationBase.of(context)
.emptyMessage
validationError:
_phoneController.text.isEmpty && isSubmitted
? TranslationBase.of(context).emptyMessage
: null,
),
),
@ -139,11 +163,8 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
hintText: "ID Number",
inputType: TextInputType.phone,
controller: _idController,
validationError: _idController
.text.isEmpty &&
isSubmitted
? TranslationBase.of(context)
.emptyMessage
validationError: _idController.text.isEmpty && isSubmitted
? TranslationBase.of(context).emptyMessage
: null,
),
SizedBox(
@ -165,10 +186,8 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
: null,
enabled: false,
isTextFieldHasSuffix: true,
validationError: _birthDate == null &&
isSubmitted
? TranslationBase.of(context)
.emptyMessage
validationError: _birthDate == null && isSubmitted
? TranslationBase.of(context).emptyMessage
: null,
suffixIcon: IconButton(
icon: Icon(
@ -235,7 +254,12 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
setState(() {
isSubmitted = true;
});
if(isFormValid()) {
if (country == null) {
countryError = TranslationBase.of(context).fieldRequired;
} else {
countryError = null;
}
if (isFormValid()) {
GifLoaderDialogUtils.showMyDialog(context);
CheckPatientForRegistrationModel
checkPatientForRegistrationModel =
@ -258,19 +282,20 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
GetPatientInfoRequestModel getPatientInfoRequestModel =
GetPatientInfoRequestModel(
//TODO Elham* this return the static to dynamic
patientIdentificationID:"1062938285", //_idController.text,
//patientIdentificationID:"1062938285", _idController.text,
isHijri: 0,
isDentalAllowedBackend: false,
patientOutSA: 0,
generalid: GENERAL_ID,
sessionID: null,
dOB:"31/07/1988",//"${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "dd/MM/yyyy")}"
dOB:
"31/07/1988", //"${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "dd/MM/yyyy")}"
);
if (widget.model.state == ViewState.ErrorLocal) {
Helpers.showErrorToast(widget.model.error);
} else {
await widget.model.getPatientInfo(getPatientInfoRequestModel);
await widget.model
.getPatientInfo(getPatientInfoRequestModel);
if (widget.model.state == ViewState.ErrorLocal) {
Helpers.showErrorToast(widget.model.error);
} else {
@ -279,7 +304,6 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
}
GifLoaderDialogUtils.hideDialog(context);
}
},
),
),
@ -290,14 +314,17 @@ class _RegisterSearchPatientPageState extends State<RegisterSearchPatientPage> {
);
}
isFormValid() {
if(_phoneController.text!=null &&_phoneController.text.isNotEmpty&& _idController.text!=null &&_idController.text.isNotEmpty &&_birthDate!=null) {
if (_phoneController.text != null &&
_phoneController.text.isNotEmpty &&
_idController.text != null &&
_idController.text.isNotEmpty &&
_birthDate != null) {
return true;
}
return false;
}
Future _selectDate(BuildContext context, DateTime dateTime,
Function(DateTime picked) updateDate) async {
final DateTime picked = await showDatePicker(

@ -105,7 +105,10 @@ class _ActivationPageState extends State<ActivationPage> {
children: [
Row(
children: [
Image.asset(
Padding(
padding: EdgeInsets.symmetric(
horizontal: 10),
child: Image.asset(
"assets/images/verify-sms.png",
height: MediaQuery.of(context)
.size
@ -116,16 +119,19 @@ class _ActivationPageState extends State<ActivationPage> {
.width *
0.15,
),
),
],
),
SizedBox(
height: 20,
),
AppText(
Center(
child: AppText(
"Verify through SMS",
fontSize: 14,
color: Color(0xFF2E303A),
fontWeight: FontWeight.bold,
),
)
],
),
@ -155,7 +161,10 @@ class _ActivationPageState extends State<ActivationPage> {
children: [
Row(
children: [
Image.asset(
Padding(
padding: EdgeInsets.symmetric(
horizontal: 10.0),
child: Image.asset(
"assets/images/verify-whtsapp.png",
height: MediaQuery.of(context)
.size
@ -166,16 +175,19 @@ class _ActivationPageState extends State<ActivationPage> {
.width *
0.15,
),
),
],
),
SizedBox(
height: 20,
),
AppText(
Center(
child: AppText(
"Verify through WhatsApp",
fontSize: 14,
color: Color(0xFF2E303A),
fontWeight: FontWeight.bold,
),
)
],
),
@ -445,11 +457,12 @@ class _ActivationPageState extends State<ActivationPage> {
fontSize: 2.0,
onPressed: () async {
GifLoaderDialogUtils.showMyDialog(context);
await widget.model.checkActivationCode("${digit1.text}${digit2.text}${digit3.text}${digit4.text}");
await widget.model.checkActivationCode(
"${digit1.text}${digit2.text}${digit3.text}${digit4.text}");
if (widget.model.state == ViewState.ErrorLocal) {
Helpers.showErrorToast(widget.model.error);
//TODO Elham* remove this
widget.changePageViewIndex(2);
//widget.changePageViewIndex(2);
GifLoaderDialogUtils.hideDialog(context);
} else {
GifLoaderDialogUtils.hideDialog(context);
@ -473,7 +486,10 @@ class _ActivationPageState extends State<ActivationPage> {
Helpers.showErrorToast(widget.model.error);
GifLoaderDialogUtils.hideDialog(context);
// TODO Elham* retuen the else
// } else {
setState(() {
isSendOtp = false;
});
} else {
setState(() {
isSendOtp = true;
});

@ -0,0 +1,77 @@
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class CountryTextField extends StatefulWidget {
final dynamic element;
final String elementError;
final List<dynamic> elementList;
final String keyName;
final String keyId;
final String hintText;
final double width;
final Function(dynamic) okFunction;
CountryTextField(
{Key key,
@required this.element,
@required this.elementError,
this.width,
this.elementList,
this.keyName,
this.keyId,
this.hintText,
this.okFunction})
: super(key: key);
@override
_CountryTextfieldState createState() => _CountryTextfieldState();
}
class _CountryTextfieldState extends State<CountryTextField> {
@override
Widget build(BuildContext context) {
return Container(
width: widget.width ?? null,
child: InkWell(
onTap: widget.elementList != null
? () {
Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog(
list: widget.elementList,
attributeName: '${widget.keyName}',
attributeValueId: widget.elementList.length == 1
? widget.elementList[0]['${widget.keyId}']
: '${widget.keyId}',
okText: TranslationBase.of(context).ok,
okFunction: (selectedValue) =>
widget.okFunction(selectedValue),
);
showDialog(
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return dialog;
},
);
}
: null,
child: AppTextFieldCustom(
hintText: widget.hintText,
dropDownText: widget.elementList.length == 1
? widget.elementList[0]['${widget.keyName}']
: widget.element != null
? widget.element['${widget.keyName}']
: null,
isTextFieldHasSuffix: true,
validationError:
widget.elementList.length != 1 ? widget.elementError : null,
enabled: false,
),
),
);
}
}
Loading…
Cancel
Save