main
Ilham Wara Nugroho 2026-01-15 14:54:41 +07:00
parent c5e0572ab4
commit b36f5640aa
5 changed files with 218 additions and 77 deletions

View File

@ -7,6 +7,7 @@ use App\Models\Kuesioner;
use App\Models\KuesionerLog; use App\Models\KuesionerLog;
use App\Models\ProfileSekolah; use App\Models\ProfileSekolah;
use App\Models\Master\FormKriteria; use App\Models\Master\FormKriteria;
use App\Models\DokumenAdministrasi;
use App\Models\Penilaian; use App\Models\Penilaian;
use App\Models\SK; use App\Models\SK;
use App\Models\Usulan; use App\Models\Usulan;
@ -121,9 +122,11 @@ class HomeController extends Controller
foreach ($usulan as $key => $row) { foreach ($usulan as $key => $row) {
$action = ''; $action = '';
$sekolah = ''; $sekolah = '';
$sekolah .= @$row->sekolah->nama_sekolah.'<br>'; $sekolah .= @$row->sekolah->nama_sekolah.'&nbsp;';
$sekolah .= '<span class="badge bg-success-light text-success">'.@$row->profile->tingkat->name.'</span>&nbsp;'; $sekolah .= '<span class="badge bg-info-light text-info">'.@$row->profile->tingkat->name.'</span>&nbsp;';
$sekolah .= '<span class="badge bg-primary-light text-primary">'.@$row->profile->status_sekolah.'</span>&nbsp;'; $sekolah .= '<span class="badge bg-primary-light text-primary">'.@$row->profile->status_sekolah.'</span>&nbsp;';
if(($row->level+1) == 1){ if(($row->level+1) == 1){
@ -148,9 +151,14 @@ class HomeController extends Controller
$usulanAwal = 'Adiwiyata Mandiri'; $usulanAwal = 'Adiwiyata Mandiri';
} }
$dataSekolah = '';
$dataSekolah .= @$sekolah.'<br>';
$dataSekolah .= 'Usulan '.@$row->tahun.' : '.@$jenis_usulan.'<br>';
$_data[] = [ $_data[] = [
'no' => $key+1, 'no' => $key+1,
'dataSekolah' => @$dataSekolah,
'nama_sekolah' => @$sekolah, 'nama_sekolah' => @$sekolah,
'npsn' => @$row->sekolah->npsn, 'npsn' => @$row->sekolah->npsn,
'kab' => @$row->sekolah->kabupaten->name, 'kab' => @$row->sekolah->kabupaten->name,
@ -158,8 +166,136 @@ class HomeController extends Controller
'tahun' => @$row->tahun, 'tahun' => @$row->tahun,
'usulan_sebelumnya' => @$usulanAwal, 'usulan_sebelumnya' => @$usulanAwal,
'pengajuan_usulan' => @$jenis_usulan, 'pengajuan_usulan' => @$jenis_usulan,
'status' => kuesionerLogStatus($row->KuesionerId),
]; ];
} }
return response()->json($_data); return response()->json($_data);
} }
public function gridAdministrasi(Request $request)
{
if(session('group_alias') == 'sekolah'){
$kuesioner = Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->orderBy('created_at','DESC')->get();
}else{
if(session('kabupaten_id') != ''){
$kuesioner = Kuesioner::whereHas('dokumen',function($query){
$query->where('status',0);
})->whereHas('sekolah',function($query){
$query->where('ms_kabupaten_id',session('kabupaten_id'));
})->orderBy('created_at','DESC')->get();
}else{
$kuesioner = Kuesioner::whereHas('dokumen',function($query){
$query->where('status',0);
})->orderBy('created_at','DESC')->limit(5)->get();
}
}
foreach ($kuesioner as $key => $row) {
$action = '';
// if((access('is_create', $this->route.'.*')) || (access('is_update', $this->route.'.*'))){
// $action .= '<a href="#" data-secureid="'.encode_id($row->KuesionerId).'" data-toggle="modal" data-target="#modal" title="View Data" data-jenisusulan="'.$jenis_usulan.'" class="btn btn-xs btn-block btn-primary btnModal"><i class="fal fa-pencil text-white"></i></a>';
// }
if(($row->level+1) == 1){
$jenis_usulan = '<span class="badge bg-success-light text-success">Adiwiyata Kab/Kota</span>';
}elseif(($row->level+1) == 2){
$jenis_usulan = '<span class="badge bg-primary-light text-primary">Adiwiyata Provinsi</span>';
}elseif(($row->level+1) == 3){
$jenis_usulan = '<span class="badge bg-info-light text-info">Adiwiyata Nasional</span>';
}elseif(($row->level+1) == 4){
$jenis_usulan = '<span class="badge bg-warning-light text-warning">Adiwiyata Mandiri</span>';
}
$usulan = Usulan::where('sekolah','like','%'.$row->ms_sekolah_id.'%')->first();
$dok = DokumenAdministrasi::where('ms_sekolah_id',$row->ms_sekolah_id)->where('tahun',date('Y'))->first();
if(session('group_alias') == 'sekolah'){
if((@$dok->status == 0) || (@$dok->status == 2)){
if(@$dok->status != 0){
if($row->tahun == date('Y')){
$action .= '<a href="#" data-filetim="'.@$dok->file_sk_tim.'" data-fileusulan="'.@$dok->file_usulan.'" data-link="'.@$dok->link.'" data-level="'.$row->level.'" data-secureid="'.encode_id($row->KuesionerId).'" data-toggle="modal" data-target="#modal" title="View Data" data-jenisusulan="'.$jenis_usulan.'" class="btn btn-xs btn-block btn-primary btnModal"><i class="fal fa-pencil text-white"></i></a>';
}
}
}
}
// $action .= '<a href="#" data-link="'.@$dok->link.'" data-jenisusulan="'.$jenis_usulan.'" class="btn btn-xs btn-block btn-secondary toggle-row" data-toggle="tooltip" data-placement="top" title="JUDUL"><i class="fal fa-list text-white"></i></a>';
if((session('group_alias') == 'dinas') || (session('group_alias') == 'suku_dinas')){
if(@$dok){
if(@$dok->status == 0){
if($row->tahun == date('Y')){
$action .= '<a href="#" data-href="'.url('usulan/adiwiyata/administrasi/verifikasi/'.encode_id($dok->DokumenAdministrasiId)).'" data-toggle="tooltip" title="Verifikasi Data" class="btn btn-xs btn-block btn-success verifikasi"><i class="fal fa-check text-white"></i></a>';
$action .= '<a href="#" data-href="'.url('usulan/adiwiyata/administrasi/tolak/'.encode_id($dok->DokumenAdministrasiId)).'" data-toggle="tooltip" title="Verifikasi Data" class="btn btn-xs btn-block btn-danger tolak"><i class="fal fa-times text-white"></i></a>';
}
}
}else{
if($row->tahun == date('Y')){
$action .= '<a href="#" data-href="'.url('usulan/adiwiyata/administrasi/tolak_kosong/'.encode_id($row->KuesionerId)).'" data-toggle="tooltip" title="Verifikasi Data" class="btn btn-xs btn-block btn-danger tolak"><i class="fal fa-times text-white"></i></a>';
}
}
}
$fileUsulan = '';
$fileUsulan .= '<div class="btn-group">
<button type="button" class="btn btn-success btn-sm dropdown-toggle" data-toggle="dropdown">Lihat File</button>
<div class="dropdown-menu">';
if(@$dok->link){
$fileUsulan .= '<a download href="'.asset('uploads/'.@$dok->link).'" class="dropdown-item">Download SK Adiwiyata</a>';
}
if(@$dok->file_usulan){
$fileUsulan .= '<a download href="'.asset('uploads/'.@$dok->file_usulan).'" class="dropdown-item">Download Surat Usulan</a>';
}
if(@$dok->file_sk_tim){
$fileUsulan .= '<a download href="'.asset('uploads/'.@$dok->file_sk_tim).'" class="dropdown-item">Download SK Tim Adiwiyata</a>';
}
$fileUsulan .= '</div>
</div>';
if(@$dok){
if(@$dok->status == 1){
$labelDok = '<span class="badge bg-success-light">Dokumen Di Verifikasi</span>';
}elseif(@$dok->status == 2){
$labelDok = '<span class="badge bg-danger-light">Dokumen Di Tolak</span>';
}else{
$labelDok = '<span class="badge bg-warning-light">Menuggu Verifikasi Dokumen</span>';
}
}else{
$labelDok = '<span class="badge bg-danger-light">Belum Upload Dokumen</span>';
}
// if($row->status == 0){
// $labelDok .= '<br><span class="badge bg-danger-light">Menunggu Usulan Dari Dinas/Sudin</span>';
// }
$sekolah = '';
$sekolah .= @$row->sekolah->nama_sekolah.'&nbsp;';
$sekolah .= '<span class="badge bg-info-light text-info">'.@$row->profile->tingkat->name.'</span>&nbsp;';
$sekolah .= '<span class="badge bg-primary-light text-primary">'.@$row->profile->status_sekolah.'</span>&nbsp;';
$dataSekolah = '';
$dataSekolah .= @$sekolah.'<br>';
$dataSekolah .= 'Usulan '.@$row->tahun.' : '.@$jenis_usulan.'<br>';
$_data[] = [
'no' => $key+1,
'id' => encode_id($row->id),
'npsn' => $row->sekolah->npsn,
'dataSekolah' => @$dataSekolah,
'nama' => $sekolah,
'tahun' => $row->tahun,
'status' => $labelDok,
'status_level' => '<span style="width:100%" class="badge bg-secondary">Level '.levelAdiwiyata($row->npsn).'</span>',
'wilayah' => $row->sekolah->kabupaten->name,
'kecamatan' => $row->sekolah->kecamatan->name,
'jenis_usulan' => '<span class="badge bg-success-light">'.$jenis_usulan.'</span>',
'fileUsulan' => $fileUsulan,
'action' => $action,
];
}
return response()->json($_data);
}
} }

View File

@ -40,4 +40,9 @@ class Kuesioner extends Model
{ {
return $this->belongsTo(\App\Models\ProfileSekolah::class,'ms_sekolah_id','ms_sekolah_id'); return $this->belongsTo(\App\Models\ProfileSekolah::class,'ms_sekolah_id','ms_sekolah_id');
} }
public function dokumen()
{
return $this->belongsTo(\App\Models\DokumenAdministrasi::class,'KuesionerId','kuesioner_id');
}
} }

View File

@ -166,15 +166,55 @@
</div> </div>
</div> </div>
<div class="row mt-4"> <div class="row mt-4">
<div class="col-lg-6">
<div class="col-lg-12"> <div id="panel-4" class="card">
<div class="card-header d-flex justify-content-between">
<h5 class="fw-500 text-primary">Usulan Administrasi</h5>
<a href="{{ url('usulan/adiwiyata/administrasi') }}"><u>Lihat Semua&nbsp;<i class="fal fa-arrow-right"></i></u></a>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table w-100"
data-search="false"
data-toggle="table"
data-pagination="true"
data-toolbar="#toolbar"
data-show-refresh="false"
data-url="{{route($route.'.gridAdministrasi')}}"
data-ajax-options='{"xhrFields": {"withCredentials": true}}'
data-sort-name="ids"
data-sort-order="desc"
data-page-size="10"
data-id-field="id"
id="grid-data">
<thead class="table-secondary">
<tr>
<th data-field="action">No</th>
<th data-field="dataSekolah">Data Sekolah</th>
<th data-field="fileUsulan">File</th>
<th data-field="status">Status</th>
{{-- <th data-field="nama_sekolah">Nama Sekolah</th> --}}
{{-- <th data-field="kab">Kab/Kota</th> --}}
{{-- <th data-field="kecamatan">Kecamatan</th> --}}
{{-- <th data-field="tahun">Tahun</th> --}}
{{-- <th data-field="usulan_sebelumnya">Usulan Sebelumnya</th> --}}
{{-- <th data-field="pengajuan_usulan">Pengajuan Usulan</th> --}}
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div id="panel-4" class="card"> <div id="panel-4" class="card">
<div class="card-header bg-primary-light"> <div class="card-header bg-primary-light">
<h5 class="fw-500 text-primary">Usulan Adiwiyata</h5> <h5 class="fw-500 text-primary">Usulan Adiwiyata</h5>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="table-responsive"> <div class="table-responsive">
<div id="toolbar"> {{-- <div id="toolbar">
<div class="d-flex align-items-center gap-2"> <div class="d-flex align-items-center gap-2">
<div> <div>
<b>Filter :</b> <b>Filter :</b>
@ -187,9 +227,9 @@
</select> </select>
</div> </div>
</div> </div>
</div> </div> --}}
<table class="table w-100" <table class="table w-100"
data-search="true" data-search="false"
data-toggle="table" data-toggle="table"
data-pagination="true" data-pagination="true"
data-toolbar="#toolbar" data-toolbar="#toolbar"
@ -204,13 +244,14 @@
<thead class="bg-primary-light text-primary"> <thead class="bg-primary-light text-primary">
<tr> <tr>
<th data-field="no">No</th> <th data-field="no">No</th>
<th data-field="npsn">NPSN</th> <th data-field="dataSekolah">Data Sekolah</th>
<th data-field="nama_sekolah">Nama Sekolah</th> <th data-field="status">Status</th>
<th data-field="kab">Kab/Kota</th> {{-- <th data-field="nama_sekolah">Nama Sekolah</th> --}}
<th data-field="kecamatan">Kecamatan</th> {{-- <th data-field="kab">Kab/Kota</th> --}}
<th data-field="tahun">Tahun</th> {{-- <th data-field="kecamatan">Kecamatan</th> --}}
<th data-field="usulan_sebelumnya">Usulan Sebelumnya</th> {{-- <th data-field="tahun">Tahun</th> --}}
<th data-field="pengajuan_usulan">Pengajuan Usulan</th> {{-- <th data-field="usulan_sebelumnya">Usulan Sebelumnya</th> --}}
{{-- <th data-field="pengajuan_usulan">Pengajuan Usulan</th> --}}
</tr> </tr>
</thead> </thead>
<tbody></tbody> <tbody></tbody>

View File

@ -82,7 +82,7 @@
</div> </div>
</div> </div>
<div class="row mb-4"> <div class="row mb-4">
<div class="col-md-12"> <div class="col-md-6">
<div class="card"> <div class="card">
<div class="card-header bg-primary-light border-none"> <div class="card-header bg-primary-light border-none">
<div class="d-flex justify-content-between align-items-center"> <div class="d-flex justify-content-between align-items-center">
@ -93,10 +93,13 @@
</div> </div>
</div> </div>
<div> <div>
<h5 class="f12 fw-700 text-primary">{{@$profile->sekolah->nama_sekolah}}</h5> <div class="d-flex gap-1 align-items-center mb-2">
<h5 class="f12 text-primary">NPSN : {{@$profile->sekolah->npsn}}</h5> <span class="f14 fw-700 text-primary">{{@$profile->sekolah->nama_sekolah}}</span>
<span class="badge bg-warning-light text-warning">{{session('tingkat_sekolah')}}</span> <span class="badge bg-warning text-white">{{session('tingkat_sekolah')}}</span>
<span class="badge bg-success-light text-success">{{session('status_sekolah')}}</span> <span class="badge bg-success text-white">{{session('status_sekolah')}}</span>
</div>
<h5 class="f14 text-primary">NPSN : {{@$profile->sekolah->npsn}}</h5>
</div> </div>
</div> </div>
<div> <div>
@ -128,56 +131,9 @@
</div> </div>
</div> </div>
</div> </div>
</div> <div class="col-md-6">
<div class="row">
<div class="col-md-6 pr-0 mt-2 d-none">
<div class="card h-100"> <div class="card h-100">
<div class="card-body"> <div class="card-header bg-primary-light text-primary">
<div class="row">
<div class="col-md-12">
<div class="d-flex justify-content-between flex-row align-items-center">
<div class="d-flex gap-3 justify-content-start">
<div class="p-3 bg-secondary rounded">
<i class="fal fa-home fa-2x"></i>
</div>
<div>
<h5 class="fw-700">{{session('name')}}</h5>
<p class="mb-0">NPSN: {{session('npsn')}}</p>
<span class="badge bg-primary-light text-primary">{{session('tingkat_sekolah')}}</span>
<span class="badge bg-success-light text-success">{{session('status_sekolah')}}</span>
</div>
</div>
<div class="d-flex justify-content-end">
<h6 class="rounded-plus px-2 py-1 bg-fusion-50 bg-success">Level {{levelAdiwiyata(session('npsn'))}}</h6>
</div>
</div>
</div>
<div class="col-md-6 mt-5">
<h6 class="fw-500">KONTAK</h6>
<div class="d-flex flex-row gap-3 justify-content-start mt-3">
<div>
<div class="p-3 bg-secondary rounded">
<i class="fal fa-mobile f20"></i>
</div>
</div>
<div class="d-flex flex-column align-items-left justify-content-center">
<span class="text-muted">{{session('kontak_person')}}</span>
<span class="text-muted">{{session('telp')}}</span>
</div>
</div>
</div>
<div class="col-md-6 mt-5">
<h6 class="fw-500">ALAMAT</h6>
<p class="text-muted">{{session('alamat_sekolah')}}</p>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12 pr-0 mt-2">
<div class="card h-100">
<div class="card-header bg-white">
<h5 class="fw-500 mb-0">Riwayat Usulan</h5> <h5 class="fw-500 mb-0">Riwayat Usulan</h5>
</div> </div>
<div class="card-body"> <div class="card-body">
@ -194,7 +150,7 @@
$textLevel = 'Mandiri'; $textLevel = 'Mandiri';
} }
?> ?>
<div class="alert bg-primary-light text-primary mb-3"> <div class="alert bg-success-light text-success mb-3">
Sekolah diusulan untuk menjadi CSA (Calon Sekolah Adiwiyata) {{@$textLevel}} Sekolah diusulan untuk menjadi CSA (Calon Sekolah Adiwiyata) {{@$textLevel}}
</div> </div>
@else @else
@ -203,7 +159,7 @@
</div> </div>
@endif @endif
</div> </div>
<div> <div class="d-none">
<ul class="liststyle"> <ul class="liststyle">
<li> <li>
<div class="d-flex gap-2 flex-row"> <div class="d-flex gap-2 flex-row">
@ -226,6 +182,7 @@
</ul> </ul>
</div> </div>
@if(@$kuesioner) @if(@$kuesioner)
<table class="table table-bordered"> <table class="table table-bordered">
<tr class="bg-success text-white"> <tr class="bg-success text-white">
<th><b>Status Usulan</b></th> <th><b>Status Usulan</b></th>
@ -235,20 +192,21 @@
</tr> </tr>
<tr> <tr>
<td style="vertical-align: middle;"> <td style="vertical-align: middle;">
<span class="badge badge-warning">{{str_replace('_',' ',\Str::title($log->step))}}</span> {!! kuesionerLogStatus(@$kuesioner->KuesionerId) !!}
{{-- <span class="badge badge-warning">{{str_replace('_',' ',\Str::title($log->step))}}</span> --}}
</td> </td>
<td style="vertical-align: middle;"> <td style="vertical-align: middle;">
<?php <?php
if(@$sk->jenis_usulan == 0){ if(@$sk->jenis_usulan == 0){
$penghargaan = '<h5>Belum Pernah</h5>'; $penghargaan = '<span>Belum Pernah</span>';
}elseif(@$sk->jenis_usulan == 1){ }elseif(@$sk->jenis_usulan == 1){
$penghargaan = '<h5>Adiwiyata Kab/Kota</h5>'; $penghargaan = '<span>Adiwiyata Kab/Kota</span>';
}elseif(@$sk->jenis_usulan == 2){ }elseif(@$sk->jenis_usulan == 2){
$penghargaan = '<h5>Adiwiyata Provinsi</h5>'; $penghargaan = '<span>Adiwiyata Provinsi</span>';
}elseif(@$sk->jenis_usulan == 3){ }elseif(@$sk->jenis_usulan == 3){
$penghargaan = '<h5>Adiwiyata Nasional</h5>'; $penghargaan = '<span>Adiwiyata Nasional</span>';
}elseif(@$sk->jenis_usulan == 4){ }elseif(@$sk->jenis_usulan == 4){
$penghargaan = '<h5>Adiwiyata Mandiri</h5>'; $penghargaan = '<span>Adiwiyata Mandiri</span>';
} }
?> ?>
{!!$penghargaan!!} {!!$penghargaan!!}

View File

@ -29,6 +29,7 @@ use App\Http\Controllers\Modules\Konten\KegiatanController;
Route::get('dashboard',[HomeController::class,'dashboard'])->name('dashboard'); Route::get('dashboard',[HomeController::class,'dashboard'])->name('dashboard');
Route::post('session', [HomeController::class, 'session'])->name('dashboard.session'); Route::post('session', [HomeController::class, 'session'])->name('dashboard.session');
Route::get('dashboard/gridUsulan',[HomeController::class,'gridUsulan'])->name('gridUsulan'); Route::get('dashboard/gridUsulan',[HomeController::class,'gridUsulan'])->name('gridUsulan');
Route::get('dashboard/gridAdministrasi',[HomeController::class,'gridAdministrasi'])->name('gridAdministrasi');
Route::get('profile',[ProfileController::class,'profile'])->name('profile'); Route::get('profile',[ProfileController::class,'profile'])->name('profile');
Route::post('profile-store',[ProfileController::class,'profileStore'])->name('profileStore'); Route::post('profile-store',[ProfileController::class,'profileStore'])->name('profileStore');
Route::get('profile-sekolah',[ProfileController::class,'index'])->name('profile.index'); Route::get('profile-sekolah',[ProfileController::class,'index'])->name('profile.index');