Sweet Alert Perhitungan
This commit is contained in:
parent
4d24eabe7a
commit
b7bd16c022
|
@ -1,72 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
use App\Models\Criteria;
|
|
||||||
use App\Models\Extracuricullar;
|
|
||||||
use App\Models\ExtracuricullarSubKriteria;
|
|
||||||
use App\Models\SubCriteria;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
class PenilaianController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Display a listing of the resource.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
// $criterias = Criteria::all();
|
|
||||||
// $extracuricullars = Extracuricullar ::all();
|
|
||||||
// $subcriterias = Subcriteria::all();
|
|
||||||
|
|
||||||
// return view('penilaian.input-nilai', compact('criterias','extracuricullars','subcriterias'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for creating a new resource.
|
|
||||||
*/
|
|
||||||
public function create()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display the specified resource.
|
|
||||||
*/
|
|
||||||
public function show(string $id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
*/
|
|
||||||
public function edit(string $id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
*/
|
|
||||||
public function update(Request $request, string $id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*/
|
|
||||||
public function destroy(string $id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -6,6 +6,7 @@
|
||||||
use App\Models\Criteria;
|
use App\Models\Criteria;
|
||||||
use App\Models\SubCriteria;
|
use App\Models\SubCriteria;
|
||||||
use App\Models\Extracuricullar;
|
use App\Models\Extracuricullar;
|
||||||
|
use Illuminate\Support\Facades\Session;
|
||||||
use App\Models\ExtracuricullarSubKriteria;
|
use App\Models\ExtracuricullarSubKriteria;
|
||||||
use RealRashid\SweetAlert\Facades\Alert;
|
use RealRashid\SweetAlert\Facades\Alert;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
@ -86,6 +87,17 @@ public function penilaian()
|
||||||
|
|
||||||
public function transformasiNilai(Request $request)
|
public function transformasiNilai(Request $request)
|
||||||
{
|
{
|
||||||
|
$validator = Validator::make($request->all(), [
|
||||||
|
'subcriteria.*.*' => 'required',
|
||||||
|
], [
|
||||||
|
'subcriteria.*.*.required' => 'Semua dropdown pada kriteria harus diisi.',
|
||||||
|
'subcriteria.*.*.exists' => 'Pilihan dropdown tidak valid.',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return redirect()->back()->withErrors($validator)->withInput();
|
||||||
|
}
|
||||||
|
|
||||||
// Ambil data nilai dari subkriteria yang dipilih dari form
|
// Ambil data nilai dari subkriteria yang dipilih dari form
|
||||||
$subcriteriaData = $request->input('subcriteria');
|
$subcriteriaData = $request->input('subcriteria');
|
||||||
|
|
||||||
|
@ -105,6 +117,7 @@ public function transformasiNilai(Request $request)
|
||||||
$transformedValues[$extracurricularId][$criteriaId] = $bobot;
|
$transformedValues[$extracurricularId][$criteriaId] = $bobot;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Session::flash('success', 'Berhasil Transformasi Nilai.');
|
||||||
|
|
||||||
// Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view
|
// Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view
|
||||||
$criterias = Criteria::all();
|
$criterias = Criteria::all();
|
||||||
|
@ -113,6 +126,35 @@ public function transformasiNilai(Request $request)
|
||||||
return view('perhitungan.transformasi-nilai', compact('criterias', 'extracuricullars', 'transformedValues'));
|
return view('perhitungan.transformasi-nilai', compact('criterias', 'extracuricullars', 'transformedValues'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// public function transformasiNilai(Request $request)
|
||||||
|
// {
|
||||||
|
// // Ambil data nilai dari subkriteria yang dipilih dari form
|
||||||
|
// $subcriteriaData = $request->input('subcriteria');
|
||||||
|
|
||||||
|
// // Inisialisasi variabel untuk menyimpan nilai hasil transformasi
|
||||||
|
// $transformedValues = [];
|
||||||
|
|
||||||
|
// // Lakukan transformasi nilai berdasarkan bobot subkriteria
|
||||||
|
// foreach ($subcriteriaData as $extracurricularId => $criteriaData) {
|
||||||
|
// foreach ($criteriaData as $criteriaId => $subcriteriaId) {
|
||||||
|
// // Ambil data sub-kriteria berdasarkan ID yang dipilih dari form
|
||||||
|
// $subcriteria = SubCriteria::findOrFail($subcriteriaId);
|
||||||
|
|
||||||
|
// // Ambil bobot dari subkriteria yang dipilih
|
||||||
|
// $bobot = $subcriteria->bobot;
|
||||||
|
|
||||||
|
// // Simpan hasil transformasi nilai ke dalam array
|
||||||
|
// $transformedValues[$extracurricularId][$criteriaId] = $bobot;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view
|
||||||
|
// $criterias = Criteria::all();
|
||||||
|
// $extracuricullars = Extracuricullar::all();
|
||||||
|
|
||||||
|
// return view('perhitungan.transformasi-nilai', compact('criterias', 'extracuricullars', 'transformedValues'));
|
||||||
|
// }
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
|
|
@ -260,6 +260,28 @@ class="badge btn-danger" data-toggle="modal"
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
<script>
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
// Event listener for the button click
|
||||||
|
$('#calculate-bobot').click(function() {
|
||||||
|
// Send AJAX request to trigger calculation
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '{{ route('kriteria.calculate') }}',
|
||||||
|
data: {
|
||||||
|
_token: '{{ csrf_token() }}'
|
||||||
|
},
|
||||||
|
success: function(response) {
|
||||||
|
swal("Sukses!", "Bobot Kriteria Berhasil Dihitung dan Disimpan.", "success")
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
console.error('Error:', error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{-- <script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// Event listener for the button click
|
// Event listener for the button click
|
||||||
$('#calculate-bobot').click(function() {
|
$('#calculate-bobot').click(function() {
|
||||||
|
@ -280,5 +302,5 @@ class="badge btn-danger" data-toggle="modal"
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script> --}}
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
@ -37,47 +37,56 @@
|
||||||
</div>
|
</div>
|
||||||
<form method="POST" action="{{ route('transformasiNilai') }}">
|
<form method="POST" action="{{ route('transformasiNilai') }}">
|
||||||
@csrf
|
@csrf
|
||||||
<div class="pb-10">
|
<div class="pb-10">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="data-table table stripe hover nowrap">
|
<table class="data-table table stripe hover nowrap">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
|
||||||
<th>No</th>
|
|
||||||
<th>Ekstrakurikuler</th>
|
|
||||||
@foreach ($criterias as $criteria)
|
|
||||||
<th>{{ $criteria->nama }}</th>
|
|
||||||
@endforeach
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@forelse ($extracuricullars as $extracuricullar)
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ $loop->iteration }}</td>
|
<th>No</th>
|
||||||
<td>{{ $extracuricullar->nama }}</td>
|
<th>Ekstrakurikuler</th>
|
||||||
@foreach ($criterias as $criteria)
|
@foreach ($criterias as $criteria)
|
||||||
<td>
|
<th>{{ $criteria->nama }}</th>
|
||||||
<select class="form-control" name="subcriteria[{{ $extracuricullar->id }}][{{ $criteria->id }}]">
|
|
||||||
<option value="" selected disabled>Pilih Sub Kriteria</option>
|
|
||||||
@foreach ($criteria->subCriteria as $subCriteria)
|
|
||||||
<option value="{{ $subCriteria->id }}">{{ $subCriteria->prioritas }} ({{ $subCriteria->nama }})</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
@endforeach
|
@endforeach
|
||||||
@empty
|
|
||||||
<tr>
|
|
||||||
<td colspan="5" class="text-center">Tidak ada data.</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
@endforelse
|
</thead>
|
||||||
</tbody>
|
<tbody>
|
||||||
</table>
|
@forelse ($extracuricullars as $extracuricullar)
|
||||||
<div class="col-sm-12">
|
<tr>
|
||||||
<div class="input-group mb-3 mx-auto">
|
<td>{{ $loop->iteration }}</td>
|
||||||
<button type="submit" class="btn btn-primary btn-lg btn-block">Transformasi Nilai</button>
|
<td>{{ $extracuricullar->nama }}</td>
|
||||||
|
@foreach ($criterias as $criteria)
|
||||||
|
<td>
|
||||||
|
<select class="form-control"
|
||||||
|
name="subcriteria[{{ $extracuricullar->id }}][{{ $criteria->id }}]"
|
||||||
|
required>
|
||||||
|
<option value="" selected disabled>Pilih Sub Kriteria
|
||||||
|
</option>
|
||||||
|
@foreach ($criteria->subCriteria as $subCriteria)
|
||||||
|
<option value="{{ $subCriteria->id }}">
|
||||||
|
{{ $subCriteria->prioritas }}
|
||||||
|
({{ $subCriteria->nama }})</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
@error("subcriteria.{$extracuricullar->id}.{$criteria->id}")
|
||||||
|
<span class="text-danger">{{ $message }}</span>
|
||||||
|
@enderror
|
||||||
|
</td>
|
||||||
|
@endforeach
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<td colspan="5" class="text-center">Tidak ada data.</td>
|
||||||
|
</tr>
|
||||||
|
@endforelse
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="input-group mb-3 mx-auto">
|
||||||
|
<button type="submit" class="btn btn-primary btn-lg btn-block">Transformasi
|
||||||
|
Nilai</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -88,7 +97,7 @@
|
||||||
</div>
|
</div>
|
||||||
@if(session('success'))
|
@if(session('success'))
|
||||||
<script>
|
<script>
|
||||||
alert('{{ session('success') }}');
|
swal("{{ session('success') }}", "success");
|
||||||
</script>
|
</script>
|
||||||
@endif
|
@endif
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
@ -330,6 +330,29 @@ class="badge btn-danger" data-toggle="modal"
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
<script>
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
// Event listener for the button click
|
||||||
|
$('#calculate-bobot').click(function() {
|
||||||
|
// Send AJAX request to trigger calculation
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '{{ route('subkriteria.calculate') }}',
|
||||||
|
data: {
|
||||||
|
_token: '{{ csrf_token() }}'
|
||||||
|
},
|
||||||
|
success: function(response) {
|
||||||
|
swal("Sukses!", "Bobot Sub Kriteria Berhasil Dihitung dan Disimpan.", "success")
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
console.error('Error:', error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- <script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// Event listener for the button click
|
// Event listener for the button click
|
||||||
$('#calculate-bobot').click(function() {
|
$('#calculate-bobot').click(function() {
|
||||||
|
@ -350,5 +373,5 @@ class="badge btn-danger" data-toggle="modal"
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script> --}}
|
||||||
@endsection
|
@endsection
|
||||||
|
|
Loading…
Reference in New Issue