fix(pickup): nach vollständiger Filial-Abholung direkt die Lieferung öffnen
Der Fertig-Button der Filial-Abholung ersetzt die Scan-Page jetzt durch DeliveryDetail (pushReplacement) statt zur Übersicht zurückzukehren. Zurück aus der Lieferung führt weiterhin zur Übersicht. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@ -18,8 +18,9 @@ import 'package:hl_lieferservice/feature/delivery/pickup/presentation/filiale_pi
|
|||||||
///
|
///
|
||||||
/// * Aktive Lieferung mit noch offenen Filial-Artikeln → zuerst der
|
/// * Aktive Lieferung mit noch offenen Filial-Artikeln → zuerst der
|
||||||
/// Filial-Abhol-Scan-Screen. Der Fahrer ist an der Filiale und muss die
|
/// Filial-Abhol-Scan-Screen. Der Fahrer ist an der Filiale und muss die
|
||||||
/// Ware abscannen, bevor er ausliefern kann. Nach dem Scan kehrt er zur
|
/// Ware abscannen, bevor er ausliefern kann. Nach dem Scan geht es von
|
||||||
/// Übersicht zurück (die Lieferung verliert ihren Filial-Hinweis).
|
/// dort direkt in die Auslieferung (die Lieferung verliert ihren
|
||||||
|
/// Filial-Hinweis).
|
||||||
/// * Sonst → direkt die Auslieferung (`DeliveryDetail`), die beim Kunden
|
/// * Sonst → direkt die Auslieferung (`DeliveryDetail`), die beim Kunden
|
||||||
/// bearbeitet wird.
|
/// bearbeitet wird.
|
||||||
///
|
///
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import 'package:hl_lieferservice/feature/car_selection/bloc/state.dart';
|
|||||||
import 'package:hl_lieferservice/feature/delivery/bloc/tour_bloc.dart';
|
import 'package:hl_lieferservice/feature/delivery/bloc/tour_bloc.dart';
|
||||||
import 'package:hl_lieferservice/feature/delivery/bloc/tour_event.dart';
|
import 'package:hl_lieferservice/feature/delivery/bloc/tour_event.dart';
|
||||||
import 'package:hl_lieferservice/feature/delivery/bloc/tour_state.dart';
|
import 'package:hl_lieferservice/feature/delivery/bloc/tour_state.dart';
|
||||||
|
import 'package:hl_lieferservice/feature/delivery/detail/presentation/delivery_detail_page.dart';
|
||||||
import 'package:hl_lieferservice/widget/scanner/article_scanner_stripe.dart';
|
import 'package:hl_lieferservice/widget/scanner/article_scanner_stripe.dart';
|
||||||
import 'package:hl_lieferservice/widget/scanner/item_matcher.dart';
|
import 'package:hl_lieferservice/widget/scanner/item_matcher.dart';
|
||||||
import 'package:hl_lieferservice/widget/scanner/manual_entry_dialog.dart';
|
import 'package:hl_lieferservice/widget/scanner/manual_entry_dialog.dart';
|
||||||
@ -26,9 +27,10 @@ import 'package:hl_lieferservice/widget/scanner/scan_code_parser.dart';
|
|||||||
/// QR-Validierung (`Artikelnr;Kundennr;Belegnr`) und derselbe `ScanItem`-
|
/// QR-Validierung (`Artikelnr;Kundennr;Belegnr`) und derselbe `ScanItem`-
|
||||||
/// Pfad wie die Beladen-Phase — über die geteilten Scanner-Module.
|
/// Pfad wie die Beladen-Phase — über die geteilten Scanner-Module.
|
||||||
///
|
///
|
||||||
/// Nach vollständigem Scan: Erfolgs-Zustand + Button „zurück zur Übersicht".
|
/// Nach vollständigem Scan: Erfolgs-Zustand + Button „Weiter zur Lieferung",
|
||||||
/// Der Fahrer fährt dann zum Kunden; dort öffnet ein erneuter Tap die
|
/// der diese Page durch die eigentliche Auslieferung (`DeliveryDetail`)
|
||||||
/// eigentliche Auslieferung (`DeliveryDetail`).
|
/// ersetzt. „Zurück" führt von dort direkt zur Übersicht, nicht erneut
|
||||||
|
/// hierher.
|
||||||
class FilialePickupScanPage extends StatefulWidget {
|
class FilialePickupScanPage extends StatefulWidget {
|
||||||
const FilialePickupScanPage({super.key, required this.deliveryId});
|
const FilialePickupScanPage({super.key, required this.deliveryId});
|
||||||
|
|
||||||
@ -160,6 +162,14 @@ class _FilialePickupScanPageState extends State<FilialePickupScanPage> {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _openDelivery() {
|
||||||
|
Navigator.of(context).pushReplacement(
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (_) => DeliveryDetail(deliveryId: widget.deliveryId),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BlocBuilder<TourBloc, TourState>(
|
return BlocBuilder<TourBloc, TourState>(
|
||||||
@ -232,7 +242,7 @@ class _FilialePickupScanPageState extends State<FilialePickupScanPage> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (allDone) _DoneBar(onConfirm: () => Navigator.of(context).pop()),
|
if (allDone) _DoneBar(onConfirm: _openDelivery),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@ -445,8 +455,8 @@ class _DoneBar extends StatelessWidget {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: FilledButton.icon(
|
child: FilledButton.icon(
|
||||||
onPressed: onConfirm,
|
onPressed: onConfirm,
|
||||||
icon: const Icon(Icons.arrow_back),
|
icon: const Icon(Icons.arrow_forward),
|
||||||
label: const Text('Fertig — zurück zur Übersicht'),
|
label: const Text('Weiter zur Lieferung'),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user