diff --git a/Modules/Client/Http/Controllers/Api/CorporateMemberController.php b/Modules/Client/Http/Controllers/Api/CorporateMemberController.php index 36160258..76d1eeef 100644 --- a/Modules/Client/Http/Controllers/Api/CorporateMemberController.php +++ b/Modules/Client/Http/Controllers/Api/CorporateMemberController.php @@ -24,6 +24,7 @@ use Modules\Internal\Services\MemberEnrollmentService; use Illuminate\Support\Facades\DB; use Dompdf\Dompdf; use Dompdf\Options; +use PDF; class CorporateMemberController extends Controller { @@ -403,4 +404,22 @@ class CorporateMemberController extends Controller return response($pdf->output(), 200, $headers); } + public function viewECard($corporate_id, $member_id){ + $member = Member::with([ + 'currentPlan', + 'currentPolicy', + 'currentCorporate', + 'currentCorporate.files', + // 'currentPlan.corporateBenefits.benefit' + ])->find($member_id); + + if ($member->currentCorporate->id == 5){ // Vale + $pdf = PDF::loadView('pdf.ecard', compact('member'))->setPaper('A5', 'portrait'); + } else { + $pdf = PDF::loadView('pdf.ecard-lms', compact('member'))->setPaper('A5', 'portrait'); + } + return $pdf->download('Ecard - '.$member->full_name.'.pdf'); + + } + } diff --git a/Modules/Client/Routes/api.php b/Modules/Client/Routes/api.php index 6e24cceb..bf4635c0 100644 --- a/Modules/Client/Routes/api.php +++ b/Modules/Client/Routes/api.php @@ -78,6 +78,7 @@ Route::prefix('client')->group(function () { Route::get('get-limits/{member_id}', [CorporateMemberController::class, 'getLimits']); Route::get('download-ecard/{member_id}', [CorporateMemberController::class, 'downloadEcard']); + Route::get('view_card/{member_id}', [CorporateMemberController::class, 'viewECard']); }); Route::get('claims/{id}', [ClaimController::class, 'show']); diff --git a/frontend/client-portal/src/pages/EmployeeData/List.tsx b/frontend/client-portal/src/pages/EmployeeData/List.tsx index f80ea463..03d8d7d2 100644 --- a/frontend/client-portal/src/pages/EmployeeData/List.tsx +++ b/frontend/client-portal/src/pages/EmployeeData/List.tsx @@ -171,23 +171,34 @@ export default function List() { /* -------------------------------------------------------------------------- */ // Download E-Card async function handleDownloadEcard(member_id: any, fullName:any) { - return axios - .get(corporateValue+`/download-ecard/${member_id}`, { + axios + .get(corporateValue+`/view_card/${member_id}`, { responseType: 'blob', - }) - .then((response) => { - const namaFile = 'Ecard - '+fullName+".pdf"; - const url = URL.createObjectURL(response.data); - const link = document.createElement('a'); - link.href = url; - link.setAttribute('download', namaFile); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - }) - .catch((error) => { - enqueueSnackbar(error.message, { variant: 'error' }); - }); + }) + .then((response) => { + window.open(URL.createObjectURL(response.data)); + }) + .catch((response) => { + enqueueSnackbar(response.message, { variant: 'error' }); + }); + + // return axios + // .get(corporateValue+`/download-ecard/${member_id}`, { + // responseType: 'blob', + // }) + // .then((response) => { + // const namaFile = 'Ecard - '+fullName+".pdf"; + // const url = URL.createObjectURL(response.data); + // const link = document.createElement('a'); + // link.href = url; + // link.setAttribute('download', namaFile); + // document.body.appendChild(link); + // link.click(); + // document.body.removeChild(link); + // }) + // .catch((error) => { + // enqueueSnackbar(error.message, { variant: 'error' }); + // }); } useEffect(() => {