fix carton

This commit is contained in:
2021-01-25 16:09:41 +06:30
parent 020b748272
commit 14183410d2
9 changed files with 175 additions and 216 deletions

View File

@@ -138,9 +138,10 @@ class _PackageCartonEditorState extends State<PackageCartonEditor> {
context,
CupertinoPageRoute(builder: (context) => CargoTypeAddition()));
if (cargos == null) return;
if (cargos == null) return;
setState(() {
_cargoTypes.clear();
_cargoTypes.addAll(cargos);
_cargoTypes.addAll(
cargos.where((e) => !_cargoTypes.contains(e)).toList());
});
}),
);
@@ -148,8 +149,8 @@ class _PackageCartonEditorState extends State<PackageCartonEditor> {
final cargoTableBox = CargoTable(
isNew: widget.isNew,
cargoTypes: _cargoTypes,
onAdd: (c) => _addCargo(c),
onRemove: (c) => _removeCargo(c),
onUpdate: (c) => _updateCargo(c),
);
return LocalProgress(
@@ -286,20 +287,23 @@ class _PackageCartonEditorState extends State<PackageCartonEditor> {
);
}
_addCargo(CargoType cargo) {
if (cargo == null) return;
setState(() {
_cargoTypes.remove(cargo);
_cargoTypes.add(cargo);
});
}
_removeCargo(CargoType cargo) {
setState(() {
_cargoTypes.remove(cargo);
});
}
_updateCargo(CargoType cargo) {
setState(() {
var _c =
_cargoTypes.firstWhere((e) => e.id == cargo.id, orElse: () => null);
if (_c != null) {
_c.weight = cargo.weight;
_c.qty = cargo.qty;
}
});
}
_creatCarton() async {
if ((_cargoTypes?.length ?? 0) == 0) {
showMsgDialog(context, "Error", "Expect at least one cargo type");