feat: ticket printer
This commit is contained in:
@@ -161,62 +161,71 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
|
||||
SpaceHeight(16),
|
||||
// button test print
|
||||
Button.outlined(
|
||||
onPressed: () async {
|
||||
if (addressController!.text.isNotEmpty && printNameController!.text.isNotEmpty) {
|
||||
try {
|
||||
// Get actual tax and service charge settings
|
||||
final settingsLocalDatasource = SettingsLocalDatasource();
|
||||
final taxModel = await settingsLocalDatasource.getTax();
|
||||
final serviceChargeValue = await settingsLocalDatasource.getServiceCharge();
|
||||
|
||||
// Create a test print model
|
||||
final testPrinter = PrintModel(
|
||||
code: 'receipt',
|
||||
name: printNameController!.text,
|
||||
address: addressController!.text,
|
||||
paper: paper,
|
||||
type: selectedPrinter,
|
||||
);
|
||||
|
||||
// Generate test print data
|
||||
final testPrintData = await PrintDataoutputs.instance.printOrderV3(
|
||||
[], // Empty product list for test
|
||||
0,
|
||||
0,
|
||||
'Test',
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'Test Cashier',
|
||||
'Test Customer',
|
||||
int.parse(paper),
|
||||
taxPercentage: taxModel.value,
|
||||
serviceChargePercentage: serviceChargeValue,
|
||||
);
|
||||
|
||||
// Print test
|
||||
await PrinterService().printWithPrinter(
|
||||
testPrinter,
|
||||
testPrintData,
|
||||
context,
|
||||
);
|
||||
} catch (e) {
|
||||
log("Error test printing: $e");
|
||||
onPressed: () async {
|
||||
if (addressController!.text.isNotEmpty &&
|
||||
printNameController!.text.isNotEmpty) {
|
||||
try {
|
||||
// Get actual tax and service charge settings
|
||||
final settingsLocalDatasource =
|
||||
SettingsLocalDatasource();
|
||||
final taxModel =
|
||||
await settingsLocalDatasource.getTax();
|
||||
final serviceChargeValue =
|
||||
await settingsLocalDatasource
|
||||
.getServiceCharge();
|
||||
|
||||
// Create a test print model
|
||||
final testPrinter = PrintModel(
|
||||
code: 'receipt',
|
||||
name: printNameController!.text,
|
||||
address: addressController!.text,
|
||||
paper: paper,
|
||||
type: selectedPrinter,
|
||||
);
|
||||
|
||||
// Generate test print data
|
||||
final testPrintData = await PrintDataoutputs
|
||||
.instance
|
||||
.printOrderV3(
|
||||
[], // Empty product list for test
|
||||
0,
|
||||
0,
|
||||
'Test',
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'Test Cashier',
|
||||
'Test Customer',
|
||||
int.parse(paper),
|
||||
taxPercentage: taxModel.value,
|
||||
serviceChargePercentage: serviceChargeValue,
|
||||
);
|
||||
|
||||
// Print test
|
||||
await PrinterService().printWithPrinter(
|
||||
testPrinter,
|
||||
testPrintData,
|
||||
context,
|
||||
);
|
||||
} catch (e) {
|
||||
log("Error test printing: $e");
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text('Error test printing: $e')),
|
||||
);
|
||||
}
|
||||
} else {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('Error test printing: $e')),
|
||||
SnackBar(
|
||||
content: Text(
|
||||
'Please fill in printer details first')),
|
||||
);
|
||||
}
|
||||
} else {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('Please fill in printer details first')),
|
||||
);
|
||||
}
|
||||
},
|
||||
label: 'Test Print'
|
||||
),
|
||||
},
|
||||
label: 'Test Print'),
|
||||
SpaceHeight(8),
|
||||
// button save
|
||||
data == null
|
||||
|
||||
Reference in New Issue
Block a user