Commit f6f6f8da authored by FARDA ALAN MA'RUF's avatar FARDA ALAN MA'RUF

create rekap siswa

parent 10ec1c4d
File added
This diff is collapsed.
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/date-picker.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Akademik</h3>
@endslot
<li class="breadcrumb-item">Absensi</li>
<li class="breadcrumb-item active">Siswa</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
{{-- Diberikan alert --}}
@if (session()->has('sukses'))
<div class="alert alert-success" role="alert">
{{ session('sukses') }}
</div>
@elseif (session()->has('gagal'))
<div class="alert alert-danger" role="alert">
{{ session('gagal') }}
</div>
@endif
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
</div>
</div>
<div class="card-body">
<div class="row">
<div class="mb-3">
<div class="row">
<div class="col-md-6">
<label class="col-sm-3 col-form-label">Tanggal Awal</label>
<input id="tanggal_awal" class="datepicker-here form-control digits col-sm-9"
type="text" data-language="en" placeholder="Isi Tanggal Absensi" />
</div>
<div class="col-md-6">
<label class="col-sm-3 col-form-label">Tanggal Akhir</label>
<input id="tanggal_akhir" class="datepicker-here form-control digits col-sm-9"
type="text" data-language="en" placeholder="Isi Tanggal Absensi" />
</div>
<div class="col-md-12 mt-1">
<button id="tanggal" class="btn btn-md btn-primary">Submit</button>
</div>
</div>
{{-- <a href="{{ url($url) }}/create" class="btn btn-sm btn-primary float-end m-4" id="linkTambahAbsensi">Tambah Absensi</a> --}}
</div>
</div>
<div class="row">
<div class="table-responsive" id="tabel-jquery">
<table id="isi-tabel"
class="table table-striped table-bordered dt-responsive nowrap dataTable no-footer dtr-inline collapsed">
<thead>
<tr>
<th>Tanggal</th>
<th>Kelas</th>
<th>Jumlah Hadir</th>
<th>Jumlah tidak Hadir</th>
<th>Absensi</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
{{-- fitur di laravel --}}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script src="{{ asset('assets/js/datepicker/date-picker/datepicker.js') }}"></script>
<script src="{{ asset('assets/js/datepicker/date-picker/datepicker.en.js') }}"></script>
<script src="{{ asset('assets/js/datepicker/date-picker/datepicker.custom.js') }}"></script>
<script>
let baseUrlUrl = '{{ url($url) }}';
$("#isi-tabel").DataTable();
$('#tabel-jquery').hide();
</script>
<script>
$(document).ready(function() {
// dikasih notif kalo tanggal ini tidak ada absensi
$('.datepicker-here').datepicker({
autoClose: true, // Pastikan date picker tertutup setelah tanggal dipilih
language: 'en', // Mengatur bahasa
// onSelect: function(formattedDate, date, inst) {
// var formattedForURL = date.getFullYear() + '-' + (date.getMonth() + 1).toString().padStart(2, '0') + '-' + date.getDate().toString().padStart(2, '0');
// updateDataTable(formattedForURL); // Update dengan format YYYY-MM-DD
// }
});
$('#tanggal').on('click', function() {
var tgl_awal = $('#tanggal_awal').val();
var tgl_akhir = $('#tanggal_akhir').val();
// Fungsi untuk mengubah format tanggal
function formatTanggal(tanggal) {
var parts = tanggal.split('/');
return parts[2] + '-' + parts[0] + '-' + parts[1];
}
// Mengubah format tanggal awal dan akhir
var tgl_awal_formatted = formatTanggal(tgl_awal);
var tgl_akhir_formatted = formatTanggal(tgl_akhir);
updateDataTable(tgl_awal_formatted, tgl_akhir_formatted);
});
function updateDataTable(tanggal_awal, tanggal_akhir) {
$("#isi-tabel").DataTable().clear().destroy();
$('#tabel-jquery').show();
$('#linkTambahAbsensi').attr('href', "{{ url($url) }}/create/" + tanggal_awal + "/" + tanggal_akhir);
$("#isi-tabel").DataTable({
language: {
emptyTable: "Tidak ada data Siswa",
info: "Total: _TOTAL_ Data Siswa",
infoEmpty: "Menampilkan 0 dari 0 Data Siswa",
},
responsive: true,
autoWidth: false,
processing: true,
ajax: {
url: baseUrlUrl + '/get-absensi/' + tanggal_awal + "/" + tanggal_akhir,
method: 'GET',
},
dom: 'Bfrtip',
buttons: [
'copy', 'excel', 'pdf', 'colvis'
]
});
}
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/select2.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/date-picker.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Master Indeks Kelas</h3>
@endslot
<li class="breadcrumb-item">Master</li>
<li class="breadcrumb-item">Indeks Kelas</li>
<li class="breadcrumb-item active">Detail</li>
@endcomponent
<div class="container-fluid pt-4">
<div class="row justify-content-center">
<div class="col-lg-10 col-sm-12">
<div class="card border-top border-0 border-4 border-info">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6 col-sm-12">
<a href="{{ url($url) }}" class="btn btn-sm btn-primary float-end">kembali</a>
</div>
</div>
</div>
<div class="card-body">
<div class="row">
<div class="table-responsive" id="tabel-jquery">
<form action="{{ url($url) }}/store" method="POST">
@csrf
<input id="valKelas" type="hidden" name="valKelas">
<input id="valTanggal" type="hidden" name="valTanggal">
<table id="isi-tabel" class="table table-striped table-bordered dt-responsive nowrap dataTable no-footer dtr-inline collapsed">
<thead >
<tr>
<th data-priority="1" width="50px">No.</th>
<th>NISN</th>
<th>Nama</th>
<th>Konseling</th>
<th>Bimbingan</th>
<th>Hadir</th>
<th>Tidak Hadir</th>
<th>Terlambat</th>
<th>Izin</th>
<th>Sakit</th>
</tr>
</thead>
<tbody>
{{-- fitur di laravel --}}
</tbody>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2.full.min.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2-custom.js') }}"></script>
<script src="{{ asset('assets/js/datepicker/date-picker/datepicker.js') }}"></script>
<script src="{{ asset('assets/js/datepicker/date-picker/datepicker.en.js') }}"></script>
<script src="{{ asset('assets/js/datepicker/date-picker/datepicker.custom.js') }}"></script>
<script>
let baseUrl = '{{ url('') }}';
let url = '{{ $url }}';
$("#isi-tabel").DataTable();
$('#tabel-jquery').hide();
</script>
@include('admin.filter.kelaskomplit')
<script>
$(document).ready(function() {
setTimeout(function() {
if ('{{ $tanggal_awal }}' && '{{ $idKelas }}') {
// $('#select-kodekelas').trigger('change');
updateTable();
}
}, 500);
// Fungsi untuk memperbarui tabel
function updateTable() {
var idPKKode = '{{ $idKelas }}';
var selectedDate = '{{ $tanggal_awal }}'; // Mendapatkan tanggal yang dipilih
var selectedDateAkhir = '{{ $tanggal_akhir }}'; // Mendapatkan tanggal yang dipilih
$('#valKelas').val(idPKKode); // Set hidden input value
$('#valTanggal').val(selectedDate); // Set hidden input value
console.log('kelas: '+idPKKode)
console.log('tanggal: '+selectedDate)
if(idPKKode && selectedDate) {
$("#isi-tabel").DataTable().clear().destroy(); // Menghancurkan instance DataTable yang ada
$('#tabel-jquery').show(); // Menampilkan tabel jika tersembunyi
// Membuat instance baru dari DataTable
$("#isi-tabel").DataTable({
language: {
emptyTable: "Tidak ada data Siswa",
info: "Total: _TOTAL_ Data Siswa",
infoEmpty: "Menampilkan 0 dari 0 Data Siswa",
},
responsive: true,
autoWidth: false,
processing: true,
ajax: {
url: baseUrl + '/' + url + '/get-absensi-form/' + idPKKode + '/' + selectedDate + '/' + selectedDateAkhir,
method: 'GET',
// dataSrc: function(json) {
// var status = json.status == 1 ? "Absensi sudah dilakukan" : "Belum Absensi";
// var submit = json.status == 1 ? "Update" : "Simpan";
// if(json.status == 1) {
// alert("kelas di Tanggal ini sudah dilakukan absensi ! Klik Update untuk merubah kehadiran");
// }
// $('#status').val(status);
// $('#submit').val(submit);
// return json.data;
// }
},
columns: [
{ data: 'i', render: function (data, type, row, meta) { return meta.row + 1; } }, // Menghitung index
{ data: 'nisn' },
{ data: 'nama' },
{ data: 'jumlah_konseling' },
{ data: 'jumlah_pembinaan' },
{ data: 'hadir' },
{ data: 'tidak_hadir' },
{ data: 'terlambat' },
{ data: 'ijin' },
{ data: 'sakit' },
],
dom: 'Bfrtip',
buttons: [
'copy', 'excel', 'pdf', 'colvis'
]
});
}
}
});
</script>
@endpush
@endsection
This diff is collapsed.
......@@ -71,6 +71,13 @@
{{-- <li><a href="{{ route('import.kelas') }}" class="{{ routeActive('import.kelas') }}">Import Kelas</a></li> --}}
</ul>
</li>
<li class="dropdown">
<a class="nav-link menu-title {{ prefixActive('/admin/rekap') }}" href="javascript:void(0)"><i data-feather="database"></i><span>Rekap</span></a>
<ul class="nav-submenu menu-content" style="display: {{ prefixBlock('/admin/import') }}">
<li><a href="{{ route('rekap.siswa') }}" class="{{ routeActive('rekap.siswa') }}">Siswa</a></li>
{{-- <li><a href="{{ route('rekap.siswa') }}" class="{{ routeActive('rekap.siswa') }}">Siswa</a></li> --}}
</ul>
</li>
<li><a href="{{ route('event') }}" class="nav-link menu-title {{ routeActive('event') }}"><i data-feather="users"></i><span>Event</span></a></li>
<li><a href="{{ route('admin.saran') }}" class="nav-link menu-title {{ routeActive('admin.saran') }}"><i data-feather="users"></i><span>Saran</span></a></li>
<li><a href="{{ route('admin.akun') }}" class="nav-link menu-title {{ routeActive('admin.akun') }}"><i data-feather="users"></i><span>Akun</span></a></li>
\ No newline at end of file
......@@ -112,3 +112,22 @@ Route::prefix('/admin/import')->group(function () {
Route::get('/guru/create', 'Admin\Import\ImportGuruController@create');
Route::post('/guru/store', 'Admin\Import\ImportGuruController@store');
});
Route::prefix('/admin/rekap')->group(function () {
// Route::get('/siswa', 'Admin\Import\ImportSiswaController@index')->name('import.siswa');
// Route::get('/siswa/create', 'Admin\Import\ImportSiswaController@create');
// Route::post('/siswa/store', 'Admin\Import\ImportSiswaController@store');
// Route::get('/siswa', 'Admin\Rekap\RekapSiswaController@index')->name('rekap.siswa');
// Route::get('/siswa/create', 'Admin\Rekap\RekapSiswaController@create');
// Route::post('/siswa/store', 'Admin\Rekap\RekapSiswaController@store');
Route::get('/siswa', 'Admin\Rekap\RekapSiswaController@index')->name('rekap.siswa');
Route::get('/siswa/get-absensi/{tanggal_awal}/{tanggal_akhir}', 'Admin\Rekap\RekapSiswaController@getAbsensi');
Route::get('/siswa/create/{dataId}/{date_awal}/{date_akhir}', 'Admin\Rekap\RekapSiswaController@create');
Route::get('/siswa/get-absensi-form/{dataId}/{tanggal_awal}/{tanggal_akhir}', 'Admin\Rekap\RekapSiswaController@getAbsensiForm');
Route::post('/siswa/store', 'Admin\Rekap\RekapSiswaController@store');
Route::get('/siswa/{dataId?}/edit', 'Admin\Rekap\RekapSiswaController@edit');
Route::put('/siswa/update/{dataId?}', 'Admin\Rekap\RekapSiswaController@update');
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment