444 lines
33 KiB
PHP
444 lines
33 KiB
PHP
@section('Breadcrumb')
|
|
<div class="mt-10 mb-6">
|
|
<div class="p-0 text-navy font-bold dark:text-gray-100">
|
|
{{ __('Pemilihan Dosen') }}
|
|
</div>
|
|
<ol class="flex items-center whitespace-nowrap">
|
|
<li class="inline-flex items-center">
|
|
<a href="{{ route('dashboard.index') }}"
|
|
class="inline-flex items-center text-sm font-medium text-gray-500 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white">
|
|
<svg class="me-2 h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24"
|
|
height="24" fill="none" viewBox="0 0 24 24">
|
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
d="m4 12 8-8 8 8M6 10.5V19a1 1 0 0 0 1 1h3v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h3a1 1 0 0 0 1-1v-8.5" />
|
|
</svg>
|
|
Home
|
|
<svg class="shrink-0 size-5 text-gray-400 dark:text-neutral-600 mx-2" width="16" height="16"
|
|
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
<path d="M6 13L10 3" stroke="currentColor" stroke-linecap="round"></path>
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
<li class="inline-flex items-center text-sm font-semibold text-navy truncate dark:text-neutral-200"
|
|
aria-current="page">
|
|
Pemilihan Dosen
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('mobile-breadcrumb')
|
|
<li class="text-sm font-semibold text-gray-800 line-clamp-1 dark:text-neutral-400" aria-current="page">
|
|
Pemilihan Dosen
|
|
</li>
|
|
@endsection
|
|
|
|
<x-app-layout>
|
|
|
|
<div class="grid grid-cols-1 bg-white rounded-2xl shadow-md dark:bg-neutral-800 p-6">
|
|
|
|
<div>
|
|
<div class="flex justify-between items-center mb-4">
|
|
@role('mahasiswa')
|
|
<h2 class="text-lg font-bold text-navy dark:text-gray-100">
|
|
{{ __('Perhitungan Metode Profile Matching') }}
|
|
</h2>
|
|
@endrole
|
|
</div>
|
|
<div class="space-y-3 mb-4">
|
|
<dl class="flex flex-col sm:flex-row gap-1">
|
|
<dt class="min-w-40">
|
|
<span class="block text-sm text-gray-500 dark:text-neutral-500">Hasil
|
|
Rekomendasi Dosen berdasarkan Metode Profile Matching:</span>
|
|
</dt>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
@role('mahasiswa')
|
|
<div class="px-4 2xl:px-0 mb-5">
|
|
<div class="gap-8 lg:flex">
|
|
<div class="w-full bg-white">
|
|
<div class="hs-accordion-group">
|
|
|
|
<div class="hs-accordion active" id="hs-basic-heading-one">
|
|
<button
|
|
class="hs-accordion-toggle hs-accordion-active:text-blue-600 px-6 py-3 inline-flex items-center gap-x-3 text-sm w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:hs-accordion-active:text-blue-500 dark:text-neutral-200 dark:hover:text-neutral-400 dark:focus:text-neutral-400"
|
|
aria-expanded="true" aria-controls="hs-basic-collapse-one">
|
|
<svg class="hs-accordion-active:hidden hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 block size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
|
stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
<path d="M12 5v14"></path>
|
|
</svg>
|
|
<svg class="hs-accordion-active:block hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 hidden size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
|
stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
</svg>
|
|
Perhitungan Gap Profil
|
|
</button>
|
|
|
|
<div id="hs-basic-collapse-one"
|
|
class="hs-accordion-content w-full overflow-hidden transition-[height] duration-300"
|
|
role="region" aria-labelledby="hs-basic-heading-one">
|
|
<div class="pb-4 px-6 overflow-x-auto">
|
|
|
|
<table
|
|
class="w-full text-sm text-center rtl:text-right text-gray-500 dark:text-gray-400">
|
|
<thead
|
|
class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
|
<tr>
|
|
<th scope="col" colspan="2" rowspan="2"
|
|
class="px-6 py-3 text-center">
|
|
No
|
|
</th>
|
|
<th scope="col" colspan="2" rowspan="2"
|
|
class="px-6 py-3 text-center">
|
|
Kode Alternatif
|
|
</th>
|
|
@foreach ($data_kriteria as $item)
|
|
<th scope="col" class="px-6 py-3 text-center">
|
|
{{ $item->kode_kriteria }}
|
|
</th>
|
|
@endforeach
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($resultsGAP as $alternatif => $kriteria)
|
|
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $loop->iteration }}
|
|
</th>
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-center text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $alternatif }}
|
|
</th>
|
|
@foreach ($kriteria as $item)
|
|
<th scope="row"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ is_array($item) ? implode(', ', $item) : $item }}
|
|
</th>
|
|
@endforeach
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
<tfoot>
|
|
<tr class="font-semibold text-gray-900 dark:text-white">
|
|
<th scope="row" colspan="4" class="px-6 py-3 text-base">Data
|
|
Kriteria Mahasiswa</th>
|
|
@foreach ($selectedKriteria as $item)
|
|
@php
|
|
$subkriteria = \App\Models\Subkriteria::with('nilai')->find(
|
|
$item,
|
|
);
|
|
@endphp
|
|
<td class="px-6 py-3">
|
|
{{ $subkriteria->nilai->value ?? 'Tidak ada nilai' }}</td>
|
|
@endforeach
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hs-accordion" id="hs-basic-heading-two">
|
|
<button
|
|
class="hs-accordion-toggle hs-accordion-active:text-blue-600 px-6 py-3 inline-flex items-center gap-x-3 text-sm w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:hs-accordion-active:text-blue-500 dark:text-neutral-200 dark:hover:text-neutral-400 dark:focus:text-neutral-400"
|
|
aria-expanded="false" aria-controls="hs-basic-collapse-two">
|
|
<svg class="hs-accordion-active:hidden hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 block size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
<path d="M12 5v14"></path>
|
|
</svg>
|
|
<svg class="hs-accordion-active:block hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 hidden size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
</svg>
|
|
Pembobotan
|
|
</button>
|
|
<div id="hs-basic-collapse-two"
|
|
class="hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300"
|
|
role="region" aria-labelledby="hs-basic-heading-two">
|
|
<div class="pb-4 px-6 overflow-x-auto">
|
|
|
|
<table
|
|
class="w-full text-sm text-center rtl:text-right text-gray-500 dark:text-gray-400">
|
|
<thead
|
|
class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
|
<tr>
|
|
<th scope="col" colspan="2" rowspan="2"
|
|
class="px-6 py-3 text-center">
|
|
No
|
|
</th>
|
|
<th scope="col" colspan="2" rowspan="2"
|
|
class="px-6 py-3 text-center">
|
|
Kode Alternatif
|
|
</th>
|
|
@foreach ($data_kriteria as $item)
|
|
<th scope="col" class="px-6 py-3 text-center">
|
|
{{ $item->kode_kriteria }}
|
|
</th>
|
|
@endforeach
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($normalizedGAP as $alternatif => $kriteria)
|
|
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $loop->iteration }}
|
|
</th>
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-center text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $alternatif }}
|
|
</th>
|
|
@foreach ($kriteria as $item)
|
|
<th scope="row"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ is_array($item) ? implode(', ', $item) : $item }}
|
|
</th>
|
|
@endforeach
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hs-accordion" id="hs-basic-heading-three">
|
|
<button
|
|
class="hs-accordion-toggle hs-accordion-active:text-blue-600 px-6 py-3 inline-flex items-center gap-x-3 text-sm w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:hs-accordion-active:text-blue-500 dark:text-neutral-200 dark:hover:text-neutral-400 dark:focus:text-neutral-400"
|
|
aria-expanded="false" aria-controls="hs-basic-collapse-three">
|
|
<svg class="hs-accordion-active:hidden hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 block size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
<path d="M12 5v14"></path>
|
|
</svg>
|
|
<svg class="hs-accordion-active:block hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 hidden size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
</svg>
|
|
Perhitungan Core Factor dan Secondary Factor
|
|
</button>
|
|
<div id="hs-basic-collapse-three"
|
|
class="hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300"
|
|
role="region" aria-labelledby="hs-basic-heading-three">
|
|
<div class="pb-4 px-6 overflow-x-auto">
|
|
|
|
<table
|
|
class="w-full text-sm text-center rtl:text-right text-gray-500 dark:text-gray-400">
|
|
<thead
|
|
class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
|
<tr>
|
|
<th scope="col" colspan="2" rowspan="3"
|
|
class="px-6 py-3 text-center">No</th>
|
|
<th scope="col" colspan="2" rowspan="3"
|
|
class="px-6 py-3 text-center">Kode Alternatif</th>
|
|
@foreach ($data_aspek as $item)
|
|
<th scope="col" colspan="4" class="px-6 py-3 text-center">
|
|
{{ $item->kode_aspek }}
|
|
</th>
|
|
@endforeach
|
|
</tr>
|
|
<tr>
|
|
@foreach ($data_aspek as $item)
|
|
<th scope="col" colspan="2" class="px-6 py-3 text-center">
|
|
NCF</th>
|
|
<th scope="col" colspan="2" class="px-6 py-3 text-center">
|
|
NSF</th>
|
|
@endforeach
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($factorValue as $alternatif => $aspek)
|
|
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $loop->iteration }}
|
|
</th>
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-center text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $alternatif }}
|
|
</th>
|
|
@foreach ($aspek as $kriteria => $faktor)
|
|
<td scope="row" colspan="2"
|
|
class="px-6 py-4 text-center text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $faktor['NCF'] ?? '-' }}
|
|
</td>
|
|
<td scope="row" colspan="2"
|
|
class="px-6 py-4 text-center text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $faktor['NSF'] ?? '-' }}
|
|
</td>
|
|
@endforeach
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hs-accordion" id="hs-basic-heading-four">
|
|
<button
|
|
class="hs-accordion-toggle hs-accordion-active:text-blue-600 px-6 py-3 inline-flex items-center gap-x-3 text-sm w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:hs-accordion-active:text-blue-500 dark:text-neutral-200 dark:hover:text-neutral-400 dark:focus:text-neutral-400"
|
|
aria-expanded="false" aria-controls="hs-basic-collapse-four">
|
|
<svg class="hs-accordion-active:hidden hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 block size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
<path d="M12 5v14"></path>
|
|
</svg>
|
|
<svg class="hs-accordion-active:block hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 hidden size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
</svg>
|
|
Perhitungan Nilai Total Tiap Aspek
|
|
</button>
|
|
<div id="hs-basic-collapse-four"
|
|
class="hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300"
|
|
role="region" aria-labelledby="hs-basic-heading-four">
|
|
<div class="pb-4 px-6 overflow-x-auto">
|
|
|
|
<table
|
|
class="w-full text-sm text-center rtl:text-right text-gray-500 dark:text-gray-400">
|
|
<thead
|
|
class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
|
<tr>
|
|
<th scope="col" colspan="2" rowspan="2"
|
|
class="px-6 py-3 text-center">
|
|
No
|
|
</th>
|
|
<th scope="col" colspan="2" rowspan="2"
|
|
class="px-6 py-3 text-center">
|
|
Kode Alternatif
|
|
</th>
|
|
@foreach ($data_aspek as $item)
|
|
<th scope="col" class="px-6 py-3 text-center">
|
|
{{ $item->kode_aspek }}
|
|
</th>
|
|
@endforeach
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($totalValue as $alternatif => $aspek)
|
|
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $loop->iteration }}
|
|
</th>
|
|
<th scope="row" colspan="2"
|
|
class="px-6 py-4 font-medium text-center text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $alternatif }}
|
|
</th>
|
|
@foreach ($aspek as $factor => $value)
|
|
<th scope="row"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ is_array($value) ? implode(', ', $value) : $value }}
|
|
</th>
|
|
@endforeach
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hs-accordion" id="hs-basic-heading-five">
|
|
<button
|
|
class="hs-accordion-toggle hs-accordion-active:text-blue-600 px-6 py-3 inline-flex items-center gap-x-3 text-sm w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:hs-accordion-active:text-blue-500 dark:text-neutral-200 dark:hover:text-neutral-400 dark:focus:text-neutral-400"
|
|
aria-expanded="false" aria-controls="hs-basic-collapse-five">
|
|
<svg class="hs-accordion-active:hidden hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 block size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
<path d="M12 5v14"></path>
|
|
</svg>
|
|
<svg class="hs-accordion-active:block hs-accordion-active:text-blue-600 hs-accordion-active:group-hover:text-blue-600 hidden size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400"
|
|
xmlns="http://www.w3.org/2000/svg" width="24" height="24"
|
|
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M5 12h14"></path>
|
|
</svg>
|
|
Perankingan
|
|
</button>
|
|
<div id="hs-basic-collapse-five"
|
|
class="hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300"
|
|
role="region" aria-labelledby="hs-basic-heading-five">
|
|
<div class="pb-4 px-6 overflow-x-auto">
|
|
|
|
<table
|
|
class="w-full text-sm text-center rtl:text-right text-gray-500 dark:text-gray-400">
|
|
<thead
|
|
class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
|
<tr>
|
|
<th scope="col" class="px-6 py-3 text-center">
|
|
Kode Alternatif
|
|
</th>
|
|
<th scope="col" class="px-6 py-3 text-center">
|
|
Nilai Akhir
|
|
</th>
|
|
<th scope="col" class="px-6 py-3 text-center">
|
|
Ranking
|
|
</th>
|
|
{{-- <th scope="col" class="px-6 py-3 text-center">
|
|
Pilih Dosen
|
|
</th> --}}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($ranking as $index => $result)
|
|
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
|
<th scope="row"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $result['dosenName'] }}
|
|
</th>
|
|
<th scope="row"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $result['hasilAkhir'] }}
|
|
</th>
|
|
<th scope="row"
|
|
class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white">
|
|
{{ $result['rank'] }}
|
|
</th>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endrole
|
|
</div>
|
|
</x-app-layout>
|