From 517455fd345d541c6cbee8e90d6ff6e2bbd3d24a Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Tue, 9 Jul 2024 08:51:17 +0700 Subject: [PATCH 1/3] Update --- Modules/Client/Routes/api.php | 1 + .../src/pages/EmployeeData/List.tsx | 43 ++++++++++++------- 2 files changed, 28 insertions(+), 16 deletions(-) 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(() => { From b144cbd1a9424edc213286915cec5201b8f3f01f Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Tue, 9 Jul 2024 09:01:40 +0700 Subject: [PATCH 2/3] update --- Modules/Client/Routes/api.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/Client/Routes/api.php b/Modules/Client/Routes/api.php index bf4635c0..b529bbe3 100644 --- a/Modules/Client/Routes/api.php +++ b/Modules/Client/Routes/api.php @@ -4,6 +4,7 @@ use Modules\Client\Http\Controllers\Api\AuthController; use Modules\Client\Http\Controllers\Api\CorporateDivisionController; use Modules\Client\Http\Controllers\Api\CorporateManageController; use Modules\Client\Http\Controllers\Api\CorporateMemberController; +use Modules\Internal\Http\Controllers\Api\CorporateMemberController as CorporateMemberInternalController; use Modules\Client\Http\Controllers\Api\CorporateCurrentController; use Modules\Client\Http\Controllers\Api\MemberController; use Modules\Client\Http\Controllers\Api\CorporatePolicyController; @@ -78,7 +79,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('view_card/{member_id}', [CorporateMemberInternalController::class, 'viewECard']); }); Route::get('claims/{id}', [ClaimController::class, 'show']); From 514fa323be92c3a68707c60125d792ba8af70a12 Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Tue, 9 Jul 2024 09:11:15 +0700 Subject: [PATCH 3/3] Update --- .../Api/CorporateMemberController.php | 19 +++++++++++++++++++ Modules/Client/Routes/api.php | 3 +-- 2 files changed, 20 insertions(+), 2 deletions(-) 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 b529bbe3..bf4635c0 100644 --- a/Modules/Client/Routes/api.php +++ b/Modules/Client/Routes/api.php @@ -4,7 +4,6 @@ use Modules\Client\Http\Controllers\Api\AuthController; use Modules\Client\Http\Controllers\Api\CorporateDivisionController; use Modules\Client\Http\Controllers\Api\CorporateManageController; use Modules\Client\Http\Controllers\Api\CorporateMemberController; -use Modules\Internal\Http\Controllers\Api\CorporateMemberController as CorporateMemberInternalController; use Modules\Client\Http\Controllers\Api\CorporateCurrentController; use Modules\Client\Http\Controllers\Api\MemberController; use Modules\Client\Http\Controllers\Api\CorporatePolicyController; @@ -79,7 +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}', [CorporateMemberInternalController::class, 'viewECard']); + Route::get('view_card/{member_id}', [CorporateMemberController::class, 'viewECard']); }); Route::get('claims/{id}', [ClaimController::class, 'show']);