@extends('app-new') @push('head-script') @endpush @push('content-header') @endpush @section('content') @php $months = [ '01'=>'January', '02'=>'February', '03'=>'March', '04'=>'April', '05'=>'May', '06'=>'June', '07'=>'July', '08'=>'August', '09'=>'September', '10'=>'October', '11'=>'November', '12'=>'December', ]; $currentYear = (int) date('Y'); $periodLabel = ($months[$month] ?? $month) . ' ' . $year; $offset = ($data->currentPage() - 1) * $data->perPage(); // Count active filters (excluding month/year which are always set) $activeFilters = collect([ request('employee_id'), request('department_id'), request('sub_department_id'), request('designation_id'), request('location_id'), request('sublocation_id'), request('contractor_id'), request('category_id'), request('work_station_id'), request('shift_id'), request('employee_type'), request('employee_status'), ])->filter(fn($v) => !empty($v))->count(); @endphp @if (isset($status)) @foreach ($status['messages'] as $m) @endforeach @endif
{{-- Card header --}}
{{ $periodLabel }} @if($activeFilters > 0) {{ $activeFilters }} filter{{ $activeFilters > 1 ? 's' : '' }} active × @endif
TXT Excel
{{-- Table --}}
@forelse($data as $row) @empty @endforelse
# ESIC No Employee Name Category Basic Salary Special Gross Wages ESIC Employer Contri ESIC Employee Contri
{{ $offset + $loop->iteration }} {{ $row['esic_no'] }} {{ $row['emp_name'] }} @if($row['employee_code']){{ $row['employee_code'] }}@endif {{ $row['category'] }} {{ number_format($row['basic_salary'], 2) }} {{ number_format($row['special'], 2) }} {{ number_format($row['gross_wages'], 2) }} {{ number_format($row['esic_employer'], 2) }} {{ number_format($row['esic_employee'], 2) }}
No ESIC-applicable employees found for {{ $periodLabel }}.
@if($data->total() > 0) @endif
{{-- ====================================================== Right Offcanvas — Filters ====================================================== --}}
Filters
{{-- The offcanvas IS the filter form: every select submits by its own name. GET reloads the page with the filters in the query string. d-flex column + min-height:0 keeps the body a scrollable flex child. --}}
{{-- Period --}}

Period


{{-- Employee --}}

Employee


{{-- Org structure --}}

Organisation

@endsection @push('footer-script') @endpush