main
ilhamwara 2025-06-02 16:06:05 +07:00
parent e88649e81e
commit cb2b578a80
9 changed files with 374 additions and 168 deletions

View File

@ -674,10 +674,12 @@ if (!function_exists('formKriteria')) {
}elseif(session('group_alias') == 'penilai_kota'){
$penilaian = Penilaian::where('key',$data->key)->where('ms_sekolah_id',$idSekolah)->where('status',1)->first();
$penilaianOld = Penilaian::where('key',$data->key)->where('ms_sekolah_id',$idSekolah)->where('status',0)->first();
}elseif(session('group_alias') == 'penilai_provinsi'){
$penilaian = Penilaian::where('key',$data->key)->where('ms_sekolah_id',$idSekolah)->where('status',2)->first();
$penilaianOld = Penilaian::where('key',$data->key)->where('ms_sekolah_id',$idSekolah)->where('status',1)->first();
}else{
$penilaian = Penilaian::where('key',$data->key)->where('ms_sekolah_id',$idSekolah)->first();
@ -694,27 +696,53 @@ if (!function_exists('formKriteria')) {
//QUESTION
if($data->type == 'textarea'){
$value = json_decode(@$penilaian->value);
$valueOld = json_decode(@$penilaianOld->value);
if(@$value){
$nilai = @$value;
}else{
$nilai = @$valueOld;
}
$html .= '<div class="form-group m-2">';
$html .= '<textarea class="form-control is-required" name="input_'.$data->key.'">'.@$value.'</textarea>';
$html .= '<textarea class="form-control is-required" name="input_'.$data->key.'">'.@$nilai.'</textarea>';
$html .= '</div>';
}elseif($data->type == 'freetext'){
$value = json_decode(@$penilaian->value);
$valueOld = json_decode(@$penilaianOld->value);
if(@$value){
$nilai = @$value;
}else{
$nilai = @$valueOld;
}
$html .= '<div class="form-group m-2">';
$html .= '<input type="text" class="form-control is-required" name="input_'.$data->key.'" value="'.@$value.'">';
$html .= '<input type="text" class="form-control is-required" name="input_'.$data->key.'" value="'.@$nilai.'">';
$html .= '</div>';
}elseif($data->type == 'checkbox'){
$option = json_decode($data->option);
$value = json_decode(@$penilaian->value);
$valueOld = json_decode(@$penilaianOld->value);
foreach($option as $keyOption => $dataOption){
if(@$value){
if(in_array($dataOption, (is_array(@$value) ? @$value : array(@$value)))){
$checked = 'checked';
}
}else{
if(in_array($dataOption, (is_array(@$valueOld) ? @$valueOld : array(@$valueOld)))){
$checked = 'checked';
}
}
$key = 'number_'.$keyKriteria.'_'.$keyOption;
$html .= '<div class="custom-control custom-checkbox m-2">';
$html .= '<input type="checkbox" '.(@$value ? in_array($dataOption, (is_array(@$value) ? @$value : array(@$value))) ? 'checked' : '' : '').' class="custom-control-input is-required" id="'.$key.'" value="'.$dataOption.'" name="input_'.$data->key.'[]">';
$html .= '<input type="checkbox" '.@$checked.' class="custom-control-input is-required" id="'.$key.'" value="'.$dataOption.'" name="input_'.$data->key.'[]">';
$html .= '<label class="custom-control-label" for="'.$key.'">'.$dataOption.'</label>';
$html .= '</div>';
}
@ -722,12 +750,14 @@ if (!function_exists('formKriteria')) {
}elseif($data->type == 'radio_button'){
$option = json_decode($data->option);
$value = json_decode(@$penilaian->value);
$valueOld = json_decode(@$penilaianOld->value);
foreach($option as $keyOption => $dataOption){
$key = 'number_'.$keyKriteria.'_'.$keyOption;
$html .= '<div class="custom-control custom-radio m-2">';
$html .= '<input '.(@$value == $dataOption ? 'checked' : '').' type="radio" class="custom-control-input is-required" id="'.$key.'" value="'.$dataOption.'" name="input_'.$data->key.'">';
$html .= '<input '.(@$value == $dataOption ? 'checked' : (@$valueOld == $dataOption ? 'checked' : '') ).' type="radio" class="custom-control-input is-required" id="'.$key.'" value="'.$dataOption.'" name="input_'.$data->key.'">';
$html .= '<label class="custom-control-label" for="'.$key.'">'.$dataOption.'</label>';
$html .= '</div>';
}
@ -735,8 +765,16 @@ if (!function_exists('formKriteria')) {
}elseif($data->type == 'number'){
$value = json_decode(@$penilaian->value);
$valueOld = json_decode(@$penilaianOld->value);
if(@$value){
$nilai = @$value;
}else{
$nilai = @$valueOld;
}
$html .= '<div class="form-group m-2">';
$html .= '<input type="text" class="form-control is-required numberInput" name="input_'.$data->key.'" value="'.@$value.'">';
$html .= '<input type="text" class="form-control is-required numberInput" name="input_'.$data->key.'" value="'.@$nilai.'">';
$html .= '</div>';
}
@ -749,14 +787,20 @@ if (!function_exists('formKriteria')) {
}elseif(session('group_alias') == 'penilai_kota'){
$lainnya = Penilaian::where('key','lainnya')->where('page_number',$page_number)->where('ms_sekolah_id',$idSekolah)->where('status',1)->first();
$lainnyaOld = Penilaian::where('key','lainnya')->where('page_number',$page_number)->where('ms_sekolah_id',$idSekolah)->where('status',0)->first();
}elseif(session('group_alias') == 'penilai_provinsi'){
$lainnya = Penilaian::where('key','lainnya')->where('page_number',$page_number)->where('ms_sekolah_id',$idSekolah)->where('status',2)->first();
$lainnyaOld = Penilaian::where('key','lainnya')->where('page_number',$page_number)->where('ms_sekolah_id',$idSekolah)->where('status',1)->first();
}else{
$lainnya = Penilaian::where('key','lainnya')->where('page_number',$page_number)->where('ms_sekolah_id',$idSekolah)->first();
}
if(@$lainnya){
$valueLainnya = json_decode(@$lainnya->value);
}else{
$valueLainnya = json_decode(@$lainnyaOld->value);
}
// dd($valueLainnya);
$html .= '<div class="card mb-2 removeFormKriteria">';
@ -788,8 +832,6 @@ if (!function_exists('formKriteria')) {
$html .= '<div style="border: 2px dashed #0087F7; padding: 20px;" class="dropzone" id="my-dropzone">
<div class="dz-message">
Drop PDF files here or click to upload
<br>
Max File 1MB
</div>
</div>
<div id="uploaded-files" style="margin-top: 20px;">

View File

@ -7,11 +7,14 @@ use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\File;
use Carbon\Carbon;
use App\Models\ProfileSekolah as Profile;
use App\Models\Kuesioner;
use App\Models\KuesionerLog;
use App\Models\Master\Provinsi;
use App\Models\Master\Sekolah;
use App\Models\DokumenAdministrasi;
class KuesionerController extends Controller
{
@ -128,6 +131,7 @@ class KuesionerController extends Controller
$sekolah = Sekolah::where('MsSekolahId',$keyId)->first();
$data['dok'] = DokumenAdministrasi::where('ms_sekolah_id',$keyId)->where('tahun',date('Y'))->first();
$data['nama_sekolah'] = @$sekolah->nama_sekolah;
$data['npsn'] = @$sekolah->npsn;
$data['status'] = @$sekolah->status;
@ -351,6 +355,31 @@ class KuesionerController extends Controller
$level = 6;
}
if (@$request->hasFile('tim_adiwiyata_link')) {
$file = $request->file('tim_adiwiyata_link');
$destinationPath = public_path('uploads/tim_adiwiyata');
$current = Carbon::now()->format('Y/m/d');
$path = $destinationPath . '/' . $current;
$fileName = $file->getClientOriginalName();
$fileMime = $file->getClientMimeType();
$fileExtension = $file->getClientOriginalExtension();
$fileSize = $file->getSize();
if($fileExtension != 'pdf'){
return redirect()->back()->with([
'message' => 'Maaf File Harus Berupa PDF!',
'type' => "error"
]);
}
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
if (!File::exists($path)) {
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
}
$filePathTim = 'tim_adiwiyata/' . $current . '/' . $newFilename;
$uploaded = $file->move($path, $newFilename);
}
$insert = new Kuesioner;
$insert->ms_sekolah_id = session('sekolah_id');
$insert->created_by = auth()->user()->id;
@ -367,9 +396,51 @@ class KuesionerController extends Controller
$insert->link_sk_adiwiyata = @$request->link_sk_adiwiyata;
$insert->tahun_penghargaan = @$request->tahun_penghargaan;
$insert->tim_adiwiyata_nomor_sk = @$request->tim_adiwiyata_nomor_sk;
$insert->tim_adiwiyata_link = @$request->tim_adiwiyata_link;
$insert->tim_adiwiyata_link = @$filePathTim;
$insert->status = 1;
$insert->save();
if (@$request->hasFile('file_usulan')) {
$file = $request->file('file_usulan');
$destinationPath = public_path('uploads/file_usulan');
$current = Carbon::now()->format('Y/m/d');
$path = $destinationPath . '/' . $current;
$fileName = $file->getClientOriginalName();
$fileMime = $file->getClientMimeType();
$fileExtension = $file->getClientOriginalExtension();
$fileSize = $file->getSize();
if($fileExtension != 'pdf'){
return redirect()->back()->with([
'message' => 'Maaf File Harus Berupa PDF!',
'type' => "error"
]);
}
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
if (!File::exists($path)) {
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
}
$filePathUsulan = 'file_usulan/' . $current . '/' . $newFilename;
$uploaded = $file->move($path, $newFilename);
$dok = DokumenAdministrasi::updateOrCreate([
'kuesioner_id' => $insert->KuesionerId,
'ms_sekolah_id' => session('sekolah_id'),
'npsn' => session('npsn'),
'created_by' => auth()->user()->id,
'tahun' => date('Y'),
],[
'kuesioner_id' => $insert->KuesionerId,
'ms_sekolah_id' => session('sekolah_id'),
'npsn' => session('npsn'),
'created_by' => auth()->user()->id,
'tahun' => date('Y'),
'file_usulan' => @$filePathUsulan,
'status' => 0,
]);
}
//kuesioner log
$log = new KuesionerLog;
@ -382,6 +453,16 @@ class KuesionerController extends Controller
$log->created_by = auth()->user()->id;
$log->save();
$log = new KuesionerLog;
$log->kuesioner_id = $insert->KuesionerId;
$log->ms_sekolah_id = session('sekolah_id');
$log->npsn = session('npsn');
$log->ms_group_id = session('group_id');
$log->step = 'proses_usulan';
$log->status = 1;
$log->created_by = auth()->user()->id;
$log->save();
logActivity($request, __('Create',['val' => strtolower(__('Title',['val' => 'Kuesioner Leveling User ID : '.auth()->user()->id]))]));

View File

@ -59,7 +59,7 @@ class AdministrasiController extends Controller
if(session('group_alias') == 'sekolah'){
if((@$dok->status == 0) || (@$dok->status == 2)){
if($row->status != 0){
if($dok->status != 0){
$action .= '<a href="#" data-filetim="'.@$dok->file_sk_tim.'" data-fileusulan="'.@$dok->file_usulan.'" data-link="'.@$dok->link.'" data-level="'.$row->level.'" data-secureid="'.encode_id($row->KuesionerId).'" data-toggle="modal" data-target="#modal" title="View Data" data-jenisusulan="'.$jenis_usulan.'" class="btn btn-xs btn-block btn-primary btnModal"><i class="fal fa-pencil text-white"></i></a>';
}
}
@ -74,11 +74,19 @@ class AdministrasiController extends Controller
}
}
if(@$usulan){
$fileUsulan = '<a download href="'.asset('uploads/'.@$usulan->file).'" class="btn btn-xs btn-block btn-success"><i class="fal fa-download text-white"></i>&nbsp; Surat Usulan</a>';
}else{
$fileUsulan = '';
$fileUsulan .= '<div class="btn-group">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">Lihat File</button>
<div class="dropdown-menu">';
if(@$dok){
$fileUsulan .= '<a download href="'.asset('uploads/'.@$dok->file_usulan).'" class="dropdown-item">Download Surat Usulan</a>';
}
if(@$dok->file_sk_tim){
$fileUsulan .= '<a download href="'.asset('uploads/'.@$dok->file_sk_tim).'" class="dropdown-item">Download SK Tim Adiwiyata</a>';
}
$fileUsulan .= '</div>
</div>';
if($row->level == 0){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Belum Pernah';
@ -115,9 +123,9 @@ class AdministrasiController extends Controller
$labelDok = '<span class="badge bg-danger-light">Belum Upload Dokumen</span>';
}
if($row->status == 0){
$labelDok .= '<br><span class="badge bg-danger-light">Menunggu Usulan Dari Dinas/Sudin</span>';
}
// if($row->status == 0){
// $labelDok .= '<br><span class="badge bg-danger-light">Menunggu Usulan Dari Dinas/Sudin</span>';
// }
$sekolah = '';
$sekolah .= @$row->sekolah->nama_sekolah.'<br>';
@ -205,7 +213,7 @@ class AdministrasiController extends Controller
if (@$request->hasFile('sk_tim_adiwiyata')) {
$file = $request->file('sk_tim_adiwiyata');
$destinationPath = public_path('uploads/file_sk_tim');
$destinationPath = public_path('uploads/tim_adiwiyata');
$current = Carbon::now()->format('Y/m/d');
$path = $destinationPath . '/' . $current;
$fileName = $file->getClientOriginalName();
@ -224,8 +232,12 @@ class AdministrasiController extends Controller
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
}
$filePathTim = 'file_sk_tim/' . $current . '/' . $newFilename;
$filePathTim = 'tim_adiwiyata/' . $current . '/' . $newFilename;
$uploaded = $file->move($path, $newFilename);
$kuesioner = Kuesioner::find($keyId);
$kuesioner->tim_adiwiyata_link = $filePathTim;
$kuesioner->save();
}
if (@$request->hasFile('surat_usulan')) {
@ -254,6 +266,8 @@ class AdministrasiController extends Controller
}
// dd($filePathUsulan);
$dok = DokumenAdministrasi::updateOrCreate([
'kuesioner_id' => $keyId,
'ms_sekolah_id' => session('sekolah_id'),

View File

@ -30,17 +30,24 @@ class KriteriaController extends Controller
}
$kuesioner = Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->first();
$dok = DokumenAdministrasi::where('kuesioner_id',$kuesioner->KuesionerId)->first();
if($kuesioner->status == 0){
if(@$dok->status == 0){
return redirect('kuesioner/update/'.encode_id(session('sekolah_id')))->with([
'message' => 'Menunggu Usulan dari Dinas/Sudin',
'message' => 'Maaf menunggu verifikasi dokumen oleh Dinas/Sudin',
'type' => 'error',
]);
}elseif(@$dok->status == 2){
return redirect('kuesioner/update/'.encode_id(session('sekolah_id')))->with([
'message' => 'Dokumen ditolak oleh Dinas/Sudin, silahkan upload ulang',
'type' => 'error',
]);
}
}
if(@$kuesioner){
if(@$kuesioner->status == 1){
$dok = DokumenAdministrasi::where('kuesioner_id',$kuesioner->KuesionerId)->first();
// $dok = DokumenAdministrasi::where('kuesioner_id',$kuesioner->KuesionerId)->first();
if(@$dok->status == 0){
return redirect('kuesioner/update/'.encode_id(session('sekolah_id')))->with([
'message' => 'Maaf menunggu verifikasi dokumen oleh Dinas/Sudin',

View File

@ -46,7 +46,7 @@
</ul>
</div>
@endif
<form method="POST" action="{{route($route.'.store')}}" id="form">
<form method="POST" action="{{route($route.'.store')}}" id="form" enctype="multipart/form-data">
{{csrf_field()}}
<div class="card">
<div class="card-body">
@ -122,8 +122,11 @@
</div>
</div>
<input class="form-control" name="tim_adiwiyata_nomor_sk" value="{{@$kuesioner->tim_adiwiyata_nomor_sk}}" placeholder="Masukkan nomor SK Tim Adiwiyata" type="text">
<input class="form-control" name="tim_adiwiyata_link" value="{{@$kuesioner->tim_adiwiyata_link}}" placeholder="Masukkan link Google Drive SK Tim Adiwiyata" type="text">
<input class="form-control" name="tim_adiwiyata_link" placeholder="Masukkan link Google Drive SK Tim Adiwiyata" type="file" accept=".pdf">
</div>
@if(@$kuesioner->tim_adiwiyata_link)
<a href="{{asset('uploads/'.@$kuesioner->tim_adiwiyata_link)}}" class="btn btn-primary mt-2"><i class="fal fa-download"></i>&nbsp;File SK Tim Adiwiyata</a>
@endif
</div>
</div>
<div class="form-group belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
@ -417,9 +420,29 @@
<input type="text" value="{{@$kuesioner->link_sk_adiwiyata}}" class="form-control form-control-sm link_sk_adiwiyata" name="link_sk_adiwiyata" placeholder="Link SK adiwiyata / perpanjangan (kosongkan jika belum mendapat adiwiyata)">
</div>
</div>
<div class="form-group belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
@if(@$dok->file_usulan)
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">
<a href="{{asset('uploads/'.@$dok->file_usulan)}}">Download File</a>
</div>
</div>
<input type="file" accept=".pdf" class="form-control" name="file_usulan">
</div>
</div>
@else
<div class="form-group">
<label class="fw-500 mb-3">Upload File Usulan Sekolah Adiwiyata</label>
<input type="file" class="form-control form-control-sm" name="file_usulan">
</div>
@endif
</div>
@if(!@$kuesioner)
<div class="form-group">
<button class="btn btn-success" id="btn-save">Simpan</button>
<button class="btn btn-success" id="btn-save"><i class="fal fa-save"></i>&nbsp;Simpan</button>
</div>
@endif
</div>

View File

@ -51,99 +51,74 @@
<div class="card-body">
<div class="row">
<div class="col-md-12">
<div class="max-w-xl mx-auto shadow-md">
<div class="mb-6 d-flex flex-row gap-3 justify-between">
<div class="p-2 rounded step-indicator bg-primary-light text-primary font-semibold">Data Jumlah</div>
<div class="p-2 rounded step-indicator text-secondary">Penghematan Air</div>
<div class="p-2 rounded step-indicator text-secondary">Penghematan Listrik</div>
</div>
</div>
<form id="form" action="{{route($route.'.store')}}" method="POST">
{{csrf_field()}}
<div id="panel-1" class="card">
<div class="card-body show">
<div class="panel-content mb-3">
<ul class="nav nav-tabs" role="tablist">
<!-- <li class="nav-item d-none"><a class="nav-link active" data-toggle="tab" href="#usulan" role="tab">Usulan</a></li> -->
<li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#jumlah" role="tab">Data Jumlah</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#air" role="tab">Penghematan Air</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#listrik" role="tab">Penghematan Listrik</a></li>
</ul>
<div class="tab-content pt-3">
<!-- <div class="tab-pane fade show active d-none" id="usulan" role="tabpanel">
<table class="table table-bordered">
<tr class="bg-success text-white">
<th><b>Penghargaan Terakhir</b></th>
<th><b>Tanggal Penetapan SK</b></th>
<th><b>Lampiran SK</b></th>
</tr>
@if(@$sk)
<tr>
<td style="vertical-align: middle;">
<?php
if(@$sk->jenis_usulan == 0){
$penghargaan = '<h5>Belum Pernah</h5>';
}elseif(@$sk->jenis_usulan == 1){
$penghargaan = '<h5>Adiwiyata Kab/Kota</h5>';
}elseif(@$sk->jenis_usulan == 2){
$penghargaan = '<h5>Adiwiyata Provinsi</h5>';
}elseif(@$sk->jenis_usulan == 3){
$penghargaan = '<h5>Adiwiyata Nasional</h5>';
}elseif(@$sk->jenis_usulan == 4){
$penghargaan = '<h5>Adiwiyata Mandiri</h5>';
}
?>
{!!$penghargaan!!}
</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>
@endif
</table>
</div> -->
<div class="tab-pane fade show active" id="jumlah" role="tabpanel">
<!-- Step 1 -->
<div class="step" id="step1">
<div class="row mt-3">
<div class="col-md-6">
<div class="form-group">
<label class="fw-500">Jumlah Peserta Didik</label>
<input name="jumlah_peserta_didik" value="{{@$jumlah_peserta_didik ? @$jumlah_peserta_didik : old('jumlah_peserta_didik')}}" type="text" class="numberInput form-control " placeholder="jumlah peserta didik">
<input name="jumlah_peserta_didik" value="{{@$jumlah_peserta_didik ? @$jumlah_peserta_didik : old('jumlah_peserta_didik')}}" type="text" class="numberInput form-control is-required " placeholder="jumlah peserta didik">
</div>
<div class="form-group">
<label class="fw-500">Jumlah Tenaga Pendidik</label>
<input name="jumlah_tenaga_pendidik" value="{{@$jumlah_tenaga_pendidik ? @$jumlah_tenaga_pendidik : old('jumlah_tenaga_pendidik')}}" type="text" class="numberInput form-control " placeholder="jumlah tenaga pendidik">
<input name="jumlah_tenaga_pendidik" value="{{@$jumlah_tenaga_pendidik ? @$jumlah_tenaga_pendidik : old('jumlah_tenaga_pendidik')}}" type="text" class="numberInput form-control is-required " placeholder="jumlah tenaga pendidik">
</div>
<div class="form-group">
<label class="fw-500">Jumlah Tenaga kependidikan</label>
<input name="jumlah_tenaga_kependidikan" value="{{@$jumlah_tenaga_kependidikan ? @$jumlah_tenaga_kependidikan : old('jumlah_tenaga_kependidikan')}}" type="text" class="numberInput form-control " placeholder="jumlah tenaga kependidikan">
<input name="jumlah_tenaga_kependidikan" value="{{@$jumlah_tenaga_kependidikan ? @$jumlah_tenaga_kependidikan : old('jumlah_tenaga_kependidikan')}}" type="text" class="numberInput form-control is-required " placeholder="jumlah tenaga kependidikan">
</div>
<div class="form-group">
<label class="fw-500">Jumlah Warga Sekolah Lainnya</label>
<input 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 " placeholder="jumlah warga lainnya (cont:petugas kebersihan, petugas keamanan, petugas kantin, dll)">
<input 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 is-required " placeholder="jumlah warga lainnya (cont:petugas kebersihan, petugas keamanan, petugas kantin, dll)">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="fw-500">Jumlah Biopori</label>
<input name="jumlah_biopori" value="{{@$jumlah_biopori ? @$jumlah_biopori : old('jumlah_biopori')}}" type="text" class="numberInput form-control " placeholder="jumlah biopori">
<input name="jumlah_biopori" value="{{@$jumlah_biopori ? @$jumlah_biopori : old('jumlah_biopori')}}" type="text" class="numberInput form-control is-required " placeholder="jumlah biopori">
</div>
<div class="form-group">
<label class="fw-500">Jumlah Sumur Resapan</label>
<input name="jumlah_sumur_resapan" value="{{@$jumlah_sumur_resapan ? @$jumlah_sumur_resapan : old('jumlah_sumur_resapan')}}" type="text" class="numberInput form-control " placeholder="jumlah sumur resapan">
<input name="jumlah_sumur_resapan" value="{{@$jumlah_sumur_resapan ? @$jumlah_sumur_resapan : old('jumlah_sumur_resapan')}}" type="text" class="numberInput form-control is-required " placeholder="jumlah sumur resapan">
</div>
<div class="form-group">
<label class="fw-500">Jumlah Pohon/Tanaman yang ditanam dan tumbuh</label>
<input name="jumlah_pohon" value="{{@$jumlah_pohon ? @$jumlah_pohon : old('jumlah_pohon')}}" type="text" class="numberInput form-control " placeholder="jumlah pohon tanaman">
<input name="jumlah_pohon" value="{{@$jumlah_pohon ? @$jumlah_pohon : old('jumlah_pohon')}}" type="text" class="numberInput form-control is-required " placeholder="jumlah pohon tanaman">
</div>
</div>
</div>
<div class="flex justify-end mt-3">
<button type="button" class="next btn btn-primary text-white rounded">Selanjutnya&nbsp;<i class="fal fa-arrow-right"></i></button>
</div>
<div class="tab-pane fade" id="air" role="tabpanel">
</div>
<!-- Step 2 -->
<div class="step d-none" id="step2">
<div class="alert bg-primary-light">
<p class="mb-0 text-primary">Penghematan air sebelum dan setelah melaksanakan gerakan PBLHS</p>
</div>
<div class="form-group">
<label class="fw-500">Sebelum melaksanakan gerakan PBLHS <small class="text-warning">(Meter Kubik/Bulan)</small></label>
<input name="air_sebelum_pblhs" value="{{@$air_sebelum_pblhs ? @$air_sebelum_pblhs : old('air_sebelum_pblhs')}}" type="text" class="numberInput form-control" placeholder="rata-rata per bulan dalam meter kubik">
<input name="air_sebelum_pblhs" value="{{@$air_sebelum_pblhs ? @$air_sebelum_pblhs : old('air_sebelum_pblhs')}}" type="text" class="numberInput form-control is-required" placeholder="rata-rata per bulan dalam meter kubik">
</div>
<div class="form-group">
<label class="fw-500">Setelah melaksanakan gerakan PBLHS <small class="text-warning">(Meter Kubik/Bulan dalam Tahun ajaran 2022/2023)</small></label>
<input name="air_setelah_pblhs" value="{{@$air_setelah_pblhs ? @$air_setelah_pblhs : old('air_setelah_pblhs')}}" type="text" class="numberInput form-control" placeholder="rata-rata per bulan dalam meter kubik">
<input name="air_setelah_pblhs" value="{{@$air_setelah_pblhs ? @$air_setelah_pblhs : old('air_setelah_pblhs')}}" type="text" class="numberInput form-control is-required" placeholder="rata-rata per bulan dalam meter kubik">
</div>
<div class="flex justify-between">
<button type="button" class="prev btn btn-secondary text-black px-4 py-2 rounded"><i class="fal fa-arrow-left"></i>&nbsp;Kembali</button>
<button type="button" class="next btn btn-primary text-white px-4 py-2 rounded">Selanjutnya&nbsp;<i class="fal fa-arrow-right"></i></button>
</div>
</div>
<div class="tab-pane fade" id="listrik" role="tabpanel">
<div class="step d-none" id="step3">
<div class="alert bg-primary-light">
<p class="mb-0 text-primary">Penghematan listrik sebelum dan setelah melaksanakan gerakan PBLHS</p>
</div>
@ -151,34 +126,31 @@
<div class="col-md-6">
<div class="form-group">
<label class="fw-500">Sebelum melaksanakan gerakan PBLHS <small class="text-warning">(KWH/Bulan)</small></label>
<input name="listrik_sebelum_pblhs" value="{{@$listrik_sebelum_pblhs ? @$listrik_sebelum_pblhs : old('listrik_sebelum_pblhs')}}" type="text" class="numberInput form-control" placeholder="rata-rata per bulan dalam kwh">
<input name="listrik_sebelum_pblhs" value="{{@$listrik_sebelum_pblhs ? @$listrik_sebelum_pblhs : old('listrik_sebelum_pblhs')}}" type="text" class="numberInput form-control is-required" placeholder="rata-rata per bulan dalam kwh">
</div>
<div class="form-group">
<label class="fw-500">Setelah melaksanakan gerakan PBLHS <small class="text-warning">(KWH/Bulan dalam Tahun ajaran 2022/2023)</small></label>
<input name="listrik_setelah_pblhs" value="{{@$listrik_setelah_pblhs ? @$listrik_setelah_pblhs : old('listrik_setelah_pblhs')}}" type="text" class="numberInput form-control" placeholder="rata-rata per bulan dalam kwh">
<input name="listrik_setelah_pblhs" value="{{@$listrik_setelah_pblhs ? @$listrik_setelah_pblhs : old('listrik_setelah_pblhs')}}" type="text" class="numberInput form-control is-required" placeholder="rata-rata per bulan dalam kwh">
</div>
<div class="form-group">
<label class="fw-500">Luas ruangan ber AC</label>
<input name="luas_ruangan_ac" value="{{@$luas_ruangan_ac ? @$luas_ruangan_ac : old('luas_ruangan_ac')}}" type="text" class="numberInput form-control" placeholder="dalam satuan meter persegi">
<input name="luas_ruangan_ac" value="{{@$luas_ruangan_ac ? @$luas_ruangan_ac : old('luas_ruangan_ac')}}" type="text" class="numberInput form-control is-required" placeholder="dalam satuan meter persegi">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="fw-500">Luas ruangan non AC</label>
<input 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" placeholder="dalam satuan meter persegi">
<input 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 is-required" placeholder="dalam satuan meter persegi">
</div>
<div class="form-group">
<label class="fw-500">Jumlah Kader</label>
<input name="jumlah_kader" value="{{@$jumlah_kader ? @$jumlah_kader : old('jumlah_kader')}}" type="text" class="numberInput form-control" placeholder="jml kader yang dibentuk dan diberdayakan selama pelaksanaan gerakan PBLHS">
<input name="jumlah_kader" value="{{@$jumlah_kader ? @$jumlah_kader : old('jumlah_kader')}}" type="text" class="numberInput form-control is-required" placeholder="jml kader yang dibentuk dan diberdayakan selama pelaksanaan gerakan PBLHS">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<button class="btn btn-primary"><i class="fal fa-save"></i>&nbsp;&nbsp;Simpan Perubahan</button>
</div>
<div class="flex justify-between mt-3">
<button type="button" class="prev btn btn-secondary text-black px-4 py-2 rounded"><i class="fal fa-arrow-left"></i>&nbsp;Kembali</button>
<button type="submit" class="submit btn btn-success text-white px-4 py-2 rounded"><i class="fal fa-save"></i>&nbsp;Simpan Data</button>
</div>
</div>
</form>
@ -190,5 +162,65 @@
</div>
@endsection
@section('page-js')
<script>
const steps = document.querySelectorAll(".step");
const indicators = document.querySelectorAll(".step-indicator");
let currentStep = 0;
function showStep(index) {
steps.forEach((step, i) => {
step.classList.toggle("d-none", i !== index);
indicators[i].classList.toggle("bg-primary-light", i === index);
indicators[i].classList.toggle("text-primary", i === index);
indicators[i].classList.toggle("text-secondary", i !== index);
});
}
document.querySelectorAll(".next").forEach(btn => {
btn.addEventListener("click", () => {
if (currentStep < steps.length - 1) {
currentStep++;
showStep(currentStep);
}
});
});
document.querySelectorAll(".prev").forEach(btn => {
btn.addEventListener("click", () => {
if (currentStep > 0) {
currentStep--;
showStep(currentStep);
}
});
});
document.getElementById("form").addEventListener("submit", (e) => {
e.preventDefault();
const form = e.target;
let isValid = true; // Flag validasi
$('.is-required').each(function () {
let value = $(this).val()?.trim();
if (!value) {
isValid = false;
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
});
if (!isValid) {
toastr.error("Harap isi semua field yang wajib diisi", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
// alert(".");
return;
}else{
form.submit();
}
});
// Initialize first step
showStep(currentStep);
</script>
@endsection

View File

@ -134,8 +134,8 @@
<th data-field="npsn">NPSN</th>
<th data-field="nama">Nama Sekolah</th>
<th data-field="wilayah">Wilayah</th>
<th data-field="usulan">File Usulan</th>
<th data-field="labelDok">Status Dokumen</th>
<th data-field="usulan" width="60%">File</th>
<th data-field="labelDok">Status</th>
</tr>
</thead>
<tbody></tbody>
@ -312,7 +312,7 @@
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">';
if(filetim != ''){
div += '<br><a href="'+assetURL+'/'+filetim+'" class="btn btn-sm btn-warning"><i class="fal fa-download "></i> File SK Tim Adiwiyata</a> <br>';
}
@ -324,7 +324,7 @@
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">';
if(fileusulan != ''){
div += '<br><a href="'+assetURL+'/'+fileusulan+'" class="btn btn-sm btn-warning"><i class="fal fa-download "></i> File Usulan</a> <br>';
}
@ -337,7 +337,7 @@
div += '<div>'+$(this).attr('data-jenisusulan')+'</div>';
div += '</td>';
div += '<td>';
div += '<input type="file" accept=".pdf" class="form-control is-required" name="file" required>';
div += '<input type="file" accept=".pdf" class="form-control is-required" name="file">';
div += '<small class="text-danger">Format : .pdf, Maksimal File : 2MB</small>';
div += '</td>';
div += '</tr>';

View File

@ -319,8 +319,8 @@
let number = $(this).data('number');
let base_url = "{{url('/')}}";
// Tambahkan kelas active dan hapus dari yang lain
$('.page').removeClass('activePage');
$(this).addClass('activePage');
$('.page').removeClass('bg-primary-light border-primary text-primary');
$(this).addClass('bg-primary-light border-primary text-primary');
$.ajax({
url: base_url+'/getForm', // Ganti dengan URL API-mu
@ -541,10 +541,13 @@
$('.nilai_kota').html(response.nilai_kota);
$('.nilai_provinsi').html(response.nilai_prov);
$('.page').closest('.activePage').addClass('bg-success');
$('.page').closest('.activePage').addClass('text-white');
$('.page').removeClass('activePage');
// $('.page').closest('.activePage').addClass('bg-success');
// $('.page').closest('.activePage').addClass('text-white');
// $('.page').removeClass('activePage');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
$('.page').closest('.bg-primary-light').addClass('bg-success-light border-success text-success');
$('.page').closest('.bg-primary-light').removeClass('bg-primary-light border-primary border-secondary text-primary');
},
error: function (xhr, status, error) {
// console.error('AJAX Error:', status, error);

View File

@ -130,7 +130,7 @@
uploadMultiple: true,
init: function() {
this.on("successmultiple", function(files, response) {
console.log('Upload success multiple:', response);
// console.log('Upload success multiple:', response);
const fileList = document.getElementById('file-list');
@ -184,7 +184,7 @@
$('.removeFormKriteria').remove();
},
success: function (response) {
console.log('Response:', response);
// console.log('Response:', response);
$('.changeForm').append(response.data);
$('.changeTitle').html(response.title);
@ -258,7 +258,7 @@
$('#btnSave').on('click',function(e){
e.preventDefault();
let currentForm = $("#form").serializeArray();
console.log(currentForm);
// console.log(currentForm);
let formData = {};
let allData = {};
@ -351,9 +351,13 @@
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');
// $('.page').closest('.active').addClass('bg-success');
// $('.page').closest('.active').addClass('text-white');
$('.page').closest('.bg-primary-light').addClass('bg-success-light border-success text-success');
$('.page').closest('.bg-primary-light').removeClass('bg-primary-light border-primary border-secondary text-primary');
// $('.page').removeClass('active');
// (checkPenilaian($hal) == true ? 'bg-success text-white' : '' )
},
error: function (xhr, status, error) {