fix delivery address
This commit is contained in:
@@ -81,9 +81,12 @@ class _PackageCartonEditorState extends State<PackageCartonEditor> {
|
||||
var addressModel =
|
||||
Provider.of<DeliveryAddressModel>(context, listen: false);
|
||||
|
||||
this._deliveryAddresses = isFromPackages
|
||||
var deliveryAddresses = isFromPackages
|
||||
? await addressModel.getDeliveryAddresses(_carton.userID)
|
||||
: await addressModel.getDeliveryAddresses(_carton.receiverID);
|
||||
setState(() {
|
||||
this._deliveryAddresses = deliveryAddresses;
|
||||
});
|
||||
}
|
||||
|
||||
_getCartonSize() {
|
||||
@@ -204,6 +207,7 @@ class _PackageCartonEditorState extends State<PackageCartonEditor> {
|
||||
deliveryAddress: _deliveryAddress,
|
||||
deliveryAddresses: this._deliveryAddresses,
|
||||
user: widget.consignee,
|
||||
onAdded: () => _getDeliverAddresses(),
|
||||
)),
|
||||
);
|
||||
if (d == null) return;
|
||||
|
||||
@@ -3,21 +3,40 @@ import 'package:fcs/domain/vo/delivery_address.dart';
|
||||
import 'package:fcs/helpers/theme.dart';
|
||||
import 'package:fcs/pages/delivery_address/delivery_address_editor.dart';
|
||||
import 'package:fcs/pages/delivery_address/delivery_address_row.dart';
|
||||
import 'package:fcs/pages/delivery_address/model/delivery_address_model.dart';
|
||||
import 'package:fcs/pages/widgets/local_text.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
typedef OnAdded();
|
||||
|
||||
class DeliveryAddressSelection extends StatelessWidget {
|
||||
final DeliveryAddress deliveryAddress;
|
||||
final List<DeliveryAddress> deliveryAddresses;
|
||||
final User user;
|
||||
final OnAdded onAdded;
|
||||
|
||||
const DeliveryAddressSelection(
|
||||
{Key key, this.deliveryAddress, this.deliveryAddresses, this.user})
|
||||
{Key key,
|
||||
this.deliveryAddress,
|
||||
this.deliveryAddresses,
|
||||
this.user,
|
||||
this.onAdded})
|
||||
: super(key: key);
|
||||
|
||||
Future<List<DeliveryAddress>> _getDeliverAddresses(
|
||||
BuildContext context) async {
|
||||
var addressModel =
|
||||
Provider.of<DeliveryAddressModel>(context, listen: false);
|
||||
|
||||
var _deliveryAddresses = await addressModel.getDeliveryAddresses(user.id);
|
||||
return _deliveryAddresses;
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (user != null) {}
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
centerTitle: true,
|
||||
@@ -32,10 +51,14 @@ class DeliveryAddressSelection extends StatelessWidget {
|
||||
),
|
||||
floatingActionButton: FloatingActionButton.extended(
|
||||
onPressed: () async {
|
||||
Navigator.of(context).push(CupertinoPageRoute(
|
||||
bool updated = await Navigator.of(context).push(CupertinoPageRoute(
|
||||
builder: (context) => DeliveryAddressEditor(
|
||||
user: user,
|
||||
)));
|
||||
if (updated && onAdded != null) {
|
||||
onAdded();
|
||||
Navigator.pop(context);
|
||||
}
|
||||
},
|
||||
icon: Icon(Icons.add),
|
||||
label: LocalText(context, "delivery_address.new_address",
|
||||
|
||||
Reference in New Issue
Block a user