CasperSecurity
<div class="row">
<div class="card z-auto p-[25px]" style="min-height: 690px;">
<div class="card-body">
<div class="p-[2.125rem]">
<div class="row">
<div class="xl:w-1/4 mb-4">
<label class="form-label">From Date<span class="text-danger">*</span></label>
<input type="date" wire:model="from_date"
class="form-control relative text-[13px] text-body-color h-[2.813rem] border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full"
id="exampleFormControlInputFrom" placeholder="Enter Date" />
</div>
<div class="xl:w-1/4 mb-4">
<label class="form-label">To Date<span class="text-danger">*</span></label>
<input type="date" wire:model="to_date"
class="form-control relative text-[13px] text-body-color h-[2.813rem] border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full"
id="exampleFormControlInputTo" placeholder="Enter Date" />
</div>
</div>
<div>
@if(count($datatable) > 0)
<div class="overflow-x-auto table-scroll">
<div class="card-body table-responsive pt-0" id="Earning">
<table id="dept_datatable" class="display table w-full">
<tr>
@if($org)
<td colspan="6">
<center>
<b style="font-size:25px; font-weight:bold; vertical-align:middle;">{{$org['organisation_name']}}</b>
</center>
<br>
<center>
<b style="font-size:18px; font-weight:bold; vertical-align:middle;">Earning Register</b>
</center>
</td>
@endif
</tr>
<tr>
<td colspan="6" style="font-size:18px; border-right:1px solid #fff; border-left:1px solid #fff; border-bottom:1px solid #fff; border-top:1px solid #fff; font-weight:bold;">
<table style="border: 1px solid #72839e; width:100%;">
<thead>
<tr>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-weight-bold text-center">Employee No</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-weight-bold text-center">Name</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-weight-bold text-center">Designation</th>
@foreach ($datatable[0]['earnings'] ?? [] as $earning_type => $amount)
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-weight-bold text-center">{{ $earning_type }}</th>
@endforeach
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-weight-bold text-center">Total Earnings</th>
</tr>
</thead>
<tbody>
@foreach ($datatable as $employee)
<tr>
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
{{ $employee['employee_id']}}
</td>
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
{{ $employee['name']}}
</td>
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
{{ $employee['designation_name']}}
</td>
@foreach ($employee['earnings'] as $earning_type => $amount)
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
{{ number_format($amount, 2) }}
</td>
@endforeach
@foreach (array_diff(array_keys($datatable[0]['earnings']), array_keys($employee['earnings'])) as $earn_type)
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
0.00
</td>
@endforeach
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
{{ number_format($employee['Total Earnings'] ?? 0, 2) }}
</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-weight-bold text-right" colspan="{{ 3 + count($datatable[0]['earnings'] ?? []) }}">Total Earnings:</td>
<td class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-weight-bold text-center">{{ number_format($grandTotalEarnings, 2) }}</td>
</tr>
</tfoot>
</table>
</td>
</tr>
</table>
</div>
</div>
<div class="flex justify-end mt-2">
<div class="w-1/8 px-2 py-2 justify-end">
<select name="perPage" wire:model="perPage"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-dark text-dark h-[2.813rem] leading-[1.813rem]">
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="100">100</option>
<option value="500">500</option>
</select>
</div>
</div>
<div class="flex justify-center mt-4">
<button class="btn xl:py-[0.719rem] mr-4 py-2.5 xl:px-[1.563rem] px-4 duration-300 xl:text-[15px] text-[13px] font-medium rounded text-danger bg-danger-light leading-5 inline-block border border-danger-light btn-danger light hover:text-white hover:bg-danger offcanvas-close" wire:click="closemodalclick">Cancel</button>
<button class="btn btn-primary xl:py-[0.719rem] py-2.5 xl:px-[1.563rem] px-4 duration-300 xl:text-[15px] text-[13px] font-medium rounded text-white bg-primary leading-5 inline-block border border-primary hover:bg-hover-primary" onclick="downloadclick('Earning')"><span class="indicator-label">Download</span></button>
</div>
@endif
</div>
</div>
</div>
</div>
</div>
@section('externaljs')
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.2/html2pdf.bundle.min.js"></script>
<script>
function downloadclick(divid) {
var element = document.getElementById(divid);
console.log(element);
var Earning = 'Earning_Register.pdf';
var opt = {
margin: [0.5,0.5,0.5,0.5],
filename: Earning,
image: { type: 'jpeg', quality: 100 },
html2canvas: { scale: 1 },
font_size: '12px;',
jsPDF: { unit: 'in', format: 'letter', orientation: 'landscape' },
style: '@media print { @page { size: landscape; } }',
};
html2pdf().from(element).set(opt).toPdf().get('pdf').then(function(pdf) {
var totalPages = pdf.internal.getNumberOfPages();
if (totalPages > 1) {
pdf.deletePage(2); // Remove additional pages if needed
}
pdf.save(Earning);
});
}
</script>
@endsection