modfiy
This commit is contained in:
@@ -499,12 +499,16 @@
|
||||
"pickup": "Pickups",
|
||||
"pickup.title": "PICKUPS",
|
||||
"pickup.new": "New Pickup",
|
||||
"pickup.edit.title": "Pickup",
|
||||
"pickup.edit.title": "PICKUP",
|
||||
|
||||
"rate":"Rates",
|
||||
"rate.title":"RATES",
|
||||
|
||||
"rate.edit.title":"EDIT RATES",
|
||||
|
||||
"rate.cal.title":"CALCULATE RATES"
|
||||
"rate.cal.title":"CALCULATE RATES",
|
||||
|
||||
"pickup.date": "Pickup Date",
|
||||
|
||||
"term":"TERMS"
|
||||
}
|
||||
@@ -530,5 +530,8 @@
|
||||
|
||||
"pickup.title": "Pickups",
|
||||
"pickup.new": "New Pickup",
|
||||
"pickup.edit.title": "Pickup"
|
||||
"pickup.edit.title": "PICKUP",
|
||||
"pickup.date": "Pickup Date",
|
||||
|
||||
"term":"TERMS"
|
||||
}
|
||||
@@ -54,7 +54,15 @@ class MainModel extends ChangeNotifier {
|
||||
'154-19 64th Ave.Flushing, \nNY 11367 \nTEL. +1 (929) 215-2247',
|
||||
deliveryAddress: '39 42th St. Kyaut Ta Thar Township Yangon');
|
||||
|
||||
Setting setting;
|
||||
User recipient = User(
|
||||
name: "Ko Myo Min",
|
||||
phoneNumber: '+95 9 444444444',
|
||||
shippingAddress: '154-19 64th Ave.Flushing, \nNY 11367',
|
||||
deliveryAddress: '39 42th St. Kyaut Ta Thar Township Yangon');
|
||||
|
||||
Setting setting = Setting(
|
||||
terms:
|
||||
'[{"insert":"Minimum shipping weight is 1lbs.\nOversized goods, Light weight/Large volume items, laptops, phones, tablets may incur extra charges based on pecifications.Please contact us for pricing.\nGoods with lithium battary needs extra packaging and declaration. Please inform us ahead of time so that we can process your package accordingly.\nLoose Batteries, Drones, and Prescription medicines are not allowed on aircraft.\nPayment: We accept money orders, any US bank transfers via Zelle, AYA, KBZ and CB. No COD except for pick-ups.\nPayments made in Myanmar will incur 2% tranfer fee\n"}]');
|
||||
PackageInfo packageInfo;
|
||||
bool isLoaded = true;
|
||||
bool isOnline = true;
|
||||
@@ -71,7 +79,7 @@ class MainModel extends ChangeNotifier {
|
||||
// notifyListeners();
|
||||
// });
|
||||
_loadFcs();
|
||||
}
|
||||
}
|
||||
|
||||
_loadFcs() async {
|
||||
user = await SharedPref.getUser();
|
||||
|
||||
@@ -14,8 +14,7 @@ class PickUpModel extends BaseModel {
|
||||
|
||||
var profile = FCSProfile(
|
||||
id: '1',
|
||||
usaAddress:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247',
|
||||
usaAddress: '154-19 64th Ave.\nFlushing, NY 11367',
|
||||
mmAddress: 'FCS Trading Myanmar\nRoom 333, Yangon',
|
||||
usaContactNumber: '1 (929) 215-2247',
|
||||
mmContactNumber: '+95 9 700224723',
|
||||
@@ -33,8 +32,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: 'Pending',
|
||||
date: DateTime(2020, 5, 1),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
PickUp(
|
||||
id: "P200125 - 12 May 2020",
|
||||
userName: "Ko Kyaw Nyi",
|
||||
@@ -45,8 +43,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: 'Assigned',
|
||||
date: DateTime(2020, 5, 6),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
PickUp(
|
||||
id: "P200441 - 13 Apr 2020",
|
||||
userName: "Ko Kyaw Nyi",
|
||||
@@ -57,8 +54,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: "Pickuped",
|
||||
date: DateTime(2020, 5, 9),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
PickUp(
|
||||
id: "P200412 - 12 Apr 2020",
|
||||
userName: "Ko Kyaw Nyi",
|
||||
@@ -69,8 +65,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: 'Pickuped',
|
||||
date: DateTime(2020, 5, 15),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
PickUp(
|
||||
id: "P200125 - 12 May 2020",
|
||||
userName: "Ko Kyaw Nyi",
|
||||
@@ -81,8 +76,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: 'Pickuped',
|
||||
date: DateTime(2020, 5, 20),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
PickUp(
|
||||
id: "P200441 - 13 Apr 2020",
|
||||
userName: "Ko Kyaw Nyi",
|
||||
@@ -93,8 +87,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: "Pickuped",
|
||||
date: DateTime(2020, 5, 21),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
PickUp(
|
||||
id: "P200441 - 10 Apr 2020",
|
||||
userName: "Ko Kyaw Nyi",
|
||||
@@ -105,8 +98,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: "Canceled",
|
||||
date: DateTime(2020, 5, 25),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
PickUp(
|
||||
id: "P200441 - 6 Apr 2020",
|
||||
userName: "Ko Kyaw Nyi",
|
||||
@@ -117,8 +109,7 @@ class PickUpModel extends BaseModel {
|
||||
weight: 25,
|
||||
status: "Canceled",
|
||||
date: DateTime(2020, 5, 27),
|
||||
address:
|
||||
'154-19 64th Ave.\nFlushing, NY 11367\nTEL. +1 (929) 215-2247'),
|
||||
address: '154-19 64th Ave.\nFlushing, NY 11367'),
|
||||
];
|
||||
|
||||
List<PickUp> get canceled {
|
||||
|
||||
@@ -56,7 +56,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
|
||||
));
|
||||
|
||||
final mmAddress = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: FCSTextField(
|
||||
@@ -67,7 +66,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
|
||||
);
|
||||
|
||||
final contactNumber = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: FCSTextField(
|
||||
@@ -78,7 +76,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
|
||||
);
|
||||
|
||||
final mmContactNumber = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: FCSTextField(
|
||||
@@ -89,7 +86,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
|
||||
);
|
||||
|
||||
final mailBox = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: FCSTextField(
|
||||
@@ -100,7 +96,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
|
||||
);
|
||||
|
||||
final fbLinkBox = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: FCSTextField(
|
||||
@@ -112,28 +107,29 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
|
||||
inAsyncCall: _isLoading,
|
||||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
centerTitle: true,
|
||||
backgroundColor: primaryColor,
|
||||
title: Text('Profile'),
|
||||
title: Text('PROFILE'),
|
||||
),
|
||||
body: Card(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(20.0),
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: ListView(children: <Widget>[
|
||||
usaAddress,
|
||||
SizedBox(height: 15),
|
||||
SizedBox(height: 10),
|
||||
mmAddress,
|
||||
SizedBox(height: 15),
|
||||
SizedBox(height: 10),
|
||||
contactNumber,
|
||||
SizedBox(height: 15),
|
||||
SizedBox(height: 10),
|
||||
mmContactNumber,
|
||||
SizedBox(height: 15),
|
||||
SizedBox(height: 10),
|
||||
mailBox,
|
||||
SizedBox(height: 15),
|
||||
SizedBox(height: 10),
|
||||
fbLinkBox,
|
||||
SizedBox(height: 15),
|
||||
SizedBox(height: 10),
|
||||
]),
|
||||
)),
|
||||
widget.pickUp == null
|
||||
@@ -143,8 +139,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
|
||||
child: Container(
|
||||
width: 250,
|
||||
child: FlatButton(
|
||||
shape: new RoundedRectangleBorder(
|
||||
borderRadius: new BorderRadius.circular(10)),
|
||||
child: Text('Update'),
|
||||
color: primaryColor,
|
||||
textColor: Colors.white,
|
||||
|
||||
@@ -2,8 +2,12 @@ import 'package:fcs/model/main_model.dart';
|
||||
import 'package:fcs/model/pickup_model.dart';
|
||||
import 'package:fcs/pages/util.dart';
|
||||
import 'package:fcs/vo/pickup.dart';
|
||||
import 'package:fcs/widget/fcs_text_field.dart';
|
||||
import 'package:fcs/widget/fcs_text_field_readonly.dart';
|
||||
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
|
||||
import 'package:flutter_icons/flutter_icons.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:fcs/widget/localization/app_translations.dart';
|
||||
|
||||
@@ -21,6 +25,8 @@ class PickUpEditor extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _PickUpEditorState extends State<PickUpEditor> {
|
||||
var dateFormatter = new DateFormat('dd MMM yyyy');
|
||||
|
||||
TextEditingController _addressEditingController = new TextEditingController();
|
||||
TextEditingController _fromTimeEditingController =
|
||||
new TextEditingController();
|
||||
@@ -28,9 +34,17 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
TextEditingController _noOfPackageEditingController =
|
||||
new TextEditingController();
|
||||
TextEditingController _weightEditingController = new TextEditingController();
|
||||
TextEditingController _recipientNameEditingController =
|
||||
new TextEditingController();
|
||||
TextEditingController _recipientPhoneEditingController =
|
||||
new TextEditingController();
|
||||
TextEditingController _recipientAddressEditingController =
|
||||
new TextEditingController();
|
||||
TextEditingController _pickupDate = new TextEditingController();
|
||||
|
||||
PickUp _pickUp;
|
||||
bool _isLoading = false;
|
||||
var now = new DateTime.now();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -42,6 +56,13 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
_toTimeEditingController.text = _pickUp.toTime;
|
||||
_noOfPackageEditingController.text = _pickUp.numberOfPackage.toString();
|
||||
_weightEditingController.text = _pickUp.weight.toString();
|
||||
_pickupDate.text = dateFormatter.format(now);
|
||||
|
||||
var mainModel = Provider.of<MainModel>(context, listen: false);
|
||||
_recipientNameEditingController.text = mainModel.recipient.name;
|
||||
_recipientPhoneEditingController.text = mainModel.recipient.phoneNumber;
|
||||
_recipientAddressEditingController.text =
|
||||
mainModel.recipient.shippingAddress;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +84,7 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
minLines: 2,
|
||||
decoration: new InputDecoration(
|
||||
labelText: 'Pickup Address',
|
||||
disabledBorder: InputBorder.none,
|
||||
enabledBorder: UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: primaryColor, width: 1.0)),
|
||||
focusedBorder: UnderlineInputBorder(
|
||||
@@ -70,6 +92,12 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
),
|
||||
));
|
||||
|
||||
final pickUpAddressReadOnly = Container(
|
||||
child: FCSTextFieldReadOnly(
|
||||
controller: _addressEditingController,
|
||||
label: 'Pickup Address',
|
||||
));
|
||||
|
||||
final pickupTime = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
@@ -106,6 +134,24 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
]),
|
||||
);
|
||||
|
||||
final pickupTimeReadOnly = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Container(
|
||||
width: 70.0,
|
||||
child: FCSTextFieldReadOnly(
|
||||
controller: _fromTimeEditingController, label: 'From')),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Text(' - '),
|
||||
),
|
||||
Container(
|
||||
width: 70.0,
|
||||
child: FCSTextFieldReadOnly(
|
||||
controller: _toTimeEditingController, label: 'To')),
|
||||
]),
|
||||
);
|
||||
|
||||
final noOfPackageBox = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
@@ -125,25 +171,58 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
]),
|
||||
);
|
||||
|
||||
final weightBox = Container(
|
||||
final noOfPackageBoxReadonly = Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: TextFormField(
|
||||
controller: _weightEditingController,
|
||||
cursorColor: primaryColor,
|
||||
textAlign: TextAlign.left,
|
||||
decoration: new InputDecoration(
|
||||
labelText: 'Total Weight (lb)',
|
||||
enabledBorder: UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: primaryColor, width: 1.0)),
|
||||
focusedBorder: UnderlineInputBorder(
|
||||
borderSide: BorderSide(color: primaryColor, width: 1.0)),
|
||||
),
|
||||
)),
|
||||
child: FCSTextFieldReadOnly(
|
||||
controller: _noOfPackageEditingController,
|
||||
label: 'Number of Packages')),
|
||||
]),
|
||||
);
|
||||
|
||||
final requestDateBox = Container(
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
DatePicker.showDatePicker(
|
||||
context,
|
||||
showTitleActions: true,
|
||||
currentTime: _pickupDate.text == ""
|
||||
? null
|
||||
: dateFormatter.parse(_pickupDate.text),
|
||||
minTime: DateTime.now(),
|
||||
maxTime: DateTime(2030, 12, 31),
|
||||
onConfirm: (date) {},
|
||||
locale: LocaleType.en,
|
||||
);
|
||||
},
|
||||
child: TextFormField(
|
||||
controller: _pickupDate,
|
||||
autofocus: false,
|
||||
cursorColor: primaryColor,
|
||||
style: textStyle,
|
||||
enabled: false,
|
||||
keyboardType: TextInputType.datetime,
|
||||
decoration: new InputDecoration(
|
||||
border: InputBorder.none,
|
||||
focusedBorder: InputBorder.none,
|
||||
labelText: AppTranslations.of(context).text("pickup.date"),
|
||||
// labelStyle: languageModel.isEng ? labelStyle : labelStyleMM,
|
||||
contentPadding:
|
||||
EdgeInsets.symmetric(vertical: 10.0, horizontal: 0.0),
|
||||
icon: Icon(
|
||||
Icons.date_range,
|
||||
color: Colors.black87,
|
||||
)),
|
||||
validator: (value) {
|
||||
if (value.isEmpty) {
|
||||
return AppTranslations.of(context).text("do.form.date");
|
||||
}
|
||||
return null;
|
||||
},
|
||||
),
|
||||
));
|
||||
|
||||
MainModel mainModel = Provider.of<MainModel>(context);
|
||||
|
||||
return LocalProgress(
|
||||
@@ -166,53 +245,198 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
padding: const EdgeInsets.all(10.0),
|
||||
child: ListView(children: <Widget>[
|
||||
Center(child: nameWidget(mainModel.customer.name)),
|
||||
phoneWidget(context, mainModel.customer.phoneNumber),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Icon(Icons.location_on),
|
||||
Center(child: nameWidget(mainModel.customer.phoneNumber)),
|
||||
Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(left: 10.0, top: 8),
|
||||
child: Text(
|
||||
'#P200304',
|
||||
style: TextStyle(
|
||||
color: Colors.black87,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.bold),
|
||||
),
|
||||
Expanded(child: pickUpAddress),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 25),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Icon(Icons.timer),
|
||||
),
|
||||
Text('Pickup Time',
|
||||
style: TextStyle(color: Colors.grey, fontSize: 18)),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 5),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 33),
|
||||
child: pickupTime,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 15),
|
||||
Row(
|
||||
ExpansionTile(
|
||||
title: Text('Pickup Location / Time'),
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Icon(Octicons.package),
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Icon(Icons.location_on),
|
||||
),
|
||||
Expanded(
|
||||
child: widget.pickUp == null
|
||||
? pickUpAddress
|
||||
: widget.pickUp.status == 'Pending'
|
||||
? pickUpAddress
|
||||
: pickUpAddressReadOnly),
|
||||
],
|
||||
),
|
||||
),
|
||||
Expanded(child: noOfPackageBox),
|
||||
SizedBox(height: 15),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Icon(Icons.timer),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 8.0),
|
||||
child: Text('Pickup Time',
|
||||
style: TextStyle(
|
||||
color: Colors.grey, fontSize: 14)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
SizedBox(height: 5),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 33),
|
||||
child: widget.pickUp == null
|
||||
? pickupTime
|
||||
: widget.pickUp.status == 'Pending'
|
||||
? pickupTime
|
||||
: pickupTimeReadOnly,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(height: 5),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
SizedBox(height: 5),
|
||||
Container(height: 50.0, child: requestDateBox)
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15,
|
||||
ExpansionTile(
|
||||
title: Text('Package Informations'),
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Icon(Octicons.package),
|
||||
),
|
||||
Expanded(
|
||||
child: widget.pickUp == null
|
||||
? noOfPackageBox
|
||||
: widget.pickUp.status == 'Pending'
|
||||
? noOfPackageBox
|
||||
: noOfPackageBoxReadonly),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 15,
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: widget.pickUp == null
|
||||
? fcsInput("Total Weight (lb)",
|
||||
FontAwesomeIcons.weightHanging,
|
||||
controller: _weightEditingController)
|
||||
: widget.pickUp.status == 'Pending'
|
||||
? fcsInput("Total Weight (lb)",
|
||||
FontAwesomeIcons.weightHanging,
|
||||
controller: _weightEditingController)
|
||||
: fcsInputReadOnly("Total Weight (lb)",
|
||||
FontAwesomeIcons.weightHanging,
|
||||
controller: _weightEditingController),
|
||||
),
|
||||
SizedBox(height: 15),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: fcsInput("Remark", MaterialCommunityIcons.note),
|
||||
),
|
||||
SizedBox(height: 25),
|
||||
],
|
||||
),
|
||||
fcsInput("Total Weight (lb)", FontAwesomeIcons.weightHanging),
|
||||
SizedBox(
|
||||
height: 15,
|
||||
ExpansionTile(
|
||||
title: Text('Recipient Informations'),
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: widget.pickUp == null
|
||||
? fcsInput("Name", FontAwesomeIcons.user,
|
||||
controller: _recipientNameEditingController)
|
||||
: widget.pickUp.status == 'Pending'
|
||||
? fcsInput("Name", FontAwesomeIcons.user,
|
||||
controller:
|
||||
_recipientNameEditingController)
|
||||
: fcsInputReadOnly(
|
||||
"Name", FontAwesomeIcons.user,
|
||||
controller:
|
||||
_recipientNameEditingController)),
|
||||
SizedBox(height: 25),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: widget.pickUp == null
|
||||
? fcsInput("Phone Number", FontAwesomeIcons.phone,
|
||||
controller: _recipientPhoneEditingController)
|
||||
: widget.pickUp.status == 'Pending'
|
||||
? fcsInput(
|
||||
"Phone Number", FontAwesomeIcons.phone,
|
||||
controller:
|
||||
_recipientPhoneEditingController)
|
||||
: fcsInputReadOnly(
|
||||
"Phone Number", FontAwesomeIcons.phone,
|
||||
controller:
|
||||
_recipientPhoneEditingController)),
|
||||
SizedBox(height: 25),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: widget.pickUp == null
|
||||
? fcsInput("Address", Icons.location_on,
|
||||
controller:
|
||||
_recipientAddressEditingController)
|
||||
: widget.pickUp.status == 'Pending'
|
||||
? fcsInput("Address", Icons.location_on,
|
||||
controller:
|
||||
_recipientAddressEditingController)
|
||||
: fcsInputReadOnly(
|
||||
"Address", Icons.location_on,
|
||||
controller:
|
||||
_recipientAddressEditingController)),
|
||||
SizedBox(height: 25),
|
||||
],
|
||||
),
|
||||
ExpansionTile(
|
||||
title: Text('For FCS'),
|
||||
children: <Widget>[
|
||||
widget.pickUp != null
|
||||
? widget.pickUp.status == 'Pending'
|
||||
? Padding(
|
||||
padding: const EdgeInsets.only(left: 20.0),
|
||||
child: fcsDropDown("Assigned",
|
||||
MaterialCommunityIcons.worker),
|
||||
)
|
||||
: Container()
|
||||
: Container(),
|
||||
SizedBox(
|
||||
height: 25,
|
||||
),
|
||||
],
|
||||
),
|
||||
widget.pickUp != null
|
||||
? fcsDropDown("Assigned", MaterialCommunityIcons.worker)
|
||||
: Container(),
|
||||
fcsInput("Remark", MaterialCommunityIcons.note)
|
||||
]),
|
||||
)),
|
||||
widget.pickUp == null
|
||||
@@ -233,20 +457,35 @@ class _PickUpEditorState extends State<PickUpEditor> {
|
||||
: Container(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Align(
|
||||
alignment: Alignment.bottomCenter,
|
||||
child: Center(
|
||||
child: Container(
|
||||
width: 250,
|
||||
child: FlatButton(
|
||||
child: Text('Update'),
|
||||
color: primaryColor,
|
||||
textColor: Colors.white,
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
))),
|
||||
widget.pickUp.status == 'Assigned'
|
||||
? Align(
|
||||
alignment: Alignment.bottomCenter,
|
||||
child: Center(
|
||||
child: Container(
|
||||
width: 250,
|
||||
child: FlatButton(
|
||||
child: Text('Complete'),
|
||||
color: primaryColor,
|
||||
textColor: Colors.white,
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
)))
|
||||
: Align(
|
||||
alignment: Alignment.bottomCenter,
|
||||
child: Center(
|
||||
child: Container(
|
||||
width: 250,
|
||||
child: FlatButton(
|
||||
child: Text('Update'),
|
||||
color: primaryColor,
|
||||
textColor: Colors.white,
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
))),
|
||||
Align(
|
||||
alignment: Alignment.bottomCenter,
|
||||
child: Center(
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'package:fcs/model/pickup_model.dart';
|
||||
import 'package:fcs/pages/pickup_editor.dart';
|
||||
import 'package:fcs/vo/pickup.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_icons/flutter_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:fcs/model/buyer_model.dart';
|
||||
import 'package:fcs/pages/util.dart';
|
||||
@@ -56,6 +57,12 @@ class _PickupListRowState extends State<PickupListRow> {
|
||||
padding: const EdgeInsets.symmetric(vertical: 16.0),
|
||||
child: new Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: EdgeInsets.all(5.0),
|
||||
child: Icon(
|
||||
MaterialCommunityIcons.directions,
|
||||
color: primaryColor,
|
||||
)),
|
||||
new Expanded(
|
||||
child: new Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -71,7 +78,9 @@ class _PickupListRowState extends State<PickupListRow> {
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 10.0, top: 10),
|
||||
child: new Text(
|
||||
_pickUp.id == null ? '' : "Last ${_pickUp.last} days" ,
|
||||
_pickUp.id == null
|
||||
? ''
|
||||
: "Last ${_pickUp.last} days",
|
||||
style: new TextStyle(
|
||||
fontSize: 15.0, color: Colors.grey),
|
||||
),
|
||||
@@ -90,7 +99,7 @@ class _PickupListRowState extends State<PickupListRow> {
|
||||
child: getStatus(_pickUp.status),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 8.0,top:5,bottom: 5),
|
||||
padding: const EdgeInsets.only(left: 8.0, top: 5, bottom: 5),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
new Text(
|
||||
|
||||
@@ -51,12 +51,14 @@ class _TermState extends State<Term> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
MainModel mainModel = Provider.of<MainModel>(context);
|
||||
print("controller terms => ${_controller.document}");
|
||||
|
||||
bool isOwnerAndAbove =
|
||||
mainModel.user != null && mainModel.user.isOwnerAndAbove();
|
||||
bool hasAdmin = mainModel.user != null && mainModel.user.hasAdmin();
|
||||
|
||||
bool aggreed = mainModel.user.agreeTerms;
|
||||
// bool aggreed = mainModel.user.agreeTerms;
|
||||
bool aggreed = true;
|
||||
|
||||
final agreeBtn = Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.0),
|
||||
@@ -86,9 +88,9 @@ class _TermState extends State<Term> {
|
||||
inAsyncCall: isLoading,
|
||||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
centerTitle: true,
|
||||
automaticallyImplyLeading: !widget.agreePage,
|
||||
title: LocalText(context, 'term.title',
|
||||
color: Colors.white, fontSize: 20),
|
||||
title: LocalText(context, 'term', color: Colors.white, fontSize: 20),
|
||||
backgroundColor: primaryColor,
|
||||
actions: <Widget>[
|
||||
isOwnerAndAbove || hasAdmin
|
||||
@@ -111,8 +113,7 @@ class _TermState extends State<Term> {
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Card(
|
||||
child: ZefyrTheme(
|
||||
data: ZefyrThemeData().copyWith(
|
||||
),
|
||||
data: ZefyrThemeData().copyWith(),
|
||||
child: ZefyrScaffold(
|
||||
child: ZefyrEditor(
|
||||
mode: ZefyrMode.view,
|
||||
@@ -134,13 +135,13 @@ class _TermState extends State<Term> {
|
||||
isLoading = true;
|
||||
});
|
||||
try {
|
||||
MainModel mainModel = Provider.of<MainModel>(context);
|
||||
await mainModel.agreeTerms();
|
||||
if (widget.agreePage) {
|
||||
Future.delayed(const Duration(milliseconds: 3000), () {
|
||||
Navigator.pop(context);
|
||||
});
|
||||
}
|
||||
// MainModel mainModel = Provider.of<MainModel>(context);
|
||||
// await mainModel.agreeTerms();
|
||||
// if (widget.agreePage) {
|
||||
// Future.delayed(const Duration(milliseconds: 3000), () {
|
||||
// Navigator.pop(context);
|
||||
// });
|
||||
// }
|
||||
} catch (e) {
|
||||
showMsgDialog(context, "Error", e.toString());
|
||||
setState(() {
|
||||
|
||||
@@ -92,8 +92,7 @@ class _TermEditState extends State<TermEdit> {
|
||||
),
|
||||
body: ZefyrScaffold(
|
||||
child: ZefyrTheme(
|
||||
data: ZefyrThemeData().copyWith(
|
||||
),
|
||||
data: ZefyrThemeData().copyWith(),
|
||||
child: ZefyrEditor(
|
||||
padding: EdgeInsets.all(16),
|
||||
controller: _controller,
|
||||
|
||||
@@ -400,7 +400,7 @@ Widget phoneWidget(BuildContext context, String phone) {
|
||||
}
|
||||
|
||||
Widget fcsInput(String label, IconData iconData,
|
||||
{TextEditingController controller,String value}) {
|
||||
{TextEditingController controller, String value}) {
|
||||
return Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
@@ -409,13 +409,14 @@ Widget fcsInput(String label, IconData iconData,
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
height: 50.0,
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: TextFormField(
|
||||
initialValue: value,
|
||||
initialValue: value,
|
||||
controller: controller,
|
||||
cursorColor: primaryColor,
|
||||
maxLines: null,
|
||||
minLines: 1,
|
||||
textAlign: TextAlign.left,
|
||||
decoration: new InputDecoration(
|
||||
contentPadding: EdgeInsets.only(top: 8),
|
||||
@@ -432,6 +433,38 @@ Widget fcsInput(String label, IconData iconData,
|
||||
);
|
||||
}
|
||||
|
||||
Widget fcsInputReadOnly(String label, IconData iconData,
|
||||
{TextEditingController controller, String value}) {
|
||||
return Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Icon(iconData),
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
child: Row(children: <Widget>[
|
||||
Expanded(
|
||||
child: TextFormField(
|
||||
initialValue: value,
|
||||
controller: controller,
|
||||
cursorColor: primaryColor,
|
||||
maxLines: null,
|
||||
minLines: 1,
|
||||
readOnly: true,
|
||||
textAlign: TextAlign.left,
|
||||
decoration: new InputDecoration(
|
||||
border: InputBorder.none,
|
||||
contentPadding: EdgeInsets.only(top: 8),
|
||||
labelText: label,
|
||||
),
|
||||
)),
|
||||
]),
|
||||
)),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget fcsDropDown(String label, IconData iconData,
|
||||
{TextEditingController controller}) {
|
||||
return Row(
|
||||
@@ -473,7 +506,7 @@ Widget _dropDown() {
|
||||
);
|
||||
}
|
||||
|
||||
Widget fcsButton(BuildContext context, String text,{Function callack}) {
|
||||
Widget fcsButton(BuildContext context, String text, {Function callack}) {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(left: 10, right: 10, top: 10),
|
||||
child: Container(
|
||||
|
||||
@@ -11,6 +11,7 @@ class FCSTextField extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return TextFormField(
|
||||
maxLines: null,
|
||||
minLines: 1,
|
||||
controller: controller,
|
||||
cursorColor: primaryColor,
|
||||
textAlign: TextAlign.left,
|
||||
|
||||
27
lib/widget/fcs_text_field_readonly.dart
Normal file
27
lib/widget/fcs_text_field_readonly.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../theme/theme.dart';
|
||||
|
||||
class FCSTextFieldReadOnly extends StatelessWidget {
|
||||
final TextEditingController controller;
|
||||
final String label;
|
||||
|
||||
const FCSTextFieldReadOnly({Key key, this.controller, this.label})
|
||||
: super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return TextFormField(
|
||||
maxLines: null,
|
||||
minLines: 2,
|
||||
controller: controller,
|
||||
cursorColor: primaryColor,
|
||||
readOnly: true,
|
||||
textAlign: TextAlign.left,
|
||||
decoration: InputDecoration(
|
||||
border: InputBorder.none,
|
||||
labelText: label,
|
||||
contentPadding: EdgeInsets.all(10.0),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user