fix carton
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user