From eb833c830d11e042c4d11c0a7c469ea5e9438479 Mon Sep 17 00:00:00 2001 From: Misaka_Company Date: Wed, 20 May 2026 14:46:41 +0800 Subject: [PATCH] fix: increment new box number from max box number after completing current box Unify optimization for single-code and multi-code boxing modes: after completing a box, set the next box number to max(existing boxes) + 1, avoiding duplicate box numbers when browsing historical boxes. Co-Authored-By: Claude Opus 4.6 --- lib/pages/boxing_page.dart | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/pages/boxing_page.dart b/lib/pages/boxing_page.dart index 7dac0bd..da2115f 100644 --- a/lib/pages/boxing_page.dart +++ b/lib/pages/boxing_page.dart @@ -701,7 +701,7 @@ class _BoxingPageState extends State with WidgetsBindingObserver { } else { setState(() { _phase = _Phase.scanned; - _boxNoController.text = (boxNo + 1).toString(); + _boxNoController.text = (_maxBoxNo + 1).toString(); _quantityController.text = remaining.toString(); _quantityController.selection = TextSelection( baseOffset: 0, @@ -846,7 +846,6 @@ class _BoxingPageState extends State with WidgetsBindingObserver { } void _finishManyToOneBox() { - final currentBoxNo = int.tryParse(_boxNoController.text.trim()); setState(() { _manyToOnePackedItems.clear(); _editingPackedItemId = null; @@ -855,9 +854,7 @@ class _BoxingPageState extends State with WidgetsBindingObserver { _zongpaiNo = null; _phase = _Phase.waiting; _quantityController.clear(); - if (currentBoxNo != null && currentBoxNo > 0) { - _boxNoController.text = (currentBoxNo + 1).toString(); - } + _boxNoController.text = (_maxBoxNo + 1).toString(); _statusOverrideText = null; _statusOverrideDot = null; });