Merge branch 'undelivered_packages' into 'master'

Undelivered packages

See merge request Cloud_Solution/driver-app!116
barcode_scanner
Elham 5 years ago
commit cc3173d269

@ -8,8 +8,8 @@ class AuthenticatedUser {
bool active; bool active;
String createdOn; String createdOn;
int createdBy; int createdBy;
Null editedOn; dynamic editedOn;
Null editedBy; dynamic editedBy;
String mobileNumber; String mobileNumber;
int realRoleID; int realRoleID;

@ -22,7 +22,8 @@ class OrdersService extends BaseService {
List<PendingOrdersRes> get nextOrdersList => _nextOrdersList; List<PendingOrdersRes> get nextOrdersList => _nextOrdersList;
bool isOrderInserted; bool isOrderInserted;
bool isOrderStatusUpdated; bool isOrderStatusUpdated;
bool isGetPendingOrdersServices = false;
bool isGetDeliveredOrdersServices = false;
DeliverdOrderModel _requestGetDeliveredOrders = DeliverdOrderModel( DeliverdOrderModel _requestGetDeliveredOrders = DeliverdOrderModel(
searchKey: "", searchKey: "",
pageSize: 0, pageSize: 0,
@ -33,7 +34,9 @@ class OrdersService extends BaseService {
Future getPendingOrders() async { Future getPendingOrders() async {
LocationData loc = await Utils.getLocation(); LocationData loc = await Utils.getLocation();
if (user != null) {
isGetPendingOrdersServices = true;
}
if (loc != null) { if (loc != null) {
PendingOrders _requestGetPendingOrders = PendingOrders( PendingOrders _requestGetPendingOrders = PendingOrders(
searchKey: "", searchKey: "",
@ -127,6 +130,9 @@ class OrdersService extends BaseService {
latitude: loc.latitude.toString(), latitude: loc.latitude.toString(),
longitude: loc.longitude.toString(), longitude: loc.longitude.toString(),
); );
if (user != null) {
isGetDeliveredOrdersServices = true;
}
if (loc != null) { if (loc != null) {
hasError = false; hasError = false;
try { try {

@ -20,17 +20,22 @@ class OrdersViewModel extends BaseViewModel {
List<PendingOrdersRes> get nextOrdersList => _ordersService.nextOrdersList; List<PendingOrdersRes> get nextOrdersList => _ordersService.nextOrdersList;
bool isBottomSheetAppear = false; bool isBottomSheetAppear = false;
bool get isGetPendingOrdersServices =>
_ordersService.isGetPendingOrdersServices;
bool get isGetDeliveredOrdersServices =>
_ordersService.isGetDeliveredOrdersServices;
Future getPendingOrders() async { Future getPendingOrders() async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _ordersService.getPendingOrders(); await _ordersService.getPendingOrders();
if (_ordersService.hasError) { if (_ordersService.hasError) {
error = _ordersService.error; error = _ordersService.error;
setState(ViewState.Error); setState(ViewState.Error);
} else }
setState(ViewState.Idle);
} }
Future getDeliverdOrders() async { Future getDeliveredOrders() async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _ordersService.getDeliveredList(); await _ordersService.getDeliveredList();
if (_ordersService.hasError) { if (_ordersService.hasError) {

@ -19,11 +19,6 @@ class LoginPage extends StatelessWidget {
ProjectViewModel projectViewModel; ProjectViewModel projectViewModel;
AuthenticationViewModel authenticationViewModel; AuthenticationViewModel authenticationViewModel;
@override
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
authenticationViewModel = Provider.of(context);
login() async { login() async {
if (loginFormKey.currentState.validate()) { if (loginFormKey.currentState.validate()) {
loginFormKey.currentState.save(); loginFormKey.currentState.save();
@ -34,6 +29,11 @@ class LoginPage extends StatelessWidget {
} }
} }
@override
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
authenticationViewModel = Provider.of(context);
return AnimatedSwitcher( return AnimatedSwitcher(
duration: Duration(microseconds: 350), duration: Duration(microseconds: 350),
child: AppScaffold( child: AppScaffold(
@ -177,6 +177,7 @@ class LoginPage extends StatelessWidget {
Container( Container(
child: TextFields( child: TextFields(
hintText: TranslationBase.of(context).enterId, hintText: TranslationBase.of(context).enterId,
keyboardType: TextInputType.number,
validator: (value) { validator: (value) {
if (value.isEmpty) { if (value.isEmpty) {
return TranslationBase.of(context) return TranslationBase.of(context)

@ -52,9 +52,18 @@ class _DashboardScreenState extends State<DashboardScreen> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
int orderId; int orderId;
return BaseView<OrdersViewModel>( return BaseView<OrdersViewModel>(
onModelReady: (model) => model.getPendingOrders(), onModelReady: (model) async {
if (!model.isGetPendingOrdersServices) {
await model.getPendingOrders();
}
if (!model.isGetDeliveredOrdersServices) {
await model.getDeliveredOrders();
}
},
builder: (BuildContext context, OrdersViewModel model, Widget child) => builder: (BuildContext context, OrdersViewModel model, Widget child) =>
AppScaffold( AppScaffold(
baseViewModel: model,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Container( child: Container(
height: MediaQuery.of(context).orientation == Orientation.landscape height: MediaQuery.of(context).orientation == Orientation.landscape
@ -149,6 +158,12 @@ class _DashboardScreenState extends State<DashboardScreen> {
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
gradient: LINEAR_GRADIENT, gradient: LINEAR_GRADIENT,
), ),
child: InkWell(
onTap: () => Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
OrdersListScreen())),
child: Row( child: Row(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
@ -161,24 +176,27 @@ class _DashboardScreenState extends State<DashboardScreen> {
MainAxisAlignment.spaceEvenly, MainAxisAlignment.spaceEvenly,
children: <Widget>[ children: <Widget>[
Text( Text(
TranslationBase.of(context).youHave, TranslationBase.of(context)
.youHave,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: MediaQuery.of(context) fontSize: MediaQuery.of(context)
.orientation == .orientation ==
Orientation.landscape Orientation.landscape
? SizeConfig.textMultiplier * ? SizeConfig
.textMultiplier *
2.2 2.2
: SizeConfig.textMultiplier * : SizeConfig
.textMultiplier *
1.3, 1.3,
), ),
), ),
Text( Text(
'5', model.orders.length.toString(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: fontSize: SizeConfig
SizeConfig.textMultiplier * .textMultiplier *
3.0), 3.0),
), ),
Text( Text(
@ -189,9 +207,11 @@ class _DashboardScreenState extends State<DashboardScreen> {
fontSize: MediaQuery.of(context) fontSize: MediaQuery.of(context)
.orientation == .orientation ==
Orientation.landscape Orientation.landscape
? SizeConfig.textMultiplier * ? SizeConfig
.textMultiplier *
2.2 2.2
: SizeConfig.textMultiplier * : SizeConfig
.textMultiplier *
1.3, 1.3,
), ),
) )
@ -238,6 +258,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
], ],
), ),
), ),
),
) )
], ],
), ),
@ -291,7 +312,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
), ),
), ),
Text( Text(
'3', model.deliverdOrders.length
.toString(),
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: SizeConfig fontSize: SizeConfig
@ -511,7 +533,9 @@ class _DashboardScreenState extends State<DashboardScreen> {
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
itemCount: model.orders == null itemCount: model.orders == null
? 0 ? 0
: model.orders.length < 3 ? model.orders.length : 3, : model.orders.length < 3
? model.orders.length
: 3,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 0.2), padding: EdgeInsets.symmetric(horizontal: 0.2),

@ -218,34 +218,35 @@ class InformationPage extends StatelessWidget {
item.latitude, item.longitude); item.latitude, item.longitude);
}, },
), ),
DeliveryInfoButton( //TODO: return it back when it needed
btnColor: Colors.white, //Color(0xFF61B260), // DeliveryInfoButton(
btnIcon: Icon( // btnColor: Colors.white, //Color(0xFF61B260),
DriverApp.whatsapp, // btnIcon: Icon(
size: // DriverApp.whatsapp,
MediaQuery.of(context).orientation == // size:
Orientation.portrait // MediaQuery.of(context).orientation ==
? 50 // Orientation.portrait
: 90, // ? 50
color: Color(0xFF5EA34A), // : 90,
), // color: Color(0xFF5EA34A),
btnName: 'Whatsapp', // ),
btnFunction: () {}, // btnName: 'Whatsapp',
), // btnFunction: () {},
DeliveryInfoButton( // ),
btnColor: Colors.white, //Color(0xFFFCB657), // DeliveryInfoButton(
btnIcon: Icon( // btnColor: Colors.white, //Color(0xFFFCB657),
DriverApp.message, // btnIcon: Icon(
size: // DriverApp.message,
MediaQuery.of(context).orientation == // size:
Orientation.portrait // MediaQuery.of(context).orientation ==
? 50 // Orientation.portrait
: 90, // ? 50
color: Color(0xffFFA540), // : 90,
), // color: Color(0xffFFA540),
btnName: TranslationBase.of(context).sms, // ),
btnFunction: () {}, // btnName: TranslationBase.of(context).sms,
), // btnFunction: () {},
// ),
DeliveryInfoButton( DeliveryInfoButton(
btnColor: Colors.white, btnColor: Colors.white,
//Theme.of(context).primaryColor, //Theme.of(context).primaryColor,

@ -17,7 +17,7 @@ class _DeliverdOrdersPageState extends State<DeliverdOrdersPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<OrdersViewModel>( return BaseView<OrdersViewModel>(
onModelReady: (model) => model.getDeliverdOrders(), // onModelReady: (model) => model.getDeliveredOrders(),
builder: (BuildContext context, OrdersViewModel model, Widget child) => builder: (BuildContext context, OrdersViewModel model, Widget child) =>
AppScaffold( AppScaffold(
isShowAppBar: true, isShowAppBar: true,

@ -1,21 +1,33 @@
import 'dart:async';
import 'package:driverapp/app-icons/driver_app_icons.dart'; import 'package:driverapp/app-icons/driver_app_icons.dart';
import 'package:driverapp/core/viewModels/orders_view_model.dart';
import 'package:driverapp/core/viewModels/project_view_model.dart'; import 'package:driverapp/core/viewModels/project_view_model.dart';
import 'package:driverapp/root_page.dart'; import 'package:driverapp/root_page.dart';
import 'package:driverapp/widgets/others/app_scaffold_widget.dart'; import 'package:driverapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../locator.dart';
class SplashScreenPage extends StatefulWidget { class SplashScreenPage extends StatefulWidget {
@override @override
_SplashScreenPageState createState() => _SplashScreenPageState(); _SplashScreenPageState createState() => _SplashScreenPageState();
} }
class _SplashScreenPageState extends State<SplashScreenPage> { class _SplashScreenPageState extends State<SplashScreenPage> {
OrdersViewModel _ordersViewModel = locator<OrdersViewModel>();
// AuthenticationService _authenticationService =
// locator<AuthenticationService>();
startTime() async { startTime() async {
var _duration = new Duration(seconds: 5); // if (_authenticationService.isLogin) {
return new Timer(_duration, navigationPage); await _ordersViewModel.getPendingOrders();
await _ordersViewModel.getDeliveredOrders();
// }
navigationPage();
// var _duration = new Duration(seconds: 5);
// return new Timer(_duration, navigationPage);
} }
@override @override
@ -24,6 +36,8 @@ class _SplashScreenPageState extends State<SplashScreenPage> {
startTime(); startTime();
} }
//
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
@ -114,12 +128,16 @@ class _SplashScreenPageState extends State<SplashScreenPage> {
Text( Text(
"APP", "APP",
style: TextStyle( style: TextStyle(
fontSize: MediaQuery.of(context).orientation == fontSize: MediaQuery
.of(context)
.orientation ==
Orientation.portrait Orientation.portrait
? 53 ? 53
: 21, : 21,
letterSpacing: letterSpacing:
MediaQuery.of(context).orientation == MediaQuery
.of(context)
.orientation ==
Orientation.portrait Orientation.portrait
? 53 ? 53
: 27, : 27,

@ -25,7 +25,7 @@ class NetworkBaseView extends StatelessWidget {
return child; return child;
break; break;
case ViewState.Busy: case ViewState.Busy:
return Expanded(child: AppCircularProgressIndicator()); return AppCircularProgressIndicator();
break; break;
case ViewState.Error: case ViewState.Error:
return Center( return Center(

Loading…
Cancel
Save