fix carton
This commit is contained in:
@@ -76,6 +76,8 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
User sender;
|
||||
List<Carton> _cartonsFromCartons = [];
|
||||
|
||||
double totalWeight;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
@@ -410,8 +412,8 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
CupertinoPageRoute(builder: (context) => CargoTypeAddition()));
|
||||
if (cargos == null) return;
|
||||
setState(() {
|
||||
_cargoTypes.clear();
|
||||
_cargoTypes.addAll(cargos);
|
||||
_cargoTypes.addAll(
|
||||
cargos.where((e) => !_cargoTypes.contains(e)).toList());
|
||||
});
|
||||
}),
|
||||
);
|
||||
@@ -419,8 +421,8 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
final cargoTableBox = CargoTable(
|
||||
isNew: _isNew,
|
||||
cargoTypes: _cargoTypes,
|
||||
onAdd: (c) => _addCargo(c),
|
||||
onRemove: (c) => _removeCargo(c),
|
||||
onUpdate: (c) => _updateCargo(c),
|
||||
);
|
||||
|
||||
final lengthBox = LengthPicker(
|
||||
@@ -779,20 +781,23 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
);
|
||||
}
|
||||
|
||||
_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;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_addCarton() async {
|
||||
bool isFromPackages = _selectedCartonType == carton_from_packages;
|
||||
bool isFromCartons = _selectedCartonType == carton_from_cartons;
|
||||
@@ -931,6 +936,10 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
showMsgDialog(context, "Error", "Expect at least one cargo type");
|
||||
return;
|
||||
}
|
||||
if (_cargoTypes.where((c) => c.weight <= 0).isNotEmpty) {
|
||||
showMsgDialog(context, "Error", "Invalid cargo weight");
|
||||
return;
|
||||
}
|
||||
double l = double.parse(_lengthController.text, (s) => 0);
|
||||
double w = double.parse(_widthController.text, (s) => 0);
|
||||
double h = double.parse(_heightController.text, (s) => 0);
|
||||
|
||||
Reference in New Issue
Block a user