diff --git a/app/Http/Controllers/PersonelController.php b/app/Http/Controllers/PersonelController.php index 7a99d49..fc4ea7b 100644 --- a/app/Http/Controllers/PersonelController.php +++ b/app/Http/Controllers/PersonelController.php @@ -21,7 +21,10 @@ public function index() $cabang_id = request()->get('cabang_id'); $cabang = request()->get('cabang'); if ($nik == "" && $name == "" && $cabang == "") { - $personels = Personel::limit($limit)->offset($page * $limit)->get(); + $personels = Personel::with(['cabang', 'lokasiCabang', 'lokasiInduk', 'pengajuan_pindah' => [ + 'lokasiAwal', + 'lokasiTujuan', + ]])->limit($limit)->offset($page * $limit)->get(); $cabangs = Cabang::all(); if (!$cabangs) abort(404); return view('personel.index', [ @@ -36,7 +39,10 @@ public function index() ], ]); } - $personels = Personel::where('nik', 'like', $nik . '%')->where('name', 'like', '%' . $name . '%'); + $personels = Personel::with(['cabang', 'lokasiCabang', 'lokasiInduk', 'pengajuan_pindah' => [ + 'lokasiAwal', + 'lokasiTujuan', + ]])->where('nik', 'like', $nik . '%')->where('name', 'like', '%' . $name . '%'); if ($cabang != "") { $personels = $personels->where('cabang_id', $cabang_id); } diff --git a/app/Models/Personel.php b/app/Models/Personel.php index 33d2e30..8f179ce 100644 --- a/app/Models/Personel.php +++ b/app/Models/Personel.php @@ -70,4 +70,9 @@ public function lokasiInduk() { return $this->belongsTo(Cabang::class, 'lokasi_induk'); } + + public function pengajuan_pindah() + { + return $this->hasMany(Pengajuan::class, 'nik', 'nik')->where('status', '=', 'diajukan')->orderBy('created_at', 'desc'); + } } diff --git a/resources/views/personel/index.blade.php b/resources/views/personel/index.blade.php index 3a9e221..e2aa902 100644 --- a/resources/views/personel/index.blade.php +++ b/resources/views/personel/index.blade.php @@ -47,6 +47,34 @@ class="py-2.5 px-5 ms-3 text-sm font-medium text-gray-900 focus:outline-none bg- +
Personel @@ -191,6 +219,9 @@ class="flex items-center justify-center px-4 py-2 text-white text-sm bg-blue-500 Tidak Pindah + + Pengajuan Pindah + @@ -283,11 +314,19 @@ class="flex items-center justify-center px-4 py-2 text-white text-sm bg-blue-500 {{ $personel->job_text }} - {{ $personel->magang ? "Magang" : "Karyawan" }} + {{ $personel->magang ? 'Magang' : 'Karyawan' }} {{ $personel->tidak_pindah ? 'Tidak pindah sampai ' . date('j F, Y', strtotime($personel->expired)) : '-' }} + + @if (count($personel->pengajuan_pindah) > 0) + + @else + - + @endif + @endforeach @@ -297,6 +336,8 @@ class="flex items-center justify-center px-4 py-2 text-white text-sm bg-blue-500 0) href="?page={{ $page - 1 }}" @endif>Back Next
+ +
@include('components.footer') @@ -329,6 +370,21 @@ function selectCabang(e) { document.getElementById('cabang-suggestion').classList.remove('flex'); } + function setPindahDetail(dataPindah) { + const body = document.querySelector('#detail-pindah-modal #body'); + body.innerHTML = ''; + dataPindah.forEach(data => { + const div = ` +
+ Dari: ${data.lokasi_awal.nama} + Ke: ${data.lokasi_tujuan.nama} + Diajukan: ${data.created_at} +
+ `; + body.innerHTML += div; + }); + } + const body = document.querySelector('body'); body.addEventListener('click', function(e) { if (!e.target.closest('#cabang-suggestion') && !e.target.closest('#cabang-search')) {