From 1c8d135074036365a23096d1d09ad82ece8347db Mon Sep 17 00:00:00 2001 From: Aqqil Azman Date: Wed, 15 May 2024 17:38:57 +0800 Subject: [PATCH] feat: pdf export --- .../elements/TransactionGroupComponent.vue | 20 +++++++++++-- routes/web.php | 28 +++++++++++++++++++ 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue b/resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue index 00f4fb37..275fa514 100644 --- a/resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue +++ b/resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue @@ -19,20 +19,34 @@
Export
- + + + + + + - + -
+ + +
diff --git a/routes/web.php b/routes/web.php index e9cb8051..978a2716 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,5 +1,6 @@ name('group.text'); +route::get('/group/pdf/{id}', function ($id) { + $group = \App\Models\Group::where('id', $id)->first(); + $supplier = $group->issuerCompany; + + $transferFeeTransactions = $group->transactions() + ->with(['transactions' => function ($transaction) { + return $transaction->where('type', TransactionType::TRANSFER_FEE); + }]) + ->get() + ->pluck('transactions') + ->flatten(); + + $html = view('pages.pdfs.currency_vendor_order', [ + 'transactions' => $group->transactions, + 'transferFeeTransactions' => $transferFeeTransactions, + 'supplier' => $supplier + ])->render(); + + $dompdf = new Dompdf(); + $dompdf->loadHtml($html); + $dompdf->setPaper('A4', 'portrait'); + $dompdf->render(); + + return $dompdf->stream("group_pdf_{$id}.pdf"); +})->name('group.pdf'); + route::get('/export/excel/{id}', 'Exports\ExportCustomersToExcelController@exportCurrencyVendorOrder'); route:: get('/group/excel/{id}',function ($id) {