test update2

This commit is contained in:
ivan-sim
2023-12-26 16:41:45 +07:00
parent b5c8d8c3b6
commit 841b319aeb
4 changed files with 67 additions and 11 deletions

View File

@@ -10,6 +10,8 @@ use Illuminate\Support\Facades\DB;
use Modules\Internal\Http\Controllers\Api\RequestLogController as primeCenterRequestLog;
use App\Helpers\Helper;
use App\Models\File;
use Dompdf\Dompdf;
use Dompdf\Options;
class RequestLogController extends Controller
{
@@ -281,4 +283,27 @@ class RequestLogController extends Controller
}
}
}
public function downlodLog($request_log_id)
{
$data = ['key' => $request_log_id];
$pdf = new Dompdf();
$options = new Options();
$options->set('isHtml5ParserEnabled', true);
$options->set('isPhpEnabled', true);
$pdf->setOptions($options);
$html = view('pdf.view', $data);
$pdf->loadHtml($html);
$pdf->render();
$headers = [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="file.pdf"',
];
return response($pdf->output(), 200, $headers);
}
}

View File

@@ -54,6 +54,7 @@ Route::prefix('v1')->group(function() {
Route::get('get-request-log', 'getRequestLog');
Route::get('get-final-log', 'getFinalLog');
Route::post('request-final-log', 'requestFinalLog');
Route::get('download-log/{request_log_id}', 'downlodLog');
});
//Notification
Route::controller(NotificationController::class)->group(function() {

View File

@@ -51,23 +51,16 @@ function handleChangeTab(event: React.SyntheticEvent, newValue: string) {
const [data, setData] = useState([]);
// Download LOG
async function handleDownloadLog(claimRequest:any) {
async function handleDownloadLog(request_log_id:any) {
return axios
.get(`claim-requests/${claimRequest}/log`, {
.get(`download-log/${request_log_id}`, {
responseType: 'blob',
})
.then((response) => {
window.open(URL.createObjectURL(response.data));
// setLoadingLog(false);
window.open(URL.createObjectURL(response.data), '_blank');
})
// .then((blobFile) => {
// new File([blobFile], 'asdads.pdf', { type: blobFile.type })
// setLoadingLog(false);
// })
.catch((response) => {
console.log(response);
enqueueSnackbar(response.message, { variant: 'error' });
// setLoadingLog(false);
});
}
@@ -358,7 +351,7 @@ function handleChangeTab(event: React.SyntheticEvent, newValue: string) {
View
</MenuItem>
{/* {obj.status === 'approved' ? ( */}
<MenuItem onClick={() => handleDownloadLog(38)}>
<MenuItem onClick={() => handleDownloadLog(obj.id)}>
<Iconify icon="eva:download-fill" />
Download LOG
</MenuItem>

View File

@@ -0,0 +1,37 @@
<!-- your/view.blade.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ivan Julian</title>
<style>
body {
color: #fff;
}
h1, p {
/* Gaya teks Anda */
}
img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.3; /* Sesuaikan dengan tingkat kecerahan yang diinginkan */
z-index: -1; /* Letakkan gambar di belakang konten lain */
}
</style>
</head>
<body>
<!-- Sisipkan gambar sebagai elemen img -->
<img src="{{public_path('images/logo-linksehat-vertical-default.png')}}" width="100px">
<!-- Konten HTML -->
<h1>Hello, {{ $key }}</h1>
<p>This is a simple example for generating PDF in Laravel using Dompdf.</p>
</body>
</html>