Merge branch 'master' of tzw/fcs into master

This commit is contained in:
2020-06-30 09:49:21 +00:00
committed by Gogs
8 changed files with 250 additions and 166 deletions

View File

@@ -504,10 +504,10 @@
"shipment.form.title":"FCS SHIPMENT", "shipment.form.title":"FCS SHIPMENT",
"shipment.number":"FCS Shipment Number", "shipment.number":"FCS Shipment Number",
"pickup": "Pickups", "pickup": "Shipments",
"pickup.title": "PICKUPS", "pickup.title": "SHIPMENTS",
"pickup.new": "New Pickup", "pickup.new": "New Shipment",
"pickup.edit.title": "PICKUP", "pickup.edit.title": "SHIPMENT",
"rate":"Rates", "rate":"Rates",
"rate.title":"RATES", "rate.title":"RATES",

View File

@@ -548,9 +548,9 @@
"package.weight":"Weight", "package.weight":"Weight",
"package.amount":"Amount", "package.amount":"Amount",
"pickup": "Pickups", "pickup": "Shipments",
"pickup.title": "Pickups", "pickup.title": "SHIPMENTS",
"pickup.new": "New Pickup", "pickup.new": "New Shipment",
"pickup.edit.title": "PICKUP", "pickup.edit.title": "PICKUP",
"pickup.date": "Pickup Date", "pickup.date": "Pickup Date",
"pickup.location_time": "Pickup Location / Time", "pickup.location_time": "Pickup Location / Time",

View File

@@ -4,6 +4,7 @@ import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:fcs/vo/cargo.dart'; import 'package:fcs/vo/cargo.dart';
import 'package:fcs/vo/fcs_profile.dart'; import 'package:fcs/vo/fcs_profile.dart';
import 'package:fcs/vo/pickup.dart'; import 'package:fcs/vo/pickup.dart';
import 'package:fcs/vo/radio.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'base_model.dart'; import 'base_model.dart';
@@ -22,6 +23,25 @@ class PickUpModel extends BaseModel {
mail: 'admin@fcs.com', mail: 'admin@fcs.com',
facebook: 'https://facebook.com/fcs'); facebook: 'https://facebook.com/fcs');
List<RadioGroup> radioGroups = [
RadioGroup(
text: "FCS Pickup",
index: 1,
),
RadioGroup(
text: "Courier Pickup",
index: 2,
),
RadioGroup(
text: "FCS Drop-off",
index: 3,
),
RadioGroup(
text: "Courier Drop-off",
index: 4,
),
];
List<PickUp> pickups = [ List<PickUp> pickups = [
PickUp( PickUp(
id: "P200412 - 12 Apr 2020", id: "P200412 - 12 Apr 2020",
@@ -35,6 +55,7 @@ class PickUpModel extends BaseModel {
date: DateTime(2020, 5, 1), date: DateTime(2020, 5, 1),
address: '154-19 64th Ave.\nFlushing, NY 11367', address: '154-19 64th Ave.\nFlushing, NY 11367',
handlingFee: 5000, handlingFee: 5000,
isCourier: true,
cargoTypes: [ cargoTypes: [
Cargo(type: 'General Cargo', weight: 25), Cargo(type: 'General Cargo', weight: 25),
Cargo(type: 'Medicine', weight: 20), Cargo(type: 'Medicine', weight: 20),

View File

@@ -108,7 +108,10 @@ class _NotificationListState extends State<NotificationList> {
), ),
msg.fromToday() msg.fromToday()
? Container() ? Container()
: Text(dateFormatter.format(msg.date),style: TextStyle(color: Colors.grey),), : Text(
dateFormatter.format(msg.date),
style: TextStyle(color: Colors.grey),
),
], ],
), ),
) )

View File

@@ -90,7 +90,7 @@ class _PickupBoxEditorState extends State<PickupBoxEditor> {
onPressed: () => Navigator.of(context).pop(), onPressed: () => Navigator.of(context).pop(),
), ),
backgroundColor: primaryColor, backgroundColor: primaryColor,
title: Text(AppTranslations.of(context).text("box.edit.title")), title: Text(AppTranslations.of(context).text("package.edit.title")),
), ),
body: Card( body: Card(
child: Column( child: Column(
@@ -220,7 +220,7 @@ class _PickupBoxEditorState extends State<PickupBoxEditor> {
), ),
ExpansionTile( ExpansionTile(
title: Text( title: Text(
'Shipping Address', 'Address',
style: TextStyle( style: TextStyle(
color: primaryColor, fontWeight: FontWeight.bold), color: primaryColor, fontWeight: FontWeight.bold),
), ),
@@ -232,7 +232,7 @@ class _PickupBoxEditorState extends State<PickupBoxEditor> {
child: Align( child: Align(
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
child: Container( child: Container(
width: 130, width: 120,
height: 40, height: 40,
child: FloatingActionButton.extended( child: FloatingActionButton.extended(
materialTapTargetSize: materialTapTargetSize:
@@ -240,7 +240,7 @@ class _PickupBoxEditorState extends State<PickupBoxEditor> {
onPressed: () {}, onPressed: () {},
icon: Icon(Icons.add), icon: Icon(Icons.add),
label: Text( label: Text(
'Add Shipping\nAddress', 'Select\nAddress',
style: TextStyle(fontSize: 12), style: TextStyle(fontSize: 12),
), ),
backgroundColor: primaryColor, backgroundColor: primaryColor,
@@ -261,7 +261,7 @@ class _PickupBoxEditorState extends State<PickupBoxEditor> {
child: Container( child: Container(
width: 250, width: 250,
child: FlatButton( child: FlatButton(
child: Text('Create New Box'), child: Text('Create New Package'),
color: primaryColor, color: primaryColor,
textColor: Colors.white, textColor: Colors.white,
onPressed: () { onPressed: () {
@@ -278,7 +278,7 @@ class _PickupBoxEditorState extends State<PickupBoxEditor> {
child: Container( child: Container(
width: 250, width: 250,
child: FlatButton( child: FlatButton(
child: Text('Update Box'), child: Text('Update Package'),
color: primaryColor, color: primaryColor,
textColor: Colors.white, textColor: Colors.white,
onPressed: () { onPressed: () {

View File

@@ -58,6 +58,9 @@ class _PickUpEditorState extends State<PickUpEditor> {
bool isNew; bool isNew;
ShippingAddress _shippingAddress = new ShippingAddress(); ShippingAddress _shippingAddress = new ShippingAddress();
dynamic _currVal = 1;
String _currText = '';
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -265,134 +268,53 @@ class _PickUpEditorState extends State<PickUpEditor> {
), ),
widget.pickUp == null widget.pickUp == null
? Container() ? Container()
: widget.pickUp.isCourier
? Padding(
padding: const EdgeInsets.only(left: 15.0),
child: fcsInputReadOnly(
"Courier Fee", FontAwesomeIcons.moneyBill,
controller: _handlingFeeController),
)
: Padding( : Padding(
padding: const EdgeInsets.only(left: 15.0), padding: const EdgeInsets.only(left: 15.0),
child: fcsInputReadOnly( child: fcsInputReadOnly(
"Handling Fee", FontAwesomeIcons.moneyBill, "Handling Fee", FontAwesomeIcons.moneyBill,
controller: _handlingFeeController), controller: _handlingFeeController),
// child: widget.pickUp == null
// ? fcsInput(
// "Handling Fee", FontAwesomeIcons.moneyBill,
// controller: _handlingFeeController)
// : widget.pickUp.status == 'Pending'
// ? fcsInput(
// "Handling Fee", FontAwesomeIcons.moneyBill,
// controller: _handlingFeeController)
// : fcsInputReadOnly(
// "Handling Fee", FontAwesomeIcons.moneyBill,
// controller: _handlingFeeController),
), ),
ExpansionTile( ExpansionTile(
title: Text( title: Text(
'Pickup Location / Time', 'Shipment Type',
style: TextStyle( style: TextStyle(
color: primaryColor, fontWeight: FontWeight.bold), color: primaryColor, fontWeight: FontWeight.bold),
), ),
children: <Widget>[ children: <Widget>[
Padding( Container(
padding: const EdgeInsets.only(left: 20.0), child: Wrap(
child: widget.pickUp == null children: pickupModel.radioGroups
? pickUpAddress .map((t) => RadioListTile(
: widget.pickUp.status == 'Pending' title: Text("${t.text}"),
? pickUpAddress groupValue: _currVal,
: pickUpAddressReadOnly, activeColor: primaryColor,
), value: t.index,
widget.pickUp == null onChanged: (val) {
? pickupTime setState(() {
: widget.pickUp.status == 'Pending' _currVal = val;
? pickupTime });
: pickupTimeReadOnly, },
Padding( ))
padding: const EdgeInsets.only(left: 20.0), .toList(),
child: Column(
children: <Widget>[
SizedBox(height: 5),
Container(height: 50.0, child: requestDateBox)
],
), ),
), ),
], ],
), ),
ExpansionTile( ExpansionTile(
title: Text( title: Text(
'Package Information', 'Package Information',
style: TextStyle( style: TextStyle(
color: primaryColor, fontWeight: FontWeight.bold), color: primaryColor, fontWeight: FontWeight.bold),
), ),
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: widget.pickUp == null
? noOfPackageBox
: widget.pickUp.status == 'Pending'
? noOfPackageBox
: noOfPackageBoxReadonly,
),
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),
),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: fcsInput("Remark", MaterialCommunityIcons.note),
),
Padding(
padding: const EdgeInsets.only(left: 3.0),
child: ExpansionTile(
leading: Icon(
SimpleLineIcons.location_pin,
color: primaryColor,
),
title: Text(
'Shipping Address',
),
children: [
ShippingAddressRow(
shippingAddress: _shippingAddress),
Container(
padding: EdgeInsets.only(
top: 20, bottom: 15, right: 15),
child: Align(
alignment: Alignment.bottomRight,
child: Container(
width: 130,
height: 40,
child: FloatingActionButton.extended(
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
onPressed: () {},
icon: Icon(Icons.add),
label: Text(
'Add Shipping\nAddress',
style: TextStyle(fontSize: 12),
),
backgroundColor: primaryColor,
),
),
),
),
],
),
),
SizedBox(height: 10.0),
],
),
ExpansionTile(
title: Text(
'Box Information',
style: TextStyle(
color: primaryColor, fontWeight: FontWeight.bold),
),
children: <Widget>[ children: <Widget>[
Column( Column(
children: getBoxList(context, boxModel.boxes), children: getBoxList(context, boxModel.boxes),
@@ -416,7 +338,7 @@ class _PickUpEditorState extends State<PickUpEditor> {
); );
}, },
label: Text( label: Text(
'Add Box', 'Add Package',
style: TextStyle(fontSize: 12), style: TextStyle(fontSize: 12),
), ),
backgroundColor: primaryColor, backgroundColor: primaryColor,
@@ -427,9 +349,115 @@ class _PickUpEditorState extends State<PickUpEditor> {
SizedBox(height: 10.0), SizedBox(height: 10.0),
], ],
), ),
ExpansionTile(
title: Text(
'Pickup Location / Time',
style: TextStyle(
color: primaryColor, fontWeight: FontWeight.bold),
),
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Icon(
Icons.location_on,
color: primaryColor,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text('Pickup Address'),
),
],
),
Padding(
padding: const EdgeInsets.only(left: 10.0),
child: ShippingAddressRow(
shippingAddress: _shippingAddress),
),
Container(
padding: EdgeInsets.only(
top: 20, bottom: 15, right: 15),
child: Align(
alignment: Alignment.bottomRight,
child: Container(
width: 120,
height: 40,
child: FloatingActionButton.extended(
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
onPressed: () {},
icon: Icon(Icons.add),
label: Text(
'Select\nAddress',
style: TextStyle(fontSize: 12),
),
backgroundColor: primaryColor,
),
),
),
),
],
),
// child: ExpansionTile(
// leading: Icon(
// Icons.location_on,
// color: primaryColor,
// ),
// title: Text('My Address'),
// children: [
// Padding(
// padding: const EdgeInsets.only(left: 10.0),
// child: ShippingAddressRow(
// shippingAddress: _shippingAddress),
// ),
// Container(
// padding: EdgeInsets.only(
// top: 20, bottom: 15, right: 15),
// child: Align(
// alignment: Alignment.bottomRight,
// child: Container(
// width: 120,
// height: 40,
// child: FloatingActionButton.extended(
// materialTapTargetSize:
// MaterialTapTargetSize.shrinkWrap,
// onPressed: () {},
// icon: Icon(Icons.add),
// label: Text(
// 'Select\nAddress',
// style: TextStyle(fontSize: 12),
// ),
// backgroundColor: primaryColor,
// ),
// ),
// ),
// ),
// ],
// ),
),
widget.pickUp == null
? pickupTime
: widget.pickUp.status == 'Pending'
? pickupTime
: pickupTimeReadOnly,
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: Column(
children: <Widget>[
SizedBox(height: 5),
Container(height: 50.0, child: requestDateBox)
],
),
),
SizedBox(height: 15.0),
],
),
// ExpansionTile( // ExpansionTile(
// title: Text( // title: Text(
// 'Shipping Address', // 'Package Information',
// style: TextStyle( // style: TextStyle(
// color: primaryColor, fontWeight: FontWeight.bold), // color: primaryColor, fontWeight: FontWeight.bold),
// ), // ),
@@ -437,43 +465,68 @@ class _PickUpEditorState extends State<PickUpEditor> {
// Padding( // Padding(
// padding: const EdgeInsets.only(left: 20.0), // padding: const EdgeInsets.only(left: 20.0),
// child: widget.pickUp == null // child: widget.pickUp == null
// ? fcsInput("Name", FontAwesomeIcons.user, // ? noOfPackageBox
// controller: _recipientNameEditingController)
// : widget.pickUp.status == 'Pending' // : widget.pickUp.status == 'Pending'
// ? fcsInput("Name", FontAwesomeIcons.user, // ? noOfPackageBox
// controller: // : noOfPackageBoxReadonly,
// _recipientNameEditingController) // ),
// : fcsInputReadOnly(
// "Name", FontAwesomeIcons.user,
// controller:
// _recipientNameEditingController)),
// Padding( // Padding(
// padding: const EdgeInsets.only(left: 20.0), // padding: const EdgeInsets.only(left: 20.0),
// child: widget.pickUp == null // child: widget.pickUp == null
// ? fcsInput("Phone Number", Icons.phone, // ? fcsInput("Total Weight (lb)",
// controller: _recipientPhoneEditingController) // FontAwesomeIcons.weightHanging,
// controller: _weightEditingController)
// : widget.pickUp.status == 'Pending' // : widget.pickUp.status == 'Pending'
// ? fcsInput("Phone Number", Icons.phone, // ? fcsInput("Total Weight (lb)",
// controller: // FontAwesomeIcons.weightHanging,
// _recipientPhoneEditingController) // controller: _weightEditingController)
// : fcsInputReadOnly( // : fcsInputReadOnly("Total Weight (lb)",
// "Phone Number", Icons.phone, // FontAwesomeIcons.weightHanging,
// controller: // controller: _weightEditingController),
// _recipientPhoneEditingController)), // ),
// Padding( // Padding(
// padding: const EdgeInsets.only(left: 20.0), // padding: const EdgeInsets.only(left: 20.0),
// child: widget.pickUp == null // child: fcsInput("Remark", MaterialCommunityIcons.note),
// ? fcsInput("Address", Icons.location_on, // ),
// controller: // Padding(
// _recipientAddressEditingController) // padding: const EdgeInsets.only(left: 3.0),
// : widget.pickUp.status == 'Pending' // child: ExpansionTile(
// ? fcsInput("Address", Icons.location_on, // leading: Icon(
// controller: // SimpleLineIcons.location_pin,
// _recipientAddressEditingController) // color: primaryColor,
// : fcsInputReadOnly( // ),
// "Address", Icons.location_on, // title: Text(
// controller: // 'Shipping Address',
// _recipientAddressEditingController)), // ),
// children: [
// ShippingAddressRow(
// shippingAddress: _shippingAddress),
// Container(
// padding: EdgeInsets.only(
// top: 20, bottom: 15, right: 15),
// child: Align(
// alignment: Alignment.bottomRight,
// child: Container(
// width: 130,
// height: 40,
// child: FloatingActionButton.extended(
// materialTapTargetSize:
// MaterialTapTargetSize.shrinkWrap,
// onPressed: () {},
// icon: Icon(Icons.add),
// label: Text(
// 'Add Shipping\nAddress',
// style: TextStyle(fontSize: 12),
// ),
// backgroundColor: primaryColor,
// ),
// ),
// ),
// ),
// ],
// ),
// ),
// SizedBox(height: 10.0),
// ], // ],
// ), // ),
mainModel.isCustomer() mainModel.isCustomer()

View File

@@ -13,6 +13,7 @@ class PickUp {
String status; String status;
DateTime date; DateTime date;
List<Cargo> cargoTypes; List<Cargo> cargoTypes;
bool isCourier;
PickUp( PickUp(
{this.id, {this.id,
@@ -26,7 +27,8 @@ class PickUp {
this.address, this.address,
this.status, this.status,
this.date, this.date,
this.cargoTypes}); this.cargoTypes,
this.isCourier=false});
int get last => DateTime.now().difference(date).inDays; int get last => DateTime.now().difference(date).inDays;

5
lib/vo/radio.dart Normal file
View File

@@ -0,0 +1,5 @@
class RadioGroup {
String text;
dynamic index;
RadioGroup({this.text, this.index});
}