1469 lines
82 KiB
PHP
1469 lines
82 KiB
PHP
@extends('admin.layouts.app')
|
|
|
|
@section('title', 'Guru')
|
|
|
|
@push('style')
|
|
<style>
|
|
.capitalize-text {
|
|
text-transform: lowercase;
|
|
}
|
|
.capitalize-text:first-letter, .capitalize-text:first-line {
|
|
text-transform: capitalize;
|
|
}
|
|
#edit .modal-dialog{
|
|
max-width: 800px!important;
|
|
}
|
|
.profile img{
|
|
width: 40px;
|
|
height: 40px;
|
|
object-fit: cover;
|
|
border-radius: 50px;
|
|
border: 2px solid rgba(44, 44, 169, 0.3);
|
|
}
|
|
table tbody td{
|
|
vertical-align: middle!important;
|
|
}
|
|
table thead th{
|
|
width: fit-content;
|
|
}
|
|
.detailModal{
|
|
cursor: pointer;
|
|
}
|
|
.sorting{
|
|
width: 100%;
|
|
display: flex;
|
|
gap: 15px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.category{
|
|
position: relative;
|
|
cursor: pointer;
|
|
font-size: .95em;
|
|
}
|
|
.category span{
|
|
font-size: .8em;
|
|
padding: 5px 8px 3px 8px;
|
|
}
|
|
.category::after{
|
|
content: '';
|
|
width: 0;
|
|
height: 3px;
|
|
display: inline-block;
|
|
background-color: #6777ef;
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
transition: .3s;
|
|
}
|
|
.category.active::after,
|
|
.category:hover::after{
|
|
width: 23px;
|
|
}
|
|
.category .detail-sorting{
|
|
position: absolute;
|
|
width: 400px;
|
|
background-color: #6777ef;
|
|
color: #fff;
|
|
display: none;
|
|
bottom: 35px;
|
|
left: 0;
|
|
padding: 8px;
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03);
|
|
border-radius: 4px;
|
|
font-size: .9em;
|
|
line-height: 1.6em;
|
|
transition: .3s ease-in-out;
|
|
z-index: 9999;
|
|
}
|
|
/*.category .detail-sorting::before{*/
|
|
/* font-family: "Font Awesome 5 Free";*/
|
|
/* content: "\f06a";*/
|
|
/* font-weight: 900;*/
|
|
/* margin-right: 5px;*/
|
|
/*}*/
|
|
|
|
.category:hover .detail-sorting{
|
|
display: inline-block;
|
|
}
|
|
|
|
@media screen and (max-width: 800px){
|
|
.category .detail-sorting{
|
|
width: 360px;
|
|
}
|
|
}
|
|
@media screen and (max-width: 400px){
|
|
.category .detail-sorting{
|
|
width: 300px;
|
|
}
|
|
.category:hover .detail-sorting{
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
|
|
.nav-link{
|
|
padding: 0;
|
|
cursor: pointer;
|
|
}
|
|
.card-header.tab-list{
|
|
min-height: fit-content;
|
|
}
|
|
|
|
.wrap-image {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
overflow: hidden;
|
|
width: 100%;
|
|
height: auto;
|
|
aspect-ratio: 1/1;
|
|
box-sizing: border-box;
|
|
border: solid 1px #E5E5E5;
|
|
border-radius: 8px;
|
|
background-color: #EEE;
|
|
font-size: 46px;
|
|
color: #00000030;
|
|
}
|
|
|
|
.wrap-image img {
|
|
width: 100%;
|
|
height: auto;
|
|
aspect-ratio: 1/1;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.wrap-image .btn {
|
|
position: absolute;
|
|
bottom: 12px;
|
|
right: 12px;
|
|
background-color: #f3f6f9CC;
|
|
border-color: #f3f6f9CC;
|
|
border-radius: 13px;
|
|
padding: 0;
|
|
width: 35px;
|
|
height: 35px;
|
|
}
|
|
#Detail .modal-body,
|
|
#Create .modal-body,
|
|
#Edit .modal-body
|
|
{
|
|
padding-bottom: 110px!important;
|
|
min-height: 67vh;
|
|
max-height: 80vh;
|
|
overflow-y: scroll;
|
|
}
|
|
#Detail .modal-footer,
|
|
#Create .modal-footer,
|
|
#Edit .modal-footer
|
|
{
|
|
background: rgba(255, 255, 255, 0.2);
|
|
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
|
|
backdrop-filter: blur(5px);
|
|
-webkit-backdrop-filter: blur(5px);
|
|
position: absolute;
|
|
width: 100%;
|
|
bottom: 0;
|
|
}
|
|
#copy{
|
|
cursor: pointer;
|
|
padding: 10px 10px 10px 4px;
|
|
}
|
|
.copy-message{
|
|
text-align: center;
|
|
position: fixed;
|
|
|
|
bottom: 60px;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
font-size: 1em;
|
|
z-index: 100;
|
|
padding: 4px 10px;
|
|
color: #0bb783;
|
|
background: #d7f9ef;
|
|
border-radius: 6px;
|
|
visibility: hidden;
|
|
transition: .3s;
|
|
white-space: nowrap;
|
|
}
|
|
.copy-message.show{
|
|
visibility: visible;
|
|
bottom: 70px;
|
|
}
|
|
</style>
|
|
@endpush
|
|
|
|
@section('main')
|
|
{{-- delete --}}
|
|
<div class="modal fade" id="Delete" tabindex="-1" role="dialog"
|
|
aria-labelledby="deleteUserModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="deleteUserModalLabel"><i class="fa-solid fa-bolt p-1 bg-danger text-white" style="border-radius: 4px;"></i> Peringatan Hapus User</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>Apakah anda yakin ingin menghapus guru ini?</p>
|
|
<form id="FormDelete" method="POST" action="">
|
|
@csrf
|
|
@method('DELETE')
|
|
<input type="hidden" name="id" id="delete_id">
|
|
<button type="submit" class="btn btn-danger">Hapus</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Detail Data -->
|
|
{{-- <div class="modal fade" id="Detail" tabindex="-1" role="dialog" aria-labelledby="editUserModalLabel"--}}
|
|
{{-- aria-hidden="true">--}}
|
|
{{-- <div class="modal-dialog modal-lg modal-dialog-centered" role="document">--}}
|
|
{{-- <div class="modal-content">--}}
|
|
{{-- <div class="modal-header">--}}
|
|
{{-- <h5 class="modal-title" id="editUserModalLabel">Detail Guru</h5>--}}
|
|
{{-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">--}}
|
|
{{-- <span aria-hidden="true" class="font-weight-normal">×</span>--}}
|
|
{{-- </button>--}}
|
|
|
|
{{-- </div>--}}
|
|
{{-- <div class="modal-body py-1">--}}
|
|
{{-- <div class="d-flex justify-content-center pb-3 mb-1" style="border-bottom: 1.5px solid #efefef;">--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="tab-content" id="pills-tabContent">--}}
|
|
{{-- <div class="tab-pane fade show active" id="pills-detail-siswa" role="tabpanel" aria-labelledby="pills-detail-siswa-tab">--}}
|
|
{{-- <div class="row mb-3 d-flex align-items-center">--}}
|
|
{{-- <div class="col-md-3">--}}
|
|
{{-- <div class="wrap-image detail-foto">--}}
|
|
{{-- <img class="lazy" src="{{ asset('img/bg-load.jpg') }}" data-src="{{ asset('img/kid-man.png') }}" alt="">--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-9 d-flex flex-wrap flex-column justify-content-center justify-content-md-end">--}}
|
|
{{-- <div class="mt-2" id="detail-status">--}}
|
|
{{-- <br>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="" id="detail-bank">--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="row">--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Nama Guru</label>--}}
|
|
{{-- <h6 id="detail-nama">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Tempat Lahir</label>--}}
|
|
{{-- <h6 id="detail-tempat-lahir">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Tanggal Lahir</label>--}}
|
|
{{-- <h6 id="detail-tanggal-lahir">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Jenis Kelamin</label>--}}
|
|
{{-- <h6 id="detail-jeniskelamin">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>No Hp</label>--}}
|
|
{{-- <br>--}}
|
|
{{-- <a target="_blank" style="font-size: 16px; font-weight:600" class="badge bg-light-success" id="detail-no-hp">-</a>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Email</label>--}}
|
|
{{-- <h6 id="detail-email">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Pendidikan Terakhir</label>--}}
|
|
{{-- <h6 id="detail-pendidikan-terakhir">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Jurusan</label>--}}
|
|
{{-- <h6 id="detail-jurusan">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Divisi</label>--}}
|
|
{{-- <h6 id="detail-divisi">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Jabatan</label>--}}
|
|
{{-- <h6 id="detail-jabatan">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Mulai Bergabung</label>--}}
|
|
{{-- <h6 id="detail-startjoin">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-md-6">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Jenis Pekerja</label>--}}
|
|
{{-- <h6 id="detail-jenispekerja">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-12">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Alamat</label>--}}
|
|
{{-- <h6 id="detail-alamat">-</h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="col-12">--}}
|
|
{{-- <div class="mb-3">--}}
|
|
{{-- <label>Talent Mapping</label>--}}
|
|
{{-- <br>--}}
|
|
{{-- <h6><a href="" id="detail-talent-mapping"><i class="fa-solid fa-download"></i> Lihat Talent Mapping</a></h6>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
|
|
{{-- <div class="tab-pane fade" id="pills-histori-event" role="tabpanel" aria-labelledby="pills-histori-event-tab">--}}
|
|
{{-- <table class="table table-bordered" id="event-table">--}}
|
|
{{-- <thead>--}}
|
|
{{-- <tr>--}}
|
|
{{-- <th>Nama Event</th>--}}
|
|
{{-- <th>Tanggal Event</th>--}}
|
|
{{-- <th>Status</th>--}}
|
|
{{-- <th>Kehadiran</th>--}}
|
|
{{-- </tr>--}}
|
|
{{-- </thead>--}}
|
|
{{-- <tbody>--}}
|
|
{{-- </tbody>--}}
|
|
{{-- </table>--}}
|
|
{{-- </div>--}}
|
|
|
|
{{-- <div class="tab-pane fade" id="pills-histori-kelas" role="tabpanel" aria-labelledby="pills-histori-kelas-tab">--}}
|
|
{{-- <table class="table table-bordered" id="kelas-table">--}}
|
|
{{-- <thead>--}}
|
|
{{-- <tr>--}}
|
|
{{-- <th>Nama Kelas</th>--}}
|
|
{{-- <th>Jenis Kelas</th>--}}
|
|
{{-- <th>Tanggal Bergabung</th>--}}
|
|
{{-- <th>Status</th>--}}
|
|
{{-- </tr>--}}
|
|
{{-- </thead>--}}
|
|
{{-- <tbody>--}}
|
|
{{-- </tbody>--}}
|
|
{{-- </table>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- <div class="modal-footer d-flex justify-content-end">--}}
|
|
{{-- <button type="button" class="btn btn-secondary text-dark" data-dismiss="modal">Tutup</button>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
{{-- </div> --}}
|
|
{{-- Detail Data --}}
|
|
|
|
<!-- Add -->
|
|
<div class="modal fade" id="Create" tabindex="-1" role="dialog" aria-labelledby="editUserModalLabel"
|
|
aria-hidden="true">
|
|
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="editUserModalLabel">Tambah Guru</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true" class="font-weight-normal">×</span>
|
|
</button>
|
|
|
|
</div>
|
|
<div class="modal-body">
|
|
<form id="FormCreate" method="POST" action="/admin/guru" enctype="multipart/form-data">
|
|
@csrf
|
|
@method('POST')
|
|
<div class="row">
|
|
<div class="col-lg-3 col-md-5 col-12">
|
|
<div class="form-group">
|
|
<label for="gambar-thumb">Foto</label>
|
|
<div class="wrap-image gambar" style="width: 100%!important;">
|
|
<i class="fa-solid fa-magnifying-glass bx-lg icon"></i>
|
|
<img class="d-none" src="" alt="" style="width: 100%">
|
|
<input type="file" class="d-none gambar-thumb" id="gambar-thumb" name="foto" accept="image/*">
|
|
</div>
|
|
<small>*kosongi jika tidak ada foto</small>
|
|
@error('gambar')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="nama" class="form-label">Nama Guru<span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('nama') is-invalid @enderror" id="nama" placeholder="Masukkan nama guru" name="nama" value="{{ old('nama') }}">
|
|
@error('nama')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="tempat-lahir">Tempat Lahir</label>
|
|
<input type="text" class="form-control @error('tempat_lahir') is-invalid @enderror" id="tempat-lahir" placeholder="Masukkan tempat lahir" name="tempat_lahir" value="{{ old('tempat_lahir') }}">
|
|
@error('tempat_lahir')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="tanggal-lahir">Tanggal Lahir</label>
|
|
<input type="date" class="form-control @error('tanggal_lahir') is-invalid @enderror" id="tanggal-lahir" placeholder="Masukkan tanggal lahir" name="tanggal_lahir" value="{{ old('tanggal_lahir') }}">
|
|
@error('tanggal_lahir')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="jenis-kelamin">Jenis Kelamin</label>
|
|
<select class="form-control @error('jenis_kelamin') is-invalid @enderror" id="jenis-kelamin" name="jenis_kelamin">
|
|
<option selected disabled>--Pilih jenis kelamin anak--</option>
|
|
<option value="L" {{ old('jenis_kelamin') == 'L' ? 'selected' : '' }}>L</option>
|
|
<option value="P" {{ old('jenis_kelamin') == 'P' ? 'selected' : '' }}>P</option>
|
|
</select>
|
|
@error('jenis_kelamin')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="nohp" class="form-label">No Hp</label>
|
|
|
|
<div class="input-group">
|
|
<span class="input-group-text" id="basic-addon1" style="font-size: 14px">+62</span>
|
|
<input type="number" class="form-control @error('no_hp') is-invalid @enderror" id="nohp" placeholder="Masukkan no hp" name="no_hp" aria-describedby="basic-addon1" value="{{ old('no_hp') }}">
|
|
</div>
|
|
@error('no_hp')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="email" class="form-label">Email</label>
|
|
<input type="email" class="form-control @error('email') is-invalid @enderror" id="email" placeholder="Masukkan email" name="email" value="{{ old('email') }}">
|
|
@error('email')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="form-group">
|
|
<label for="alamat" class="form-label">Alamat</label>
|
|
<textarea style="height: 100px" class="form-control @error('alamat') is-invalid @enderror" id="alamat" rows="6" placeholder="Masukkan alamat lengkap guru" name="alamat">{{ old('alamat') }}</textarea>
|
|
@error('alamat')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
{{-- <div class="col-lg-12">--}}
|
|
{{-- <div class="form-group">--}}
|
|
{{-- <label for="gmaps">Gmaps</label>--}}
|
|
{{-- <input type="text" class="form-control @error('gmaps') is-invalid @enderror" id="gmaps" placeholder="Masukkan gmaps" name="gmaps" value="{{ old('gmaps') }}">--}}
|
|
{{-- @error('gmaps')--}}
|
|
{{-- <div class="invalid-feedback">--}}
|
|
{{-- {{ $message }}--}}
|
|
{{-- </div>--}}
|
|
{{-- @enderror--}}
|
|
{{-- </div>--}}
|
|
{{-- </div>--}}
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="pendidikan-terakhir" class="form-label">Pendidikan Terakhir</label>
|
|
<input type="text" class="form-control @error('pendidikan_terakhir') is-invalid @enderror" id="pendidikan-terakhir" placeholder="Masukkan pendidikan terakhir" name="pendidikan_terakhir" value="{{ old('pendidikan_terakhir') }}">
|
|
@error('pendidikan_terakhir')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="instansi-pendidikan" class="form-label">Instansi Pendidikan</label>
|
|
<input type="text" class="form-control @error('instansi_pendidikan') is-invalid @enderror" id="instansi-pendidikan" placeholder="Masukkan nama instansi pendidikan" name="instansi_pendidikan" value="{{ old('instansi_pendidikan') }}">
|
|
@error('instansi_pendidikan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="jurusan" class="form-label">Jurusan</label>
|
|
<input type="text" class="form-control @error('jurusan') is-invalid @enderror" id="jurusan" placeholder="Masukkan jurusan" name="jurusan" value="{{ old('jurusan') }}">
|
|
@error('jurusan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="divisi">Divisi</label>
|
|
<select class="form-control @error('divisi') is-invalid @enderror" id="divisi" name="divisi">
|
|
<option selected disabled>--Pilih divisi--</option>
|
|
@foreach($divisi_guru as $divisi)
|
|
<option value="{{ $divisi->nama_divisi }}" {{ old('divisi') == $divisi->nama_divisi ? 'selected' : '' }}>{{ $divisi->nama_divisi }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('jenis_kelamin')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="jabatan" class="form-label">Jabatan</label>
|
|
<input type="text" class="form-control @error('jabatan') is-invalid @enderror" id="jabatan" placeholder="Masukkan jabatan" name="jabatan" value="{{ old('jabatan') }}">
|
|
@error('jabatan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="level-maksimal" class="form-label">Level Maksimal Diajar <span class="text-muted">(Opsional)</span></label>
|
|
<select class="form-control @error('level_maksimal') is-invalid @enderror" id="level-maksimal" name="level_maksimal">
|
|
<option value="">-- Pilih Level Maksimal --</option>
|
|
<option value="1" {{ old('level_maksimal') == 1 ? 'selected' : '' }}>1 = Beginner</option>
|
|
<option value="2" {{ old('level_maksimal') == 2 ? 'selected' : '' }}>2 = Basic</option>
|
|
<option value="3" {{ old('level_maksimal') == 3 ? 'selected' : '' }}>3 = Intermediate</option>
|
|
<option value="4" {{ old('level_maksimal') == 4 ? 'selected' : '' }}>4 = Advance</option>
|
|
</select>
|
|
@error('level_maksimal')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="start-join">Start Join<span class="text-danger">*</span></label>
|
|
<input type="date" class="form-control @error('start_join') is-invalid @enderror" id="start-join" name="start_join" value="{{ old('start_join') }}" required>
|
|
@error('start_join')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="pekerja">Jenis Pekerja</label>
|
|
<select class="form-control @error('pekerja') is-invalid @enderror" id="pekerja" name="pekerja">
|
|
<option selected disabled>--Pilih jenis pekerja--</option>
|
|
<option value="Tetap" {{ old('pekerja') == 'Tetap' ? 'selected' : '' }}>Tetap</option>
|
|
<option value="Kontrak" {{ old('pekerja') == 'Kontrak' ? 'selected' : '' }}>Kontrak</option>
|
|
<option value="Freelance" {{ old('pekerja') == 'Freelance' ? 'selected' : '' }}>Freelance</option>
|
|
<option value="Magang" {{ old('pekerja') == 'Magang' ? 'selected' : '' }}>Magang</option>
|
|
</select>
|
|
@error('pekerja')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="status">Status<span class="text-danger">*</span></label>
|
|
<select class="form-control @error('status') is-invalid @enderror" id="status" name="status">
|
|
<option selected disabled>--Pilih status--</option>
|
|
<option value="Aktif" {{ old('status') == 'Tetap' ? 'selected' : '' }}>Aktif</option>
|
|
<option value="Non Aktif" {{ old('status') == 'Kontrak' ? 'selected' : '' }}>Non Aktif</option>
|
|
</select>
|
|
@error('status')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="no-rekening" class="form-label">No Rekening</label>
|
|
<input type="text" class="form-control @error('no_rekening') is-invalid @enderror" id="no-rekening" placeholder="Masukkan no rekening" name="no_rekening" value="{{ old('no_rekening') }}">
|
|
@error('no_rekening')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="bank-keterangan" class="form-label">Bank Keterangan</label>
|
|
<input type="text" class="form-control @error('bank_keterangan') is-invalid @enderror" id="bank-keterangan" placeholder="Ex. BCA A/N: Khoirul Anam" name="bank_keterangan" value="{{ old('bank_keterangan') }}">
|
|
@error('bank_keterangan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-12">
|
|
<div class="form-group">
|
|
<label for="talent-mapping" class="form-label">Talent Mapping</label>
|
|
<input type="file" class="form-control @error('talent_mapping') is-invalid @enderror" id="talent-mapping" placeholder="Masukkan talent mapping" name="talent_mapping" value="{{ old('talent_mapping') }}" accept="application/pdf">
|
|
@error('talent_mapping')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary text-dark" data-dismiss="modal">Tutup</button>
|
|
<button type="submit" class="btn btn-primary tambah-btn" form="FormCreate"><i class='bx bx-loader bx-spin d-none'></i> Simpan</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{-- Add --}}
|
|
|
|
<!-- edit -->
|
|
<div class="modal fade" id="Edit" tabindex="-1" role="dialog" aria-labelledby="editUserModalLabel"
|
|
aria-hidden="true">
|
|
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="editUserModalLabel">Edit Guru</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true" class="font-weight-normal">×</span>
|
|
</button>
|
|
|
|
</div>
|
|
<div class="modal-body">
|
|
<form id="FormEdit" method="POST" action="" enctype="multipart/form-data">
|
|
@csrf
|
|
@method('PUT')
|
|
<div class="row">
|
|
<div class="col-lg-3 col-md-5 col-12">
|
|
<div class="form-group">
|
|
<label for="gambaredit-thumb">Foto</label>
|
|
<div class="wrap-image gambaredit" style="width: 100%!important;">
|
|
<i class="fa-solid fa-magnifying-glass bx-lg icon"></i>
|
|
<img class="d-none" src="" alt="" style="width: 100%">
|
|
<input type="file" class="d-none gambaredit-thumb" id="gambaredit-thumb" name="foto" accept="image/*">
|
|
</div>
|
|
<small>*klik untuk mengganti foto</small>
|
|
@error('gambar')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-nama" class="form-label">Nama Guru<span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('nama') is-invalid @enderror" id="update-nama" placeholder="Masukkan nama guru" name="nama" value="{{ old('nama') }}">
|
|
@error('nama')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-tempat-lahir">Tempat Lahir</label>
|
|
<input type="text" class="form-control @error('tempat_lahir') is-invalid @enderror" id="update-tempat-lahir" placeholder="Masukkan tempat lahir" name="tempat_lahir" value="{{ old('tempat_lahir') }}">
|
|
@error('tempat_lahir')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-tanggal-lahir">Tanggal Lahir</label>
|
|
<input type="date" class="form-control @error('tanggal_lahir') is-invalid @enderror" id="update-tanggal-lahir" placeholder="Masukkan tanggal lahir" name="tanggal_lahir" value="{{ old('tanggal_lahir') }}">
|
|
@error('tanggal_lahir')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-jenis-kelamin">Jenis Kelamin</label>
|
|
<select class="form-control @error('jenis_kelamin') is-invalid @enderror" id="update-jenis-kelamin" name="jenis_kelamin">
|
|
<option selected disabled>--Pilih jenis kelamin anak--</option>
|
|
<option value="L" {{ old('jenis_kelamin') == 'L' ? 'selected' : '' }}>L</option>
|
|
<option value="P" {{ old('jenis_kelamin') == 'P' ? 'selected' : '' }}>P</option>
|
|
</select>
|
|
@error('jenis_kelamin')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-nohp" class="form-label">No Hp</label>
|
|
<div class="input-group">
|
|
<span class="input-group-text" id="basic-addon1" style="font-size: 14px">+62</span>
|
|
<input type="number" class="form-control @error('no_hp') is-invalid @enderror" id="update-nohp" placeholder="Masukkan no hp" name="no_hp" aria-describedby="basic-addon1" value="{{ old('no_hp') }}">
|
|
</div>
|
|
@error('no_hp')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-email" class="form-label">Email</label>
|
|
<input type="email" class="form-control @error('email') is-invalid @enderror" id="update-email" placeholder="Masukkan email" name="email" value="{{ old('email') }}">
|
|
@error('email')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="form-group">
|
|
<label for="update-alamat" class="form-label">Alamat</label>
|
|
<textarea style="height: 100px" class="form-control @error('alamat') is-invalid @enderror" id="update-alamat" rows="6" placeholder="Masukkan alamat lengkap guru" name="alamat">{{ old('alamat') }}</textarea>
|
|
@error('alamat')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-pendidikan-terakhir" class="form-label">Pendidikan Terakhir</label>
|
|
<input type="text" class="form-control @error('pendidikan_terakhir') is-invalid @enderror" id="update-pendidikan-terakhir" placeholder="Masukkan pendidikan terakhir" name="pendidikan_terakhir" value="{{ old('pendidikan_terakhir') }}">
|
|
@error('pendidikan_terakhir')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-instansi-pendidikan" class="form-label">Instansi Pendidikan</label>
|
|
<input type="text" class="form-control @error('instansi_pendidikan') is-invalid @enderror" id="update-instansi-pendidikan" placeholder="Masukkan nama instansi pendidikan" name="instansi_pendidikan" value="{{ old('instansi_pendidikan') }}">
|
|
@error('instansi_pendidikan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-jurusan" class="form-label">Jurusan</label>
|
|
<input type="text" class="form-control @error('jurusan') is-invalid @enderror" id="update-jurusan" placeholder="Masukkan jurusan" name="jurusan" value="{{ old('jurusan') }}">
|
|
@error('jurusan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-divisi">Divisi</label>
|
|
<select class="form-control @error('divisi') is-invalid @enderror" id="update-divisi" name="divisi">
|
|
<option selected disabled>--Pilih divisi--</option>
|
|
@foreach($divisi_guru as $divisi)
|
|
<option value="{{ $divisi->nama_divisi }}" {{ old('divisi') == $divisi->nama_divisi ? 'selected' : '' }}>{{ $divisi->nama_divisi }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('jenis_kelamin')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-jabatan" class="form-label">Jabatan</label>
|
|
<input type="text" class="form-control @error('jabatan') is-invalid @enderror" id="update-jabatan" placeholder="Masukkan jabatan" name="jabatan" value="{{ old('jabatan') }}">
|
|
@error('jabatan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-level-maksimal" class="form-label">Level Maksimal Diajar <span class="text-muted">(Opsional)</span></label>
|
|
<select class="form-control @error('level_maksimal') is-invalid @enderror" id="update-level-maksimal" name="level_maksimal">
|
|
<option value="">-- Pilih Level Maksimal --</option>
|
|
<option value="1">1 = Beginner</option>
|
|
<option value="2">2 = Basic</option>
|
|
<option value="3">3 = Intermediate</option>
|
|
<option value="4">4 = Advance</option>
|
|
</select>
|
|
@error('level_maksimal')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-start-join">Start Join<span class="text-danger">*</span></label>
|
|
<input type="date" class="form-control @error('start_join') is-invalid @enderror" id="update-start-join" name="start_join" value="{{ old('start_join') }}" required>
|
|
@error('start_join')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-pekerja">Jenis Pekerja</label>
|
|
<select class="form-control @error('pekerja') is-invalid @enderror" id="update-pekerja" name="pekerja">
|
|
<option selected disabled>--Pilih jenis pekerja--</option>
|
|
<option value="Tetap" {{ old('pekerja') == 'Tetap' ? 'selected' : '' }}>Tetap</option>
|
|
<option value="Kontrak" {{ old('pekerja') == 'Kontrak' ? 'selected' : '' }}>Kontrak</option>
|
|
<option value="Freelance" {{ old('pekerja') == 'Freelance' ? 'selected' : '' }}>Freelance</option>
|
|
<option value="Magang" {{ old('pekerja') == 'Magang' ? 'selected' : '' }}>Magang</option>
|
|
</select>
|
|
@error('pekerja')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-status">Status<span class="text-danger">*</span></label>
|
|
<select class="form-control @error('status') is-invalid @enderror" id="update-status" name="status">
|
|
<option selected disabled>--Pilih status--</option>
|
|
<option value="Aktif" {{ old('status') == 'Tetap' ? 'selected' : '' }}>Aktif</option>
|
|
<option value="Non Aktif" {{ old('status') == 'Kontrak' ? 'selected' : '' }}>Non Aktif</option>
|
|
</select>
|
|
@error('status')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-no-rekening" class="form-label">No Rekening</label>
|
|
<input type="text" class="form-control @error('no_rekening') is-invalid @enderror" id="update-no-rekening" placeholder="Masukkan no rekening" name="no_rekening" value="{{ old('no_rekening') }}">
|
|
@error('no_rekening')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="update-bank-keterangan" class="form-label">Bank Keterangan</label>
|
|
<input type="text" class="form-control @error('bank_keterangan') is-invalid @enderror" id="update-bank-keterangan" placeholder="Ex. BCA A/N: Gamma Kristian" name="bank_keterangan" value="{{ old('bank_keterangan') }}">
|
|
@error('bank_keterangan')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-12">
|
|
<div class="form-group">
|
|
<label for="update-talent-mapping" class="form-label">Talent Mapping<small>*Masukkan file baru jika ingin mengganti</small></label>
|
|
<input type="file" class="form-control @error('talent_mapping') is-invalid @enderror" id="update-talent-mapping" placeholder="Masukkan talent mapping" name="talent_mapping" value="{{ old('talent_mapping') }}" accept="application/pdf">
|
|
@error('talent_mapping')
|
|
<div class="invalid-feedback">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<input type="hidden" id="edit_id">
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary text-dark" data-dismiss="modal">Tutup</button>
|
|
<button type="submit" class="btn btn-primary edit-btn" form="FormEdit"><i class='bx bx-loader bx-spin d-none'></i> Simpan</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{-- edit --}}
|
|
|
|
<div class="main-content">
|
|
<section class="section">
|
|
<div class="section-header" style="display: flex; justify-content: space-between; align-items: center">
|
|
<h1>Guru</h1>
|
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#Create">Tambah Guru</button>
|
|
</div>
|
|
|
|
<div class="section-body">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card" id="id-table">
|
|
<div class="card-header">
|
|
<div class="sorting">
|
|
<div class="category active" data-category="Semua">Semua
|
|
<span class="badge bg-secondary">30</span>
|
|
<div class="detail-sorting">Menampilkan semua guru</div>
|
|
</div>
|
|
<div class="category" data-category="Aktif">Aktif
|
|
<span class="badge bg-secondary">0</span>
|
|
<div class="detail-sorting">Menampilkan guru yang masih aktif</div>
|
|
</div>
|
|
<div class="category" data-category="Non-Aktif">Non Aktif
|
|
<span class="badge bg-secondary">0</span>
|
|
<div class="detail-sorting">Menampilkan guru yang telah non aktif</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-header-form ">
|
|
<form>
|
|
<div class="input-group">
|
|
<input type="search" class="search form-control" placeholder="Search">
|
|
<div class="input-group-btn">
|
|
<span class="btn bg-primary text-white" style="cursor: text; border-top-left-radius: 0; border-bottom-left-radius: 0"><i class="fas fa-search"></i></span>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
|
|
<div class="table-responsive table-hover">
|
|
<table class="table-striped table-md table" id="pesertaTable">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" width="5%" class="sort asc text-center full-text" data-sort="no">#</th>
|
|
<th scope="col" width="7%" >Foto</th>
|
|
<th scope="col" width="18%" class="sort" data-sort="nama">Nama Guru</th>
|
|
<th scope="col" width="9%" class="hidden-sm sort" data-sort="nohp">No Hp</th>
|
|
<th scope="col" width="10%" class="hidden-sm sort" data-sort="ttl">TTL</th>
|
|
<th scope="col" width="12%" class="hidden-sm sort full-text" data-sort="level-maksimal">Level Maksimal</th>
|
|
<th scope="col" width="13%" class="hidden-sm sort full-text" data-sort="pendidikan-terakhir">Pend. Terakhir</th>
|
|
<th scope="col" width="8%" class="hidden-sm sort full-text" data-sort="status">Status</th>
|
|
<th scope="col" width="10%" style="text-align: center">Action</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="list">
|
|
@php
|
|
$levelMaxMap = [
|
|
1 => '1 - Beginner',
|
|
2 => '2 - Basic',
|
|
3 => '3 - Intermediate',
|
|
4 => '4 - Advance',
|
|
];
|
|
@endphp
|
|
@foreach($data as $item)
|
|
<tr class="status-{{ str_replace(' ', '-', $item->status) }}">
|
|
<td valign="middle" class="no text-center detailModal" data-id="{{ $item->id }}" scope="row">{{ $loop->iteration }}</td>
|
|
<td valign="middle" class="detailModal profile" data-id="{{ $item->id }}">
|
|
@if($item->foto == null || $item->foto == "")
|
|
@if($item->jenis_kelamin == 'P')
|
|
<img class="lazy" src="{{ asset('img/bg-load.jpg') }}" data-src="{{ asset('img/kid-woman.png') }}">
|
|
@else
|
|
<img class="lazy" src="{{ asset('img/bg-load.jpg') }}" data-src="{{ asset('img/kid-man.png') }}">
|
|
@endif
|
|
@else
|
|
<img class="lazy" src="{{ asset('img/bg-load.jpg') }}" data-src="{{ asset('storage/' . $item->foto) }}">
|
|
@endif
|
|
</td>
|
|
<td valign="middle" class="nama detailModal capitalize-text full-text" data-id="{{ $item->id }}" scope="row">{{ $item->nama }}</td>
|
|
<td valign="middle" class="nohp hidden-sm" data-id="{{ $item->id }}" scope="row">
|
|
<a class="badge bg-light-success" target="_blank" href="https://wa.me/62{{ $item->no_hp }}"><i class="fa-brands fa-whatsapp"></i> +62{{ $item->no_hp }}</a>
|
|
</td>
|
|
<td valign="middle" class="ttl hidden-sm detailModal capitalize-text" data-id="{{ $item->id }}" scope="row">
|
|
<span class="badge bg-light-secondary capitalize-text" style="">{{ $item->tempat_lahir }}</span>
|
|
<br>
|
|
<span class="badge bg-light-primary mt-1 p-1" style="border-radius: 4px!important; font-size: 0.7em">{{ \Carbon\Carbon::parse($item->tanggal_lahir)->locale('id')->translatedFormat('d M Y') }}</span>
|
|
</td>
|
|
<td valign="middle" class="level-maksimal hidden-sm detailModal text-center" data-id="{{ $item->id }}" scope="row">
|
|
@if($item->level_maksimal && isset($levelMaxMap[$item->level_maksimal]))
|
|
<span class="badge bg-light-info">{{ $levelMaxMap[$item->level_maksimal] }}</span>
|
|
@else
|
|
<span class="text-muted">-</span>
|
|
@endif
|
|
</td>
|
|
<td valign="middle" class="pendidikan-terakhir hidden-sm detailModal text-center" data-id="{{ $item->id }}" scope="row">
|
|
{{ $item->pendidikan_terakhir }}
|
|
</td>
|
|
<td valign="middle" class="hidden-sm detailModal" data-id="{{ $item->id }}" scope="row">
|
|
@if($item->status == 'Aktif')
|
|
<span class="status badge bg-light-primary">{{ str_replace(' ', '-', $item->status) }}</span>
|
|
@elseif($item->status == 'Non Aktif')
|
|
<span class="status badge bg-light-danger">{{ str_replace(' ', '-', $item->status) }}</span>
|
|
@endif
|
|
</td>
|
|
<td valign="middle" scope="row">
|
|
<div class="action d-flex justify-content-center align-items-center gap-1">
|
|
<button type="button" class="btn edit-data" data-id="{{ $item->id }}" data-toggle="modal"
|
|
data-target="#Edit">
|
|
<i class="fa-regular fa-pen-to-square"></i>
|
|
</button>
|
|
<button type="button" class="btn delete-data" data-id="{{ $item->id }}" data-toggle="modal"
|
|
data-target="#Delete">
|
|
<i class="fa-regular fa-trash-can"></i>
|
|
</button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
<tbody class="not-found" style="">
|
|
<tr>
|
|
<td colspan="9" class="text-center">-- Data Kosong --</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="d-flex justify-content-between">
|
|
<div class="d-flex">
|
|
<label for="entries">Tampilkan</label>
|
|
<select class="form-control p-0" id="entries" style="height: fit-content; width: fit-content">
|
|
<option value="25">25</option>
|
|
<option value="50">50</option>
|
|
<option value="100">100</option>
|
|
<option value="-1">Semua</option>
|
|
</select> Data
|
|
</div>
|
|
<ul class="pagination"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<script src="{{ asset('library/listjs/list.min.js') }}"></script>
|
|
<script>
|
|
$('.wrap-image.gambar').on('click', function () {
|
|
$('.gambar-thumb')[0].click()
|
|
})
|
|
|
|
$('.gambar-thumb').change(function(){
|
|
readURL(this, '.gambar')
|
|
})
|
|
|
|
$('.wrap-image.gambarplaadd').on('click', function () {
|
|
$('.gambarplaadd-thumb')[0].click()
|
|
})
|
|
|
|
$('.gambarplaadd-thumb').change(function(){
|
|
readURL(this, '.gambarplaadd')
|
|
})
|
|
|
|
$('.wrap-image.gambaredit').on('click', function () {
|
|
$('.gambaredit-thumb')[0].click()
|
|
})
|
|
|
|
$('.gambaredit-thumb').change(function(){
|
|
readURL(this, '.gambaredit')
|
|
})
|
|
|
|
$('.wrap-image.gambarplaedit').on('click', function () {
|
|
$('.gambarplaedit-thumb')[0].click()
|
|
})
|
|
|
|
$('.gambarplaedit-thumb').change(function(){
|
|
readURL(this, '.gambarplaedit')
|
|
})
|
|
|
|
function readURL(input, type) {
|
|
if (input.files && input.files[0]) {
|
|
var reader = new FileReader()
|
|
|
|
let image = `.wrap-image${type} img`
|
|
let icon = `.wrap-image${type} .icon`
|
|
reader.onload = function (e) {
|
|
$(image).removeClass('d-none').addClass('d-inline').attr('src', e.target.result)
|
|
$(icon).addClass('d-none')
|
|
};
|
|
reader.readAsDataURL(input.files[0])
|
|
}
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
const options = {
|
|
valueNames: ['no', 'nama', 'nohp', 'ttl', 'pekerja', 'level-maksimal', 'pendidikan-terakhir', 'status'],
|
|
page: 25,
|
|
pagination: true
|
|
};
|
|
|
|
const tableList = new List('id-table', options);
|
|
|
|
document.getElementById('entries').addEventListener('change', function () {
|
|
var perPage = parseInt(this.value, 10);
|
|
tableList.page = perPage === -1 ? tableList.items.length : perPage;
|
|
tableList.update();
|
|
});
|
|
|
|
checkEmptyData();
|
|
$('.category').on('click', function() {
|
|
const category = $(this).data('category');
|
|
|
|
$('.category').removeClass('active');
|
|
$(this).addClass('active');
|
|
|
|
// console.info(category);
|
|
|
|
if (category === 'Semua') {
|
|
tableList.filter();
|
|
} else {
|
|
tableList.filter(function(item) {
|
|
return item.values().status === category;
|
|
});
|
|
}
|
|
checkEmptyData()
|
|
});
|
|
|
|
function checkEmptyData() {
|
|
let num = $('.list').children().length
|
|
|
|
if (num === 0) {
|
|
$('.not-found').show()
|
|
$('.list').hide()
|
|
} else {
|
|
$('.not-found').hide()
|
|
$('.list').show()
|
|
$.ajax({
|
|
url: `/admin/guru-get-count`,
|
|
method: 'GET',
|
|
success: function (response) {
|
|
$('.category').each(function() {
|
|
const category = $(this).data('category');
|
|
|
|
let count = 0;
|
|
|
|
if (category === "Semua") {
|
|
count = response.Semua;
|
|
} else {
|
|
count = response[category] || 0;
|
|
}
|
|
|
|
$('.category[data-category="' + category + '"] .badge').text(count);
|
|
|
|
|
|
$(this).find('.badge').text(count);
|
|
});
|
|
},
|
|
error: function () {
|
|
alert('Gagal mengambil data. Silakan coba lagi.');
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function openModal(data) {
|
|
$('#update-nama').val(data.nama);
|
|
$('#update-nohp').val(data.no_hp);
|
|
$('#update-email').val(data.email);
|
|
$('#update-tempat-lahir').val(data.tempat_lahir);
|
|
$('#update-tanggal-lahir').val(data.tanggal_lahir);
|
|
$('#update-alamat').val(data.alamat);
|
|
$('#update-pendidikan-terakhir').val(data.pendidikan_terakhir);
|
|
$('#update-instansi-pendidikan').val(data.instansi_pendidikan);
|
|
$('#update-jurusan').val(data.jurusan);
|
|
$('#update-start-join').val(data.start_join);
|
|
$('#update-no-rekening').val(data.no_rekening);
|
|
$('#update-bank-keterangan').val(data.bank_keterangan);
|
|
$('#update-jabatan').val(data.jabatan);
|
|
$('#update-level-maksimal').val(data.level_maksimal || '');
|
|
$(`#update-jenis-kelamin option[value=${data.jenis_kelamin}]`).attr('selected', 'selected')
|
|
$(`#update-pekerja option[value=${data.pekerja}]`).attr('selected', 'selected')
|
|
$('#update-divisi option').filter(function() {
|
|
return $(this).text().trim() == data.divisi;
|
|
}).prop('selected', true);
|
|
$('#update-status option').filter(function() {
|
|
return $(this).text().trim() == data.status;
|
|
}).prop('selected', true);
|
|
|
|
const jenisKelamin = data.jenis_kelamin;
|
|
|
|
const assetBaseUrl = "{{ asset('storage') }}/";
|
|
const imageMan = "{{ asset('img/kid-man.png') }}";
|
|
const imageWoman = "{{ asset('img/kid-woman.png') }}";
|
|
const gambarUrl = data.foto;
|
|
|
|
if (gambarUrl){
|
|
const gambarUrl = assetBaseUrl + data.foto;
|
|
$(".wrap-image.gambaredit img").attr('src', gambarUrl).removeClass('d-none').addClass('d-inline');
|
|
$(".wrap-image.gambaredit .icon").addClass('d-none');
|
|
}else{
|
|
if (jenisKelamin === "L"){
|
|
$(".wrap-image.gambaredit img").attr('src', imageMan).removeClass('d-none').addClass('d-inline');
|
|
$(".wrap-image.gambaredit .icon").addClass('d-none');
|
|
}else if(jenisKelamin === "P"){
|
|
$(".wrap-image.gambaredit img").attr('src', imageWoman).removeClass('d-none').addClass('d-inline');
|
|
$(".wrap-image.gambaredit .icon").addClass('d-none');
|
|
}
|
|
else{
|
|
$(".wrap-image.gambaredit img").addClass('d-none').removeClass('d-inline');
|
|
$(".wrap-image.gambaredit .icon").removeClass('d-none');
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
$(document).on('click', '.edit-data', function(e) {
|
|
e.preventDefault();
|
|
let id = $(this).data('id');
|
|
|
|
$.ajax({
|
|
url: `/admin/guru-get/${id}`,
|
|
method: 'GET',
|
|
success: function (response) {
|
|
openModal(response);
|
|
},
|
|
error: function () {
|
|
alert('Gagal mengambil data. Silakan coba lagi.');
|
|
}
|
|
});
|
|
|
|
$("#FormEdit").attr('action', `/admin/guru-update/${id}`);
|
|
});
|
|
|
|
$('.list').on('click', '.detailModal', function(e) {
|
|
let id = $(this).data('id');
|
|
window.location.href = `/admin/guru/${id}/detail`;
|
|
});
|
|
|
|
/* =======================================================
|
|
* Kode lama: detail menggunakan modal (dinonaktifkan)
|
|
* Sekarang detail dialihkan ke halaman terpisah (guru_detail.blade.php)
|
|
* ======================================================= */
|
|
/*
|
|
$('.list').on('click', '.detailModal', function(e) {
|
|
$('#Detail').modal('show');
|
|
let id = $(this).data('id');
|
|
|
|
$.ajax({
|
|
url: `/admin/guru-get/${id}`,
|
|
method: 'GET',
|
|
success: function (response) {
|
|
let bank = null;
|
|
if(response.no_rekening){
|
|
bank = `
|
|
<label><span id="no-account">${response.no_rekening}</span> ${response.bank_keterangan}</label>
|
|
<i class="fa-regular fa-copy" id="copy"></i>
|
|
<span class="copy-message">Teks disalin ke clipboard</span>`
|
|
}else{
|
|
bank = `<label>-</label>`;
|
|
}
|
|
$('#detail-nama').text(response.nama ?? 'Belum Diisi');
|
|
$('#detail-tempat-lahir').text(response.tempat_lahir ?? 'Belum Diisi');
|
|
$('#detail-tanggal-lahir').text(response.tanggal_lahir_parse ?? 'Belum Diisi');
|
|
let noHp = `<i class="fa-brands fa-whatsapp"></i> +62${response.no_hp}`;
|
|
let linkWa = `https://wa.me/62${response.no_hp}`;
|
|
const detailNoHpOrangTua = $('#detail-no-hp');
|
|
detailNoHpOrangTua.html(noHp);
|
|
detailNoHpOrangTua.attr('href', linkWa);
|
|
$('#detail-email').text(response.email ?? 'Belum Diisi');
|
|
$('#detail-pendidikan-terakhir').text(response.pendidikan_terakhir ? `${response.pendidikan_terakhir} ${response.instansi_pendidikan}` : 'Belum Diisi');
|
|
$('#detail-jurusan').text(response.jurusan ?? 'Belum Diisi');
|
|
$('#detail-divisi').text(response.divisi ?? 'Belum Diisi');
|
|
$('#detail-jabatan').text(response.jabatan ?? 'Belum Diisi');
|
|
$('#detail-startjoin').text(response.start_join_parse ?? 'Belum Diisi');
|
|
$('#detail-bank').html(bank);
|
|
$('#detail-jenispekerja').text(response.pekerja ?? 'Belum Diisi');
|
|
$('#detail-alamat').text(response.alamat ?? 'Belum Diisi');
|
|
let labelStatus = `<label class="badge bg-light-danger">Status ${response.status}</label>`;
|
|
if(response.status === "Aktif"){
|
|
labelStatus = `<label class="badge bg-light-primary">Status ${response.status}</label>`
|
|
}
|
|
$('#detail-status').html(labelStatus);
|
|
|
|
const jeniskelaminselect = $('#detail-jeniskelamin');
|
|
jeniskelaminselect.text(response.jenis_kelamin ?? 'Belum Diisi');
|
|
$('#detail-keterangan').text(response.keterangan ?? 'Belum Diisi');
|
|
|
|
const jenisKelamin = response.jenis_kelamin;
|
|
if (jenisKelamin === "L") {
|
|
jeniskelaminselect.text("Laki - Laki");
|
|
} else if (jenisKelamin === "P") {
|
|
jeniskelaminselect.text("Perempuan");
|
|
}
|
|
|
|
const assetBaseUrl = "{{ asset('storage') }}/";
|
|
const imageMan = "{{ asset('img/kid-man.png') }}";
|
|
const imageWoman = "{{ asset('img/kid-woman.png') }}";
|
|
const gambarUrl = response.foto;
|
|
|
|
if (response.talent_mapping) {
|
|
let talentMapping = response.talent_mapping.startsWith('http') ?
|
|
response.talent_mapping :
|
|
`${assetBaseUrl}/${response.talent_mapping}`;
|
|
|
|
$('#detail-talent-mapping').attr('href', talentMapping);
|
|
} else {
|
|
$('#detail-talent-mapping').removeAttr('href').text('-');
|
|
}
|
|
|
|
|
|
if (gambarUrl) {
|
|
const gambarUrl = assetBaseUrl + response.foto;
|
|
$(".wrap-image.detail-foto img").attr('data-src', gambarUrl);
|
|
} else {
|
|
if (jenisKelamin === "L") {
|
|
$(".wrap-image.detail-foto img").attr('data-src', imageMan);
|
|
} else if (jenisKelamin === "P") {
|
|
$(".wrap-image.detail-foto img").attr('data-src', imageWoman);
|
|
} else {
|
|
$(".wrap-image.detail-foto img").attr('data-src', '');
|
|
}
|
|
}
|
|
|
|
const lazyImages = $('img.lazy');
|
|
|
|
const observer = new IntersectionObserver((entries, observer) => {
|
|
entries.forEach(entry => {
|
|
if (entry.isIntersecting) {
|
|
const img = entry.target;
|
|
const src = $(img).attr('data-src');
|
|
|
|
if (src) {
|
|
$(img).attr('src', src).removeAttr('data-src');
|
|
$(img).on('load', function () {
|
|
$(img).addClass('loaded');
|
|
});
|
|
}
|
|
|
|
observer.unobserve(img);
|
|
}
|
|
});
|
|
});
|
|
|
|
// Observasi semua gambar lazy
|
|
setTimeout(() => {
|
|
lazyImages.each(function () {
|
|
observer.observe(this);
|
|
});
|
|
}, 50);
|
|
|
|
$('#copy').on('click', function() {
|
|
const text = $('#no-account').text();
|
|
|
|
navigator.clipboard.writeText(text)
|
|
.then(() => {
|
|
$('.copy-message').addClass('show');
|
|
|
|
setTimeout(() => {
|
|
$('.copy-message').removeClass('show');
|
|
}, 2000);
|
|
})
|
|
.catch(err => {
|
|
console.info('Gagal menyalin teks');
|
|
console.error(err);
|
|
});
|
|
});
|
|
},
|
|
error: function () {
|
|
alert('Gagal mengambil data. Silakan coba lagi.');
|
|
}
|
|
});
|
|
});
|
|
*/
|
|
|
|
$(document).on('click', '.delete-data', function(e) {
|
|
let id = $(this).data('id');
|
|
$('#delete_id').val(id);
|
|
$("#FormDelete").attr('action',
|
|
`/admin/delete-guru/${id}`);
|
|
});
|
|
|
|
$(".tambah-btn").on("click", function () {
|
|
let $this = $(this);
|
|
let loader = $this.find(".bx-loader");
|
|
|
|
loader.removeClass("d-none");
|
|
|
|
$this.prop("disabled", true);
|
|
|
|
$("#FormCreate").submit();
|
|
});
|
|
$(".edit-btn").on("click", function () {
|
|
let $this = $(this);
|
|
let loader = $this.find(".bx-loader");
|
|
|
|
loader.removeClass("d-none");
|
|
|
|
$this.prop("disabled", true);
|
|
|
|
$("#FormEdit").submit();
|
|
});
|
|
});
|
|
</script>
|
|
@endpush
|
|
|
|
|