update
parent
2130765eef
commit
c5191ebbba
|
@ -2,6 +2,114 @@
|
|||
|
||||
use App\Models\Master\MasterMenu;
|
||||
use App\Models\Master\MasterAccessMenu;
|
||||
use App\Models\Kuesioner;
|
||||
use App\Models\Master\FormKriteria;
|
||||
|
||||
if (!function_exists('formKriteria')) {
|
||||
/**
|
||||
* @param $val
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function formKriteria($page_number)
|
||||
{
|
||||
$kriteria = FormKriteria::where('page_number',$page_number)->get();
|
||||
$html = '';
|
||||
foreach($kriteria as $keyKriteria => $data){
|
||||
|
||||
$nameOption = 'option_number_'.$keyKriteria;
|
||||
|
||||
$html .= '<div class="card mb-2 removeFormKriteria">';
|
||||
$html .= '<div class="card-body">';
|
||||
$html .= '<h6><b>'.$data->judul.'</b></h6>';
|
||||
|
||||
//QUESTION
|
||||
if($data->type == 'textarea'){
|
||||
|
||||
$html .= '<div class="form-group m-2">';
|
||||
$html .= '<textarea class="form-control" name="'.$nameOption.'"></textarea>';
|
||||
$html .= '</div>';
|
||||
|
||||
}elseif($data->type == 'freetext'){
|
||||
|
||||
$html .= '<div class="form-group m-2">';
|
||||
$html .= '<input type="text" class="form-control" name="'.$nameOption.'">';
|
||||
$html .= '</div>';
|
||||
|
||||
}elseif($data->type == 'checkbox'){
|
||||
$option = json_decode($data->option);
|
||||
foreach($option as $keyOption => $dataOption){
|
||||
|
||||
$key = 'number_'.$keyKriteria.'_'.$keyOption;
|
||||
|
||||
$html .= '<div class="custom-control custom-checkbox m-2">';
|
||||
$html .= '<input type="checkbox" class="custom-control-input" id="'.$key.'" value="'.$dataOption.'" name="'.$nameOption.'">';
|
||||
$html .= '<label class="custom-control-label" for="'.$key.'">'.$dataOption.'</label>';
|
||||
$html .= '</div>';
|
||||
}
|
||||
|
||||
}elseif($data->type == 'radio_button'){
|
||||
$option = json_decode($data->option);
|
||||
foreach($option as $keyOption => $dataOption){
|
||||
|
||||
$key = 'number_'.$keyKriteria.'_'.$keyOption;
|
||||
|
||||
$html .= '<div class="custom-control custom-radio m-2">';
|
||||
$html .= '<input type="radio" class="custom-control-input" id="'.$key.'" value="'.$dataOption.'" name="'.$nameOption.'">';
|
||||
$html .= '<label class="custom-control-label" for="'.$key.'">'.$dataOption.'</label>';
|
||||
$html .= '</div>';
|
||||
}
|
||||
|
||||
}elseif($data->type == 'number'){
|
||||
$html .= '<div class="form-group m-2">';
|
||||
$html .= '<input type="text" class="form-control numberInput" name="'.$nameOption.'">';
|
||||
$html .= '</div>';
|
||||
}
|
||||
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('levelAdiwiyata')) {
|
||||
/**
|
||||
* @param $val
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function levelAdiwiyata($npsn)
|
||||
{
|
||||
$kuesioner = Kuesioner::where('npsn',$npsn)->where('tahun',date('Y'))->first();
|
||||
if(@$kuesioner){
|
||||
$data = $kuesioner;
|
||||
}else{
|
||||
$kuesioner = Kuesioner::where('npsn',$npsn)->where('tahun',(date('Y')-1))->first();
|
||||
$data = $kuesioner;
|
||||
}
|
||||
$level = '';
|
||||
|
||||
if($data->level == 0){
|
||||
if(($data->level == 0) && ($data->tim_adiwiyata == 2) && ($data->info_pblhs == 2) ){
|
||||
$level = '2';
|
||||
}elseif(($data->level == 0) && ($data->tim_adiwiyata == 2)){
|
||||
$level = '1';
|
||||
}else{
|
||||
$level = '0';
|
||||
}
|
||||
}elseif($data->level == 1){
|
||||
$level = '3';
|
||||
}elseif($data->level == 2){
|
||||
$level = '4';
|
||||
}else{
|
||||
$level = '4';
|
||||
}
|
||||
|
||||
return $level;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('taskLabel')) {
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Master\FormKriteria;
|
||||
|
||||
class AjaxController extends Controller
|
||||
{
|
||||
public function getForm(Request $request)
|
||||
{
|
||||
$data = formKriteria($request->page);
|
||||
$title = FormKriteria::select('kategori')->where('page_number',$request->page)->first();
|
||||
|
||||
return response()->json(['status' => true, 'data' => $data,'title' => $title->kategori]);
|
||||
}
|
||||
}
|
|
@ -8,6 +8,7 @@ use Illuminate\Support\Facades\DB;
|
|||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use App\Models\ProfileSekolah as Profile;
|
||||
use App\Models\Kuesioner;
|
||||
|
||||
class KuesionerController extends Controller
|
||||
{
|
||||
|
@ -20,7 +21,231 @@ class KuesionerController extends Controller
|
|||
|
||||
$data['title'] = 'Kuesioner Leveling';
|
||||
$data['route'] = $this->route;
|
||||
$kuesioner = Kuesioner::where('user_id',auth()->user()->id)->where('tahun',date('Y'))->first();
|
||||
if(@$kuesioner){
|
||||
$data['kuesioner'] = $kuesioner;
|
||||
}else{
|
||||
$kuesioner = Kuesioner::where('user_id',auth()->user()->id)->where('tahun',(date('Y')-1))->first();
|
||||
$data['kuesioner'] = $kuesioner;
|
||||
}
|
||||
|
||||
$media = json_decode(@$kuesioner->media);
|
||||
$data['selectedMediaValues'] = collect($media)->pluck('value')->toArray(); // Ambil value yang dipilih
|
||||
$data['selectedMediaTexts'] = collect($media)->keyBy('name');
|
||||
|
||||
$materi = json_decode(@$kuesioner->materi);
|
||||
$data['selectedMateriValues'] = collect($materi)->pluck('value')->toArray(); // Ambil value yang dipilih
|
||||
$data['selectedMateriTexts'] = collect($materi)->keyBy('name');
|
||||
|
||||
$komitmen = json_decode(@$kuesioner->komitmen);
|
||||
$data['selectedKomitmenValues'] = collect($komitmen)->pluck('value')->toArray(); // Ambil value yang dipilih
|
||||
$data['selectedKomitmenTexts'] = collect($komitmen)->keyBy('name');
|
||||
|
||||
$kegiatan_lingkungan = json_decode(@$kuesioner->kegiatan_lingkungan);
|
||||
$data['selectedKegiatanLingkunganValues'] = collect($kegiatan_lingkungan)->pluck('value')->toArray(); // Ambil value yang dipilih
|
||||
$data['selectedKegiatanLingkunganTexts'] = collect($kegiatan_lingkungan)->keyBy('name');
|
||||
|
||||
$pihak_kegiatan_lingkungan = json_decode(@$kuesioner->pihak_kegiatan_lingkungan);
|
||||
$data['selectedPihakKegiatanLingkunganValues'] = collect($pihak_kegiatan_lingkungan)->pluck('value')->toArray(); // Ambil value yang dipilih
|
||||
$data['selectedPihakKegiatanLingkunganTexts'] = collect($pihak_kegiatan_lingkungan)->keyBy('name');
|
||||
|
||||
return view($this->template.'.form',$data);
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
// dd(request()->all());
|
||||
try {
|
||||
|
||||
$media = request()->input('media', []); // Ambil array media
|
||||
$mediaText = request()->input('media_text', []); // Ambil array media_text
|
||||
$materi = request()->input('materi', []); // Ambil array materi
|
||||
$materiText = request()->input('materi_text', []); // Ambil array materi_text
|
||||
$komitmen = array(request()->input('komitmen')); // Ambil array komitmen
|
||||
$komitmenText = request()->input('komitmen_text', []); // Ambil array komitmen_text
|
||||
$kegiatan_lingkungan = request()->input('kegiatan_lingkungan', []); // Ambil array kegiatan_lingkungan
|
||||
$kegiatan_lingkunganText = request()->input('kegiatan_lingkungan_text', []); // Ambil array kegiatan_lingkungan_text
|
||||
$pihak_kegiatan_lingkungan = request()->input('pihak_kegiatan_lingkungan', []); // Ambil array pihak_kegiatan_lingkungan
|
||||
$pihak_kegiatan_lingkunganText = request()->input('pihak_kegiatan_lingkungan_text', []); // Ambil array pihak_kegiatan_lingkungan_text
|
||||
|
||||
// Buat array mapping berdasarkan media yang dipilih
|
||||
$mediaFormatted = [];
|
||||
$materiFormatted = [];
|
||||
$komitmenFormatted = [];
|
||||
$kegiatanFormatted = [];
|
||||
$pihakKegiatanFormatted = [];
|
||||
|
||||
//ISIAN MEDIA
|
||||
foreach ($media as $value) {
|
||||
if ($value == 1) {
|
||||
$mediaFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'sosialisasi',
|
||||
'text' => $mediaText['sosialisasi'] ?? null
|
||||
];
|
||||
} elseif ($value == 2) {
|
||||
$mediaFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'bimtek',
|
||||
'text' => $mediaText['bimtek'] ?? null
|
||||
];
|
||||
}elseif ($value == 3) {
|
||||
$mediaFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'webinar',
|
||||
'text' => $mediaText['webinar'] ?? null
|
||||
];
|
||||
}elseif ($value == 4) {
|
||||
$mediaFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'youtube',
|
||||
'text' => $mediaText['youtube'] ?? null
|
||||
];
|
||||
}elseif ($value == 5) {
|
||||
$mediaFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'lainlain',
|
||||
'text' => $mediaText['lainlain'] ?? null
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//ISIAN MATERI
|
||||
foreach ($materi as $value) {
|
||||
if ($value == 1) {
|
||||
$materiFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'kebijakan',
|
||||
'text' => $materiText['kebijakan'] ?? null
|
||||
];
|
||||
} elseif ($value == 2) {
|
||||
$materiFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'perencanaan',
|
||||
'text' => $materiText['perencanaan'] ?? null
|
||||
];
|
||||
}elseif ($value == 3) {
|
||||
$materiFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'pelaksanaan',
|
||||
'text' => $materiText['pelaksanaan'] ?? null
|
||||
];
|
||||
}elseif ($value == 4) {
|
||||
$materiFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'pemantauan',
|
||||
'text' => $materiText['pemantauan'] ?? null
|
||||
];
|
||||
}elseif ($value == 5) {
|
||||
$materiFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'lainlain',
|
||||
'text' => $materiText['lainlain'] ?? null
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
//ISIAN KOMITMEN
|
||||
foreach ($komitmen as $value) {
|
||||
if ($value == 1) {
|
||||
$komitmenFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'bersedia',
|
||||
'text' => $komitmenText['bersedia'] ?? null
|
||||
];
|
||||
} elseif ($value == 2) {
|
||||
$komitmenFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'tidak_bersedia',
|
||||
'text' => $komitmenText['tidak_bersedia'] ?? null
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
//ISIAN KEGIATAN
|
||||
foreach ($kegiatan_lingkungan as $value) {
|
||||
if ($value == 1) {
|
||||
$kegiatanFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'pemilahan_sampah',
|
||||
'text' => $kegiatanText['pemilahan_sampah'] ?? null
|
||||
];
|
||||
} elseif ($value == 2) {
|
||||
$kegiatanFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'penanaman_pohon',
|
||||
'text' => $kegiatanText['penanaman_pohon'] ?? null
|
||||
];
|
||||
}elseif ($value == 3) {
|
||||
$kegiatanFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'kegiatan_1',
|
||||
'text' => $kegiatanText['kegiatan_1'] ?? null
|
||||
];
|
||||
}elseif ($value == 4) {
|
||||
$kegiatanFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'kegiatan_2',
|
||||
'text' => $kegiatanText['kegiatan_2'] ?? null
|
||||
];
|
||||
}elseif ($value == 5) {
|
||||
$kegiatanFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'kegiatan_3',
|
||||
'text' => $kegiatanText['kegiatan_3'] ?? null
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
//ISIAN PIHAK KEGIATAN
|
||||
foreach ($pihak_kegiatan_lingkungan as $value) {
|
||||
if ($value == 1) {
|
||||
$pihakKegiatanFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'internal',
|
||||
'text' => $pihakKegiatanText['internal'] ?? null
|
||||
];
|
||||
} elseif ($value == 2) {
|
||||
$pihakKegiatanFormatted[] = [
|
||||
'value' => $value,
|
||||
'name' => 'eksternal',
|
||||
'text' => $pihakKegiatanText['eksternal'] ?? null
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$insert = new Kuesioner;
|
||||
$insert->user_id = auth()->user()->id;
|
||||
$insert->npsn = session('npsn');
|
||||
$insert->level = @$request->level;
|
||||
$insert->tim_adiwiyata = @$request->tim_adiwiyata;
|
||||
$insert->info_pblhs = @$request->info_pblhs;
|
||||
$insert->media = json_encode(@$mediaFormatted);
|
||||
$insert->materi = json_encode(@$materiFormatted);
|
||||
$insert->komitmen = json_encode($komitmenFormatted);
|
||||
$insert->kegiatan_lingkungan = json_encode(@$kegiatanFormatted);
|
||||
$insert->pihak_kegiatan_lingkungan = json_encode(@$pihakKegiatanFormatted);
|
||||
$insert->tahun = date('Y');
|
||||
$insert->link_sk_adiwiyata = @$request->link_sk_adiwiyata;
|
||||
$insert->tim_adiwiyata_nomor_sk = @$request->tim_adiwiyata_nomor_sk;
|
||||
$insert->tim_adiwiyata_link = @$request->tim_adiwiyata_link;
|
||||
$insert->save();
|
||||
|
||||
logActivity($request, __('Create',['val' => strtolower(__('Title',['val' => 'Kuesioner Leveling User ID : '.auth()->user()->id]))]));
|
||||
|
||||
return redirect()->back()->with([
|
||||
'message' => 'Berhasil update data',
|
||||
'type' => 'success',
|
||||
]);
|
||||
|
||||
|
||||
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with([
|
||||
'message' => $e->getMessage(),
|
||||
'type' => "error"
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Master;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use App\Models\Master\FormKriteria;
|
||||
|
||||
class FormKriteriaController extends Controller
|
||||
{
|
||||
protected $title = 'Form Kriteria';
|
||||
protected $template = 'modules.master.form-kriteria';
|
||||
protected $route = 'modules.master.form-kriteria';
|
||||
|
||||
public function index()
|
||||
{
|
||||
$data['breadcrumbs'] = [
|
||||
['name' => 'Dashboard','url' => url('dashboard')],
|
||||
['name' => 'Management & Akses Role'],
|
||||
['name' => $this->title,'active' => true],
|
||||
];
|
||||
$data['title'] = $this->title;
|
||||
$data['route'] = $this->route;
|
||||
|
||||
return view($this->template.'.index',$data);
|
||||
}
|
||||
|
||||
public function update($id = null)
|
||||
{
|
||||
$data['breadcrumbs'] = [
|
||||
['name' => 'Dashboard','url' => url('dashboard')],
|
||||
['name' => 'Management & Akses Role'],
|
||||
['name' => $this->title,'active' => true],
|
||||
];
|
||||
$data['title'] = $this->title;
|
||||
$data['route'] = $this->route;
|
||||
|
||||
return view($this->template.'.form',$data);
|
||||
}
|
||||
|
||||
public function grid(Request $request)
|
||||
{
|
||||
|
||||
$data = FormKriteria::orderBy('page_number','ASC')->get();
|
||||
$_data = [];
|
||||
|
||||
|
||||
foreach ($data as $key => $row) {
|
||||
|
||||
|
||||
$action = '';
|
||||
|
||||
if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){
|
||||
$action .= '<a href="'.url('master/form-kriteria/update/'.encode_id($row->id)).'" data-toggle="tooltip" title="Edit Data" class="btn btn-xs btn-block btn-primary"><i class="fal fa-pencil text-white"></i></a>';
|
||||
if(session('group_id') == 1){
|
||||
$action .= '<a href="#" data-href="'.url('master/form-kriteria/delete/'.encode_id($row->id)).'" data-toggle="tooltip" title="Edit Data" class="remove_data btn btn-xs btn-block btn-danger"><i class="fal fa-trash text-white"></i></a>';
|
||||
}
|
||||
}
|
||||
|
||||
$_data[] = [
|
||||
'no' => $key+1,
|
||||
'id' => encode_id($row->id),
|
||||
'page_number' => @$row->page_number,
|
||||
'judul' => @$row->judul,
|
||||
'created_at' => dateTime(@$row->created_at),
|
||||
'action' => @$action,
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
// return response()->json($_data); // Return the data as a JSON response
|
||||
return response()->json($_data);
|
||||
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
|
||||
try {
|
||||
$keyId = decode_id($request->secure_id);
|
||||
|
||||
if(!@$keyId){
|
||||
Validator::make($request->all(), [
|
||||
'page_number' => 'required',
|
||||
'kategori' => 'required',
|
||||
'judul' => 'required',
|
||||
'type' => 'required',
|
||||
])->validate();
|
||||
|
||||
$insert = new FormKriteria;
|
||||
$insert->page_number = $request->page_number;
|
||||
$insert->key = $request->key;
|
||||
$insert->kategori = $request->kategori;
|
||||
$insert->judul = $request->judul;
|
||||
$insert->type = $request->type;
|
||||
$insert->option = json_encode($request->jawaban);
|
||||
$insert->active_lainnya = $request->active_lainnya;
|
||||
$insert->judul_lainnya = $request->judul_lainnya;
|
||||
$insert->number_answer_lainnya = $request->number_answer_lainnya;
|
||||
$insert->active = 1;
|
||||
$insert->save();
|
||||
}
|
||||
logActivity($request, __('Create',['val' => strtolower(__('Title',['val' => 'Form Kriteria']))]));
|
||||
return redirect()->back()->with([
|
||||
'message' => 'Berhasil update data',
|
||||
'type' => 'success',
|
||||
]);
|
||||
|
||||
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with([
|
||||
'message' => $e->getMessage(),
|
||||
'type' => "error"
|
||||
]);
|
||||
}
|
||||
|
||||
// dd(request()->all());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Modules\Usulan;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class AdministrasiController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Modules\Usulan;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Kuesioner;
|
||||
use App\Models\Master\FormKriteria;
|
||||
|
||||
class KriteriaController extends Controller
|
||||
{
|
||||
protected $title = 'Pemenuhan Kriteria';
|
||||
protected $template = 'modules.usulan.kriteria';
|
||||
protected $route = 'modules.usulan.kriteria';
|
||||
|
||||
public function index()
|
||||
{
|
||||
permission('is_read', $this->route, 'module',true);
|
||||
|
||||
$data['title'] = $this->title;
|
||||
$data['route'] = $this->route;
|
||||
$data['page'] = FormKriteria::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray();
|
||||
|
||||
return view($this->template.'.form',$data);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Modules\Usulan;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ProgressController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Modules\Usulan;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SekolahBinaanController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Kuesioner extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'kuesioner';
|
||||
protected $primaryKey = 'KuesionerId';
|
||||
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'level',
|
||||
'tim_adiwiyata',
|
||||
'info_pblhs',
|
||||
'media',
|
||||
'materi',
|
||||
'komitmen',
|
||||
'kegiatan_lingkungan',
|
||||
'pihak_kegiatan_lingkungan',
|
||||
'tahun',
|
||||
'tahun_penghargaan',
|
||||
'link_sk_adiwiyata',
|
||||
'tim_adiwiyata_nomor_sk',
|
||||
'tim_adiwiyata_link',
|
||||
];
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models\Master;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class FormKriteria extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'ms_form_kriteria';
|
||||
protected $primaryKey = 'MsFormKriteriaId';
|
||||
|
||||
protected $fillable = [
|
||||
'page_number',
|
||||
'key',
|
||||
'kategori',
|
||||
'judul',
|
||||
'type',
|
||||
'option',
|
||||
'active_lainnya',
|
||||
'judul_lainnya',
|
||||
'number_answer_lainnya',
|
||||
'active',
|
||||
];
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('ms_form_kriteria', function (Blueprint $table) {
|
||||
$table->id('MsFormKriteriaId');
|
||||
$table->integer('page_number');
|
||||
$table->string('kategori')->nullable();
|
||||
$table->string('key')->nullable();
|
||||
$table->string('judul')->nullable();
|
||||
$table->string('type')->nullable();
|
||||
$table->json('option')->nullable();
|
||||
$table->integer('active_lainnya')->default(0);
|
||||
$table->string('judul_lainnya')->nullable();
|
||||
$table->integer('number_answer_lainnya')->nullable();
|
||||
$table->integer('active')->default(0);
|
||||
$table->timestampsTz();
|
||||
$table->softDeletesTz();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('form_kriterias');
|
||||
}
|
||||
};
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('kuesioner', function (Blueprint $table) {
|
||||
$table->id('KuesionerId');
|
||||
$table->integer('user_id');
|
||||
$table->string('npsn')->nullable();
|
||||
$table->integer('level')->default(0);
|
||||
$table->integer('tim_adiwiyata')->default(0);
|
||||
$table->integer('info_pblhs')->default(0);
|
||||
$table->json('media')->nullable();
|
||||
$table->json('materi')->nullable();
|
||||
$table->json('komitmen')->nullable();
|
||||
$table->json('kegiatan_lingkungan')->nullable();
|
||||
$table->json('pihak_kegiatan_lingkungan')->nullable();
|
||||
$table->year('tahun')->nullable();
|
||||
$table->year('tahun_penghargaan')->nullable();
|
||||
$table->text('link_sk_adiwiyata')->nullable();
|
||||
$table->timestampsTz();
|
||||
|
||||
$table->foreign('user_id')->references('id')->on('users')->cascadeOnDelete();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('kuesioners');
|
||||
}
|
||||
};
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('kuesioner', function (Blueprint $table) {
|
||||
$table->string('tim_adiwiyata_nomor_sk')->nullable();
|
||||
$table->string('tim_adiwiyata_link')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('kuesioner', function (Blueprint $table) {
|
||||
//
|
||||
});
|
||||
}
|
||||
};
|
Binary file not shown.
After Width: | Height: | Size: 206 KiB |
|
@ -50,6 +50,8 @@
|
|||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
<form method="POST" action="{{route($route.'.store')}}" id="form">
|
||||
{{csrf_field()}}
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
|
@ -64,7 +66,7 @@
|
|||
<td colspan="2"><h5 class="text-success">NPSN: {{session('npsn')}}</h5></td>
|
||||
<td rowspan="4" style="vertical-align: top;">
|
||||
<div class="level rounded-plus bg-fusion-50 width-1 height-1 d-inline-block bg-success">
|
||||
<h4>Level 4</h4>
|
||||
<h4>Level {{levelAdiwiyata(session('npsn'))}}</h4>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -88,183 +90,382 @@
|
|||
<td>
|
||||
<div class="form-group">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="0" id="radioPenghargaanAdiwiyataBelum" name="radioPenghargaan">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="0" {{@$kuesioner->level == 0 ? 'checked' : ''}} id="radioPenghargaanAdiwiyataBelum" required name="level">
|
||||
<label class="custom-control-label" for="radioPenghargaanAdiwiyataBelum">Belum</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio mt-2">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="1" id="radioPenghargaanAdiwiyataKota" name="radioPenghargaan">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="1" {{@$kuesioner->level == 1 ? 'checked' : ''}} id="radioPenghargaanAdiwiyataKota" required name="level">
|
||||
<label class="custom-control-label" for="radioPenghargaanAdiwiyataKota">Adiwiyata Kab/Kota</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio mt-2">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="2" id="radioPenghargaanAdiwiyataProvinsi" name="radioPenghargaan">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="2" {{@$kuesioner->level == 2 ? 'checked' : ''}} id="radioPenghargaanAdiwiyataProvinsi" required name="level">
|
||||
<label class="custom-control-label" for="radioPenghargaanAdiwiyataProvinsi">Adiwiyata Provinsi</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio mt-2">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="3" id="radioPenghargaanAdiwiyataNasional" name="radioPenghargaan">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="3" {{@$kuesioner->level == 3 ? 'checked' : ''}} id="radioPenghargaanAdiwiyataNasional" required name="level">
|
||||
<label class="custom-control-label" for="radioPenghargaanAdiwiyataNasional">Adiwiyata Nasional</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio mt-2">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="4" id="radioPenghargaanAdiwiyataMandiri" name="radioPenghargaan">
|
||||
<input type="radio" class="custom-control-input radioPenghargaan" value="4" {{@$kuesioner->level == 4 ? 'checked' : ''}} id="radioPenghargaanAdiwiyataMandiri" required name="level">
|
||||
<label class="custom-control-label" for="radioPenghargaanAdiwiyataMandiri">Adiwiyata Mandiri</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Belum Pernah -->
|
||||
<tr class="bg-primary text-white belumPernah d-none">
|
||||
<tr class="bg-primary text-white belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>Apakah sekolah anda sudah membentuk Tim Adiwiyata Sekolah?</td>
|
||||
</tr>
|
||||
<tr class="belumPernah d-none">
|
||||
<tr class="belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" id="radioTimAdiwiyataBelum" name="defaultExampleRadios">
|
||||
<input type="radio" class="custom-control-input" id="radioTimAdiwiyataBelum" value="1" {{@$kuesioner->tim_adiwiyata == 1 ? 'checked' : '' }} name="tim_adiwiyata">
|
||||
<label class="custom-control-label" for="radioTimAdiwiyataBelum">Belum</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio mt-2">
|
||||
<input type="radio" class="custom-control-input" id="radioTimAdiwiyataSudah" name="defaultExampleRadios">
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" disabled value="" placeholder="" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" id="radioTimAdiwiyataSudah" value="2" {{@$kuesioner->tim_adiwiyata == 2 ? 'checked' : '' }} name="tim_adiwiyata">
|
||||
<label class="custom-control-label" for="radioTimAdiwiyataSudah">Sudah</label>
|
||||
</div>
|
||||
</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">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-primary text-white belumPernah d-none">
|
||||
<tr class="bg-primary text-white belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>Apakah sekolah anda sudah pernah mendapatkan informasi tentang Gerakan Peduli dan Berbudaya Lingkungan Hidup di Sekolah (PBLHS) </td>
|
||||
</tr>
|
||||
<tr class="belumPernah d-none">
|
||||
<tr class="belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" id="radioGerakanPeduliBelum" name="defaultExampleRadios">
|
||||
<input type="radio" class="custom-control-input" id="radioGerakanPeduliBelum" value="1" {{@$kuesioner->info_pblhs == '1' ? 'checked' : ''}} name="info_pblhs">
|
||||
<label class="custom-control-label" for="radioGerakanPeduliBelum">Belum Pernah</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio mt-2">
|
||||
<input type="radio" class="custom-control-input" id="radioGerakanPeduliSudah" name="defaultExampleRadios">
|
||||
<input type="radio" class="custom-control-input" id="radioGerakanPeduliSudah" value="2" {{@$kuesioner->info_pblhs == '2' ? 'checked' : ''}} name="info_pblhs">
|
||||
<label class="custom-control-label" for="radioGerakanPeduliSudah">Sudah Pernah</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-primary text-white belumPernah d-none">
|
||||
<tr class="bg-primary text-white belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>Jika pernah, dari media apa mendapatkannya, dan sebutkan nama instansi penyelenggaranya ? </td>
|
||||
</tr>
|
||||
<tr class="belumPernah d-none">
|
||||
<tr class="belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<?php
|
||||
|
||||
?>
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkSosialisasi">
|
||||
<input type="checkbox" class="custom-control-input" name="media[]" value="1" {{ in_array(1, @$selectedMediaValues) ? 'checked' : '' }} id="checkSosialisasi">
|
||||
<label class="custom-control-label" for="checkSosialisasi">Sosialisasi</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkBimtek">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="media_text[sosialisasi]" value="{{ @$selectedMediaTexts['sosialisasi']->text ?? '' }}" class="form-control" placeholder="Tulis Instansi Penyelenggara">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="media[]" value="2" {{ in_array(2, @$selectedMediaValues) ? 'checked' : '' }} id="checkBimtek">
|
||||
<label class="custom-control-label" for="checkBimtek">Bimtek</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkWebinar">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="media_text[bimtek]" value="{{ @$selectedMediaTexts['bimtek']->text ?? '' }}" class="form-control" placeholder="Tulis Instansi Penyelenggara">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="media[]" value="3" {{ in_array(3, @$selectedMediaValues) ? 'checked' : '' }} id="checkWebinar">
|
||||
<label class="custom-control-label" for="checkWebinar">Webinar</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkYoutube">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="media_text[webinar]" value="{{ @$selectedMediaTexts['webinar']->text ?? '' }}" class="form-control" placeholder="Tulis Instansi Penyelenggara">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="media[]" value="4" {{ in_array(4, @$selectedMediaValues) ? 'checked' : '' }} id="checkYoutube">
|
||||
<label class="custom-control-label" for="checkYoutube">Youtube</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkLain">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="media_text[youtube]" value="{{ @$selectedMediaTexts['youtube']->text ?? '' }}" class="form-control" placeholder="Tulis Instansi Penyelenggara">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="media[]" value="5" {{ in_array(5, @$selectedMediaValues) ? 'checked' : '' }} id="checkLain">
|
||||
<label class="custom-control-label" for="checkLain">Lain-lain</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="media_text[lainlain]" value="{{ @$selectedMediaTexts['lainlain']->text ?? '' }}" class="form-control" placeholder="Tulis Instansi Penyelenggara">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-primary text-white belumPernah d-none">
|
||||
<tr class="bg-primary text-white belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>Materi apa saja yang masih kurang Anda pahami? </td>
|
||||
</tr>
|
||||
<tr class="belumPernah d-none">
|
||||
<tr class="belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkMateriKebijakan">
|
||||
<input type="checkbox" class="custom-control-input" name="materi[]" value="1" {{ in_array(1, @$selectedMateriValues) ? 'checked' : '' }} id="checkMateriKebijakan">
|
||||
<label class="custom-control-label" for="checkMateriKebijakan">Kebijakan Gerakan PBLHS</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkMateriPerencanaan">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="materi_text[kebijakan]" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="materi[]" value="2" {{ in_array(2, @$selectedMateriValues) ? 'checked' : '' }} id="checkMateriPerencanaan">
|
||||
<label class="custom-control-label" for="checkMateriPerencanaan">Perencanaan Gerakan PBLHS</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkMateriPelaksanaan">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="materi_text[perencanaan]" value="{{ @$selectedMateriTexts['perencanaan']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="materi[]" value="3" {{ in_array(3, @$selectedMateriValues) ? 'checked' : '' }} id="checkMateriPelaksanaan">
|
||||
<label class="custom-control-label" for="checkMateriPelaksanaan">Pelaksanaan Gerakan PBLHS</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkMateriPemantauan">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="materi_text[pelaksanaan]" value="{{ @$selectedMateriTexts['pelaksanaan']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="materi[]" value="4" {{ in_array(4, @$selectedMateriValues) ? 'checked' : '' }} id="checkMateriPemantauan">
|
||||
<label class="custom-control-label" for="checkMateriPemantauan">Pemantauan dan Evaluasi Gerakan PBLHS</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkMateriLain">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="materi_text[pemantauan]" value="{{ @$selectedMateriTexts['pemantauan']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="materi[]" value="5" {{ in_array(5, @$selectedMateriValues) ? 'checked' : '' }} id="checkMateriLain">
|
||||
<label class="custom-control-label" for="checkMateriLain">Lain-lain</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="materi_text[lainlain]" value="{{ @$selectedMateriTexts['lainlain']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-primary text-white belumPernah d-none">
|
||||
<tr class="bg-primary text-white belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>Apakah sekolah anda bersedia untuk berkomitmen melaksanakan Gerakan PBLHS secara berkelanjutan? </td>
|
||||
</tr>
|
||||
<tr class="belumPernah d-none">
|
||||
<tr class="belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" id="radioKomitmenBersedia" name="defaultExampleRadios">
|
||||
<input type="radio" class="custom-control-input" id="radioKomitmenBersedia" value="1" {{ in_array(1, @$selectedKomitmenValues) ? 'checked' : '' }} name="komitmen">
|
||||
<label class="custom-control-label" for="radioKomitmenBersedia">Bersedia</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio mt-2">
|
||||
<input type="radio" class="custom-control-input" id="radioKomitmenTidakBersedia" name="defaultExampleRadios">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="komitmen_text[bersedia]" value="{{ @$selectedKomitmenTexts['bersedia']->text ?? '' }}" disabled class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" id="radioKomitmenTidakBersedia" value="2" {{ in_array(2, @$selectedKomitmenValues) ? 'checked' : '' }} name="komitmen">
|
||||
<label class="custom-control-label" for="radioKomitmenTidakBersedia">Tidak Bersedia</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="komitmen_text[tidak_bersedia]" value="{{ @$selectedKomitmenTexts['tidak_bersedia']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-primary text-white belumPernah d-none">
|
||||
<tr class="bg-primary text-white belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>Kegiatan/aksi lingkungan yang pernah dilakukan oleh warga sekolah?</td>
|
||||
</tr>
|
||||
<tr class="belumPernah d-none">
|
||||
<tr class="belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkPemilahanSampah">
|
||||
<input type="checkbox" class="custom-control-input" id="checkPemilahanSampah" value="1" {{ in_array(1, @$selectedKegiatanLingkunganValues) ? 'checked' : '' }} name="kegiatan_lingkungan[]">
|
||||
<label class="custom-control-label" for="checkPemilahanSampah">Pemilahan Sampah</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkPenanamanPohon">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="kegiatan_lingkungan_text[pemilahan_sampah]" value="{{ @$selectedKegiatanLingkunganTexts['pemilahan_sampah']->text ?? '' }}" disabled class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkPenanamanPohon" value="2" {{ in_array(2, @$selectedKegiatanLingkunganValues) ? 'checked' : '' }} name="kegiatan_lingkungan[]">
|
||||
<label class="custom-control-label" for="checkPenanamanPohon">Penanaman Pohon</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkKegiatan1">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="kegiatan_lingkungan_text[penanaman_pohon]" value="{{ @$selectedKegiatanLingkunganTexts['penanaman_pohon']->text ?? '' }}" disabled class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkKegiatan1" value="3" {{ in_array(3, @$selectedKegiatanLingkunganValues) ? 'checked' : '' }} name="kegiatan_lingkungan[]">
|
||||
<label class="custom-control-label" for="checkKegiatan1">Kegiatan/aksi lainnya</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkKegiatan2">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="kegiatan_lingkungan_text[kegiatan_1]" value="{{ @$selectedKegiatanLingkunganTexts['kegiatan_1']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkKegiatan2" value="4" {{ in_array(4, @$selectedKegiatanLingkunganValues) ? 'checked' : '' }} name="kegiatan_lingkungan[]">
|
||||
<label class="custom-control-label" for="checkKegiatan2">Kegiatan/aksi lainnya</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkKegiatan3">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="kegiatan_lingkungan_text[kegiatan_2]" value="{{ @$selectedKegiatanLingkunganTexts['kegiatan_2']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkKegiatan3" value="5" {{ in_array(5, @$selectedKegiatanLingkunganValues) ? 'checked' : '' }} name="kegiatan_lingkungan[]">
|
||||
<label class="custom-control-label" for="checkKegiatan3">Kegiatan/aksi lainnya</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="kegiatan_lingkungan_text[kegiatan_3]" value="{{ @$selectedKegiatanLingkunganTexts['kegiatan_3']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-primary text-white belumPernah d-none">
|
||||
<tr class="bg-primary text-white belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>Pihak yang terlibat dalam menjalankan kegiatan/aksi lingkungan </td>
|
||||
</tr>
|
||||
<tr class="belumPernah d-none">
|
||||
<tr class="belumPernah {{@$kuesioner->level == 0 ? '' : 'd-none'}}">
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkInternalWarga">
|
||||
<input type="checkbox" class="custom-control-input" id="checkInternalWarga" value="1" {{ in_array(1, @$selectedPihakKegiatanLingkunganValues) ? 'checked' : '' }} name="pihak_kegiatan_lingkungan[]">
|
||||
<label class="custom-control-label" for="checkInternalWarga">Internal warga sekolah</label>
|
||||
</div>
|
||||
<div class="custom-control custom-checkbox mt-2">
|
||||
<input type="checkbox" class="custom-control-input" id="checkBekerjasama">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="pihak_kegiatan_lingkungan_text[internal]" value="{{ @$selectedPihakKegiatanLingkunganTexts['internal']->text ?? '' }}" disabled disabled class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkBekerjasama" value="2" {{ in_array(2, @$selectedPihakKegiatanLingkunganValues) ? 'checked' : '' }} name="pihak_kegiatan_lingkungan[]">
|
||||
<label class="custom-control-label" for="checkBekerjasama">Bekerjasama dengan Pihak Lainnya</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" name="pihak_kegiatan_lingkungan_text[eksternal]" value="{{ @$selectedPihakKegiatanLingkunganTexts['eksternal']->text ?? '' }}" class="form-control" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="bg-primary text-white sudahPernah d-none">
|
||||
<tr class="bg-primary text-white sudahPernah {{@$kuesioner->level != 0 ? '' : 'd-none'}}">
|
||||
<td>Jika sudah pernah mendapatkan penghargaan adiwiyata, tahun berapa sekolah anda mendapatkan penghargaan adiwiyata? </td>
|
||||
</tr>
|
||||
<tr class="sudahPernah d-none">
|
||||
<tr class="sudahPernah {{@$kuesioner->level != 0 ? '' : 'd-none'}}">
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<label>Tahun perolehan penghargaaan (kosongkan jika belum adiwiyata)</label>
|
||||
|
@ -285,7 +486,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@if(!@$kuesioner)
|
||||
<div class="card-footer">
|
||||
<button class="btn btn-success" id="btn-save">Simpan</button>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
@ -301,5 +508,64 @@
|
|||
$('.sudahPernah').removeClass('d-none');
|
||||
}
|
||||
});
|
||||
|
||||
$('#btn-save').on('click',function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let isValid = true;
|
||||
|
||||
let level = $('input[name="level"]:checked').val();
|
||||
let tim_adiwiyata = $('input[name="tim_adiwiyata"]:checked').val();
|
||||
|
||||
if(level >= 0){
|
||||
|
||||
if((tim_adiwiyata >= 1)){
|
||||
|
||||
if(tim_adiwiyata == 2){
|
||||
if(($('input[name="tim_adiwiyata[nomor_sk]]"').val() == '') || ($('input[name="tim_adiwiyata[link]"]').val() == '')){
|
||||
toastr.error("Nomor SK dan Link GDrive Tim Adiwiyata Belum Diisi ", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
$('input[name="info_pblhs"]:checked').length > 0 && // Radio button
|
||||
$('input[name="media[]"]:checked').length > 0 && // Checkbox
|
||||
$('input[name="materi[]"]:checked').length > 0 &&
|
||||
$('input[name="komitmen"]:checked').length > 0 &&
|
||||
$('input[name="kegiatan_lingkungan[]"]:checked').length > 0 &&
|
||||
$('input[name="pihak_kegiatan_lingkungan[]"]:checked').length > 0
|
||||
) {
|
||||
toastr.success("Data Sudah Lengkap", 'Sukses!', {
|
||||
positionClass: 'toast-bottom-right',
|
||||
containerId: 'toast-bottom-right'
|
||||
});
|
||||
|
||||
$('#form').submit();
|
||||
} else {
|
||||
toastr.error("Data Belum Lengkap", 'Error!', {
|
||||
positionClass: 'toast-bottom-right',
|
||||
containerId: 'toast-bottom-right'
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
toastr.error("Data Belum Lengkap ", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
|
||||
}
|
||||
|
||||
}else{
|
||||
toastr.error("Penghargaan adiwiyata Belum Diisi ", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
|
||||
}
|
||||
|
||||
$('input[required], select[required], textarea[required]').each(function () {
|
||||
if ($(this).val().trim() === '') {
|
||||
isValid = false;
|
||||
$(this).css('border', '2px solid red'); // Tandai input yang kosong
|
||||
} else {
|
||||
$(this).css('border', ''); // Kembalikan ke border default
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -0,0 +1,199 @@
|
|||
@extends('layouts.master')
|
||||
@section('breadcrumbs')
|
||||
<ol class="breadcrumb page-breadcrumb">
|
||||
@foreach($breadcrumbs as $dataBread)
|
||||
<li class="breadcrumb-item {{@$dataBread['active'] == true ? 'active' : ''}}">
|
||||
@if(@$dataBread['url'])
|
||||
<a href="{{@$dataBread['url']}}">{{$dataBread['name']}}</a>
|
||||
@else
|
||||
{{$dataBread['name']}}
|
||||
@endif
|
||||
</li>
|
||||
@endforeach
|
||||
</ol>
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fal fa-align-justify"></i> {{$title}}
|
||||
</div>
|
||||
<form action="{{route($route.'.store')}}" method="POST" class="">
|
||||
{{csrf_field()}}
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<input type="hidden" name="secure_id" value="{{@$keyId}}">
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="form-group">
|
||||
<label class="col-xl-12 form-label" for="fname">Kategori</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="kategori" class="form-control form-control-sm @error('kategori') is-invalid @enderror" required>
|
||||
<option value="">-- Pilih Kategori --</option>
|
||||
<option value="I.Perencanaan Gerakan PBLHS">I.Perencanaan Gerakan PBLHS</option>
|
||||
<option value="II.Pelaksanaan Gerakan PBLHS">II.Pelaksanaan Gerakan PBLHS</option>
|
||||
<option value="III.Pemantauan dan Evaluasi Gerakan PBLHS">III.Pemantauan dan Evaluasi Gerakan PBLHS</option>
|
||||
</select>
|
||||
@error('kategori')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-3">
|
||||
<div class="form-group">
|
||||
<label class="col-xl-12 form-label" for="fname">Nomor Halaman</label>
|
||||
<div class="col-12 pr-1">
|
||||
<input type="text" value="{{@$item->page_number ? @$item->page_number : old('page_number')}}" name="page_number" class="form-control form-control-sm @error('page_number') is-invalid @enderror numberInput" placeholder="Masukan Nomer Halaman" required>
|
||||
@error('page_number')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-3">
|
||||
<div class="form-group">
|
||||
<label class="col-xl-12 form-label" for="fname">Judul Pertanyaan</label>
|
||||
<div class="col-12 pr-1">
|
||||
<input type="text" value="{{@$item->judul ? @$item->judul : old('judul')}}" name="judul" class="form-control form-control-sm @error('judul') is-invalid @enderror" placeholder="Masukan Judul Pertanyaan" required>
|
||||
@error('judul')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="form-group">
|
||||
<label class="col-xl-12 form-label" for="fname">Tipe Pertanyaan</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="type" class="form-control selecttype form-control-sm @error('type') is-invalid @enderror" required>
|
||||
<option value="">-- Pilih Tipe Pertanyaan --</option>
|
||||
<option value="textarea">Textarea</option>
|
||||
<option value="freetext">Freetext</option>
|
||||
<option value="checkbox">Checkbox</option>
|
||||
<option value="radio_button">Radio Button</option>
|
||||
<option value="number">Text Number</option>
|
||||
</select>
|
||||
@error('type')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<table class="table table-bordered" id="tableJawaban" style="display:none;">
|
||||
<tr class="table-info">
|
||||
<th class="text-center" style="vertical-align: middle;">Jawaban</th>
|
||||
<th width="20%" class="text-center"><a href="#" class="btn btn-success btn-sm btnTambahJawaban"><i class="fal fa-plus"></i> Tambah Jawaban</a></th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="form-group">
|
||||
<label class="col-xl-12 form-label" for="fname">Aktifkan Lainnya</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="active_lainnya" class="form-control selectActiveLainnya form-control-sm @error('active_lainnya') is-invalid @enderror" required>
|
||||
<option value="0">Tidak</option>
|
||||
<option value="1">Ya</option>
|
||||
</select>
|
||||
@error('active_lainnya')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-3 divJudulLainnya" style="display:none;">
|
||||
<div class="form-group">
|
||||
<label class="col-xl-12 form-label" for="fname">Judul Lainnya</label>
|
||||
<div class="col-12 pr-1">
|
||||
<input type="text" value="{{@$item->judul_lainnya ? @$item->judul_lainnya : old('judul_lainnya')}}" name="judul_lainnya" id="judul_lainnya" class="form-control form-control-sm @error('judul_lainnya') is-invalid @enderror" placeholder="Masukan Judul Lainnya">
|
||||
@error('judul_lainnya')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-3 divJumlahJawabanLainnya" style="display:none;">
|
||||
<div class="form-group">
|
||||
<label class="col-xl-12 form-label" for="fname">Jumlah Jawaban Lainnya</label>
|
||||
<div class="col-12 pr-1">
|
||||
<input type="text" value="{{@$item->number_answer_lainnya ? @$item->number_answer_lainnya : old('number_answer_lainnya')}}" name="number_answer_lainnya" id="number_answer_lainnya" class="form-control form-control-sm @error('number_answer_lainnya') is-invalid @enderror numberInput" placeholder="Masukan Nomer Halaman">
|
||||
@error('number_answer_lainnya')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<a href="{{route($route.'.index')}}" class="btn btn-danger"><i class="fal fa-times"></i> Batal</a>
|
||||
<button type="submit" class="btn btn-success"><i class="fal fa-save"></i> Simpan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@section('page-js')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.numberInput').on('input', function() {
|
||||
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
|
||||
});
|
||||
$('.selecttype').on('change',function(e){
|
||||
e.preventDefault(); // Mencegah reload halaman
|
||||
var val = $(this).val();
|
||||
if((val == 'checkbox') || (val == 'radio_button')){
|
||||
$('#tableJawaban').show();
|
||||
}else{
|
||||
$('#tableJawaban').hide();
|
||||
}
|
||||
});
|
||||
$('.selectActiveLainnya').on('change',function(e){
|
||||
e.preventDefault(); // Mencegah reload halaman
|
||||
var val = $(this).val();
|
||||
if((val == '1')){
|
||||
$('.divJudulLainnya').show();
|
||||
$('.divJumlahJawabanLainnya').show();
|
||||
$('#judul_lainnya').removeAttr('disabled');
|
||||
$('#number_answer_lainnya').removeAttr('disabled');
|
||||
}else{
|
||||
$('.divJudulLainnya').hide();
|
||||
$('.divJumlahJawabanLainnya').hide();
|
||||
$('#judul_lainnya').attr('disabled',true);
|
||||
$('#number_answer_lainnya').attr('disabled',true);
|
||||
}
|
||||
});
|
||||
$(".btnTambahJawaban").click(function(e) {
|
||||
e.preventDefault(); // Mencegah reload halaman
|
||||
|
||||
// Tambahkan baris baru
|
||||
$("#tableJawaban").append(`
|
||||
<tr>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control form-control-sm" name="jawaban[]">
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-danger btn-block btn-sm btnHapusJawaban"><i class="fal fa-trash"></i> Hapus</button>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
`);
|
||||
});
|
||||
|
||||
// Hapus baris ketika tombol X diklik
|
||||
$(document).on("click", ".btnHapusJawaban", function() {
|
||||
$(this).closest("tr").remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -0,0 +1,109 @@
|
|||
@extends('layouts.master')
|
||||
|
||||
@section('page-css')
|
||||
@endsection
|
||||
@section('breadcrumbs')
|
||||
<ol class="breadcrumb page-breadcrumb">
|
||||
@foreach($breadcrumbs as $dataBread)
|
||||
<li class="breadcrumb-item {{@$dataBread['active'] == true ? 'active' : ''}}">
|
||||
@if(@$dataBread['url'])
|
||||
<a href="{{@$dataBread['url']}}">{{$dataBread['name']}}</a>
|
||||
@else
|
||||
{{$dataBread['name']}}
|
||||
@endif
|
||||
</li>
|
||||
@endforeach
|
||||
</ol>
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="subheader">
|
||||
<h1 class="subheader-title">
|
||||
<i class='subheader-icon fal fa-chart-area'></i> {{$title}}
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div id="panel-4" class="panel">
|
||||
<div class="panel-container show">
|
||||
<div class="panel-content">
|
||||
<div id="toolbar">
|
||||
<a href="{{route($route.'.update')}}" class="btn btn-primary">
|
||||
<i class="fal fa-plus"></i> Tambah Data
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<table class="table table-bordered table-hover table-striped w-100"
|
||||
data-search="true"
|
||||
data-toggle="table"
|
||||
data-pagination="true"
|
||||
data-toolbar="#toolbar"
|
||||
data-show-refresh="false"
|
||||
data-url="{{route($route.'.grid')}}"
|
||||
data-sort-name="ids"
|
||||
data-sort-order="desc"
|
||||
data-page-size="10"
|
||||
data-id-field="id"
|
||||
id="grid-data">
|
||||
<thead>
|
||||
<tr class="table-primary text-white">
|
||||
<th data-field="action">#</th>
|
||||
<th data-field="no">No</th>
|
||||
<th data-field="page_number">Number Halaman</th>
|
||||
<th data-field="judul">Judul</th>
|
||||
<th data-field="status">Status</th>
|
||||
<th data-field="created_at">Created At</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
<!-- datatable end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@section('page-js')
|
||||
<script type="text/javascript">
|
||||
$("#grid-data").on("click", ".remove_data", function() {
|
||||
var base_url = $(this).attr('data-href');
|
||||
var id = $(this).attr('data-id');
|
||||
swal({
|
||||
title: "Hapus Data!",
|
||||
text: "Apa anda yakin ingin menghapus data ini ?",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Ya Hapus Sekarang",
|
||||
cancelButtonText: "Tidak",
|
||||
closeOnConfirm: true,
|
||||
closeOnCancel: true
|
||||
},
|
||||
function(isConfirm) {
|
||||
if(isConfirm){
|
||||
|
||||
request = $.ajax({
|
||||
url: base_url,
|
||||
type: "GET",
|
||||
});
|
||||
|
||||
// Callback handler that will be called on success
|
||||
request.done(function(response, textStatus, jqXHR){
|
||||
console.log(response);
|
||||
toastr.success("Berhasil Menhapus Data", 'Berhasil!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'});
|
||||
$('#grid-data').bootstrapTable('refresh');
|
||||
});
|
||||
|
||||
// Callback handler that will be called on failure
|
||||
request.fail(function (jqXHR, textStatus, errorThrown){
|
||||
toastr.error(
|
||||
"Gagal "+textStatus, errorThrown
|
||||
);
|
||||
});
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -0,0 +1,171 @@
|
|||
@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.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" action="{{route($route.'.store')}}" 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: {{session('npsn')}}</h5></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><h4><b>{{session('name')}}</b></h4></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><span class="badge badge-primary">{{session('tingkat_sekolah')}}</span> <span class="badge badge-success">{{session('status_sekolah')}}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>{{session('alamat_sekolah')}}</p></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-12" style="background: rgba(23, 162, 184, 0.2) !important;">
|
||||
<ul class="pageNumber">
|
||||
@foreach($page as $hal)
|
||||
<li class="page" data-number={{$hal}}>{{$hal}}</li>
|
||||
@endforeach
|
||||
<li class="resume">Resume</li>
|
||||
<li><a href="{{url('usulan/kriteria/progress')}}">Progress Usulan</a></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-12">
|
||||
<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) !!}
|
||||
</div>
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h6><b>Link Google Drive (folder/File penyimpanan bukti)</b></h6>
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" name="link_grdive" placeholder="Link Google Drive (folder penyimpanan bukti)">
|
||||
<small><i>Contoh link : https://example.com</i></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<button class="btn btn-success"><i class="fal fa-save"></i> Simpan Data</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@section('page-js')
|
||||
<script type="text/javascript">
|
||||
$('.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
|
||||
}, // 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
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -3,27 +3,60 @@
|
|||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Middleware\Session;
|
||||
use App\Http\Controllers\HomeController;
|
||||
use App\Http\Controllers\AjaxController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\KuesionerController;
|
||||
use App\Http\Controllers\Master\IndikatorController;
|
||||
use App\Http\Controllers\Master\KomponenController;
|
||||
use App\Http\Controllers\Master\FormKriteriaController;
|
||||
use App\Http\Controllers\Management\UserController;
|
||||
use App\Http\Controllers\Management\UserSekolahController;
|
||||
use App\Http\Controllers\Management\RoleController;
|
||||
use App\Http\Controllers\Management\AksesController;
|
||||
use App\Http\Controllers\Modules\Usulan\AdministrasiController;
|
||||
use App\Http\Controllers\Modules\Usulan\KriteriaController;
|
||||
use App\Http\Controllers\Modules\Usulan\ProgressController;
|
||||
use App\Http\Controllers\Modules\Usulan\SekolahBinaanController;
|
||||
|
||||
Route::get('dashboard',[HomeController::class,'dashboard'])->name('dashboard');
|
||||
Route::get('profile-sekolah',[ProfileController::class,'index'])->name('profile.index');
|
||||
Route::post('profile-sekolah',[ProfileController::class,'store'])->name('profile.store');
|
||||
Route::post('getForm',[AjaxController::class,'getForm'])->name('getForm');
|
||||
|
||||
Route::name('master.')->prefix('master')->group(function () {
|
||||
Route::resource('indikator',IndikatorController::class);
|
||||
Route::resource('komponen',KomponenController::class);
|
||||
|
||||
Route::name('form-kriteria.')->prefix('form-kriteria')->group(function () {
|
||||
Route::get('/',[FormKriteriaController::class,'index'])->name('index');
|
||||
Route::get('/update/{id?}',[FormKriteriaController::class,'update'])->name('update');
|
||||
Route::post('/store',[FormKriteriaController::class,'store'])->name('store');
|
||||
Route::get('/grid',[FormKriteriaController::class,'grid'])->name('grid');
|
||||
});
|
||||
});
|
||||
|
||||
Route::name('kuesioner.')->prefix('kuesioner')->group(function () {
|
||||
Route::get('/',[KuesionerController::class,'index'])->name('index');
|
||||
Route::get('/store',[KuesionerController::class,'store'])->name('store');
|
||||
Route::post('/store',[KuesionerController::class,'store'])->name('store');
|
||||
});
|
||||
|
||||
Route::name('usulan.')->prefix('usulan')->group(function () {
|
||||
Route::name('kriteria.')->prefix('kriteria')->group(function () {
|
||||
Route::get('/',[KriteriaController::class,'index'])->name('index');
|
||||
Route::post('/store',[KriteriaController::class,'store'])->name('store');
|
||||
});
|
||||
|
||||
Route::name('administrasi.')->prefix('administrasi')->group(function () {
|
||||
Route::get('/',[AdministrasiController::class,'index'])->name('index');
|
||||
});
|
||||
|
||||
Route::name('progress.')->prefix('progress')->group(function () {
|
||||
Route::get('/',[ProgressController::class,'index'])->name('index');
|
||||
});
|
||||
|
||||
Route::name('binaan.')->prefix('binaan')->group(function () {
|
||||
Route::get('/',[SekolahBinaanController::class,'index'])->name('index');
|
||||
});
|
||||
});
|
||||
|
||||
Route::name('management.')->prefix('management')->group(function () {
|
||||
|
|
Loading…
Reference in New Issue