main
ilhamwara 2025-04-24 18:15:09 +07:00
parent e2dea891b7
commit f049cb2897
25 changed files with 2942 additions and 115 deletions

View File

@ -6,8 +6,38 @@ use App\Models\Kuesioner;
use App\Models\Master\FormKriteria;
use App\Models\Penilaian;
use App\Models\User;
use App\Models\Master\Sekolah;
use App\Models\SK;
use App\Models\master\MasterGroup;
if (!function_exists('sekolah')) {
function sekolah($id){
$sekolah = Sekolah::find($id);
return $sekolah;
}
}
if (!function_exists('listSekolah')) {
function listSekolah($sekolah){
$res = "Belum ada data";
$res = [];
$d = '';
foreach (json_decode($sekolah) as $key => $value) {
$d .= '<span class="badge badge-success">'.sekolah($value)->nama_sekolah.'</span><br>';
}
array_push($res, $d);
$res = implode("", $res);
return $res;
}
}
if (!function_exists('getPenghargaanTerakhir')) {
/**
* @param $val
@ -707,6 +737,8 @@ if (!function_exists('levelAdiwiyata')) {
function levelAdiwiyata($npsn)
{
$kuesioner = Kuesioner::where('npsn',$npsn)->where('tahun',date('Y'))->first();
$sekolah = Sekolah::where('npsn',$npsn)->first();
$sk = SK::where('tahun',date('Y'))->where('sekolah','like','%'.$sekolah->MsSekolahId.'%')->first();
$data = null;
if(@$kuesioner){
$data = $kuesioner;
@ -718,19 +750,44 @@ if (!function_exists('levelAdiwiyata')) {
if(@$data->level == 0){
if((@$data->level == 0) && (@$data->tim_adiwiyata == 2) && (@$data->info_pblhs == 2) ){
if(@$sk->jenis_usulan == 1){
$level = '3';
}else{
$level = '2';
}
}elseif((@$data->level == 0) && (@$data->tim_adiwiyata == 2)){
if(@$sk->jenis_usulan == 1){
$level = '3';
}else{
$level = '1';
}
}else{
if(@$sk->jenis_usulan == 1){
$level = '3';
}else{
$level = '0';
}
}
}elseif(@$data->level == 1){
$level = '3';
}elseif(@$data->level == 2){
if(@$sk->jenis_usulan == 2){
$level = '4';
}else{
$level = '3';
}
}elseif(@$data->level == 2){
if(@$sk->jenis_usulan == 3){
$level = '5';
}else{
$level = '4';
}
}else{
if(@$sk->jenis_usulan == 1){
$level = '3';
}else{
$level = '0';
}
}
return $level;
}

View File

@ -7,6 +7,8 @@ use App\Models\Kuesioner;
use App\Models\ProfileSekolah;
use App\Models\Master\FormKriteria;
use App\Models\Penilaian;
use App\Models\SK;
use App\Models\Usulan;
class HomeController extends Controller
{
@ -41,6 +43,7 @@ class HomeController extends Controller
$data['profile'] = ProfileSekolah::where('ms_sekolah_id',session('sekolah_id'))->first();
$data['page'] = FormKriteria::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->count();
$data['penilaian'] = Penilaian::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->count();
$data['sk'] = SK::where('tahun',date('Y'))->where('sekolah','like','%'.session('sekolah_id').'%')->first();
return view($this->template.'.sekolah', $data);
}else{

View File

@ -59,10 +59,10 @@ class AdministrasiController extends Controller
if(session('group_alias') == 'sekolah'){
if(@$dok->status == 0){
$action .= '<a href="#" 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-filetim="'.asset('uploads/'.$dok->file_sk_tim).'" data-fileusulan="'.asset('uploads/'.$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>';
// $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'){
if(@$dok){
if(@$dok->status == 0){

View File

@ -10,6 +10,7 @@ use App\Models\KuesionerLog;
use App\Models\Master\Sekolah;
use App\Models\Master\FormKriteria;
use App\Models\DokumenAdministrasi;
use App\Models\Penilaian;
class CSAKController extends Controller
{
@ -160,6 +161,13 @@ class CSAKController extends Controller
return response()->json(['validasi' => false,'message' => 'Maaf Terjadi Kesalahan Dalam Input Data!']);
}
$soal = Penilaian::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray();
$penilaian = Penilaian::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->where('status',1)->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray();
if(count($soal) != count($penilaian)){
return response()->json(['validasi' => false,'message' => 'Maaf Penilaian Belum Lengkap!']);
}
$kuesioner = Kuesioner::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first();
$kuesioner->catatan_usulan = $request['catatan_validasi'];
$kuesioner->status = $status;

View File

@ -28,22 +28,37 @@ class KriteriaController extends Controller
]);
}
if(Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->value('status') == 0){
$kuesioner = Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->first();
if($kuesioner->status == 0){
return redirect('kuesioner/update/'.encode_id(session('sekolah_id')))->with([
'message' => 'Menunggu Usulan dari Dinas/Sudin',
'type' => 'error',
]);
}
if(Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->value('status') == 1){
if($kuesioner->status == 1){
if($kuesioner->level == 0){
$dok = DokumenAdministrasi::where('kuesioner_id',$kuesioner->KuesionerId)->first();
$dok->status = 1;
$dok->save();
$kuesioner->status = 2;
$kuesioner->save();
}else{
return redirect('kuesioner/update/'.encode_id(session('sekolah_id')))->with([
'message' => 'Maaf usulan anda belum diverifikasi oleh Dinas',
'message' => 'Maaf menunggu verifikasi dokumen oleh Dinas/Sudin',
'type' => 'error',
]);
}
}
$data['title'] = $this->title;
$data['route'] = $this->route;
$data['kuesioner'] = $kuesioner;
$data['page'] = FormKriteria::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray();
return view($this->template.'.form',$data);
@ -151,7 +166,24 @@ class KriteriaController extends Controller
$sekolah = Sekolah::find($idSekolah);
}
$nilai_kota = Penilaian::where('ms_sekolah_id',$idSekolah)
->where('page_number',decode_id($data['key']))
->where('skor','!=',0)
->where('tahun',date('Y'))
->where('status',1) //inputan kota
->first();
$nilai_prov = Penilaian::where('ms_sekolah_id',$idSekolah)
->where('page_number',decode_id($data['key']))
->where('skor','!=',0)
->where('tahun',date('Y'))
->where('status',2) //inputan kota
->first();
$kuesioner = decode_id($data['secure_id']);
$penilaian[$key] = Penilaian::updateOrCreate([
'kuesioner_id' => $kuesioner,
'tahun' => date('Y'),
'ms_sekolah_id' => $sekolah->MsSekolahId,
'npsn' => $sekolah->npsn,
@ -159,6 +191,7 @@ class KriteriaController extends Controller
'key' => str_replace('input_','',$key),
'status' => $status,
],[
'kuesioner_id' => $kuesioner,
'ms_sekolah_id' => $sekolah->MsSekolahId,
'npsn' => $sekolah->npsn,
'page_number' => decode_id($data['key']),
@ -171,14 +204,21 @@ class KriteriaController extends Controller
}
}
return response()->json(['status' => true,'data' => $_value,'message' => 'Berhasil Update Data','page' => $data['key']]);
return response()->json(['status' => true,'data' => $_value,'message' => 'Berhasil Update Data','page' => $data['key'],'nilai_kota' => @$nilai_kota ? @$nilai_kota->skor : 0,
'nilai_prov' => @$nilai_prov ? @$nilai_prov->skor : 0]);
}
public function kirimData($sekolah_id, $kuesioner_id)
{
//cek dokumen
$keyId = decode_id($kuesioner_id);
$dok = DokumenAdministrasi::where('kuesioner_id',$keyId)->first();
if($dok->status == 0){
return response()->json(['status' => false,'message' => 'Dokumen Belum Di Verifikasi','type' => 'error']);
}else{
$kuesioner = Kuesioner::find($keyId);
$kuesioner->status = 3;
$kuesioner->save();
@ -195,4 +235,7 @@ class KriteriaController extends Controller
return response()->json(['status' => true,'message' => 'Data Berhasil Di Update','type' => 'success']);
}
}
}

View File

@ -37,55 +37,26 @@ class SKController extends Controller
public function grid(Request $request)
{
$kuesioner = Kuesioner::where('level',0)->orderBy('created_at','DESC')->get();
foreach ($kuesioner as $key => $row) {
$usulan = SK::where('tahun',date('Y'))->get();
foreach ($usulan as $key => $row) {
$action = '';
// if($row->status == 4){
// $action .= '<a href="'.url('usulan/csak/update/'.encode_id($row->ms_sekolah_id)).'" data-toggle="tooltip" title="View Data" class="btn btn-xs btn-block btn-primary"><i class="fal fa-edit text-white"></i></a>';
// }
if($row->level == 0){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Belum Pernah';
}elseif($row->level == 1){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Kab/Kota';
}elseif($row->level == 2){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Provinsi';
}elseif($row->level == 3){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Nasional';
}elseif($row->level == 4){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Mandiri';
if($row->jenis_usulan == 1){
$jenis_usulan = 'Sekolah Adiwiyata Kab/Kota';
}elseif($row->jenis_usulan == 2){
$jenis_usulan = 'Sekolah Adiwiyata Provinsi';
}elseif($row->jenis_usulan == 3){
$jenis_usulan = 'Sekolah Adiwiyata Nasional';
}
$penilaian = '';
$penilaian .= '<span style="width:100%;" class="text-left badge badge-secondary"> Sekolah : '.getNilaiAll('sekolah',$row->ms_sekolah_id).'</span></br>';
$penilaian .= '<span style="width:100%;" class="text-left badge badge-primary"> Kota : '.getNilaiAll('kota',$row->ms_sekolah_id).'</span></br>';
$penilaian .= '<span style="width:100%;" class="text-left badge badge-success"> Provinsi : '.getNilaiAll('provinsi',$row->ms_sekolah_id).'</span></br>';
$log = KuesionerLog::where('kuesioner_id',$row->KuesionerId)->orderBy('created_at','DESC')->first();
$progress = '<span class="badge badge-warning">'.str_replace('_',' ',\Str::title($log->step)).'</span>';
$sekolah = '';
$sekolah .= @$row->sekolah->nama_sekolah.'<br>';
$sekolah .= '<span class="badge badge-success">'.@$row->profile->tingkat->name.'</span>&nbsp;';
$sekolah .= '<span class="badge badge-primary">'.@$row->profile->status_sekolah.'</span>&nbsp;';
$sk = SK::whereRaw("sekolah::text LIKE '%".$row->sekolah->MsSekolahId."%'")->first();
$_data[] = [
'no' => $key+1,
'id' => encode_id($row->id),
'npsn' => $row->sekolah->npsn,
'nama' => $sekolah,
'status_level' => '<span style="width:100%" class="badge badge-secondary">Level '.levelAdiwiyata($row->npsn).'</span>',
'wilayah' => $row->sekolah->kabupaten->name,
'penghargaan' => $penghargaan,
'penilaian' => $penilaian,
'progress' => $progress,
'dokumen_administrasi' => '-',
'tanggal_penetapan' => '<span style="width:100%;" class="text-left badge badge-primary mb-1">Tanggal Penetapan : '.$sk->tanggal_penetapan.'</span> <br> <a style="width:100%!important;" href="'.asset('uploads/'.$sk->file).'" target="_blank" class="btn btn-sm btn-warning"><i class="fal fa-download""></i>&nbsp;Download File SK</a',
'action' => $action,
'judul' => $row->nama,
'sekolah' => listSekolah($row->sekolah),
'tahun' => $row->tahun,
'tanggal_penetapan' => $row->tanggal_penetapan,
'jenis_usulan' => $jenis_usulan,
'file' => '<a download href="'.asset('uploads/'.$row->file).'" class="btn btn-sm btn-warning"><i class="fal fa-download"></i> SK Adiwiyata</a>',
'action' => @$action,
];
}

View File

@ -31,6 +31,34 @@ class SuratController extends Controller
return view($this->template.'.index',$data);
}
public function grid(Request $request)
{
$usulan = Usulan::where('tahun',date('Y'))->get();
foreach ($usulan as $key => $row) {
if($row->jenis_usulan == 1){
$jenis_usulan = 'Sekolah Adiwiyata Kab/Kota';
}elseif($row->jenis_usulan == 2){
$jenis_usulan = 'Sekolah Adiwiyata Provinsi';
}elseif($row->jenis_usulan == 3){
$jenis_usulan = 'Sekolah Adiwiyata Nasional';
}
$_data[] = [
'no' => $key+1,
'id' => encode_id($row->id),
'judul' => $row->nama,
'sekolah' => listSekolah($row->sekolah),
'tahun' => $row->tahun,
'jenis_usulan' => $jenis_usulan,
'file' => '<a download href="'.asset('uploads/'.$row->file).'" class="btn btn-sm btn-warning"><i class="fal fa-download"></i> Surat Usulan</a>',
'action' => @$action,
];
}
return response()->json($_data);
}
/**
* Show the form for creating a new resource.
*/

View File

@ -1316,10 +1316,10 @@ html body {
-webkit-transform: rotate(180deg);
transform: rotate(180deg); }
.nav-menu li.active > a:hover span {
color: #333;
color: #fff;
}
.nav-menu li.active > a:hover i {
color: #333!important;
color: #fff!important;
}
.nav-menu li a:hover {
color: white;

View File

@ -122,9 +122,9 @@
<div class="col-md-8 mt-3">
<div class="card">
<div class="card-body">
<div class="mb-4">
<div class="mb-3">
<h4><b>Status Usulan</b></h4>
@if(@$kuesioner && (@$kuesioner->status == 1))
@if(@$kuesioner || (@$kuesioner->status == 1))
<?php
if(@$kuesioner->level == 0){
$textLevel = 'Kabupaten/Kota';
@ -136,15 +136,14 @@
$textLevel = 'Mandiri';
}
?>
<p>Sekolah diusulan untuk menjadi CSA (Calon Sekolah Adiwiyata) {{@$textLevel}}</p>
<span class="text-danger">Silahkan lengkapi data pada menu Usulan Adiwiyata.</span>
<span class="badge badge-primary">Sekolah diusulan untuk menjadi CSA (Calon Sekolah Adiwiyata) {{@$textLevel}}</span>
@else
<div class="alert alert-danger">
Belum ada data usulan
</div>
@endif
</div>
@if(@$kuesioner)
@if(@$sk)
<table class="table table-bordered">
<tr class="bg-success text-white">
<th><b>Penghargaan Terakhir</b></th>
@ -154,22 +153,22 @@
<tr>
<td style="vertical-align: middle;">
<?php
if($kuesioner->level == 0){
if(@$sk->jenis_usulan == 0){
$penghargaan = '<h5>Belum Pernah</h5>';
}elseif($kuesioner->level == 1){
}elseif(@$sk->jenis_usulan == 1){
$penghargaan = '<h5>Adiwiyata Kab/Kota</h5>';
}elseif($kuesioner->level == 2){
}elseif(@$sk->jenis_usulan == 2){
$penghargaan = '<h5>Adiwiyata Provinsi</h5>';
}elseif($kuesioner->level == 3){
}elseif(@$sk->jenis_usulan == 3){
$penghargaan = '<h5>Adiwiyata Nasional</h5>';
}elseif($kuesioner->level == 4){
}elseif(@$sk->jenis_usulan == 4){
$penghargaan = '<h5>Adiwiyata Mandiri</h5>';
}
?>
{!!$penghargaan!!}
</td>
<td style="vertical-align: middle;">-</td>
<td style="vertical-align: middle;">-</td>
<td style="vertical-align: middle;">{{@$sk->tanggal_penetapan}}</td>
<td style="vertical-align: middle;"><a download href="'.asset('uploads/'.@$sk->file).'" class="btn btn-sm btn-warning" style="width: 100%;"><i class="fal fa-download"></i> SK Adiwiyata</a></td>
</tr>
</table>
@endif

View File

@ -169,6 +169,9 @@
</button>
</div>
<div class="modal-body">
<div class="alert alert-info">
<p class="mb-0"><i>Silahkan Upload Kembali File, Untuk Update Data</i></p>
</div>
<div class="bodyModal"></div>
</div>
@if(session('group_alias') == 'sekolah')
@ -304,6 +307,8 @@
$('.secure_id').val($(this).attr('data-secureid'));
var link = $(this).attr('data-link');
var level = $(this).attr('data-level');
var filetim = $(this).attr('data-filetim');
var fileusulan = $(this).attr('data-fileusulan');
var div = '';
div += '<table class="table deleted table-nobordered wrap">';
if(level == 0){
@ -312,7 +317,10 @@
div += '<div>SK Tim Adiwiyata</div>';
div += '</td>';
div += '<td>';
div += '<input type="file" accept=".pdf" class="form-control is-required" name="sk_tim_adiwiyata" required>';
div += '<input type="file" accept=".pdf" class="form-control is-required" name="sk_tim_adiwiyata" required> <br>';
if(filetim != ''){
div += '<a href="'+filetim+'" class="btn btn-sm btn-warning"><i class="fal fa-download "></i> File SK Tim Adiwiyata</a> <br>';
}
div += '<small class="text-danger">Format : .pdf, Maksimal File : 2MB</small>';
div += '</td>';
div += '</tr>';
@ -321,7 +329,10 @@
div += '<div>Surat Usulan</div>';
div += '</td>';
div += '<td>';
div += '<input type="file" accept=".pdf" class="form-control is-required" name="surat_usulan" required>';
div += '<input type="file" accept=".pdf" class="form-control is-required" name="surat_usulan" required> <br>';
if(fileusulan != ''){
div += '<a href="'+fileusulan+'" class="btn btn-sm btn-warning"><i class="fal fa-download "></i> File Usulan</a> <br>';
}
div += '<small class="text-danger">Format : .pdf, Maksimal File : 2MB</small>';
div += '</td>';
div += '</tr>';

View File

@ -59,6 +59,7 @@
</div>
@endif
<form method="POST" id="form">
<input type="hidden" name="secure_id" value="{{encode_id($kuesioner->KuesionerId)}}">
{{csrf_field()}}
<div class="card">
<div class="card-body">
@ -616,7 +617,8 @@
success: function (response) {
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
$('.nilai_kota').html(response.nilai_kota);
$('.nilai_provinsi').html(response.nilai_prov);
$('.page').closest('.activePage').addClass('bg-success');
$('.page').closest('.activePage').addClass('text-white');

View File

@ -0,0 +1,639 @@
@extends('layouts.master')
@section('page-css')
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/datagrid/datatables/datatables.bundle.css')}}">
<style type="text/css">
.listItem{
list-style: none;
margin: 0;
padding: 0;
}
.listItem > li{
display: inline-block;
margin: 10px;
}
.listItem > li:hover{
cursor: pointer;
}
.listItem > li .number{
font-size: 14px;
color: #fff;
background: #0ba360 !important;
padding: 10px;
border-radius: 10%;
}
.level{
float: right;
color: #fff;
text-align: center;
width: 100px;
}
.nav-link{
border-radius: 0px!important;
}
.pageNumber{ list-style:none; padding:0px; margin: 0px;}
.pageNumber > li{ display: inline-block; padding: 12px; background: rgba(255, 255, 255, 0.5); margin: 5px 1px;}
.pageNumber > li:hover{cursor: pointer;}
.page.activePage {
background-color: #007bff; /* Warna biru */
color: white;
font-weight: bold;
}
</style>
@endsection
@section('content')
<div class="subheader">
<h1 class="subheader-title">
<i class='subheader-icon fal fa-edit'></i> {{$title}}
</h1>
</div>
<div class="row">
<div class="col-lg-12">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" id="form">
<input type="hidden" name="secure_id" value="{{encode_id($kuesioner->KuesionerId)}}">
{{csrf_field()}}
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12 p-3">
<table class="" border="0" style="width:100%">
<tr>
<td rowspan="5" width="5" style="vertical-align: middle; padding-right: 10px;">
<i class="fal fa-building fa-5x"></i>
</td>
</tr>
<tr>
<td colspan="2"><h5 class="text-success">NPSN: {{$sekolah->npsn}}</h5></td>
</tr>
<tr>
<td colspan="2"><h4><b>{{$sekolah->nama_sekolah}}</b></h4></td>
</tr>
<tr>
<td colspan="2"><span class="badge badge-primary">{{$sekolah->tingkat->name}}</span> <span class="badge badge-success">{{$sekolah->status}}</span></td>
</tr>
</table>
</div>
<div class="col-12">
<div class="col-md-12" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="nav nav-pills" role="tablist">
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#profile">Profile Sekolah</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#dokumen">Dokumen Administrasi</a></li>
<li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#kriteria">Pemenuhan Kriteria</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#usulan">Usulan CSA</a></li>
</ul>
</div>
<div class="tab-content py-3">
<div class="tab-pane fade" id="profile" role="tabpanel">
<table class="table table-nobordered">
<tr class="table-info">
<td colspan="2"><b>Profile Sekolah</b></td>
</tr>
<tr>
<td>NPSN</td>
<td>{{@$sekolah->npsn}}</td>
</tr>
<tr>
<td>Nama Sekolag</td>
<td>{{@$sekolah->nama_sekolah}}</td>
</tr>
<tr>
<td>Tingkat Sekolah</td>
<td>{{@$sekolah->tingkat->name}}</td>
</tr>
<tr>
<td>Status Sekolah</td>
<td>{{@$sekolah->status}}</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Alamat Sekolah</b></td>
</tr>
<tr>
<td>Provinsi</td>
<td>{{@$sekolah->provinsi->name}}</td>
</tr>
<tr>
<td>Kabupaten/Kota</td>
<td>{{@$sekolah->kabupaten->name}}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td>{{@$sekolah->kecamatan->name}}</td>
</tr>
<tr>
<td>Alamat Lengkap</td>
<td>{{@$sekolah->profile->alamat_sekolah}}</td>
</tr>
<tr>
<td>Kontak Person</td>
<td>{{@$sekolah->profile->kontak_person}}</td>
</tr>
<tr>
<td>Telp</td>
<td>{{@$sekolah->profile->telp}}</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Data Jumlah</b></td>
</tr>
<tr>
<td scope="row"> Jumlah Peserta Didik</td>
<td>
<input readonly name="jumlah_peserta_didik" value="{{@$jumlah_peserta_didik ? @$jumlah_peserta_didik : old('jumlah_peserta_didik')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah peserta didik">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Tenaga Pendidik</td>
<td>
<input readonly name="jumlah_tenaga_pendidik" value="{{@$jumlah_tenaga_pendidik ? @$jumlah_tenaga_pendidik : old('jumlah_tenaga_pendidik')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah tenaga pendidik">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Tenaga kependidikan</td>
<td>
<input readonly name="jumlah_tenaga_kependidikan" value="{{@$jumlah_tenaga_kependidikan ? @$jumlah_tenaga_kependidikan : old('jumlah_tenaga_kependidikan')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah tenaga kependidikan">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Warga Sekolah Lainnya</td>
<td>
<input readonly name="jumlah_warga_sekolah_lainnya" value="{{@$jumlah_warga_sekolah_lainnya ? @$jumlah_warga_sekolah_lainnya : old('jumlah_warga_sekolah_lainnya')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah warga lainnya (cont:petugas kebersihan, petugas keamanan, petugas kantin, dll)">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Biopori</td>
<td>
<input readonly name="jumlah_biopori" value="{{@$jumlah_biopori ? @$jumlah_biopori : old('jumlah_biopori')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah biopori">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Sumur Resapan</td>
<td>
<input readonly name="jumlah_sumur_resapan" value="{{@$jumlah_sumur_resapan ? @$jumlah_sumur_resapan : old('jumlah_sumur_resapan')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah sumur resapan">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Pohon/Tanaman yang ditanam dan tumbuh</td>
<td>
<input readonly name="jumlah_pohon" value="{{@$jumlah_pohon ? @$jumlah_pohon : old('jumlah_pohon')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah pohon tanaman">
</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Penghematan air sebelum dan setelah melaksanakan gerakan PBLHS :</b></td>
</tr>
<tr>
<td scope="row"> Sebelum melaksanakan gerakan PBLHS <br> <small class="text-info">(Meter Kubik/Bulan)</small></td>
<td>
<input readonly name="air_sebelum_pblhs" value="{{@$air_sebelum_pblhs ? @$air_sebelum_pblhs : old('air_sebelum_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam meter kubik">
</td>
</tr>
<tr>
<td scope="row"> Setelah melaksanakan gerakan PBLHS <br> <small class="text-info">(Meter Kubik/Bulan dalam Tahun ajaran 2022/2023)</small></td>
<td>
<input readonly name="air_setelah_pblhs" value="{{@$air_setelah_pblhs ? @$air_setelah_pblhs : old('air_setelah_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam meter kubik">
</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Penghematan listrik sebelum dan setelah melaksanakan gerakan PBLHS :</b></td>
</tr>
<tr>
<td> Sebelum melaksanakan gerakan PBLHS <br> <small class="text-info">(KWH/Bulan)</small><br> <small class="text-info"></smald>
</th>
<td>
<input readonly name="listrik_sebelum_pblhs" value="{{@$listrik_sebelum_pblhs ? @$listrik_sebelum_pblhs : old('listrik_sebelum_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam kwh">
</td>
</tr>
<tr>
<td> Setelah melaksanakan gerakan PBLHS <br> <small class="text-info">(KWH/Bulan dalam Tahun ajaran 2022/2023)</small></td>
<td>
<input readonly name="listrik_setelah_pblhs" value="{{@$listrik_setelah_pblhs ? @$listrik_setelah_pblhs : old('listrik_setelah_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam kwh">
</td>
</tr>
<tr>
<td> Luas ruangan ber AC</td>
<td>
<input readonly name="luas_ruangan_ac" value="{{@$luas_ruangan_ac ? @$luas_ruangan_ac : old('luas_ruangan_ac')}}" type="text" class="numberInput form-control form-control-sm" placeholder="dalam satuan meter persegi">
</td>
</tr>
<tr>
<td> Luas ruangan non AC</td>
<td>
<input readonly name="luas_ruangan_non_ac" value="{{@$luas_ruangan_non_ac ? @$luas_ruangan_non_ac : old('luas_ruangan_non_ac')}}" type="text" class="numberInput form-control form-control-sm" placeholder="dalam satuan meter persegi">
</td>
</tr>
<tr>
<td> Jumlah Kader</td>
<td>
<input readonly name="jumlah_kader" value="{{@$jumlah_kader ? @$jumlah_kader : old('jumlah_kader')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jml kader yang dibentuk dan diberdayakan selama pelaksanaan gerakan PBLHS">
</td>
</tr>
</table>
</div>
<div class="tab-pane fade" id="dokumen" role="tabpanel">
<table class="table table-bordered">
<tr>
<td class="table-info">Seleksi Isian Dokumen Administrasi CSA</td>
</tr>
<tr>
<td>
<p><b>Apakah nama CSAN tercantum dalam SK/Piagam Sekolah Adiwiyata Provinsi (untuk SAP 2021/2022/2023/2024/2025) atau SK/Piagam Perpanjangan Adiwiyata Tahun 2023/2024/2025 </b></p>
<input value="1" {{@$dokumen->nama_dalam_sk == 1 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Ya<br>
<input value="2" {{@$dokumen->nama_dalam_sk == 2 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Tidak<br>
<input value="3" {{@$dokumen->nama_dalam_sk == 3 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Tidak Ada Bukti/Dokumen <br>
</td>
</tr>
<tr>
<td>
<p><b>Apakah salinan SK/Piagam Sekolah Adiwiyata provinsi di tandatangani Gubernur atau pejabat yang diberi kewenangan untuk menandatangani atau SK/Piagam Perpanjangan di Tandatangani Kepala Dinas LH ?</b></p>
<input value="1" {{@$dokumen->sk_ttd == 1 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Ya <br>
<input value="2" {{@$dokumen->sk_ttd == 2 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Tidak <br>
<input value="3" {{@$dokumen->sk_ttd == 3 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Tidak Ada Bukti/Dokumen <br>
</td>
</tr>
<tr>
<td>
<p><b>Waktu Penetapan Penghargaan SAP</b></p>
<input value="1" {{@$dokumen->waktu_penetapan == 1 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP tahun 2021/ 2022/ 2023/ 2024 ditetapkan SEBELUM 1 Agustus 2024 <br>
<input value="2" {{@$dokumen->waktu_penetapan == 2 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP tahun 2021/ 2022 /2023/ 2024 ditetapkan SETELAH 1 Agustus 2024 <br>
<input value="3" {{@$dokumen->waktu_penetapan == 3 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP/SAN/SAM perolehan tahun 2020 atau sebelumnya serta lolos perpanjangan sebagai SAP <br>
<input value="4" {{@$dokumen->waktu_penetapan == 4 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP perolehan tahun 2020 atau sebelumnya serta tidak ada SK/piagam perpanjangan sebagai SAP <br>
</td>
</tr>
@if(@$kuesioner->status < 4)
<tr>
<td><button id="btnSaveAdministrasi" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button></td>
</tr>
@endif
</table>
</div>
<div class="tab-pane fade active show" id="kriteria" role="tabpanel">
<div class="row">
<div class="col-md-12" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="pageNumber">
@foreach($page as $hal)
<li class="page {{ (checkPenilaian($hal,$sekolah->MsSekolahId) == true ? 'bg-success text-white' : '' )}}" data-number={{$hal}}>{{$hal}}</li>
@endforeach
<!-- <li class="resume">Resume</li> -->
</ul>
</div>
<div class="col-md-12 mt-3">
<div class="alert alert-primary mb-2 p-2">
<h6 class="mb-0"><b class="changeTitle">I. Perencanaan Gerakan PBLHS</b></h6>
</div>
</div>
<div class="col-md-8 bodyInput">
<div id="loading-spinner" style="display: none; text-align: center;">
<img src="{{ asset('assets/spinner.gif') }}" alt="Loading..." width="20">
</div>
<div class="changeForm">
{!! formKriteria(1,$sekolah->MsSekolahId) !!}
</div>
</div>
<div class="col-md-4 mt-5 mx-auto">
<div class="mx-auto text-center">
<a href="#" class="btn btn-outline-primary mr-2 ">
Sekolah
<br>
<h4 class="nilai_sekolah">{{getNilai('sekolah',1,$sekolah->MsSekolahId)}}</h4>
</a>
<a href="#" class="btn btn-outline-warning mr-2 ">
Kab/Kota
<br>
<h4 class="nilai_kota">{{getNilai('kota',1,$sekolah->MsSekolahId)}}</h4>
</a>
<a href="#" class="btn btn-outline-danger mr-2 ">
Provinsi
<br>
<h4 class="nilai_provinsi">{{getNilai('provinsi',1,$sekolah->MsSekolahId)}}</h4>
</a>
</div>
</div>
@if(@$kuesioner->status < 4)
<div class="col-md-12 mt-3">
<button id="btnSave" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
@endif
</div>
</div>
<div class="tab-pane fade" id="usulan" role="tabpanel">
<table class="table table-nobordered">
<tr>
<th colspan="2" class="table-info">Usulan</th>
</tr>
<tr>
<td>Jenis Usulan CSA</td>
<td>{{getUsulan($sekolah->MsSekolahId)}}</td>
</tr>
<tr>
<th colspan="2" class="table-info">Penghargaan</th>
</tr>
<tr>
<td>Penghargaan Terakhir</td>
<td>{{getPenghargaanTerakhir($sekolah->MsSekolahId)}}</td>
</tr>
<tr>
<td>Nomor SK</td>
<td>-</td>
</tr>
<tr>
<td>Tanggal Penetapan SK</td>
<td>-</td>
</tr>
<tr>
<th colspan="2" class="table-info">Berdasarkan data usulan yang dilengkapi, dinyatakan bahwa {{@$sekolah->nama_sekolah}} :</th>
</tr>
<tr>
<td>Nilai Dokumen Administrasi</td>
<td>0</td>
</tr>
<tr>
<td>Nilai Pemenuhan Kriteria</td>
<td>0</td>
</tr>
<tr>
<td>Validasi</td>
<td>
<select class="form-control select2" id="validasi" name="validasi">
<option value="">- Pilih Validasi -</option>
<option {{@$kuesioner->status == '4' ? 'selected' : ''}} value="1">Diteruskan</option>
<option {{@$kuesioner->status == '5' ? 'selected' : ''}} value="2">Dikembalikan</option>
</select>
</td>
</tr>
<tr>
<td>Catatan</td>
<td>
<textarea class="form-control" id="catatan_validasi" name="catatan_validasi" placeholder="Catatan">{{@$kuesioner->catatan_usulan}}</textarea>
</td>
</tr>
@if(@$kuesioner->status < 4)
<tr>
<td><button id="btnSaveUsulan" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button></td>
<td></td>
</tr>
@endif
</table>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('page-js')
<script type="text/javascript">
@if(@$kuesioner->status < 4)
$(document).ready(function() {
// $('input[type="checkbox"], input[type="radio"], input[type="text"], textarea').attr('disabled', true);
});
@endif
$('.page').on('click',function(e){
e.preventDefault();
let number = $(this).data('number');
let base_url = "{{url('/')}}";
// Tambahkan kelas active dan hapus dari yang lain
$('.page').removeClass('activePage');
$(this).addClass('activePage');
$.ajax({
url: base_url+'/getForm', // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
page: number,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
$('.removeFormKriteria').remove();
},
success: function (response) {
console.log('Response:', response);
$('.changeForm').append(response.data);
$('.changeTitle').html(response.title);
$('.nilai_sekolah').html(response.nilai_sekolah);
$('.nilai_kota').html(response.nilai_kota);
$('.nilai_provinsi').html(response.nilai_prov);
$('.numberInput').on('input', function() {
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
});
},
error: function (xhr, status, error) {
console.error('AJAX Error:', status, error);
alert('Failed to fetch data!');
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('.resume').on('click',function(e){
window.location.href = "{{url('usulan/csam/resume/'.encode_id($sekolah->MsSekolahId))}}";
});
$('#btnSaveUsulan').on('click',function(e){
e.preventDefault();
var validasi = $('#validasi').find(':selected').val();
var catatan_validasi = $('#catatan_validasi').val();
if(validasi == ''){
toastr.error("Validasi Belum Dipilih", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(catatan_validasi == ''){
toastr.error("Catatan Validasi Belum Diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
$.ajax({
url: "{{route('modules.usulan.csam.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
validasi: validasi,
catatan_validasi: catatan_validasi,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
if(response.status == true){
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
location.reload();
}else{
toastr.error(response.message, 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}
},
error: function (xhr, status, error) {
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('#btnSaveAdministrasi').on('click',function(e){
e.preventDefault();
const nama_dalam_sk = $('input[name="dokumen_1"]:checked').val();
const sk_ttd = $('input[name="dokumen_2"]:checked').val();
const waktu_penetapan = $('input[name="dokumen_3"]:checked').val();
if(nama_dalam_sk == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(sk_ttd == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(waktu_penetapan == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
$.ajax({
url: "{{route('modules.usulan_adiwiyata.administrasi.update')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
nama_dalam_sk: nama_dalam_sk,
sk_ttd: sk_ttd,
waktu_penetapan: waktu_penetapan,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
if(response.status == true){
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}else{
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}
},
error: function (xhr, status, error) {
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('#btnSave').on('click',function(e){
e.preventDefault();
let currentForm = $("#form").serializeArray();
console.log(currentForm);
let formData = {};
let allData = {};
let isValid = true; // Flag validasi
currentForm.forEach(field => {
let name = field.name.replace(/\[\]$/, ''); // Hapus "[]" di akhir nama input
if (allData[name]) {
if (!Array.isArray(allData[name])) {
allData[name] = [allData[name]];
}
allData[name].push(field.value);
} else {
allData[name] = field.value;
}
});
$('.is-required').each(function () {
let type = $(this).attr('type');
let name = $(this).attr('name');
let value = $(this).val()?.trim(); // Pastikan nilai di-trim untuk menghindari spasi kosong
if (type === 'radio' || type === 'checkbox') {
// Validasi radio: setidaknya satu opsi harus dipilih
if ($(`input[name="${name}"]:checked`).length === 0) {
isValid = false;
$(`input[name="${name}"]`).closest('.custom-control-input').addClass("is-invalid");
} else {
$(`input[name="${name}"]`).closest('.custom-control-input').removeClass("is-invalid");
}
} else {
// Validasi input teks atau lainnya
if (!value) {
isValid = false;
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
}
});
// Jika validasi gagal, hentikan submit
if (!isValid) {
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
// alert(".");
return;
}
$.ajax({
url: "{{route('modules.usulan_adiwiyata.kriteria.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
data: allData,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
$('.page').closest('.activePage').addClass('bg-success');
$('.page').closest('.activePage').addClass('text-white');
$('.page').removeClass('activePage');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
},
error: function (xhr, status, error) {
// console.error('AJAX Error:', status, error);
// alert('Failed to fetch data!');
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
</script>
@endsection

View File

@ -142,8 +142,8 @@
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="tingkat_sekolah">Dokumen Administrasi</th>
<th data-field="tingkat_sekolah">Pemenuhan Kriteria</th>
<th data-field="tingkat_sekolah">Progress</th>
<th data-field="penilaian">Pemenuhan Kriteria</th>
<th data-field="progress">Progress</th>
<th data-field="tingkat_sekolah">SK</th>
</tr>
</thead>

View File

@ -0,0 +1,258 @@
@extends('layouts.master')
@section('page-css')
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/datagrid/datatables/datatables.bundle.css')}}">
<style type="text/css">
.listItem{
list-style: none;
margin: 0;
padding: 0;
}
.listItem > li{
display: inline-block;
margin: 10px;
}
.listItem > li:hover{
cursor: pointer;
}
.listItem > li .number{
font-size: 14px;
color: #fff;
background: #0ba360 !important;
padding: 10px;
border-radius: 10%;
}
.level{
float: right;
color: #fff;
text-align: center;
width: 100px;
}
.nav-link{
border-radius: 0px!important;
}
.pageNumber{ list-style:none; padding:0px; margin: 0px;}
.pageNumber > li{ display: inline-block; padding: 12px; background: rgba(255, 255, 255, 0.5); margin: 5px 1px;}
.pageNumber > li:hover{cursor: pointer;}
.pageNumber > li.active {
background-color: #007bff; /* Warna biru */
color: white;
font-weight: bold;
}
</style>
@endsection
@section('content')
<div class="subheader">
<h1 class="subheader-title">
<i class='subheader-icon fal fa-edit'></i> {{$title}}
</h1>
</div>
<div class="row">
<div class="col-lg-12">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" id="form">
{{csrf_field()}}
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12 p-3">
<table class="" border="0" style="width:100%">
<tr>
<td rowspan="5" width="5" style="vertical-align: middle; padding-right: 10px;">
<i class="fal fa-building fa-5x"></i>
</td>
</tr>
<tr>
<td colspan="2"><h5 class="text-success">NPSN: {{$sekolah->npsn}}</h5></td>
</tr>
<tr>
<td colspan="2"><h4><b>{{$sekolah->nama_sekolah}}</b></h4></td>
</tr>
<tr>
<td colspan="2"><span class="badge badge-primary">{{$sekolah->tingkat->name}}</span> <span class="badge badge-success">{{$sekolah->status}}</span></td>
</tr>
</table>
</div>
<div class="col-md-12">
<div class="alert alert-warning">
<p class="mb-0"><i class="fal fa-info-circle"></i>&nbsp;Anda Belum Melakukan Finalisasi Proses Data Kriteria</p>
<p class="mb-0"><i class="fal fa-info-circle"></i>&nbsp;Klik <b class="text-danger">Progress Usulan</b> untuk melakukan Finalisasi Proses Data Kriteria</p>
</div>
</div>
<div class="col-md-12 mb-4" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="pageNumber">
<li class="back"><i class="fal fa-arrow-left"></i></li>
<li class="resume active">Resume</li>
</ul>
</div>
<div class="col-md-12 bodyInput">
<div id="loading-spinner" style="display: none; text-align: center;">
<img src="{{ asset('assets/spinner.gif') }}" alt="Loading..." width="20">
</div>
<div class="changeForm">
@foreach($page as $dataNumber)
<div class="card mb-2" style="background:#EDE8DC;">
<div class="card-header color-white bg-success">
{{$dataNumber}}
</div>
<div class="card-body color-black">
{!! formKriteria($dataNumber,$sekolah->MsSekolahId) !!}
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('page-js')
<script type="text/javascript">
$(document).ready(function() {
$('input[type="checkbox"], input[type="radio"], input[type="text"], textarea').attr('disabled', true);
});
$('.page').on('click',function(e){
e.preventDefault();
let number = $(this).data('number');
let base_url = "{{url('/')}}";
// Tambahkan kelas active dan hapus dari yang lain
$('.page').removeClass('active');
$(this).addClass('active');
$.ajax({
url: base_url+'/getForm', // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
page: number ,
sekolah: {{@$sekolah->MsSekolahId}}
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
$('.removeFormKriteria').remove();
},
success: function (response) {
console.log('Response:', response);
$('.changeForm').append(response.data);
$('.changeTitle').html(response.title);
$('.numberInput').on('input', function() {
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
});
},
error: function (xhr, status, error) {
console.error('AJAX Error:', status, error);
alert('Failed to fetch data!');
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('.back').on('click',function(e){
window.location.href = "{{url('usulan/csam/update/'.encode_id($sekolah->MsSekolahId))}}";
});
$('#btnSave').on('click',function(e){
e.preventDefault();
let currentForm = $("#form").serializeArray();
console.log(currentForm);
let formData = {};
let allData = {};
let isValid = true; // Flag validasi
currentForm.forEach(field => {
let name = field.name.replace(/\[\]$/, ''); // Hapus "[]" di akhir nama input
if (allData[name]) {
if (!Array.isArray(allData[name])) {
allData[name] = [allData[name]];
}
allData[name].push(field.value);
} else {
allData[name] = field.value;
}
});
$('.is-required').each(function () {
let type = $(this).attr('type');
let name = $(this).attr('name');
let value = $(this).val()?.trim(); // Pastikan nilai di-trim untuk menghindari spasi kosong
if (type === 'radio' || type === 'checkbox') {
// Validasi radio: setidaknya satu opsi harus dipilih
if ($(`input[name="${name}"]:checked`).length === 0) {
isValid = false;
$(`input[name="${name}"]`).closest('.custom-control-input').addClass("is-invalid");
} else {
$(`input[name="${name}"]`).closest('.custom-control-input').removeClass("is-invalid");
}
} else {
// Validasi input teks atau lainnya
if (!value) {
isValid = false;
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
}
});
// Jika validasi gagal, hentikan submit
if (!isValid) {
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
// alert(".");
return;
}
$.ajax({
url: "{{route($route.'.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
data: allData
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
$('.page').closest('.active').addClass('bg-success');
$('.page').closest('.active').addClass('text-white');
$('.page').removeClass('active');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
},
error: function (xhr, status, error) {
// console.error('AJAX Error:', status, error);
// alert('Failed to fetch data!');
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
</script>
@endsection

View File

@ -0,0 +1,639 @@
@extends('layouts.master')
@section('page-css')
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/datagrid/datatables/datatables.bundle.css')}}">
<style type="text/css">
.listItem{
list-style: none;
margin: 0;
padding: 0;
}
.listItem > li{
display: inline-block;
margin: 10px;
}
.listItem > li:hover{
cursor: pointer;
}
.listItem > li .number{
font-size: 14px;
color: #fff;
background: #0ba360 !important;
padding: 10px;
border-radius: 10%;
}
.level{
float: right;
color: #fff;
text-align: center;
width: 100px;
}
.nav-link{
border-radius: 0px!important;
}
.pageNumber{ list-style:none; padding:0px; margin: 0px;}
.pageNumber > li{ display: inline-block; padding: 12px; background: rgba(255, 255, 255, 0.5); margin: 5px 1px;}
.pageNumber > li:hover{cursor: pointer;}
.page.activePage {
background-color: #007bff; /* Warna biru */
color: white;
font-weight: bold;
}
</style>
@endsection
@section('content')
<div class="subheader">
<h1 class="subheader-title">
<i class='subheader-icon fal fa-edit'></i> {{$title}}
</h1>
</div>
<div class="row">
<div class="col-lg-12">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" id="form">
<input type="hidden" name="secure_id" value="{{encode_id($kuesioner->KuesionerId)}}">
{{csrf_field()}}
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12 p-3">
<table class="" border="0" style="width:100%">
<tr>
<td rowspan="5" width="5" style="vertical-align: middle; padding-right: 10px;">
<i class="fal fa-building fa-5x"></i>
</td>
</tr>
<tr>
<td colspan="2"><h5 class="text-success">NPSN: {{$sekolah->npsn}}</h5></td>
</tr>
<tr>
<td colspan="2"><h4><b>{{$sekolah->nama_sekolah}}</b></h4></td>
</tr>
<tr>
<td colspan="2"><span class="badge badge-primary">{{$sekolah->tingkat->name}}</span> <span class="badge badge-success">{{$sekolah->status}}</span></td>
</tr>
</table>
</div>
<div class="col-12">
<div class="col-md-12" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="nav nav-pills" role="tablist">
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#profile">Profile Sekolah</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#dokumen">Dokumen Administrasi</a></li>
<li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#kriteria">Pemenuhan Kriteria</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#usulan">Usulan CSA</a></li>
</ul>
</div>
<div class="tab-content py-3">
<div class="tab-pane fade" id="profile" role="tabpanel">
<table class="table table-nobordered">
<tr class="table-info">
<td colspan="2"><b>Profile Sekolah</b></td>
</tr>
<tr>
<td>NPSN</td>
<td>{{@$sekolah->npsn}}</td>
</tr>
<tr>
<td>Nama Sekolag</td>
<td>{{@$sekolah->nama_sekolah}}</td>
</tr>
<tr>
<td>Tingkat Sekolah</td>
<td>{{@$sekolah->tingkat->name}}</td>
</tr>
<tr>
<td>Status Sekolah</td>
<td>{{@$sekolah->status}}</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Alamat Sekolah</b></td>
</tr>
<tr>
<td>Provinsi</td>
<td>{{@$sekolah->provinsi->name}}</td>
</tr>
<tr>
<td>Kabupaten/Kota</td>
<td>{{@$sekolah->kabupaten->name}}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td>{{@$sekolah->kecamatan->name}}</td>
</tr>
<tr>
<td>Alamat Lengkap</td>
<td>{{@$sekolah->profile->alamat_sekolah}}</td>
</tr>
<tr>
<td>Kontak Person</td>
<td>{{@$sekolah->profile->kontak_person}}</td>
</tr>
<tr>
<td>Telp</td>
<td>{{@$sekolah->profile->telp}}</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Data Jumlah</b></td>
</tr>
<tr>
<td scope="row"> Jumlah Peserta Didik</td>
<td>
<input readonly name="jumlah_peserta_didik" value="{{@$jumlah_peserta_didik ? @$jumlah_peserta_didik : old('jumlah_peserta_didik')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah peserta didik">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Tenaga Pendidik</td>
<td>
<input readonly name="jumlah_tenaga_pendidik" value="{{@$jumlah_tenaga_pendidik ? @$jumlah_tenaga_pendidik : old('jumlah_tenaga_pendidik')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah tenaga pendidik">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Tenaga kependidikan</td>
<td>
<input readonly name="jumlah_tenaga_kependidikan" value="{{@$jumlah_tenaga_kependidikan ? @$jumlah_tenaga_kependidikan : old('jumlah_tenaga_kependidikan')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah tenaga kependidikan">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Warga Sekolah Lainnya</td>
<td>
<input readonly name="jumlah_warga_sekolah_lainnya" value="{{@$jumlah_warga_sekolah_lainnya ? @$jumlah_warga_sekolah_lainnya : old('jumlah_warga_sekolah_lainnya')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah warga lainnya (cont:petugas kebersihan, petugas keamanan, petugas kantin, dll)">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Biopori</td>
<td>
<input readonly name="jumlah_biopori" value="{{@$jumlah_biopori ? @$jumlah_biopori : old('jumlah_biopori')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah biopori">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Sumur Resapan</td>
<td>
<input readonly name="jumlah_sumur_resapan" value="{{@$jumlah_sumur_resapan ? @$jumlah_sumur_resapan : old('jumlah_sumur_resapan')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah sumur resapan">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Pohon/Tanaman yang ditanam dan tumbuh</td>
<td>
<input readonly name="jumlah_pohon" value="{{@$jumlah_pohon ? @$jumlah_pohon : old('jumlah_pohon')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah pohon tanaman">
</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Penghematan air sebelum dan setelah melaksanakan gerakan PBLHS :</b></td>
</tr>
<tr>
<td scope="row"> Sebelum melaksanakan gerakan PBLHS <br> <small class="text-info">(Meter Kubik/Bulan)</small></td>
<td>
<input readonly name="air_sebelum_pblhs" value="{{@$air_sebelum_pblhs ? @$air_sebelum_pblhs : old('air_sebelum_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam meter kubik">
</td>
</tr>
<tr>
<td scope="row"> Setelah melaksanakan gerakan PBLHS <br> <small class="text-info">(Meter Kubik/Bulan dalam Tahun ajaran 2022/2023)</small></td>
<td>
<input readonly name="air_setelah_pblhs" value="{{@$air_setelah_pblhs ? @$air_setelah_pblhs : old('air_setelah_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam meter kubik">
</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Penghematan listrik sebelum dan setelah melaksanakan gerakan PBLHS :</b></td>
</tr>
<tr>
<td> Sebelum melaksanakan gerakan PBLHS <br> <small class="text-info">(KWH/Bulan)</small><br> <small class="text-info"></smald>
</th>
<td>
<input readonly name="listrik_sebelum_pblhs" value="{{@$listrik_sebelum_pblhs ? @$listrik_sebelum_pblhs : old('listrik_sebelum_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam kwh">
</td>
</tr>
<tr>
<td> Setelah melaksanakan gerakan PBLHS <br> <small class="text-info">(KWH/Bulan dalam Tahun ajaran 2022/2023)</small></td>
<td>
<input readonly name="listrik_setelah_pblhs" value="{{@$listrik_setelah_pblhs ? @$listrik_setelah_pblhs : old('listrik_setelah_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam kwh">
</td>
</tr>
<tr>
<td> Luas ruangan ber AC</td>
<td>
<input readonly name="luas_ruangan_ac" value="{{@$luas_ruangan_ac ? @$luas_ruangan_ac : old('luas_ruangan_ac')}}" type="text" class="numberInput form-control form-control-sm" placeholder="dalam satuan meter persegi">
</td>
</tr>
<tr>
<td> Luas ruangan non AC</td>
<td>
<input readonly name="luas_ruangan_non_ac" value="{{@$luas_ruangan_non_ac ? @$luas_ruangan_non_ac : old('luas_ruangan_non_ac')}}" type="text" class="numberInput form-control form-control-sm" placeholder="dalam satuan meter persegi">
</td>
</tr>
<tr>
<td> Jumlah Kader</td>
<td>
<input readonly name="jumlah_kader" value="{{@$jumlah_kader ? @$jumlah_kader : old('jumlah_kader')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jml kader yang dibentuk dan diberdayakan selama pelaksanaan gerakan PBLHS">
</td>
</tr>
</table>
</div>
<div class="tab-pane fade" id="dokumen" role="tabpanel">
<table class="table table-bordered">
<tr>
<td class="table-info">Seleksi Isian Dokumen Administrasi CSA</td>
</tr>
<tr>
<td>
<p><b>Apakah nama CSAN tercantum dalam SK/Piagam Sekolah Adiwiyata Provinsi (untuk SAP 2021/2022/2023/2024/2025) atau SK/Piagam Perpanjangan Adiwiyata Tahun 2023/2024/2025 </b></p>
<input value="1" {{@$dokumen->nama_dalam_sk == 1 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Ya<br>
<input value="2" {{@$dokumen->nama_dalam_sk == 2 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Tidak<br>
<input value="3" {{@$dokumen->nama_dalam_sk == 3 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Tidak Ada Bukti/Dokumen <br>
</td>
</tr>
<tr>
<td>
<p><b>Apakah salinan SK/Piagam Sekolah Adiwiyata provinsi di tandatangani Gubernur atau pejabat yang diberi kewenangan untuk menandatangani atau SK/Piagam Perpanjangan di Tandatangani Kepala Dinas LH ?</b></p>
<input value="1" {{@$dokumen->sk_ttd == 1 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Ya <br>
<input value="2" {{@$dokumen->sk_ttd == 2 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Tidak <br>
<input value="3" {{@$dokumen->sk_ttd == 3 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Tidak Ada Bukti/Dokumen <br>
</td>
</tr>
<tr>
<td>
<p><b>Waktu Penetapan Penghargaan SAP</b></p>
<input value="1" {{@$dokumen->waktu_penetapan == 1 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP tahun 2021/ 2022/ 2023/ 2024 ditetapkan SEBELUM 1 Agustus 2024 <br>
<input value="2" {{@$dokumen->waktu_penetapan == 2 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP tahun 2021/ 2022 /2023/ 2024 ditetapkan SETELAH 1 Agustus 2024 <br>
<input value="3" {{@$dokumen->waktu_penetapan == 3 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP/SAN/SAM perolehan tahun 2020 atau sebelumnya serta lolos perpanjangan sebagai SAP <br>
<input value="4" {{@$dokumen->waktu_penetapan == 4 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP perolehan tahun 2020 atau sebelumnya serta tidak ada SK/piagam perpanjangan sebagai SAP <br>
</td>
</tr>
@if(@$kuesioner->status < 4)
<tr>
<td><button id="btnSaveAdministrasi" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button></td>
</tr>
@endif
</table>
</div>
<div class="tab-pane fade active show" id="kriteria" role="tabpanel">
<div class="row">
<div class="col-md-12" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="pageNumber">
@foreach($page as $hal)
<li class="page {{ (checkPenilaian($hal,$sekolah->MsSekolahId) == true ? 'bg-success text-white' : '' )}}" data-number={{$hal}}>{{$hal}}</li>
@endforeach
<!-- <li class="resume">Resume</li> -->
</ul>
</div>
<div class="col-md-12 mt-3">
<div class="alert alert-primary mb-2 p-2">
<h6 class="mb-0"><b class="changeTitle">I. Perencanaan Gerakan PBLHS</b></h6>
</div>
</div>
<div class="col-md-8 bodyInput">
<div id="loading-spinner" style="display: none; text-align: center;">
<img src="{{ asset('assets/spinner.gif') }}" alt="Loading..." width="20">
</div>
<div class="changeForm">
{!! formKriteria(1,$sekolah->MsSekolahId) !!}
</div>
</div>
<div class="col-md-4 mt-5 mx-auto">
<div class="mx-auto text-center">
<a href="#" class="btn btn-outline-primary mr-2 ">
Sekolah
<br>
<h4 class="nilai_sekolah">{{getNilai('sekolah',1,$sekolah->MsSekolahId)}}</h4>
</a>
<a href="#" class="btn btn-outline-warning mr-2 ">
Kab/Kota
<br>
<h4 class="nilai_kota">{{getNilai('kota',1,$sekolah->MsSekolahId)}}</h4>
</a>
<a href="#" class="btn btn-outline-danger mr-2 ">
Provinsi
<br>
<h4 class="nilai_provinsi">{{getNilai('provinsi',1,$sekolah->MsSekolahId)}}</h4>
</a>
</div>
</div>
@if(@$kuesioner->status < 4)
<div class="col-md-12 mt-3">
<button id="btnSave" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
@endif
</div>
</div>
<div class="tab-pane fade" id="usulan" role="tabpanel">
<table class="table table-nobordered">
<tr>
<th colspan="2" class="table-info">Usulan</th>
</tr>
<tr>
<td>Jenis Usulan CSA</td>
<td>{{getUsulan($sekolah->MsSekolahId)}}</td>
</tr>
<tr>
<th colspan="2" class="table-info">Penghargaan</th>
</tr>
<tr>
<td>Penghargaan Terakhir</td>
<td>{{getPenghargaanTerakhir($sekolah->MsSekolahId)}}</td>
</tr>
<tr>
<td>Nomor SK</td>
<td>-</td>
</tr>
<tr>
<td>Tanggal Penetapan SK</td>
<td>-</td>
</tr>
<tr>
<th colspan="2" class="table-info">Berdasarkan data usulan yang dilengkapi, dinyatakan bahwa {{@$sekolah->nama_sekolah}} :</th>
</tr>
<tr>
<td>Nilai Dokumen Administrasi</td>
<td>0</td>
</tr>
<tr>
<td>Nilai Pemenuhan Kriteria</td>
<td>0</td>
</tr>
<tr>
<td>Validasi</td>
<td>
<select class="form-control select2" id="validasi" name="validasi">
<option value="">- Pilih Validasi -</option>
<option {{@$kuesioner->status == '4' ? 'selected' : ''}} value="1">Diteruskan</option>
<option {{@$kuesioner->status == '5' ? 'selected' : ''}} value="2">Dikembalikan</option>
</select>
</td>
</tr>
<tr>
<td>Catatan</td>
<td>
<textarea class="form-control" id="catatan_validasi" name="catatan_validasi" placeholder="Catatan">{{@$kuesioner->catatan_usulan}}</textarea>
</td>
</tr>
@if(@$kuesioner->status < 4)
<tr>
<td><button id="btnSaveUsulan" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button></td>
<td></td>
</tr>
@endif
</table>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('page-js')
<script type="text/javascript">
@if(@$kuesioner->status < 4)
$(document).ready(function() {
// $('input[type="checkbox"], input[type="radio"], input[type="text"], textarea').attr('disabled', true);
});
@endif
$('.page').on('click',function(e){
e.preventDefault();
let number = $(this).data('number');
let base_url = "{{url('/')}}";
// Tambahkan kelas active dan hapus dari yang lain
$('.page').removeClass('activePage');
$(this).addClass('activePage');
$.ajax({
url: base_url+'/getForm', // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
page: number,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
$('.removeFormKriteria').remove();
},
success: function (response) {
console.log('Response:', response);
$('.changeForm').append(response.data);
$('.changeTitle').html(response.title);
$('.nilai_sekolah').html(response.nilai_sekolah);
$('.nilai_kota').html(response.nilai_kota);
$('.nilai_provinsi').html(response.nilai_prov);
$('.numberInput').on('input', function() {
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
});
},
error: function (xhr, status, error) {
console.error('AJAX Error:', status, error);
alert('Failed to fetch data!');
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('.resume').on('click',function(e){
window.location.href = "{{url('usulan/csan/resume/'.encode_id($sekolah->MsSekolahId))}}";
});
$('#btnSaveUsulan').on('click',function(e){
e.preventDefault();
var validasi = $('#validasi').find(':selected').val();
var catatan_validasi = $('#catatan_validasi').val();
if(validasi == ''){
toastr.error("Validasi Belum Dipilih", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(catatan_validasi == ''){
toastr.error("Catatan Validasi Belum Diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
$.ajax({
url: "{{route('modules.usulan.csan.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
validasi: validasi,
catatan_validasi: catatan_validasi,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
if(response.status == true){
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
location.reload();
}else{
toastr.error(response.message, 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}
},
error: function (xhr, status, error) {
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('#btnSaveAdministrasi').on('click',function(e){
e.preventDefault();
const nama_dalam_sk = $('input[name="dokumen_1"]:checked').val();
const sk_ttd = $('input[name="dokumen_2"]:checked').val();
const waktu_penetapan = $('input[name="dokumen_3"]:checked').val();
if(nama_dalam_sk == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(sk_ttd == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(waktu_penetapan == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
$.ajax({
url: "{{route('modules.usulan_adiwiyata.administrasi.update')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
nama_dalam_sk: nama_dalam_sk,
sk_ttd: sk_ttd,
waktu_penetapan: waktu_penetapan,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
if(response.status == true){
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}else{
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}
},
error: function (xhr, status, error) {
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('#btnSave').on('click',function(e){
e.preventDefault();
let currentForm = $("#form").serializeArray();
console.log(currentForm);
let formData = {};
let allData = {};
let isValid = true; // Flag validasi
currentForm.forEach(field => {
let name = field.name.replace(/\[\]$/, ''); // Hapus "[]" di akhir nama input
if (allData[name]) {
if (!Array.isArray(allData[name])) {
allData[name] = [allData[name]];
}
allData[name].push(field.value);
} else {
allData[name] = field.value;
}
});
$('.is-required').each(function () {
let type = $(this).attr('type');
let name = $(this).attr('name');
let value = $(this).val()?.trim(); // Pastikan nilai di-trim untuk menghindari spasi kosong
if (type === 'radio' || type === 'checkbox') {
// Validasi radio: setidaknya satu opsi harus dipilih
if ($(`input[name="${name}"]:checked`).length === 0) {
isValid = false;
$(`input[name="${name}"]`).closest('.custom-control-input').addClass("is-invalid");
} else {
$(`input[name="${name}"]`).closest('.custom-control-input').removeClass("is-invalid");
}
} else {
// Validasi input teks atau lainnya
if (!value) {
isValid = false;
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
}
});
// Jika validasi gagal, hentikan submit
if (!isValid) {
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
// alert(".");
return;
}
$.ajax({
url: "{{route('modules.usulan_adiwiyata.kriteria.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
data: allData,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
$('.page').closest('.activePage').addClass('bg-success');
$('.page').closest('.activePage').addClass('text-white');
$('.page').removeClass('activePage');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
},
error: function (xhr, status, error) {
// console.error('AJAX Error:', status, error);
// alert('Failed to fetch data!');
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
</script>
@endsection

View File

@ -142,8 +142,8 @@
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="tingkat_sekolah">Dokumen Administrasi</th>
<th data-field="tingkat_sekolah">Pemenuhan Kriteria</th>
<th data-field="tingkat_sekolah">Progress</th>
<th data-field="penilaian">Pemenuhan Kriteria</th>
<th data-field="progress">Progress</th>
<th data-field="tingkat_sekolah">SK</th>
</tr>
</thead>

View File

@ -0,0 +1,258 @@
@extends('layouts.master')
@section('page-css')
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/datagrid/datatables/datatables.bundle.css')}}">
<style type="text/css">
.listItem{
list-style: none;
margin: 0;
padding: 0;
}
.listItem > li{
display: inline-block;
margin: 10px;
}
.listItem > li:hover{
cursor: pointer;
}
.listItem > li .number{
font-size: 14px;
color: #fff;
background: #0ba360 !important;
padding: 10px;
border-radius: 10%;
}
.level{
float: right;
color: #fff;
text-align: center;
width: 100px;
}
.nav-link{
border-radius: 0px!important;
}
.pageNumber{ list-style:none; padding:0px; margin: 0px;}
.pageNumber > li{ display: inline-block; padding: 12px; background: rgba(255, 255, 255, 0.5); margin: 5px 1px;}
.pageNumber > li:hover{cursor: pointer;}
.pageNumber > li.active {
background-color: #007bff; /* Warna biru */
color: white;
font-weight: bold;
}
</style>
@endsection
@section('content')
<div class="subheader">
<h1 class="subheader-title">
<i class='subheader-icon fal fa-edit'></i> {{$title}}
</h1>
</div>
<div class="row">
<div class="col-lg-12">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" id="form">
{{csrf_field()}}
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12 p-3">
<table class="" border="0" style="width:100%">
<tr>
<td rowspan="5" width="5" style="vertical-align: middle; padding-right: 10px;">
<i class="fal fa-building fa-5x"></i>
</td>
</tr>
<tr>
<td colspan="2"><h5 class="text-success">NPSN: {{$sekolah->npsn}}</h5></td>
</tr>
<tr>
<td colspan="2"><h4><b>{{$sekolah->nama_sekolah}}</b></h4></td>
</tr>
<tr>
<td colspan="2"><span class="badge badge-primary">{{$sekolah->tingkat->name}}</span> <span class="badge badge-success">{{$sekolah->status}}</span></td>
</tr>
</table>
</div>
<div class="col-md-12">
<div class="alert alert-warning">
<p class="mb-0"><i class="fal fa-info-circle"></i>&nbsp;Anda Belum Melakukan Finalisasi Proses Data Kriteria</p>
<p class="mb-0"><i class="fal fa-info-circle"></i>&nbsp;Klik <b class="text-danger">Progress Usulan</b> untuk melakukan Finalisasi Proses Data Kriteria</p>
</div>
</div>
<div class="col-md-12 mb-4" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="pageNumber">
<li class="back"><i class="fal fa-arrow-left"></i></li>
<li class="resume active">Resume</li>
</ul>
</div>
<div class="col-md-12 bodyInput">
<div id="loading-spinner" style="display: none; text-align: center;">
<img src="{{ asset('assets/spinner.gif') }}" alt="Loading..." width="20">
</div>
<div class="changeForm">
@foreach($page as $dataNumber)
<div class="card mb-2" style="background:#EDE8DC;">
<div class="card-header color-white bg-success">
{{$dataNumber}}
</div>
<div class="card-body color-black">
{!! formKriteria($dataNumber,$sekolah->MsSekolahId) !!}
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('page-js')
<script type="text/javascript">
$(document).ready(function() {
$('input[type="checkbox"], input[type="radio"], input[type="text"], textarea').attr('disabled', true);
});
$('.page').on('click',function(e){
e.preventDefault();
let number = $(this).data('number');
let base_url = "{{url('/')}}";
// Tambahkan kelas active dan hapus dari yang lain
$('.page').removeClass('active');
$(this).addClass('active');
$.ajax({
url: base_url+'/getForm', // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
page: number ,
sekolah: {{@$sekolah->MsSekolahId}}
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
$('.removeFormKriteria').remove();
},
success: function (response) {
console.log('Response:', response);
$('.changeForm').append(response.data);
$('.changeTitle').html(response.title);
$('.numberInput').on('input', function() {
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
});
},
error: function (xhr, status, error) {
console.error('AJAX Error:', status, error);
alert('Failed to fetch data!');
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('.back').on('click',function(e){
window.location.href = "{{url('usulan/csan/update/'.encode_id($sekolah->MsSekolahId))}}";
});
$('#btnSave').on('click',function(e){
e.preventDefault();
let currentForm = $("#form").serializeArray();
console.log(currentForm);
let formData = {};
let allData = {};
let isValid = true; // Flag validasi
currentForm.forEach(field => {
let name = field.name.replace(/\[\]$/, ''); // Hapus "[]" di akhir nama input
if (allData[name]) {
if (!Array.isArray(allData[name])) {
allData[name] = [allData[name]];
}
allData[name].push(field.value);
} else {
allData[name] = field.value;
}
});
$('.is-required').each(function () {
let type = $(this).attr('type');
let name = $(this).attr('name');
let value = $(this).val()?.trim(); // Pastikan nilai di-trim untuk menghindari spasi kosong
if (type === 'radio' || type === 'checkbox') {
// Validasi radio: setidaknya satu opsi harus dipilih
if ($(`input[name="${name}"]:checked`).length === 0) {
isValid = false;
$(`input[name="${name}"]`).closest('.custom-control-input').addClass("is-invalid");
} else {
$(`input[name="${name}"]`).closest('.custom-control-input').removeClass("is-invalid");
}
} else {
// Validasi input teks atau lainnya
if (!value) {
isValid = false;
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
}
});
// Jika validasi gagal, hentikan submit
if (!isValid) {
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
// alert(".");
return;
}
$.ajax({
url: "{{route($route.'.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
data: allData
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
$('.page').closest('.active').addClass('bg-success');
$('.page').closest('.active').addClass('text-white');
$('.page').removeClass('active');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
},
error: function (xhr, status, error) {
// console.error('AJAX Error:', status, error);
// alert('Failed to fetch data!');
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
</script>
@endsection

View File

@ -0,0 +1,639 @@
@extends('layouts.master')
@section('page-css')
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/datagrid/datatables/datatables.bundle.css')}}">
<style type="text/css">
.listItem{
list-style: none;
margin: 0;
padding: 0;
}
.listItem > li{
display: inline-block;
margin: 10px;
}
.listItem > li:hover{
cursor: pointer;
}
.listItem > li .number{
font-size: 14px;
color: #fff;
background: #0ba360 !important;
padding: 10px;
border-radius: 10%;
}
.level{
float: right;
color: #fff;
text-align: center;
width: 100px;
}
.nav-link{
border-radius: 0px!important;
}
.pageNumber{ list-style:none; padding:0px; margin: 0px;}
.pageNumber > li{ display: inline-block; padding: 12px; background: rgba(255, 255, 255, 0.5); margin: 5px 1px;}
.pageNumber > li:hover{cursor: pointer;}
.page.activePage {
background-color: #007bff; /* Warna biru */
color: white;
font-weight: bold;
}
</style>
@endsection
@section('content')
<div class="subheader">
<h1 class="subheader-title">
<i class='subheader-icon fal fa-edit'></i> {{$title}}
</h1>
</div>
<div class="row">
<div class="col-lg-12">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" id="form">
<input type="hidden" name="secure_id" value="{{encode_id($kuesioner->KuesionerId)}}">
{{csrf_field()}}
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12 p-3">
<table class="" border="0" style="width:100%">
<tr>
<td rowspan="5" width="5" style="vertical-align: middle; padding-right: 10px;">
<i class="fal fa-building fa-5x"></i>
</td>
</tr>
<tr>
<td colspan="2"><h5 class="text-success">NPSN: {{$sekolah->npsn}}</h5></td>
</tr>
<tr>
<td colspan="2"><h4><b>{{$sekolah->nama_sekolah}}</b></h4></td>
</tr>
<tr>
<td colspan="2"><span class="badge badge-primary">{{$sekolah->tingkat->name}}</span> <span class="badge badge-success">{{$sekolah->status}}</span></td>
</tr>
</table>
</div>
<div class="col-12">
<div class="col-md-12" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="nav nav-pills" role="tablist">
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#profile">Profile Sekolah</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#dokumen">Dokumen Administrasi</a></li>
<li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#kriteria">Pemenuhan Kriteria</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#usulan">Usulan CSA</a></li>
</ul>
</div>
<div class="tab-content py-3">
<div class="tab-pane fade" id="profile" role="tabpanel">
<table class="table table-nobordered">
<tr class="table-info">
<td colspan="2"><b>Profile Sekolah</b></td>
</tr>
<tr>
<td>NPSN</td>
<td>{{@$sekolah->npsn}}</td>
</tr>
<tr>
<td>Nama Sekolag</td>
<td>{{@$sekolah->nama_sekolah}}</td>
</tr>
<tr>
<td>Tingkat Sekolah</td>
<td>{{@$sekolah->tingkat->name}}</td>
</tr>
<tr>
<td>Status Sekolah</td>
<td>{{@$sekolah->status}}</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Alamat Sekolah</b></td>
</tr>
<tr>
<td>Provinsi</td>
<td>{{@$sekolah->provinsi->name}}</td>
</tr>
<tr>
<td>Kabupaten/Kota</td>
<td>{{@$sekolah->kabupaten->name}}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td>{{@$sekolah->kecamatan->name}}</td>
</tr>
<tr>
<td>Alamat Lengkap</td>
<td>{{@$sekolah->profile->alamat_sekolah}}</td>
</tr>
<tr>
<td>Kontak Person</td>
<td>{{@$sekolah->profile->kontak_person}}</td>
</tr>
<tr>
<td>Telp</td>
<td>{{@$sekolah->profile->telp}}</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Data Jumlah</b></td>
</tr>
<tr>
<td scope="row"> Jumlah Peserta Didik</td>
<td>
<input readonly name="jumlah_peserta_didik" value="{{@$jumlah_peserta_didik ? @$jumlah_peserta_didik : old('jumlah_peserta_didik')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah peserta didik">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Tenaga Pendidik</td>
<td>
<input readonly name="jumlah_tenaga_pendidik" value="{{@$jumlah_tenaga_pendidik ? @$jumlah_tenaga_pendidik : old('jumlah_tenaga_pendidik')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah tenaga pendidik">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Tenaga kependidikan</td>
<td>
<input readonly name="jumlah_tenaga_kependidikan" value="{{@$jumlah_tenaga_kependidikan ? @$jumlah_tenaga_kependidikan : old('jumlah_tenaga_kependidikan')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah tenaga kependidikan">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Warga Sekolah Lainnya</td>
<td>
<input readonly name="jumlah_warga_sekolah_lainnya" value="{{@$jumlah_warga_sekolah_lainnya ? @$jumlah_warga_sekolah_lainnya : old('jumlah_warga_sekolah_lainnya')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah warga lainnya (cont:petugas kebersihan, petugas keamanan, petugas kantin, dll)">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Biopori</td>
<td>
<input readonly name="jumlah_biopori" value="{{@$jumlah_biopori ? @$jumlah_biopori : old('jumlah_biopori')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah biopori">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Sumur Resapan</td>
<td>
<input readonly name="jumlah_sumur_resapan" value="{{@$jumlah_sumur_resapan ? @$jumlah_sumur_resapan : old('jumlah_sumur_resapan')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah sumur resapan">
</td>
</tr>
<tr>
<td scope="row"> Jumlah Pohon/Tanaman yang ditanam dan tumbuh</td>
<td>
<input readonly name="jumlah_pohon" value="{{@$jumlah_pohon ? @$jumlah_pohon : old('jumlah_pohon')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jumlah pohon tanaman">
</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Penghematan air sebelum dan setelah melaksanakan gerakan PBLHS :</b></td>
</tr>
<tr>
<td scope="row"> Sebelum melaksanakan gerakan PBLHS <br> <small class="text-info">(Meter Kubik/Bulan)</small></td>
<td>
<input readonly name="air_sebelum_pblhs" value="{{@$air_sebelum_pblhs ? @$air_sebelum_pblhs : old('air_sebelum_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam meter kubik">
</td>
</tr>
<tr>
<td scope="row"> Setelah melaksanakan gerakan PBLHS <br> <small class="text-info">(Meter Kubik/Bulan dalam Tahun ajaran 2022/2023)</small></td>
<td>
<input readonly name="air_setelah_pblhs" value="{{@$air_setelah_pblhs ? @$air_setelah_pblhs : old('air_setelah_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam meter kubik">
</td>
</tr>
<tr class="table-info">
<td colspan="2"><b>Penghematan listrik sebelum dan setelah melaksanakan gerakan PBLHS :</b></td>
</tr>
<tr>
<td> Sebelum melaksanakan gerakan PBLHS <br> <small class="text-info">(KWH/Bulan)</small><br> <small class="text-info"></smald>
</th>
<td>
<input readonly name="listrik_sebelum_pblhs" value="{{@$listrik_sebelum_pblhs ? @$listrik_sebelum_pblhs : old('listrik_sebelum_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam kwh">
</td>
</tr>
<tr>
<td> Setelah melaksanakan gerakan PBLHS <br> <small class="text-info">(KWH/Bulan dalam Tahun ajaran 2022/2023)</small></td>
<td>
<input readonly name="listrik_setelah_pblhs" value="{{@$listrik_setelah_pblhs ? @$listrik_setelah_pblhs : old('listrik_setelah_pblhs')}}" type="text" class="numberInput form-control form-control-sm" placeholder="rata-rata per bulan dalam kwh">
</td>
</tr>
<tr>
<td> Luas ruangan ber AC</td>
<td>
<input readonly name="luas_ruangan_ac" value="{{@$luas_ruangan_ac ? @$luas_ruangan_ac : old('luas_ruangan_ac')}}" type="text" class="numberInput form-control form-control-sm" placeholder="dalam satuan meter persegi">
</td>
</tr>
<tr>
<td> Luas ruangan non AC</td>
<td>
<input readonly name="luas_ruangan_non_ac" value="{{@$luas_ruangan_non_ac ? @$luas_ruangan_non_ac : old('luas_ruangan_non_ac')}}" type="text" class="numberInput form-control form-control-sm" placeholder="dalam satuan meter persegi">
</td>
</tr>
<tr>
<td> Jumlah Kader</td>
<td>
<input readonly name="jumlah_kader" value="{{@$jumlah_kader ? @$jumlah_kader : old('jumlah_kader')}}" type="text" class="numberInput form-control form-control-sm" placeholder="jml kader yang dibentuk dan diberdayakan selama pelaksanaan gerakan PBLHS">
</td>
</tr>
</table>
</div>
<div class="tab-pane fade" id="dokumen" role="tabpanel">
<table class="table table-bordered">
<tr>
<td class="table-info">Seleksi Isian Dokumen Administrasi CSA</td>
</tr>
<tr>
<td>
<p><b>Apakah nama CSAN tercantum dalam SK/Piagam Sekolah Adiwiyata Provinsi (untuk SAP 2021/2022/2023/2024/2025) atau SK/Piagam Perpanjangan Adiwiyata Tahun 2023/2024/2025 </b></p>
<input value="1" {{@$dokumen->nama_dalam_sk == 1 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Ya<br>
<input value="2" {{@$dokumen->nama_dalam_sk == 2 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Tidak<br>
<input value="3" {{@$dokumen->nama_dalam_sk == 3 ? 'checked' : '' }} type="radio" name="dokumen_1">&nbsp;Tidak Ada Bukti/Dokumen <br>
</td>
</tr>
<tr>
<td>
<p><b>Apakah salinan SK/Piagam Sekolah Adiwiyata provinsi di tandatangani Gubernur atau pejabat yang diberi kewenangan untuk menandatangani atau SK/Piagam Perpanjangan di Tandatangani Kepala Dinas LH ?</b></p>
<input value="1" {{@$dokumen->sk_ttd == 1 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Ya <br>
<input value="2" {{@$dokumen->sk_ttd == 2 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Tidak <br>
<input value="3" {{@$dokumen->sk_ttd == 3 ? 'checked' : '' }} type="radio" name="dokumen_2">&nbsp;Tidak Ada Bukti/Dokumen <br>
</td>
</tr>
<tr>
<td>
<p><b>Waktu Penetapan Penghargaan SAP</b></p>
<input value="1" {{@$dokumen->waktu_penetapan == 1 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP tahun 2021/ 2022/ 2023/ 2024 ditetapkan SEBELUM 1 Agustus 2024 <br>
<input value="2" {{@$dokumen->waktu_penetapan == 2 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP tahun 2021/ 2022 /2023/ 2024 ditetapkan SETELAH 1 Agustus 2024 <br>
<input value="3" {{@$dokumen->waktu_penetapan == 3 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP/SAN/SAM perolehan tahun 2020 atau sebelumnya serta lolos perpanjangan sebagai SAP <br>
<input value="4" {{@$dokumen->waktu_penetapan == 4 ? 'checked' : '' }} type="radio" name="dokumen_3">&nbsp; SAP perolehan tahun 2020 atau sebelumnya serta tidak ada SK/piagam perpanjangan sebagai SAP <br>
</td>
</tr>
@if(@$kuesioner->status < 4)
<tr>
<td><button id="btnSaveAdministrasi" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button></td>
</tr>
@endif
</table>
</div>
<div class="tab-pane fade active show" id="kriteria" role="tabpanel">
<div class="row">
<div class="col-md-12" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="pageNumber">
@foreach($page as $hal)
<li class="page {{ (checkPenilaian($hal,$sekolah->MsSekolahId) == true ? 'bg-success text-white' : '' )}}" data-number={{$hal}}>{{$hal}}</li>
@endforeach
<!-- <li class="resume">Resume</li> -->
</ul>
</div>
<div class="col-md-12 mt-3">
<div class="alert alert-primary mb-2 p-2">
<h6 class="mb-0"><b class="changeTitle">I. Perencanaan Gerakan PBLHS</b></h6>
</div>
</div>
<div class="col-md-8 bodyInput">
<div id="loading-spinner" style="display: none; text-align: center;">
<img src="{{ asset('assets/spinner.gif') }}" alt="Loading..." width="20">
</div>
<div class="changeForm">
{!! formKriteria(1,$sekolah->MsSekolahId) !!}
</div>
</div>
<div class="col-md-4 mt-5 mx-auto">
<div class="mx-auto text-center">
<a href="#" class="btn btn-outline-primary mr-2 ">
Sekolah
<br>
<h4 class="nilai_sekolah">{{getNilai('sekolah',1,$sekolah->MsSekolahId)}}</h4>
</a>
<a href="#" class="btn btn-outline-warning mr-2 ">
Kab/Kota
<br>
<h4 class="nilai_kota">{{getNilai('kota',1,$sekolah->MsSekolahId)}}</h4>
</a>
<a href="#" class="btn btn-outline-danger mr-2 ">
Provinsi
<br>
<h4 class="nilai_provinsi">{{getNilai('provinsi',1,$sekolah->MsSekolahId)}}</h4>
</a>
</div>
</div>
@if(@$kuesioner->status < 4)
<div class="col-md-12 mt-3">
<button id="btnSave" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
@endif
</div>
</div>
<div class="tab-pane fade" id="usulan" role="tabpanel">
<table class="table table-nobordered">
<tr>
<th colspan="2" class="table-info">Usulan</th>
</tr>
<tr>
<td>Jenis Usulan CSA</td>
<td>{{getUsulan($sekolah->MsSekolahId)}}</td>
</tr>
<tr>
<th colspan="2" class="table-info">Penghargaan</th>
</tr>
<tr>
<td>Penghargaan Terakhir</td>
<td>{{getPenghargaanTerakhir($sekolah->MsSekolahId)}}</td>
</tr>
<tr>
<td>Nomor SK</td>
<td>-</td>
</tr>
<tr>
<td>Tanggal Penetapan SK</td>
<td>-</td>
</tr>
<tr>
<th colspan="2" class="table-info">Berdasarkan data usulan yang dilengkapi, dinyatakan bahwa {{@$sekolah->nama_sekolah}} :</th>
</tr>
<tr>
<td>Nilai Dokumen Administrasi</td>
<td>0</td>
</tr>
<tr>
<td>Nilai Pemenuhan Kriteria</td>
<td>0</td>
</tr>
<tr>
<td>Validasi</td>
<td>
<select class="form-control select2" id="validasi" name="validasi">
<option value="">- Pilih Validasi -</option>
<option {{@$kuesioner->status == '4' ? 'selected' : ''}} value="1">Diteruskan</option>
<option {{@$kuesioner->status == '5' ? 'selected' : ''}} value="2">Dikembalikan</option>
</select>
</td>
</tr>
<tr>
<td>Catatan</td>
<td>
<textarea class="form-control" id="catatan_validasi" name="catatan_validasi" placeholder="Catatan">{{@$kuesioner->catatan_usulan}}</textarea>
</td>
</tr>
@if(@$kuesioner->status < 4)
<tr>
<td><button id="btnSaveUsulan" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button></td>
<td></td>
</tr>
@endif
</table>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('page-js')
<script type="text/javascript">
@if(@$kuesioner->status < 4)
$(document).ready(function() {
// $('input[type="checkbox"], input[type="radio"], input[type="text"], textarea').attr('disabled', true);
});
@endif
$('.page').on('click',function(e){
e.preventDefault();
let number = $(this).data('number');
let base_url = "{{url('/')}}";
// Tambahkan kelas active dan hapus dari yang lain
$('.page').removeClass('activePage');
$(this).addClass('activePage');
$.ajax({
url: base_url+'/getForm', // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
page: number,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
$('.removeFormKriteria').remove();
},
success: function (response) {
console.log('Response:', response);
$('.changeForm').append(response.data);
$('.changeTitle').html(response.title);
$('.nilai_sekolah').html(response.nilai_sekolah);
$('.nilai_kota').html(response.nilai_kota);
$('.nilai_provinsi').html(response.nilai_prov);
$('.numberInput').on('input', function() {
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
});
},
error: function (xhr, status, error) {
console.error('AJAX Error:', status, error);
alert('Failed to fetch data!');
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('.resume').on('click',function(e){
window.location.href = "{{url('usulan/csap/resume/'.encode_id($sekolah->MsSekolahId))}}";
});
$('#btnSaveUsulan').on('click',function(e){
e.preventDefault();
var validasi = $('#validasi').find(':selected').val();
var catatan_validasi = $('#catatan_validasi').val();
if(validasi == ''){
toastr.error("Validasi Belum Dipilih", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(catatan_validasi == ''){
toastr.error("Catatan Validasi Belum Diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
$.ajax({
url: "{{route('modules.usulan.csap.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
validasi: validasi,
catatan_validasi: catatan_validasi,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
if(response.status == true){
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
location.reload();
}else{
toastr.error(response.message, 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}
},
error: function (xhr, status, error) {
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('#btnSaveAdministrasi').on('click',function(e){
e.preventDefault();
const nama_dalam_sk = $('input[name="dokumen_1"]:checked').val();
const sk_ttd = $('input[name="dokumen_2"]:checked').val();
const waktu_penetapan = $('input[name="dokumen_3"]:checked').val();
if(nama_dalam_sk == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(sk_ttd == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
if(waktu_penetapan == null){
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
return;
}
$.ajax({
url: "{{route('modules.usulan_adiwiyata.administrasi.update')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
nama_dalam_sk: nama_dalam_sk,
sk_ttd: sk_ttd,
waktu_penetapan: waktu_penetapan,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
if(response.status == true){
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}else{
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}
},
error: function (xhr, status, error) {
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('#btnSave').on('click',function(e){
e.preventDefault();
let currentForm = $("#form").serializeArray();
console.log(currentForm);
let formData = {};
let allData = {};
let isValid = true; // Flag validasi
currentForm.forEach(field => {
let name = field.name.replace(/\[\]$/, ''); // Hapus "[]" di akhir nama input
if (allData[name]) {
if (!Array.isArray(allData[name])) {
allData[name] = [allData[name]];
}
allData[name].push(field.value);
} else {
allData[name] = field.value;
}
});
$('.is-required').each(function () {
let type = $(this).attr('type');
let name = $(this).attr('name');
let value = $(this).val()?.trim(); // Pastikan nilai di-trim untuk menghindari spasi kosong
if (type === 'radio' || type === 'checkbox') {
// Validasi radio: setidaknya satu opsi harus dipilih
if ($(`input[name="${name}"]:checked`).length === 0) {
isValid = false;
$(`input[name="${name}"]`).closest('.custom-control-input').addClass("is-invalid");
} else {
$(`input[name="${name}"]`).closest('.custom-control-input').removeClass("is-invalid");
}
} else {
// Validasi input teks atau lainnya
if (!value) {
isValid = false;
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
}
});
// Jika validasi gagal, hentikan submit
if (!isValid) {
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
// alert(".");
return;
}
$.ajax({
url: "{{route('modules.usulan_adiwiyata.kriteria.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
data: allData,
sekolah: "{{encode_id(@$sekolah->MsSekolahId)}}"
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
$('.page').closest('.activePage').addClass('bg-success');
$('.page').closest('.activePage').addClass('text-white');
$('.page').removeClass('activePage');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
},
error: function (xhr, status, error) {
// console.error('AJAX Error:', status, error);
// alert('Failed to fetch data!');
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
</script>
@endsection

View File

@ -142,8 +142,8 @@
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="tingkat_sekolah">Dokumen Administrasi</th>
<th data-field="tingkat_sekolah">Pemenuhan Kriteria</th>
<th data-field="tingkat_sekolah">Progress</th>
<th data-field="penilaian">Pemenuhan Kriteria</th>
<th data-field="progress">Progress</th>
<th data-field="tingkat_sekolah">SK</th>
</tr>
</thead>

View File

@ -0,0 +1,258 @@
@extends('layouts.master')
@section('page-css')
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/datagrid/datatables/datatables.bundle.css')}}">
<style type="text/css">
.listItem{
list-style: none;
margin: 0;
padding: 0;
}
.listItem > li{
display: inline-block;
margin: 10px;
}
.listItem > li:hover{
cursor: pointer;
}
.listItem > li .number{
font-size: 14px;
color: #fff;
background: #0ba360 !important;
padding: 10px;
border-radius: 10%;
}
.level{
float: right;
color: #fff;
text-align: center;
width: 100px;
}
.nav-link{
border-radius: 0px!important;
}
.pageNumber{ list-style:none; padding:0px; margin: 0px;}
.pageNumber > li{ display: inline-block; padding: 12px; background: rgba(255, 255, 255, 0.5); margin: 5px 1px;}
.pageNumber > li:hover{cursor: pointer;}
.pageNumber > li.active {
background-color: #007bff; /* Warna biru */
color: white;
font-weight: bold;
}
</style>
@endsection
@section('content')
<div class="subheader">
<h1 class="subheader-title">
<i class='subheader-icon fal fa-edit'></i> {{$title}}
</h1>
</div>
<div class="row">
<div class="col-lg-12">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" id="form">
{{csrf_field()}}
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12 p-3">
<table class="" border="0" style="width:100%">
<tr>
<td rowspan="5" width="5" style="vertical-align: middle; padding-right: 10px;">
<i class="fal fa-building fa-5x"></i>
</td>
</tr>
<tr>
<td colspan="2"><h5 class="text-success">NPSN: {{$sekolah->npsn}}</h5></td>
</tr>
<tr>
<td colspan="2"><h4><b>{{$sekolah->nama_sekolah}}</b></h4></td>
</tr>
<tr>
<td colspan="2"><span class="badge badge-primary">{{$sekolah->tingkat->name}}</span> <span class="badge badge-success">{{$sekolah->status}}</span></td>
</tr>
</table>
</div>
<div class="col-md-12">
<div class="alert alert-warning">
<p class="mb-0"><i class="fal fa-info-circle"></i>&nbsp;Anda Belum Melakukan Finalisasi Proses Data Kriteria</p>
<p class="mb-0"><i class="fal fa-info-circle"></i>&nbsp;Klik <b class="text-danger">Progress Usulan</b> untuk melakukan Finalisasi Proses Data Kriteria</p>
</div>
</div>
<div class="col-md-12 mb-4" style="background: rgba(23, 162, 184, 0.2) !important;">
<ul class="pageNumber">
<li class="back"><i class="fal fa-arrow-left"></i></li>
<li class="resume active">Resume</li>
</ul>
</div>
<div class="col-md-12 bodyInput">
<div id="loading-spinner" style="display: none; text-align: center;">
<img src="{{ asset('assets/spinner.gif') }}" alt="Loading..." width="20">
</div>
<div class="changeForm">
@foreach($page as $dataNumber)
<div class="card mb-2" style="background:#EDE8DC;">
<div class="card-header color-white bg-success">
{{$dataNumber}}
</div>
<div class="card-body color-black">
{!! formKriteria($dataNumber,$sekolah->MsSekolahId) !!}
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('page-js')
<script type="text/javascript">
$(document).ready(function() {
$('input[type="checkbox"], input[type="radio"], input[type="text"], textarea').attr('disabled', true);
});
$('.page').on('click',function(e){
e.preventDefault();
let number = $(this).data('number');
let base_url = "{{url('/')}}";
// Tambahkan kelas active dan hapus dari yang lain
$('.page').removeClass('active');
$(this).addClass('active');
$.ajax({
url: base_url+'/getForm', // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
page: number ,
sekolah: {{@$sekolah->MsSekolahId}}
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
$('.removeFormKriteria').remove();
},
success: function (response) {
console.log('Response:', response);
$('.changeForm').append(response.data);
$('.changeTitle').html(response.title);
$('.numberInput').on('input', function() {
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
});
},
error: function (xhr, status, error) {
console.error('AJAX Error:', status, error);
alert('Failed to fetch data!');
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
$('.back').on('click',function(e){
window.location.href = "{{url('usulan/csap/update/'.encode_id($sekolah->MsSekolahId))}}";
});
$('#btnSave').on('click',function(e){
e.preventDefault();
let currentForm = $("#form").serializeArray();
console.log(currentForm);
let formData = {};
let allData = {};
let isValid = true; // Flag validasi
currentForm.forEach(field => {
let name = field.name.replace(/\[\]$/, ''); // Hapus "[]" di akhir nama input
if (allData[name]) {
if (!Array.isArray(allData[name])) {
allData[name] = [allData[name]];
}
allData[name].push(field.value);
} else {
allData[name] = field.value;
}
});
$('.is-required').each(function () {
let type = $(this).attr('type');
let name = $(this).attr('name');
let value = $(this).val()?.trim(); // Pastikan nilai di-trim untuk menghindari spasi kosong
if (type === 'radio' || type === 'checkbox') {
// Validasi radio: setidaknya satu opsi harus dipilih
if ($(`input[name="${name}"]:checked`).length === 0) {
isValid = false;
$(`input[name="${name}"]`).closest('.custom-control-input').addClass("is-invalid");
} else {
$(`input[name="${name}"]`).closest('.custom-control-input').removeClass("is-invalid");
}
} else {
// Validasi input teks atau lainnya
if (!value) {
isValid = false;
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
}
});
// Jika validasi gagal, hentikan submit
if (!isValid) {
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
// alert(".");
return;
}
$.ajax({
url: "{{route($route.'.store')}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
data: allData
}, // Kirim number sebagai parameter
dataType: 'json', // Format respons JSON
beforeSend: function () {
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
$('.page').closest('.active').addClass('bg-success');
$('.page').closest('.active').addClass('text-white');
$('.page').removeClass('active');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
},
error: function (xhr, status, error) {
// console.error('AJAX Error:', status, error);
// alert('Failed to fetch data!');
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
},
complete: function () {
$('#loading-spinner').hide(); // Sembunyikan spinner setelah request selesai
}
});
});
</script>
@endsection

View File

@ -60,6 +60,7 @@
@endif
<form method="POST" id="form">
{{csrf_field()}}
<input type="hidden" name="secure_id" value="{{encode_id($kuesioner->KuesionerId)}}">
<div class="card">
<div class="card-body">
<div class="row">
@ -116,7 +117,11 @@
</div>
</div>
<div class="card-footer">
@if(session('group_alias') == 'sekolah')
@if($kuesioner->status == 2)
<button id="btnSave" class="btn btn-success"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
@endif
@endif
</div>
</div>
@ -166,11 +171,11 @@
});
$('.resume').on('click',function(e){
window.location.href = "{{url('usulan/kriteria/resume/'.encode_id(session('sekolah_id')))}}";
window.location.href = "{{url('usulan/adiwiyata/kriteria/resume/'.encode_id(session('sekolah_id')))}}";
});
$('.progress_usulan').on('click',function(e){
window.location.href = "{{url('usulan/kriteria/progress/'.encode_id(session('sekolah_id')))}}";
window.location.href = "{{url('usulan/adiwiyata/kriteria/progress/'.encode_id(session('sekolah_id')))}}";
});
$('#btnSave').on('click',function(e){

View File

@ -287,7 +287,7 @@
</li>
</ul>
@if(session('group_alias') == 'sekolah')
@if($kuesioner->status == 1)
@if($kuesioner->status == 2)
<div class="custom-control custom-checkbox m-2">
<input type="checkbox" class="custom-control-input is-required check" id="true" value="1" name="check">
<label class="custom-control-label" for="true">Dengan ini menyatakan bahwa kelengkapan data sudah benar.</label>
@ -357,11 +357,11 @@
});
$('.back').on('click',function(e){
window.location.href = "{{url('usulan/kriteria')}}";
window.location.href = "{{url('usulan/adiwiyata/kriteria')}}";
});
$('.progress_usulan').on('click',function(e){
window.location.href = "{{url('usulan/kriteria/progress/'.encode_id(session('sekolah_id')))}}";
window.location.href = "{{url('usulan/adiwiyata/kriteria/progress/'.encode_id(session('sekolah_id')))}}";
});
$('.btnSend').on('click',function(e){
@ -375,7 +375,7 @@
}
$.ajax({
url: "{{url('usulan/kriteria/kirimData/'.@$secure_id.'/'.encode_id(@$kuesioner->KuesionerId))}}", // Ganti dengan URL API-mu
url: "{{url('usulan/adiwiyata/kriteria/kirimData/'.@$secure_id.'/'.encode_id(@$kuesioner->KuesionerId))}}", // Ganti dengan URL API-mu
type: 'POST', // Bisa juga 'POST' kalau perlu
data: {
_token:'{{csrf_token()}}',
@ -385,10 +385,14 @@
$('#loading-spinner').show(); // Menampilkan spinner
},
success: function (response) {
if(response.type == 'error'){
toastr.error(response.message, 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
}else{
// console.log('Response:', response);
toastr.success("Berhasil menyimpan data", 'Success!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
location.reload();
}
},
error: function (xhr, status, error) {
toastr.error("Maaf Terjadi Kesalahan Menyimpan Data", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});

View File

@ -169,11 +169,11 @@
});
$('.back').on('click',function(e){
window.location.href = "{{url('usulan/kriteria')}}";
window.location.href = "{{url('usulan/adiwiyata/kriteria')}}";
});
$('.progress_usulan').on('click',function(e){
window.location.href = "{{url('usulan/kriteria/progress/'.encode_id(session('sekolah_id')))}}";
window.location.href = "{{url('usulan/adiwiyata/kriteria/progress/'.encode_id(session('sekolah_id')))}}";
});
$('#btnSave').on('click',function(e){

View File

@ -142,13 +142,12 @@
<tr class="table-primary">
<th data-field="action">#</th>
<th data-field="no">No</th>
<th data-field="npsn">NPSN</th>
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<!-- <th data-field="dokumen_administrasi">Dokumen Administrasi</th> -->
<th data-field="penilaian">Pemenuhan Kriteria</th>
<th data-field="progress">Progress</th>
<th data-field="tanggal_penetapan">SK</th>
<th data-field="judul">Judul SK</th>
<th data-field="sekolah">Sekolah</th>
<th data-field="tanggal_penetapan">Tanggal Penetapan SK</th>
<th data-field="tahun">Tahun</th>
<th data-field="jenis_usulan">Jenis Usulan</th>
<th data-field="file">File</th>
</tr>
</thead>
<tbody></tbody>

View File

@ -66,16 +66,22 @@ Route::name('usulan.')->prefix('usulan')->group(function () {
Route::name('csap.')->prefix('csap')->group(function () {
Route::resource('/',CSAPController::class);
Route::get('update/{id}',[CSAPController::class,'update'])->name('update');
Route::get('/resume/{sekolah_id}',[CSAPController::class,'resume'])->name('resume');
Route::get('/grid',[CSAPController::class,'grid'])->name('grid');
});
Route::name('csam.')->prefix('csam')->group(function () {
Route::resource('/',CSAMController::class);
Route::get('update/{id}',[CSAMController::class,'update'])->name('update');
Route::get('/resume/{sekolah_id}',[CSAMController::class,'resume'])->name('resume');
Route::get('/grid',[CSAMController::class,'grid'])->name('grid');
});
Route::name('csan.')->prefix('csan')->group(function () {
Route::resource('/',CSANController::class);
Route::get('update/{id}',[CSANController::class,'update'])->name('update');
Route::get('/resume/{sekolah_id}',[CSANController::class,'resume'])->name('resume');
Route::get('/grid',[CSANController::class,'grid'])->name('grid');
});