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;
String createdOn;
int createdBy;
Null editedOn;
Null editedBy;
dynamic editedOn;
dynamic editedBy;
String mobileNumber;
int realRoleID;

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

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

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

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

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

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

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

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

Loading…
Cancel
Save