feat: cetak
This commit is contained in:
parent
c906d5ebe5
commit
e462326495
@ -133,9 +133,12 @@ class _PaymentAddOrderDialogState extends State<PaymentAddOrderDialog> {
|
||||
state.maybeWhen(
|
||||
orElse: () {},
|
||||
success: (data) {
|
||||
context.pushReplacement(SuccessSaveOrderPage(
|
||||
order: data,
|
||||
));
|
||||
context.pushReplacement(
|
||||
SuccessSaveOrderPage(
|
||||
productQuantity: widget.items,
|
||||
order: data,
|
||||
),
|
||||
);
|
||||
},
|
||||
error: (message) => AppFlushbar.showError(context, message),
|
||||
);
|
||||
|
||||
@ -145,6 +145,7 @@ class _PaymentSaveDialogState extends State<PaymentSaveDialog> {
|
||||
orElse: () {},
|
||||
success: (data) {
|
||||
context.pushReplacement(SuccessSaveOrderPage(
|
||||
productQuantity: widget.items,
|
||||
order: data,
|
||||
));
|
||||
},
|
||||
|
||||
@ -906,6 +906,7 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
|
||||
success: (data) {
|
||||
context
|
||||
.pushReplacement(SuccessOrderPage(
|
||||
productQuantity: items,
|
||||
order: data,
|
||||
));
|
||||
},
|
||||
|
||||
@ -1,16 +1,24 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:enaklo_pos/core/components/components.dart';
|
||||
import 'package:enaklo_pos/core/components/dashed_divider.dart';
|
||||
import 'package:enaklo_pos/core/constants/colors.dart';
|
||||
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
|
||||
import 'package:enaklo_pos/core/extensions/date_time_ext.dart';
|
||||
import 'package:enaklo_pos/core/extensions/string_ext.dart';
|
||||
import 'package:enaklo_pos/core/utils/printer_service.dart';
|
||||
import 'package:enaklo_pos/data/dataoutputs/print_dataoutputs.dart';
|
||||
import 'package:enaklo_pos/data/datasources/product_local_datasource.dart';
|
||||
import 'package:enaklo_pos/data/models/response/order_response_model.dart';
|
||||
import 'package:enaklo_pos/presentation/home/models/product_quantity.dart';
|
||||
import 'package:enaklo_pos/presentation/home/pages/dashboard_page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SuccessOrderPage extends StatelessWidget {
|
||||
final List<ProductQuantity> productQuantity;
|
||||
final Order order;
|
||||
const SuccessOrderPage({super.key, required this.order});
|
||||
const SuccessOrderPage(
|
||||
{super.key, required this.order, required this.productQuantity});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@ -164,7 +172,96 @@ class SuccessOrderPage extends StatelessWidget {
|
||||
SpaceWidth(12),
|
||||
Expanded(
|
||||
child: Button.filled(
|
||||
onPressed: () {},
|
||||
onPressed: () async {
|
||||
final checkerPrinter = await ProductLocalDatasource
|
||||
.instance
|
||||
.getPrinterByCode('checker');
|
||||
final kitchenPrinter = await ProductLocalDatasource
|
||||
.instance
|
||||
.getPrinterByCode('kitchen');
|
||||
final barPrinter = await ProductLocalDatasource
|
||||
.instance
|
||||
.getPrinterByCode('bar');
|
||||
|
||||
log("Checker printer: ${checkerPrinter?.toMap()}");
|
||||
log("Kitchen printer: ${kitchenPrinter?.toMap()}");
|
||||
log("Bar printer: ${barPrinter?.toMap()}");
|
||||
|
||||
// Checker printer
|
||||
if (checkerPrinter != null) {
|
||||
try {
|
||||
final printValue =
|
||||
await PrintDataoutputs.instance.printChecker(
|
||||
productQuantity,
|
||||
order.tableNumber ?? "",
|
||||
order.orderNumber ?? "",
|
||||
'kasir',
|
||||
checkerPrinter.paper.toIntegerFromText,
|
||||
order.orderType ?? "",
|
||||
);
|
||||
|
||||
await PrinterService().printWithPrinter(
|
||||
checkerPrinter, printValue, context);
|
||||
} catch (e) {
|
||||
log("Error printing checker: $e");
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content:
|
||||
Text('Error printing checker: $e')),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Kitchen printer
|
||||
if (kitchenPrinter != null) {
|
||||
try {
|
||||
final printValue =
|
||||
await PrintDataoutputs.instance.printKitchen(
|
||||
productQuantity,
|
||||
order.tableNumber!,
|
||||
order.orderNumber ?? "",
|
||||
'kasir',
|
||||
kitchenPrinter.paper.toIntegerFromText,
|
||||
order.orderType ?? "",
|
||||
);
|
||||
|
||||
await PrinterService().printWithPrinter(
|
||||
kitchenPrinter, printValue, context);
|
||||
} catch (e) {
|
||||
log("Error printing kitchen order: $e");
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(
|
||||
'Error printing kitchen order: $e')),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Bar printer
|
||||
if (barPrinter != null) {
|
||||
try {
|
||||
final printValue =
|
||||
await PrintDataoutputs.instance.printBar(
|
||||
productQuantity,
|
||||
order.tableNumber ?? "",
|
||||
order.orderNumber ?? "",
|
||||
'kasir',
|
||||
barPrinter.paper.toIntegerFromText,
|
||||
order.orderType ?? "",
|
||||
);
|
||||
|
||||
await PrinterService().printWithPrinter(
|
||||
barPrinter, printValue, context);
|
||||
} catch (e) {
|
||||
log("Error printing bar order: $e");
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content:
|
||||
Text('Error printing bar order: $e')),
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
label: 'Cetak',
|
||||
icon: Icon(
|
||||
Icons.print,
|
||||
|
||||
@ -1,16 +1,24 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:enaklo_pos/core/components/components.dart';
|
||||
import 'package:enaklo_pos/core/components/dashed_divider.dart';
|
||||
import 'package:enaklo_pos/core/constants/colors.dart';
|
||||
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
|
||||
import 'package:enaklo_pos/core/extensions/date_time_ext.dart';
|
||||
import 'package:enaklo_pos/core/extensions/string_ext.dart';
|
||||
import 'package:enaklo_pos/core/utils/printer_service.dart';
|
||||
import 'package:enaklo_pos/data/dataoutputs/print_dataoutputs.dart';
|
||||
import 'package:enaklo_pos/data/datasources/product_local_datasource.dart';
|
||||
import 'package:enaklo_pos/data/models/response/order_response_model.dart';
|
||||
import 'package:enaklo_pos/presentation/home/models/product_quantity.dart';
|
||||
import 'package:enaklo_pos/presentation/home/pages/dashboard_page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SuccessSaveOrderPage extends StatelessWidget {
|
||||
final List<ProductQuantity> productQuantity;
|
||||
final Order order;
|
||||
const SuccessSaveOrderPage({super.key, required this.order});
|
||||
const SuccessSaveOrderPage(
|
||||
{super.key, required this.order, required this.productQuantity});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@ -160,7 +168,96 @@ class SuccessSaveOrderPage extends StatelessWidget {
|
||||
SpaceWidth(12),
|
||||
Expanded(
|
||||
child: Button.filled(
|
||||
onPressed: () {},
|
||||
onPressed: () async {
|
||||
final checkerPrinter = await ProductLocalDatasource
|
||||
.instance
|
||||
.getPrinterByCode('checker');
|
||||
final kitchenPrinter = await ProductLocalDatasource
|
||||
.instance
|
||||
.getPrinterByCode('kitchen');
|
||||
final barPrinter = await ProductLocalDatasource
|
||||
.instance
|
||||
.getPrinterByCode('bar');
|
||||
|
||||
log("Checker printer: ${checkerPrinter?.toMap()}");
|
||||
log("Kitchen printer: ${kitchenPrinter?.toMap()}");
|
||||
log("Bar printer: ${barPrinter?.toMap()}");
|
||||
|
||||
// Checker printer
|
||||
if (checkerPrinter != null) {
|
||||
try {
|
||||
final printValue =
|
||||
await PrintDataoutputs.instance.printChecker(
|
||||
productQuantity,
|
||||
order.tableNumber ?? "",
|
||||
order.orderNumber ?? "",
|
||||
'kasir',
|
||||
checkerPrinter.paper.toIntegerFromText,
|
||||
order.orderType ?? "",
|
||||
);
|
||||
|
||||
await PrinterService().printWithPrinter(
|
||||
checkerPrinter, printValue, context);
|
||||
} catch (e) {
|
||||
log("Error printing checker: $e");
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content:
|
||||
Text('Error printing checker: $e')),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Kitchen printer
|
||||
if (kitchenPrinter != null) {
|
||||
try {
|
||||
final printValue =
|
||||
await PrintDataoutputs.instance.printKitchen(
|
||||
productQuantity,
|
||||
order.tableNumber!,
|
||||
order.orderNumber ?? "",
|
||||
'kasir',
|
||||
kitchenPrinter.paper.toIntegerFromText,
|
||||
order.orderType ?? "",
|
||||
);
|
||||
|
||||
await PrinterService().printWithPrinter(
|
||||
kitchenPrinter, printValue, context);
|
||||
} catch (e) {
|
||||
log("Error printing kitchen order: $e");
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(
|
||||
'Error printing kitchen order: $e')),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Bar printer
|
||||
if (barPrinter != null) {
|
||||
try {
|
||||
final printValue =
|
||||
await PrintDataoutputs.instance.printBar(
|
||||
productQuantity,
|
||||
order.tableNumber ?? "",
|
||||
order.orderNumber ?? "",
|
||||
'kasir',
|
||||
barPrinter.paper.toIntegerFromText,
|
||||
order.orderType ?? "",
|
||||
);
|
||||
|
||||
await PrinterService().printWithPrinter(
|
||||
barPrinter, printValue, context);
|
||||
} catch (e) {
|
||||
log("Error printing bar order: $e");
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content:
|
||||
Text('Error printing bar order: $e')),
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
label: 'Cetak',
|
||||
icon: Icon(
|
||||
Icons.print,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user