Unfinished Menu Penilaian
This commit is contained in:
parent
16201aa28e
commit
d2cf7e62d7
|
@ -3,14 +3,36 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Penilaian;
|
||||
use App\Models\Alternatif;
|
||||
use App\Models\Kriteria;
|
||||
use App\Models\SubKriteria;
|
||||
|
||||
class PenilaianAlternatifController extends Controller
|
||||
{
|
||||
function index() {
|
||||
return view('pages.penilaian.index');
|
||||
$penilaian = Penilaian::with(['guru','kriteria','subKriteria'])->get();
|
||||
return view('pages.penilaian.index',compact('penilaian'));
|
||||
}
|
||||
|
||||
function create() {
|
||||
return view('pages.penilaian.form');
|
||||
$alternatif = Alternatif::with('alternatif')->get();
|
||||
$kriteria = Kriteria::get();
|
||||
$subKriteria = SubKriteria::get();
|
||||
return view('pages.penilaian.form', compact(['alternatif','kriteria','subKriteria']));
|
||||
}
|
||||
|
||||
function store(Request $request) {
|
||||
$kriteria = $request->id_kriteria;
|
||||
$subKriteria = $request->id_sub;
|
||||
|
||||
for ($i=0; $i < count($kriteria); $i++) {
|
||||
$penilaian = new Penilaian;
|
||||
$penilaian->periode = $request->periode;
|
||||
$penilaian->id_alternatif = $request->id_alternatif;
|
||||
$penilaian->id_kriteria = $kriteria[$i];
|
||||
$penilaian->id_sub = $subKriteria[$i];
|
||||
$penilaian->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Penilaian extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'penilaian_alternatif';
|
||||
|
||||
protected $fillable = [
|
||||
'periode', 'id_alternatif', 'id_kriteria', 'id_sub',
|
||||
];
|
||||
|
||||
public function guru(){
|
||||
return $this->hasOne(Alternatif::class, 'id', 'id_alternatif');
|
||||
}
|
||||
public function kriteria(){
|
||||
return $this->hasOne(Kriteria::class, 'id', 'id_kriteria');
|
||||
}
|
||||
public function subKriteria(){
|
||||
return $this->hasOne(SubKriteria::class, 'id', 'id_sub');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreatePenilaianAlternatifTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('penilaian_alternatif', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('periode');
|
||||
$table->unsignedBigInteger('id_alternatif');
|
||||
$table->foreign('id_alternatif')->references('id')->on('mst_alternatif')->onDelete('restrict')->onUpdate('cascade');
|
||||
$table->unsignedBigInteger('id_kriteria');
|
||||
$table->foreign('id_kriteria')->references('id')->on('mst_kriteria')->onDelete('restrict')->onUpdate('cascade');
|
||||
$table->unsignedBigInteger('id_sub');
|
||||
$table->foreign('id_sub')->references('id')->on('mst_sub_kriteria')->onDelete('restrict')->onUpdate('cascade');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('penilaian_alternatif');
|
||||
}
|
||||
}
|
|
@ -4,26 +4,24 @@
|
|||
|
||||
@section('content')
|
||||
<div class="card border-top-primary shadow mb-4">
|
||||
<form action="">
|
||||
<form action="{{ url('penilaian-alternatif/store') }}" method="POST">
|
||||
@csrf
|
||||
<div class="card-body pt-3">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group">
|
||||
<label for="">Periode</label>
|
||||
<select name="" id="" class="form-control">
|
||||
<option value="">Pilih</option>
|
||||
<option value="">Periode 1</option>
|
||||
<option value="">Periode 2</option>
|
||||
</select>
|
||||
<input type="text" class="form-control" name="periode">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group">
|
||||
<label for="">Alternatif</label>
|
||||
<select name="" id="" class="form-control">
|
||||
<select name="id_alternatif" class="form-control">
|
||||
<option value="">Pilih</option>
|
||||
<option value="">Alternatif 1</option>
|
||||
<option value="">Alternatif 2</option>
|
||||
@foreach ($alternatif as $alt)
|
||||
<option value="{{ $alt->id }}">{{ $alt->alternatif['nama_guru'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -32,56 +30,33 @@
|
|||
<hr style="border: 1px solid; margin-top:0px">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>Kriteria</td>
|
||||
<td>Nilai</td>
|
||||
<td><b>Kriteria</b></td>
|
||||
<td width="30%"><b>Sub Kriteria</b></td>
|
||||
</tr>
|
||||
@foreach ($kriteria as $item)
|
||||
<tr>
|
||||
<td>
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="customCheck">
|
||||
<label class="custom-control-label" for="customCheck">Kriteria 1</label>
|
||||
</div>
|
||||
<td scope="row">
|
||||
<input type="hidden" value="{{ $item->id }}" name="id_kriteria[]">
|
||||
{{ $loop->iteration }}. {{ $item->nama_kriteria }}
|
||||
</td>
|
||||
<td>
|
||||
<select name="" id="" class="form-control mb-2">
|
||||
<select name="id_sub[]" class="form-control mb-2">
|
||||
<option value="">Pilih</option>
|
||||
<option value="">Nilai 1</option>
|
||||
<option value="">Nilai 2</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="customCheck">
|
||||
<label class="custom-control-label" for="customCheck">Kriteria 2</label>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<select name="" id="" class="form-control mb-2">
|
||||
<option value="">Pilih</option>
|
||||
<option value="">Nilai 1</option>
|
||||
<option value="">Nilai 2</option>
|
||||
@foreach ($subKriteria as $sub)
|
||||
<option value="{{ $sub->id }}">{{ $sub->sub_kriteria }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<label for="" class="mt-3"><b>Keterangan Nilai</b></label>
|
||||
<p>*Untuk kriteria Daya Tahan, Umur, & Harga</p>
|
||||
<label for="" class="ml-4 mb-0">1 = Sangat Baik</label><br>
|
||||
<label for="" class="ml-4 mb-0">2 = Baik</label><br>
|
||||
<label for="" class="ml-4 mb-0">3 = Biasa</label><br>
|
||||
<label for="" class="ml-4 mb-0">4 = Buruk</label><br>
|
||||
<label for="" class="ml-4 mb-0">5 = Sangat Buruk</label>
|
||||
|
||||
<p class="mt-4">*Untuk layanan Purna Jual</p>
|
||||
<label for="" class="ml-4 mb-0">1 = Sangat Baik</label><br>
|
||||
<label for="" class="ml-4 mb-0">2 = Baik</label><br>
|
||||
<label for="" class="ml-4 mb-0">3 = Biasa</label><br>
|
||||
<label for="" class="ml-4 mb-0">4 = Buruk</label><br>
|
||||
<label for="" class="ml-4 mb-0">5 = Sangat Buruk</label>
|
||||
<p class="mb-0">*Bobot pada setiap Sub Kriteria</p>
|
||||
@foreach ($subKriteria as $subs)
|
||||
<label for="" class="ml-4 mb-0">{{ $subs->bobot }} = {{ $subs->sub_kriteria }}</label><br>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -13,29 +13,29 @@
|
|||
<a href="{{ route('create_penilaian') }}" class="btn btn-sm btn-primary">Tambah Nilai Alternatif</a>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
|
||||
<table class="table table-bordered table-sm" width="100%" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="5%">No</th>
|
||||
<th>Periode</th>
|
||||
<th>Alternatif</th>
|
||||
<th>Kriteria</th>
|
||||
<th>Nilai</th>
|
||||
<th class="text-center" width="5%">No</th>
|
||||
<th class="text-center">Alternatif</th>
|
||||
<th class="text-center" width="50%">Kriteria</th>
|
||||
<th class="text-center">Nilai</th>
|
||||
<th class="text-center">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($penilaian as $item)
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>2023</td>
|
||||
<td>Guru 1</td>
|
||||
<td>Kriteria 1</td>
|
||||
<td>Nilai</td>
|
||||
<td class="text-center">{{ $loop->iteration }}</td>
|
||||
<td>{{ $item->guru->alternatif['nama_guru'] }}</td>
|
||||
<td>{{ $item->kriteria['nama_kriteria'] }}</td>
|
||||
<td class="text-center">{{ $item->subKriteria['sub_kriteria'] }}</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-sm btn-warning">Edit</button>
|
||||
<button class="btn btn-sm btn-danger">Hapus</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
@ -84,6 +84,7 @@ Route::middleware(['auth'])->group(function () {
|
|||
Route::prefix('penilaian-alternatif')->group(function () {
|
||||
Route::get('/', [PenilaianAlternatifController::class, 'index'])->name('penilaian_alternatif');
|
||||
Route::get('/tambah', [PenilaianAlternatifController::class, 'create'])->name('create_penilaian');
|
||||
Route::post('/store', [PenilaianAlternatifController::class, 'store'])->name('store_penilaian');
|
||||
});
|
||||
Route::prefix('proses-saw')->group(function () {
|
||||
Route::get('/', [PerhitunganController::class, 'index'])->name('proses_saw');
|
||||
|
|
Loading…
Reference in New Issue