add shipments

This commit is contained in:
Sai Naw Wun
2020-10-13 07:50:25 +06:30
parent dc79f424a5
commit e032cee922
31 changed files with 1108 additions and 1035 deletions

View File

@@ -585,8 +585,7 @@ class _BoxEditorState extends State<BoxEditor> {
DeliveryAddress deliveryAddress =
await Navigator.push(
context,
BottomUpPageRoute(DeliveryAddressList(
deliveryAddress: _deliveryAddress)),
BottomUpPageRoute(DeliveryAddressList()),
);
setState(() {
_deliveryAddress = deliveryAddress;

View File

@@ -1,12 +1,14 @@
import 'package:fcs/domain/entities/cargo.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:fcs/localization/app_translations.dart';
import 'package:fcs/pages/main/model/main_model.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/widgets/input_text.dart';
import 'package:fcs/pages/widgets/local_dropdown.dart';
import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:provider/provider.dart';
class CargoTypeEditor extends StatefulWidget {
final Cargo cargo;
@@ -17,7 +19,6 @@ class CargoTypeEditor extends StatefulWidget {
}
class _CargoTypeEditorState extends State<CargoTypeEditor> {
TextEditingController _typeController = new TextEditingController();
TextEditingController _weightController = new TextEditingController();
bool _isLoading = false;
@@ -28,11 +29,17 @@ class _CargoTypeEditorState extends State<CargoTypeEditor> {
super.initState();
if (widget.cargo != null) {
_cargo = widget.cargo;
_typeController.text = _cargo.type;
_weightController.text = _cargo.weight.toString();
} else {
_loadDefalut();
}
}
_loadDefalut() {
MainModel mainModel = Provider.of<MainModel>(context, listen: false);
_cargo = mainModel.setting.defaultCargoType;
}
@override
void dispose() {
super.dispose();
@@ -40,20 +47,33 @@ class _CargoTypeEditorState extends State<CargoTypeEditor> {
@override
Widget build(BuildContext context) {
final typeBox = InputText(
labelTextKey: 'cargo.type',
iconData: Icons.text_format,
controller: _typeController);
MainModel mainModel = Provider.of<MainModel>(context);
List<Cargo> cargos = mainModel.setting.cargoTypesList;
final rateBox = InputText(
labelTextKey: 'cargo.weight',
iconData: FontAwesomeIcons.weightHanging,
textInputType: TextInputType.number,
controller: _weightController);
var cargoTypeBox = LocalDropdown<Cargo>(
callback: (v) {
setState(() {
_cargo = v;
});
},
iconData: Icons.text_format,
selectedValue: _cargo,
values: cargos,
);
final saveBtn = fcsButton(
context,
getLocalString(context, 'box.cargo.save.btn'),
callack: () {},
callack: () {
_cargo.weight = int.parse(_weightController.text, onError: (s) => 0);
Navigator.pop(context, _cargo);
},
);
return LocalProgress(
inAsyncCall: _isLoading,
@@ -76,7 +96,7 @@ class _CargoTypeEditorState extends State<CargoTypeEditor> {
padding: EdgeInsets.all(18),
child: ListView(
children: <Widget>[
typeBox,
cargoTypeBox,
rateBox,
SizedBox(height: 40),
saveBtn,