main
Ilham Wara Nugroho 2026-01-15 15:16:26 +07:00
parent 3bc550c880
commit a8c6791546
2 changed files with 63 additions and 16 deletions

View File

@ -29,19 +29,52 @@ class AdministrasiController extends Controller
public function grid(Request $request) public function grid(Request $request)
{ {
$_data = [];
if(session('group_alias') == 'sekolah'){ if(session('group_alias') == 'sekolah'){
$kuesioner = Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->orderBy('created_at','DESC')->get(); $kuesioner = Kuesioner::where('tahun',date('Y'))->where('ms_sekolah_id',session('sekolah_id'))->orderBy('created_at','DESC');
}else{ }else{
if(session('kabupaten_id') != ''){ if(session('kabupaten_id') != ''){
$kuesioner = Kuesioner::whereHas('sekolah',function($query){ $kuesioner = Kuesioner::where('tahun',date('Y'))->whereHas('sekolah',function($query){
$query->where('ms_kabupaten_id',session('kabupaten_id')); $query->where('ms_kabupaten_id',session('kabupaten_id'));
})->orderBy('created_at','DESC')->get(); })->orderBy('created_at','DESC');
}else{ }else{
$kuesioner = Kuesioner::orderBy('created_at','DESC')->get(); $kuesioner = Kuesioner::where('tahun',date('Y'))->orderBy('created_at','DESC');
} }
} }
if(@request()->tingkat){
$kuesioner->whereHas('sekolah',function($query){
$query->where('ms_tingkat_sekolah_id',request()->tingkat);
});
}
if(@request()->status_sekolah){
$kuesioner->whereHas('sekolah',function($query){
$query->where('status',request()->status);
});
}
if(@request()->level){
$kuesioner->where('level',(request()->level-1));
}
if(@request()->tahun){
$kuesioner->where('tahun',request()->tahun);
}
if(@request()->provinsi){
$kuesioner->whereHas('sekolah',function($query){
$query->where('provinsi',request()->provinsi);
});
}
if(@request()->kabupaten){
$kuesioner->whereHas('sekolah',function($query){
$query->where('kabupaten',request()->kabupaten);
});
}
if(@request()->kecamatan){
$kuesioner->whereHas('sekolah',function($query){
$query->where('kecamatan',request()->kecamatan);
});
}
foreach ($kuesioner as $key => $row) { foreach ($kuesioner->get() as $key => $row) {
$action = ''; $action = '';

View File

@ -14,12 +14,12 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h5 class="mb-4"><i class="fal fa-filter"></i>&nbsp;Filter</h5> <h5 class="mb-4"><i class="fal fa-filter"></i>&nbsp;Filter</h5>
<div class="row"> <div class="row" id="pencarian">
<div class="col-md-12 mb-2"> <div class="col-md-12 mb-2">
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<select class="form-control select2"> <select name="tingkat" class="form-control select2">
<option value="">-- PILIH TINGKAT --</option> <option value="">-- PILIH TINGKAT --</option>
<option value="1">SD</option> <option value="1">SD</option>
<option value="2">SMP</option> <option value="2">SMP</option>
@ -37,7 +37,7 @@
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<select class="form-control select2"> <select name="status_sekolah" class="form-control select2">
<option value="">-- PILIH STATUS --</option> <option value="">-- PILIH STATUS --</option>
<option value="Negeri">Negeri</option> <option value="Negeri">Negeri</option>
<option value="Swasta">Swasta</option> <option value="Swasta">Swasta</option>
@ -46,7 +46,7 @@
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<select class="form-control select2"> <select name="level" class="form-control select2">
<option value="">-- PILIH LEVEL --</option> <option value="">-- PILIH LEVEL --</option>
<option value="1"> LEVEL 1</option> <option value="1"> LEVEL 1</option>
<option value="2"> LEVEL 2</option> <option value="2"> LEVEL 2</option>
@ -58,12 +58,11 @@
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<select class="form-control select2"> <select name="tahun" class="form-control select2">
<option value="">-- PILIH JENIS USULAN --</option> <option value="">-- PILIH TAHUN --</option>
<option value="1">Kab/Kota</option> @for ($i = date('Y')-3; date('Y') >= $i; $i++)
<option value="2">Provinsi</option> <option {{ $i == date('Y') ? 'selected' : '' }} value="{{$i}}">{{$i}}</option>
<option value="3">Nasional</option> @endfor
<option value="4">Mandiri</option>
</select> </select>
</div> </div>
</div> </div>
@ -97,7 +96,7 @@
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<button class="btn btn-success btn-block"><i class="fal fa-search"></i>&nbsp;Cari Data</button> <button id="ok" class="btn btn-success btn-block"><i class="fal fa-search"></i>&nbsp;Cari Data</button>
</div> </div>
</div> </div>
</div> </div>
@ -125,6 +124,7 @@
data-sort-order="desc" data-sort-order="desc"
data-page-size="10" data-page-size="10"
data-id-field="id" data-id-field="id"
data-query-params="queryParams"
id="grid-data"> id="grid-data">
<thead class="text-white"> <thead class="text-white">
<tr class="bg-primary-light text-primary"> <tr class="bg-primary-light text-primary">
@ -182,9 +182,16 @@
<script src="{{asset('assets/js/datagrid/datatables/datatables.bundle.js')}}"></script> <script src="{{asset('assets/js/datagrid/datatables/datatables.bundle.js')}}"></script>
<script src="{{asset('assets/js/bootstrap-table.min.js')}}"></script> <script src="{{asset('assets/js/bootstrap-table.min.js')}}"></script>
<script type="text/javascript"> <script type="text/javascript">
var $table = $('#grid-data');
var $ok = $('#ok');
$('.btn-filter').on('click',function(){ $('.btn-filter').on('click',function(){
$('#filter').toggleClass('d-none'); $('#filter').toggleClass('d-none');
}); });
$(function() {
$ok.click(function() {
$table.bootstrapTable('refresh');
})
})
$("#grid-data").on("click", ".toggle-row", function() { $("#grid-data").on("click", ".toggle-row", function() {
let btn = $(this); let btn = $(this);
let row = btn.closest("tr"); let row = btn.closest("tr");
@ -414,6 +421,13 @@
} }
}); });
}); });
function queryParams(params) {
$('#pencarian').find('input[name], select').each(function() {
params[$(this).attr('name')] = $(this).val()
})
return params
}
$('select').on("select2:selecting", function(e) { $('select').on("select2:selecting", function(e) {
var selectorOrigin = this.id; var selectorOrigin = this.id;
var id = e.params.args.data.id; var id = e.params.args.data.id;