⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.94
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
hrms.dev-unit.com
/
resources
/
views
/
report
/
View File Name :
monthlyAttendance.blade.php
@extends('layouts.admin') @section('page-title') {{ __('Manage Monthly Attendance') }} @endsection @section('breadcrumb') <li class="breadcrumb-item"><a href="{{ route('dashboard') }}">{{ __('Home') }}</a></li> <li class="breadcrumb-item">{{ __('Manage Monthly Attendance Report') }}</li> @endsection @section('action-button') <a href="#" class="btn btn-sm btn-primary me-1" onclick="saveAsPDF()" data-bs-toggle="tooltip" title="{{ __('Download') }}" data-original-title="{{ __('Download') }}"> <span class="btn-inner--icon"><i class="ti ti-download"></i></span> </a> @php $emp = isset($_GET['employee_id']) && !empty($_GET['employee_id']) ? $_GET['employee_id'] : []; $employees = implode(', ', $emp); @endphp <a href="{{ route('report.attendance', [isset($_GET['month']) ? $_GET['month'] : date('Y-m'), isset($_GET['branch_id']) && !empty($_GET['branch_id']) ? $_GET['branch_id'] : 0, isset($_GET['department']) && !empty($_GET['department']) ? $_GET['department'] : 0, !empty($employees) ? $employees : 0]) }}" class="btn btn-sm btn-primary" data-bs-toggle="tooltip" title="" data-bs-original-title="Export"> <span class="btn-inner--icon"><i class="ti ti-file-export "></i></span> </a> @endsection @push('script-page') <script type="text/javascript" src="{{ asset('js/html2pdf.bundle.min.js') }}"></script> <script> var filename = $('#filename').val(); function saveAsPDF() { var element = document.getElementById('printableArea'); var opt = { margin: 0.3, filename: filename, image: { type: 'jpeg', quality: 1 }, html2canvas: { scale: 4, dpi: 72, letterRendering: true }, jsPDF: { unit: 'in', format: 'A2' } }; html2pdf().set(opt).from(element).save(); } </script> @endpush @section('content') <div class="row"> <div class="col-sm-12"> <div class=" mt-2 " id="multiCollapseExample1"> <div class="card"> <div class="card-body"> {{ Form::open(['route' => ['report.monthly.attendance'], 'method' => 'get', 'id' => 'report_monthly_attendance']) }} <div class="row align-items-center justify-content-end"> <div class="col-xl-10"> <div class="row"> <div class="col-xl-3 col-lg-3 col-md-6 col-sm-12 col-12"> <div class="btn-box"> {{ Form::label('month', __(' Month'), ['class' => 'form-label']) }} {{ Form::month('month', isset($_GET['month']) ? $_GET['month'] : date('Y-m'), ['class' => 'month-btn form-control', 'autocomplete' => 'off', 'placeholder' => 'Select month']) }} </div> </div> <div class="col-xl-3 col-lg-3 col-md-6 col-sm-12 col-12"> <div class="btn-box"> {{ Form::label('branch', __('Branch'), ['class' => 'form-label']) }} {{ Form::select('branch_id', $branch, isset($_GET['branch']) ? $_GET['branch'] : '', ['class' => 'form-control select branch_id', 'id' => 'branch-select branch_id']) }} </div> </div> <div class="col-xl-3 col-lg-3 col-md-6 col-sm-12 col-12"> <div class="btn-box" id="department_div"> {{ Form::label('department', __('Department'), ['class' => 'form-label']) }} <select class="form-control select department_id" name="department" id="department_id" placeholder="Select Department"> </select> </div> </div> <div class="col-xl-3 col-lg-3 col-md-6 col-sm-12 col-12"> <div class="btn-box" id="employee_div"> {{ Form::label('employee', __('Employee'), ['class' => 'form-label']) }} <select class="form-control select" name="employee_id[]" id="employee_id" placeholder="Select Employee"> </select> </div> </div> </div> </div> <div class="col-auto"> <div class="row"> <div class="col-auto mt-4"> <a href="#" class="btn btn-sm btn-primary me-1" onclick="document.getElementById('report_monthly_attendance').submit(); return false;" data-bs-toggle="tooltip" title="{{ __('Apply') }}" data-original-title="{{ __('apply') }}"> <span class="btn-inner--icon"><i class="ti ti-search"></i></span> </a> <a href="{{ route('report.monthly.attendance') }}" class="btn btn-sm btn-danger " data-bs-toggle="tooltip" title="{{ __('Reset') }}" data-original-title="{{ __('Reset') }}"> <span class="btn-inner--icon"><i class="ti ti-refresh text-white-off "></i></span> </a> </div> </div> </div> </div> </div> {{ Form::close() }} </div> </div> </div> </div> <div id="printableArea"> <div class="row"> <div class="col"> <div class="card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-primary"> <i class="ti ti-report"></i> </div> <div class="ms-3"> <input type="hidden" value="{{ $data['branch'] . ' ' . __('Branch') . ' ' . $data['curMonth'] . ' ' . __('Attendance Report of') . ' ' . $data['department'] . ' ' . 'Department' }}" id="filename"> <h5 class="mb-0">{{ __('Report') }}</h5> <div> <p class="text-muted text-sm mb-0">{{ __('Attendance Summary') }}</p> </div> </div> </div> </div> </div> </div> </div> @if ($data['branch'] != 'All') <div class="col"> <div class="card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-secondary"> <i class="ti ti-sitemap"></i> </div> <div class="ms-3"> <h5 class="mb-0">{{ __('Branch') }}</h5> <p class="text-muted text-sm mb-0"> {{ $data['branch'] }} </p> </div> </div> </div> </div> </div> </div> @endif @if ($data['department'] != 'All') <div class="col"> <div class="card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-primary"> <i class="ti ti-template"></i> </div> <div class="ms-3"> <h5 class="mb-0">{{ __('Department') }}</h5> <p class="text-muted text-sm mb-0">{{ $data['department'] }}</p> </div> </div> </div> </div> </div> </div> @endif <div class="col"> <div class="card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-secondary"> <i class="ti ti-sum"></i> </div> <div class="ms-3"> <h5 class="mb-0">{{ __('Duration') }}</h5> <p class="text-muted text-sm mb-0">{{ $data['curMonth'] }} </p> </div> </div> </div> </div> </div> </div> </div> <div class="row"> <div class="col-lg-3 col-md-6"> <div class="card mon-card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-primary"> <i class="ti ti-file-report"></i> </div> <div class="ms-3"> <h5 class="mb-0">{{ __('Attendance') }}</h5> <div> <p class="text-muted text-sm mb-0">{{ __('Total present') }}: {{ $data['totalPresent'] }}</p> <p class="text-muted text-sm mb-0">{{ __('Total leave') }}: {{ $data['totalLeave'] }}</p> </div> </div> </div> </div> </div> </div> </div> <div class="col-lg-3 col-md-6"> <div class="card mon-card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-secondary"> <i class="ti ti-clock"></i> </div> <div class="ms-3"> <h5 class="mb-0">{{ __('Overtime') }}</h5> <p class="text-muted text-sm mb-0"> {{ __('Total overtime in hours') }} : {{ number_format($data['totalOvertime'], 2) }}</p> </div> </div> </div> </div> </div> </div> <div class="col-lg-3 col-md-6"> <div class="card mon-card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-primary"> <i class="ti ti-info-circle"></i> </div> <div class="ms-3"> <h5 class="mb-0">{{ __('Early leave') }}</h5> <p class="text-muted text-sm mb-0">{{ __('Total early leave in hours') }}: {{ number_format($data['totalEarlyLeave'], 2) }}</p> </div> </div> </div> </div> </div> </div> <div class="col-lg-3 col-md-6"> <div class="card mon-card"> <div class="card-body p-3"> <div class="d-flex align-items-center justify-content-between"> <div class="d-flex align-items-center"> <div class="badge theme-avtar bg-secondary"> <i class="ti ti-alarm"></i> </div> <div class="ms-3"> <h5 class="mb-0">{{ __('Employee late') }}</h5> <p class="text-muted text-sm mb-0">{{ __('Total late in hours') }} : {{ number_format($data['totalLate'], 2) }} </p> </div> </div> </div> </div> </div> </div> </div> </div> <div class="row"> <div class="col"> <div class="card"> <div class="card-body table-border-style"> <div class="table-responsive py-4 attendance-table-responsive"> <table class="table "> <thead> <tr> <th class="active">{{ __('Name') }}</th> @foreach ($dates as $date) <th>{{ $date }}</th> @endforeach </tr> </thead> <tbody> @foreach ($employeesAttendance as $attendance) <tr> <td>{{ $attendance['name'] }}</td> @foreach ($attendance['status'] as $status) <td> @if ($status == 'P') <i class="badge bg-success p-2 ">{{ __('P') }}</i> @elseif($status == 'A') <i class="badge bg-danger p-2 ">{{ __('A') }}</i> @endif </td> @endforeach </tr> @endforeach </tbody> </table> </div> </div> </div> </div> </div> @endsection @push('script-page') <script> $(document).ready(function() { var b_id = $('#branch_id').val(); // getDepartment(b_id); }); $(document).on('change', 'select[name=branch_id]', function() { var branch_id = $(this).val(); getDepartment(branch_id); }); function getDepartment(bid) { $.ajax({ url: '{{ route('monthly.getdepartment') }}', type: 'POST', data: { "branch_id": bid, "_token": "{{ csrf_token() }}", }, success: function(data) { $('.department_id').empty(); var emp_selct = `<select class="department_id form-control multi-select" id="choices-multiple" multiple="" required="required" name="department_id[]"> </select>`; $('.department_div').html(emp_selct); $('.department_id').append('<option value=""> {{ __('Select Department') }} </option>'); $.each(data, function(key, value) { $('.department_id').append('<option value="' + key + '">' + value + '</option>'); }); new Choices('#choices-multiple', { removeItemButton: true, }); } }); } $(document).on('change', '.department_id', function() { var department_id = $(this).val(); getEmployee(department_id); }); function getEmployee(did) { $.ajax({ url: '{{ route('monthly.getemployee') }}', type: 'POST', data: { "department_id": did, "_token": "{{ csrf_token() }}", }, success: function(data) { $('#employee_id').empty(); $("#employee_div").html(''); // $('#employee_div').append('<select class="form-control" id="employee_id" name="employee_id[]" multiple></select>'); $('#employee_div').append( '<label for="employee" class="form-label">{{ __('Employee') }}</label><select class="form-control" id="employee_id" name="employee_id[]" multiple></select>' ); $('#employee_id').append('<option value="">{{ __('Select Employee') }}</option>'); $.each(data, function(key, value) { $('#employee_id').append('<option value="' + key + '">' + value + '</option>'); }); var multipleCancelButton = new Choices('#employee_id', { removeItemButton: true, }); } }); } </script> <script> $(document).ready(function() { var now = new Date(); var month = (now.getMonth() + 1); if (month < 10) month = "0" + month; var today = now.getFullYear() + '-' + month; $('.current_date').val(today); }); </script> @endpush