Merge branch 'delivery_confirmed' of https://gitlab.com/Cloud_Solution/driver-app into merge_delivery_info_into_dev

 Conflicts:
	lib/pages/delivery/information_page.dart
logut
Elham Rababah 6 years ago
commit dc2e1ab785

@ -6,6 +6,7 @@ import 'package:driverapp/core/service/base_service.dart';
class OrdersService extends BaseService { class OrdersService extends BaseService {
List<PendingOrdersRes> _orders = List(); List<PendingOrdersRes> _orders = List();
List<PendingOrdersRes> get orders => _orders; List<PendingOrdersRes> get orders => _orders;
bool isOrderInserted; bool isOrderInserted;

@ -1,7 +1,7 @@
import 'package:driverapp/core/enum/viewstate.dart'; import 'package:driverapp/core/enum/viewstate.dart';
import 'package:driverapp/core/model/pending_orders/pending_orders_res_model.dart'; import 'package:driverapp/core/model/pending_orders/pending_orders_res_model.dart';
import 'package:driverapp/core/service/orders_service.dart'; import 'package:driverapp/core/service/orders_service.dart';
import 'package:driverapp/core/model/pending_orders/pending_orders_req_model.dart';
import '../../locator.dart'; import '../../locator.dart';
import 'base_view_model.dart'; import 'base_view_model.dart';

@ -91,8 +91,14 @@ class _DashboardScreenState extends State<DashboardScreen> {
Padding( Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding: EdgeInsets.symmetric(horizontal: 10.0),
child: Container( child: Container(
height: MediaQuery.of(context).size.height * 0.15, height: MediaQuery
width: MediaQuery.of(context).size.width * 0.44, .of(context)
.size
.height * 0.15,
width: MediaQuery
.of(context)
.size
.width * 0.44,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
gradient: LinearGradient( gradient: LinearGradient(
@ -105,7 +111,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
child: Column( child: Column(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
Text( Text(
'You Have', 'You Have',
@ -138,13 +144,15 @@ class _DashboardScreenState extends State<DashboardScreen> {
padding: EdgeInsets.only(right: 9.5), padding: EdgeInsets.only(right: 9.5),
child: Image.asset( child: Image.asset(
'assets/images/closed_box.png', 'assets/images/closed_box.png',
height: MediaQuery.of(context) height: MediaQuery
.size .of(context)
.height * .size
.height *
0.09, 0.09,
width: MediaQuery.of(context) width: MediaQuery
.size .of(context)
.width * .size
.width *
0.20, 0.20,
//fit: BoxFit.cover, //fit: BoxFit.cover,
)), )),
@ -165,7 +173,10 @@ class _DashboardScreenState extends State<DashboardScreen> {
padding: EdgeInsets.symmetric(horizontal: 10.0), padding: EdgeInsets.symmetric(horizontal: 10.0),
child: Container( child: Container(
height: MediaQuery.of(context).size.height * 0.15, height: MediaQuery.of(context).size.height * 0.15,
width: MediaQuery.of(context).size.width * 0.44, width: MediaQuery
.of(context)
.size
.width * 0.44,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
gradient: LinearGradient( gradient: LinearGradient(
@ -179,7 +190,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
padding: EdgeInsets.all(12.0), padding: EdgeInsets.all(12.0),
child: Column( child: Column(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceEvenly, MainAxisAlignment.spaceEvenly,
children: <Widget>[ children: <Widget>[
Text( Text(
'You Have', 'You Have',
@ -235,8 +246,14 @@ class _DashboardScreenState extends State<DashboardScreen> {
Expanded( Expanded(
child: InkWell( child: InkWell(
child: Container( child: Container(
height: MediaQuery.of(context).size.height * 0.16, height: MediaQuery
width: MediaQuery.of(context).size.width * 0.50, .of(context)
.size
.height * 0.16,
width: MediaQuery
.of(context)
.size
.width * 0.50,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
gradient: LinearGradient(colors: [ gradient: LinearGradient(colors: [
@ -252,9 +269,15 @@ class _DashboardScreenState extends State<DashboardScreen> {
Image.asset( Image.asset(
'assets/images/qr_code.png', 'assets/images/qr_code.png',
width: width:
MediaQuery.of(context).size.width * 0.25, MediaQuery
.of(context)
.size
.width * 0.25,
height: height:
MediaQuery.of(context).size.height * 0.14, MediaQuery
.of(context)
.size
.height * 0.14,
fit: BoxFit.cover, fit: BoxFit.cover,
) )
], ],
@ -328,10 +351,10 @@ class _DashboardScreenState extends State<DashboardScreen> {
], ],
), ),
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => OrdersListScreen()), builder: (context) => OrdersListScreen()),
)), )),
], ],
), ),
], ],
@ -341,14 +364,17 @@ class _DashboardScreenState extends State<DashboardScreen> {
child: ListView.builder( child: ListView.builder(
shrinkWrap: true, shrinkWrap: true,
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
itemCount: //model.orders == null ? 0 : model.orders.length, itemCount: model.orders == null ? 0 : model.orders.length,
3, // 2,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
return Padding( return Padding(
padding: EdgeInsets.symmetric(horizontal: 12.2), padding: EdgeInsets.symmetric(horizontal: 12.2),
child: InkWell( child: InkWell(
child: RoundedContainer( child: RoundedContainer(
height: MediaQuery.of(context).size.height * 0.108, height: MediaQuery
.of(context)
.size
.height * 0.108,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
@ -362,9 +388,15 @@ class _DashboardScreenState extends State<DashboardScreen> {
child: Image.asset( child: Image.asset(
'assets/images/location.png', 'assets/images/location.png',
height: height:
MediaQuery.of(context).size.height * MediaQuery
0.10, .of(context)
width: MediaQuery.of(context).size.width * .size
.height *
0.10,
width: MediaQuery
.of(context)
.size
.width *
0.09, 0.09,
), ),
) )

@ -39,9 +39,22 @@ class DeliveryConfirmedPage extends StatelessWidget {
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Container( Container(
width: 300, width: MediaQuery
height: 300, .of(context)
padding: EdgeInsets.only(top: 60), .size
.width,
//300,
height: MediaQuery
.of(context)
.size
.width * 0.7,
//300,
padding: EdgeInsets.only(
top: MediaQuery
.of(context)
.size
.width * 0.2, //60,
),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white10, color: Colors.white10,
shape: BoxShape.circle), shape: BoxShape.circle),
@ -81,12 +94,26 @@ class DeliveryConfirmedPage extends StatelessWidget {
Stack( Stack(
children: <Widget>[ children: <Widget>[
Container( Container(
width: 400, width: MediaQuery
height: 500, .of(context)
.size
.width, //400,
height: MediaQuery
.of(context)
.size
.width, //500,
), ),
Container( Container(
width: 800, width: MediaQuery
height: 440, .of(context)
.size
.width,
//800,
height: MediaQuery
.of(context)
.size
.width * 1.2,
//440,
margin: EdgeInsets.only(top: 60), margin: EdgeInsets.only(top: 60),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -99,7 +126,12 @@ class DeliveryConfirmedPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[ children: <Widget>[
Container( Container(
margin: EdgeInsets.only(bottom: 50), margin: EdgeInsets.only(
bottom: MediaQuery
.of(context)
.size
.width * 0.15, //50
),
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
FlatButton.icon( FlatButton.icon(
@ -107,7 +139,7 @@ class DeliveryConfirmedPage extends StatelessWidget {
color: Colors.orangeAccent, color: Colors.orangeAccent,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: borderRadius:
new BorderRadius.circular(10.0), new BorderRadius.circular(10.0),
), ),
icon: Icon( icon: Icon(
Icons.mode_edit, Icons.mode_edit,
@ -122,17 +154,29 @@ class DeliveryConfirmedPage extends StatelessWidget {
onPressed: () {}, onPressed: () {},
), ),
SizedBox( SizedBox(
height: 20, height: MediaQuery
.of(context)
.size
.width * 0.1, //20,
), ),
FlatButton( FlatButton(
color: Color(0xff41bdbb), color: Color(0xff41bdbb),
padding: padding:
EdgeInsets.only(right: 100, left: 100), EdgeInsets.only(
right: MediaQuery
.of(context)
.size
.width * 0.25, //100,
left: MediaQuery
.of(context)
.size
.width * 0.25, //100
),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: borderRadius:
new BorderRadius.circular(18.0), new BorderRadius.circular(18.0),
side: side:
BorderSide(color: Color(0xff41bdbb)), BorderSide(color: Color(0xff41bdbb)),
), ),
child: Text( child: Text(
TranslationBase TranslationBase
@ -149,10 +193,13 @@ class DeliveryConfirmedPage extends StatelessWidget {
), ),
), ),
CustomerBrief( CustomerBrief(
itemId: item.driverID, itemId: item.patientID,
customerFirstName: item.firstName, customerFirstName: item.firstName,
customerLastName: item.lastName, customerLastName: item.lastName,
mobileNo: item.mobileNumber), mobileNo: item.mobileNumber,
totalPayment: item.amount,
deliveryTime: item.orderCreatedOn
),
], ],
), ),
], ],

@ -4,9 +4,6 @@ import 'package:driverapp/widgets/delivery/delivery_action_button.dart';
import 'package:driverapp/widgets/delivery/package_content.dart'; import 'package:driverapp/widgets/delivery/package_content.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:map_launcher/map_launcher.dart';
import 'package:maps_launcher/maps_launcher.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../uitl/translations_delegate_base.dart'; import '../../uitl/translations_delegate_base.dart';
import '../../widgets/others/app_scaffold_widget.dart'; import '../../widgets/others/app_scaffold_widget.dart';
@ -18,215 +15,265 @@ class InformationPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// return AppScaffold(
// body: Center(
// child: InkWell(onTap: () {},
// child: Texts('Replay Page')),
// ),
// );
return AppScaffold( return AppScaffold(
body: Container( body: Container(
color: Color(0xff41bdbb), color: Color(0xff41bdbb),
child: ListView( child: Container(
children: <Widget>[ color: Color(0xff41bdbb),
Column( child: ListView(
children: <Widget>[ children: <Widget>[
Row( Column(
crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[
children: <Widget>[ Row(
Container( crossAxisAlignment: CrossAxisAlignment.center,
margin: EdgeInsets.only(right: 50), children: <Widget>[
child: IconButton( Container(
color: Colors.white, margin: EdgeInsets.only(
iconSize: 50, right: MediaQuery
icon: Icon(Icons.arrow_back), .of(context)
onPressed: () { .size
Navigator.pop(context); .width * 0.15, //50
}, ),
), child: IconButton(
),
Container(
child: Text(
TranslationBase.of(context).deliveryInfo,
style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 20, iconSize: 50,
icon: Icon(Icons.arrow_back),
onPressed: () {
Navigator.pop(context);
},
), ),
), ),
), Container(
], child: Text(
), TranslationBase
Stack( .of(context)
children: <Widget>[ .deliveryInfo,
Container( style: TextStyle(
width: 400, color: Colors.white,
height: 500, fontSize: 20,
),
Container(
width: 800,
height: 700,
margin: EdgeInsets.only(top: 100),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(45),
topRight: Radius.circular(45)),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(
height: 170,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
delivery_info_button(
btnColor: Color(0xfff44336),
btnIcon: Icon(
Icons.near_me,
size: 30,
color: Colors.white,
),
btnName: TranslationBase.of(context).location,
btnFunction: () {
MapsLauncher.launchCoordinates(
item.longitude, item.latitude);
},
),
delivery_info_button(
btnColor: Colors.green,
btnIcon: Icon(
Icons.whatshot,
size: 30,
color: Colors.white,
),
btnName: 'Whatsapp',
btnFunction: () {},
),
delivery_info_button(
btnColor: Colors.orangeAccent,
btnIcon: Icon(
Icons.mail_outline,
size: 30,
color: Colors.white,
),
btnName: TranslationBase.of(context).sms,
btnFunction: () {},
),
delivery_info_button(
btnColor: Color(0xff41bdbb),
btnIcon: Icon(
Icons.phone,
size: 30,
color: Colors.white,
),
btnName: TranslationBase.of(context).call,
btnFunction: () {
launch(
"tel://" + item.mobileNumber.toString());
},
),
],
),
SizedBox(
height: 30,
), ),
Container( ),
margin: EdgeInsets.only(left: 15, right: 15), ),
child: Column( ],
crossAxisAlignment: CrossAxisAlignment.start, ),
Stack(
children: <Widget>[
Container(
width: MediaQuery
.of(context)
.size
.width, //400,
height: MediaQuery
.of(context)
.size
.width, //500,
),
Container(
width: MediaQuery
.of(context)
.size
.width * 1,
//800,
height: MediaQuery
.of(context)
.size
.width * 1.5,
//700,
margin: EdgeInsets.only(
top: MediaQuery
.of(context)
.size
.width * 0.3, //100
),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(45),
topRight: Radius.circular(45)),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(
height: MediaQuery
.of(context)
.size
.width * 0.2, //170,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[ children: <Widget>[
Text( delivery_info_button(
TranslationBase.of(context).packageContent, btnColor: Color(0xfff44336),
style: TextStyle( btnIcon: Icon(
fontWeight: FontWeight.bold, Icons.near_me,
fontSize: 20), size: 30,
color: Colors.white,
),
btnName: TranslationBase
.of(context)
.location,
btnFunction: () {},
), ),
SizedBox( delivery_info_button(
height: 20, btnColor: Colors.green,
btnIcon: Icon(
Icons.whatshot,
size: 30,
color: Colors.white,
),
btnName: 'Whatsapp',
btnFunction: () {},
), ),
package_content( delivery_info_button(
packageName: 'Panadol Extra 50 tablet', btnColor: Colors.orangeAccent,
packageCount: '5 box', btnIcon: Icon(
Icons.mail_outline,
size: 30,
color: Colors.white,
),
btnName: TranslationBase
.of(context)
.sms,
btnFunction: () {},
), ),
SizedBox( delivery_info_button(
height: 10, btnColor: Color(0xff41bdbb),
), btnIcon: Icon(
package_content( Icons.phone,
packageName: 'Xeractan 20MG 30 Capsules', size: 30,
packageCount: '1 PCS', color: Colors.white,
), ),
SizedBox( btnName: TranslationBase
height: 10, .of(context)
), .call,
package_content( btnFunction: () {},
packageName:
'Oltment for Rash unbranded 50 ml',
packageCount: '1 tube',
),
SizedBox(
height: 10,
),
package_content(
packageName: 'Face Mask 50 Pieces',
packageCount: '1 box',
),
SizedBox(
height: 10,
),
package_content(
packageName: 'Panadol Extra 50 tablet',
packageCount: '5 box',
),
SizedBox(
height: 10,
), ),
], ],
), ),
), SizedBox(
SizedBox( height: MediaQuery
height: 30, .of(context)
), .size
FlatButton( .width * 0.1, //30,
color: Color(0xff41bdbb),
padding: EdgeInsets.only(
right: 100, left: 100, bottom: 15, top: 15),
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(30.0),
side: BorderSide(color: Color(0xff41bdbb)),
), ),
child: Text( Container(
TranslationBase.of(context).clientReached, margin: EdgeInsets.only(
style: TextStyle( left: MediaQuery
color: Colors.white, .of(context)
fontWeight: FontWeight.bold, .size
fontSize: 16), .width * 0.05, //15,
right: MediaQuery
.of(context)
.size
.width * 0.02, //15
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
TranslationBase
.of(context)
.packageContent,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20),
),
SizedBox(
height: MediaQuery
.of(context)
.size
.width * 0.05, //20,
),
Column(
children: List.generate(
item.itemsQuantitiesList.length,
(index) {
return package_content(
packageName: item
.itemsQuantitiesList[index]
.itemName
.toString(),
//'Panadol Extra 50 tablet',
packageCount: item
.itemsQuantitiesList[index]
.quantity
.toString(),
);
}),
),
SizedBox(
height: MediaQuery
.of(context)
.size
.width * 0.01, //10,
),
],
),
), ),
onPressed: () { SizedBox(
Navigator.push( height: MediaQuery
context, .of(context)
MaterialPageRoute( .size
builder: (context) => .width * 0.1, //30,
DeliveryConfirmedPage(item))); ),
}, FlatButton(
), color: Color(0xff41bdbb),
], padding: EdgeInsets.only(
right: MediaQuery
.of(context)
.size
.width * 0.3, //100,
left: MediaQuery
.of(context)
.size
.width * 0.3, //100,
bottom: MediaQuery
.of(context)
.size
.width * 0.035, //15,
top: MediaQuery
.of(context)
.size
.width * 0.035, //15
),
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(30.0),
side: BorderSide(color: Color(0xff41bdbb)),
),
child: Text(
TranslationBase
.of(context)
.clientReached,
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 16),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
DeliveryConfirmedPage(item)));
},
),
],
),
), ),
), CustomerBrief(
CustomerBrief( itemId: item.patientID,
itemId: item.driverID, customerFirstName: item.firstName,
customerFirstName: item.firstName, customerLastName: item.lastName,
customerLastName: item.lastName, mobileNo: item.mobileNumber,
mobileNo: item.mobileNumber, totalPayment: item.amount,
latitude: item.latitude, deliveryTime: item.orderCreatedOn),
longitude: item.longitude, ],
), ),
], ],
), ),
], ],
), ),
],
), ),
), ),
); );

@ -1,9 +1,10 @@
import 'package:flutter/material.dart';
import 'package:driverapp/config/size_config.dart';
import 'package:driverapp/core/viewModels/orders_view_model.dart'; import 'package:driverapp/core/viewModels/orders_view_model.dart';
import '../base/base_view.dart'; import 'package:driverapp/pages/delivery/information_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:driverapp/widgets/others/rounded_container.dart'; import 'package:driverapp/widgets/others/rounded_container.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import '../base/base_view.dart';
class OrdersListScreen extends StatefulWidget { class OrdersListScreen extends StatefulWidget {
@override @override
@ -17,125 +18,151 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
onModelReady: (model) => model.getPendingOrders(), onModelReady: (model) => model.getPendingOrders(),
builder: (BuildContext context, OrdersViewModel model, Widget child) => builder: (BuildContext context, OrdersViewModel model, Widget child) =>
Scaffold( Scaffold(
appBar: AppBar( appBar: AppBar(
centerTitle: true, centerTitle: true,
backgroundColor: Color(0xffF4F9FA), backgroundColor: Color(0xffF4F9FA),
title: Text( title: Text(
'Your Delivery Que', 'Your Delivery Que',
),
),
body: Column(
children: <Widget>[
Center(
child: Text(
'Nearest',
style: TextStyle(
color: Color(0xff30B7B9),
fontSize: 18.0,
fontWeight: FontWeight.w400),
), ),
), ),
Expanded( body: Column(
child: ListView.builder( children: <Widget>[
itemCount: model.orders == null ? 0 : model.orders.length, Center(
scrollDirection: Axis.vertical, child: Text(
shrinkWrap: true, 'Nearest',
itemBuilder: (BuildContext context, int index) { style: TextStyle(
return Padding( color: Color(0xff30B7B9),
padding: EdgeInsets.symmetric(horizontal: 12.2), fontSize: 18.0,
child: RoundedContainer( fontWeight: FontWeight.w400),
height: MediaQuery.of(context).orientation == ),
Orientation.portrait ),
? MediaQuery.of(context).size.height * 0.107 Expanded(
: MediaQuery.of(context).size.height * 0.18, child: ListView.builder(
child: Row( itemCount: model.orders == null ? 0 : model.orders.length,
mainAxisAlignment: MainAxisAlignment.spaceBetween, scrollDirection: Axis.vertical,
children: <Widget>[ shrinkWrap: true,
Expanded( itemBuilder: (BuildContext context, int index) {
flex: 1, return InkWell(
child: Column( onTap: () {
mainAxisAlignment: MainAxisAlignment.center, Navigator.push(
context, MaterialPageRoute(
builder: (context) =>
InformationPage(model.orders[index])));
},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.2),
child: RoundedContainer(
height: MediaQuery
.of(context)
.orientation ==
Orientation.portrait
? MediaQuery
.of(context)
.size
.height * 0.107
: MediaQuery
.of(context)
.size
.height * 0.18,
child: Row(
mainAxisAlignment: MainAxisAlignment
.spaceBetween,
children: <Widget>[ children: <Widget>[
Padding( Expanded(
padding: EdgeInsets.only(left: 22.0), flex: 1,
child: Image.asset( child: Column(
'assets/images/location.png', mainAxisAlignment: MainAxisAlignment
height: .center,
MediaQuery.of(context).size.height * children: <Widget>[
0.101, Padding(
padding: EdgeInsets.only(left: 22.0),
child: Image.asset(
'assets/images/location.png',
height:
MediaQuery
.of(context)
.size
.height *
0.101,
),
),
],
), ),
), ),
], if (model.orders.length != 0)
),
),
if (model.orders.length != 0)
Expanded(
flex: 3,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 10.0),
child: Text(
model.orders[index].firstName +
' ' +
model.orders[index].lastName,
style: TextStyle(fontSize: 18.0),
),
),
Text(
model.orders[index].mobileNumber,
style: TextStyle(
color: Color(0xff30B7B9),
fontWeight: FontWeight.w600,
fontSize: 15.0),
),
Expanded( Expanded(
child: Text( flex: 3,
'Olaya ST, Behind kfc next to king ', child: Column(
style: TextStyle(color: Colors.black45), crossAxisAlignment: CrossAxisAlignment
), .start,
) children: <Widget>[
], Padding(
), padding: EdgeInsets.only(top: 10.0),
), child: Text(
Padding( model.orders[index].firstName +
padding: EdgeInsets.all(10.0), ' ' +
child: Column( model.orders[index].lastName,
mainAxisAlignment: MainAxisAlignment.center, style: TextStyle(fontSize: 18.0),
children: <Widget>[ ),
Expanded( ),
child: CircleAvatar( Text(
backgroundColor: Colors.black45, model.orders[index].mobileNumber,
radius: 28.0,
child: CircleAvatar(
backgroundColor: Colors.white,
maxRadius: 25.1,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'3 K.m \n away',
style: TextStyle( style: TextStyle(
color: Color(0xff30B7B9), color: Color(0xff30B7B9),
fontSize: 12.5, fontWeight: FontWeight.w600,
fontWeight: FontWeight.w600), fontSize: 15.0),
), ),
), Expanded(
child: Text(
'Olaya ST, Behind kfc next to king ',
style: TextStyle(
color: Colors.black45),
),
)
],
), ),
), ),
) Padding(
padding: EdgeInsets.all(10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment
.center,
children: <Widget>[
Expanded(
child: CircleAvatar(
backgroundColor: Colors.black45,
radius: 28.0,
child: CircleAvatar(
backgroundColor: Colors.white,
maxRadius: 25.1,
child: Padding(
padding: const EdgeInsets.all(
8.0),
child: Text(
'3 K.m \n away',
style: TextStyle(
color: Color(0xff30B7B9),
fontSize: 12.5,
fontWeight: FontWeight
.w600),
),
),
),
),
)
],
),
),
], ],
), ),
), ),
], ),
), );
), }),
); ),
}), ],
), ),
], ),
),
),
); );
} }
} }

@ -119,4 +119,14 @@ class DateUtil {
else else
return ""; return "";
} }
static String convertStringToHours(String date) {
DateTime stringDate = convertStringToDate(date);
DateTime dateTime = DateTime.parse(stringDate.toString());
String hours = dateTime.toString();
hours = hours.substring(10, 16);
return hours;
}
} }

@ -1,9 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../uitl/date_uitl.dart';
import '../../uitl/translations_delegate_base.dart'; import '../../uitl/translations_delegate_base.dart';
class CustomerBrief extends StatelessWidget { class CustomerBrief extends StatelessWidget {
final int itemId; final String itemId;
final String time; final String time;
final String customerFirstName; final String customerFirstName;
final String customerLastName; final String customerLastName;
@ -121,7 +122,7 @@ class CustomerBrief extends StatelessWidget {
width: 170, width: 170,
), ),
Text( Text(
'SAR 70', totalPayment.toString(), //'SAR 70',
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.bold),
), ),
], ],
@ -137,7 +138,12 @@ class CustomerBrief extends StatelessWidget {
SizedBox( SizedBox(
width: 50, width: 50,
), ),
Text('05 Aug 20 - 10:00 AM', Text(
'${DateUtil.getMonthDayYearDateFormatted(
DateUtil.convertStringToDate(
deliveryTime))} ${(DateUtil
.convertStringToHours(deliveryTime))}',
//'05 Aug 20 - 10:00 AM',
style: TextStyle(fontWeight: FontWeight.bold)), style: TextStyle(fontWeight: FontWeight.bold)),
], ],
) )

Loading…
Cancel
Save