Fix Download LOG
This commit is contained in:
@@ -5,9 +5,12 @@ namespace Modules\HospitalPortal\Http\Controllers\Api;
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\ClaimRequest;
|
||||
use App\Models\File;
|
||||
use App\Models\Member;
|
||||
use Exception;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use PDF;
|
||||
|
||||
class ClaimRequestController extends Controller
|
||||
{
|
||||
@@ -122,4 +125,21 @@ class ClaimRequestController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function generateLog($claim_request_id)
|
||||
{
|
||||
$claimRequest = ClaimRequest::findOrFail($claim_request_id);
|
||||
|
||||
if ($claimRequest->status != 'approved') {
|
||||
throw new Exception("Belum Teverifikasi", 1);
|
||||
}
|
||||
|
||||
$member = Member::findOrFail($claimRequest->member_id)
|
||||
->load(['currentPlan', 'currentPolicy', 'currentPlan.corporateBenefits', 'currentPlan.corporateBenefits.benefit']);
|
||||
|
||||
$pdf = PDF::loadView('pdf.guaranted_leter', compact('member', 'claimRequest'));
|
||||
return $pdf->download('Guaranted Letter - '.$member->full_name.'.pdf');
|
||||
|
||||
return $claimRequest;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,5 +38,6 @@ Route::prefix('hospitalportal')->group(function () {
|
||||
|
||||
Route::get('claim-requests', [ClaimRequestController::class, 'index'])->name('claim-requests.index');
|
||||
Route::post('claim-requests', [ClaimRequestController::class, 'store'])->name('claim-requests.store');
|
||||
Route::get('claim-requests/{claim_request_id}/log', [ClaimRequestController::class, 'generateLog'])->name('claim-requests.generate-log');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -4,9 +4,12 @@ namespace Modules\Internal\Http\Controllers\Api;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\ClaimRequest;
|
||||
use App\Models\Member;
|
||||
use Exception;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Knp\Snappy\Pdf;
|
||||
use Modules\Internal\Transformers\ClaimRequestResource;
|
||||
|
||||
class ClaimRequestController extends Controller
|
||||
@@ -105,8 +108,6 @@ class ClaimRequestController extends Controller
|
||||
$claimRequest->status = 'approved';
|
||||
$claimRequest->save();
|
||||
|
||||
// Generate LOG
|
||||
|
||||
return $claimRequest;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ import { useSearchParams } from 'react-router-dom';
|
||||
// import { UserCurrentCorporateContext } from '@/contexts/UserCurrentCorporate';
|
||||
import { fSplit } from '@/utils/formatNumber';
|
||||
import { Chip } from '@mui/material';
|
||||
import { enqueueSnackbar } from 'notistack';
|
||||
|
||||
/* ---------------------------------- types --------------------------------- */
|
||||
type PaginationTableProps = {
|
||||
@@ -307,6 +308,26 @@ export default function TableList(props: any) {
|
||||
})();
|
||||
}, [appliedParams, searchParams, order, orderBy, setSearchParams]);
|
||||
|
||||
// -----------------------------------------------------------------
|
||||
// Download LOG
|
||||
function handleDownloadLog(claimRequest) {
|
||||
axios.get(`claim-requests/${claimRequest.id}/log`, {
|
||||
responseType: 'blob'
|
||||
})
|
||||
.then((response) => {
|
||||
window.open(URL.createObjectURL(response.data));
|
||||
// setLoadingLog(false);
|
||||
})
|
||||
// .then((blobFile) => {
|
||||
// new File([blobFile], 'asdads.pdf', { type: blobFile.type })
|
||||
// setLoadingLog(false);
|
||||
// })
|
||||
.catch((response) => {
|
||||
enqueueSnackbar(response.message, {variant: 'error'})
|
||||
// setLoadingLog(false);
|
||||
})
|
||||
}
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<Grid container>
|
||||
@@ -395,7 +416,7 @@ export default function TableList(props: any) {
|
||||
<TableCell align="center">{row.member?.full_name ?? ''}</TableCell>
|
||||
<TableCell align="center">{row.submission_date}</TableCell>
|
||||
<TableCell align="right">
|
||||
{row.log_url ? (
|
||||
{row.status == 'approved' ? (
|
||||
<Button
|
||||
sx={{
|
||||
backgroundColor: palette.light.grey[400],
|
||||
@@ -406,6 +427,7 @@ export default function TableList(props: any) {
|
||||
color: palette.dark.success.darker,
|
||||
},
|
||||
}}
|
||||
onClick={() => {handleDownloadLog(row)}}
|
||||
>
|
||||
Download LOG
|
||||
</Button>
|
||||
|
||||
@@ -124,7 +124,11 @@
|
||||
<tr>
|
||||
<td>
|
||||
<div class="text-sm text-gray">Date of Admission</div>
|
||||
@if (isset($claimRequest))
|
||||
<div class="text-md">{{ !empty($claimRequest->submission_date) ? \Carbon\Carbon::parse($claimRequest->submission_date)->format('d/m/Y') : now()->format('d/m/Y') }}</div>
|
||||
@else
|
||||
<div class="text-md">{{ !empty($member->endorsement_date) ? \Carbon\Carbon::parse($member->endorsement_date)->format('d/m/Y') : $member->created_at->format('d/m/Y') }}</div>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-sm text-gray">Plan</div>
|
||||
@@ -141,17 +145,17 @@
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
{{-- <tr>
|
||||
<td class="text-lg">Medical Check Up</td>
|
||||
<td class="text-lg">As Charged</td>
|
||||
</tr>
|
||||
</tr> --}}
|
||||
|
||||
{{-- @foreach ($member->currentPlan->corporateBenefits as $corporateBenefit)
|
||||
@foreach ($member->currentPlan->corporateBenefits as $corporateBenefit)
|
||||
<tr>
|
||||
<td>{{ $corporateBenefit->corporate_benefit_code ?? '' }}</td>
|
||||
<td style="align-right">IDR {{ number_format($corporateBenefit->limit_amount, 0, ',', '.') ?? '' }}</td>
|
||||
</tr>
|
||||
@endforeach --}}
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user