fix pemutihan pagination
This commit is contained in:
parent
71d5b5f302
commit
cd8934b377
|
@ -9,19 +9,62 @@
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use SimpleSoftwareIO\QrCode\Facades\QrCode;
|
||||
use Yajra\DataTables\Facades\DataTables;
|
||||
|
||||
class LayananPemutihanController extends Controller
|
||||
{
|
||||
|
||||
public function index(){
|
||||
public function data(Request $request){
|
||||
$query = PengajuanPemutihan::
|
||||
select(
|
||||
'pengajuan_pemutihans.*',
|
||||
'users.nama_gelar as dosen_pengampu',
|
||||
)
|
||||
->join('users','dosen_id','=','users.id');
|
||||
|
||||
if ($request->has('program_studi') && !empty($request->program_studi)) {
|
||||
if($request->program_studi == "s1"){
|
||||
$query->where('program_studi', "S1 Farmasi");
|
||||
}elseif($request->program_studi == "s2"){
|
||||
$query->where('program_studi', "S2 Farmasi");
|
||||
}elseif($request->program_studi == "psppa"){
|
||||
$query->where('program_studi', "PSPPA");
|
||||
}
|
||||
}
|
||||
$data = $query->orderBy('pengajuan_pemutihans.created_at', 'desc')->get();
|
||||
|
||||
return DataTables::of($data)
|
||||
->addColumn('action', function($row){
|
||||
if (!empty($row->status_operator)) {
|
||||
$btn = '<a href="javascript:void(0)" class="btn btn-info" onclick="showDetail(\''.$row->caseid.'\')">Detail</a>';
|
||||
} else {
|
||||
$btn = '<a href="javascript:void(0)" class="btn btn-info" onclick="showDetail(\''.$row->caseid.'\')">Detail</a>';
|
||||
$btn = $btn.'<a href="javascript:void(0)" class="btn btn-success" onclick="showDetail(\''.$row->caseid.'\')">Terima</a>';
|
||||
$btn = $btn.'<a href="javascript:void(0)" class="edit btn btn-danger" onclick="tolak(\''.$row->caseid.'\')">Tolak</a> ';
|
||||
|
||||
}
|
||||
return $btn;
|
||||
})
|
||||
->toJson();
|
||||
}
|
||||
|
||||
public function detail($caseid){
|
||||
$data = PengajuanPemutihan::
|
||||
select(
|
||||
'pengajuan_pemutihans.*',
|
||||
'users.nama_gelar as dosen_pengampu',
|
||||
)
|
||||
->join('users','dosen_id','=','users.id')
|
||||
->where('pengajuan_pemutihans.caseid',$caseid)
|
||||
->get();
|
||||
return view('layanan-pemutihan.index',['title' => 'Pengajuan Pemutihan | Admin Dashboard','data' => $data]);
|
||||
return DataTables::of($data)
|
||||
->toJson();
|
||||
}
|
||||
|
||||
public function index(){
|
||||
return view('layanan-pemutihan.index',[
|
||||
'title' => 'Pengajuan Pemutihan | Admin Dashboard',
|
||||
]);
|
||||
}
|
||||
|
||||
public function tambah(){
|
||||
|
@ -121,7 +164,8 @@ public function selesai($caseid, Request $request){
|
|||
$data->status_operator = Carbon::now();
|
||||
$data->keterangan_operator = 0;
|
||||
$data->save();
|
||||
return redirect()->route('layanan-pemutihan.index')->with('success','Data Berhasil Disimpan, status akan diupdate menjadi selesai');
|
||||
// return redirect()->route('layanan-pemutihan.index')->with('success','Data Berhasil Disimpan, status akan diupdate menjadi selesai');
|
||||
return redirect()->back()->with('success','Data Berhasil Disimpan, status akan diupdate menjadi selesai');
|
||||
}
|
||||
|
||||
function tolak($caseid, Request $request){
|
||||
|
@ -132,6 +176,6 @@ function tolak($caseid, Request $request){
|
|||
$data->status_operator = Carbon::now();
|
||||
$data->keterangan_operator = $request->keterangan_operator;
|
||||
$data->save();
|
||||
return redirect()->route('layanan-pemutihan.index')->with('success','Data Berhasil Disimpan, status akan diupdate menjadi Ditolak');
|
||||
return redirect()->back()->with('success','Data Berhasil Disimpan, status akan diupdate menjadi Ditolak');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
"laravel/sanctum": "^3.3",
|
||||
"laravel/tinker": "^2.8",
|
||||
"simplesoftwareio/simple-qrcode": "^4.2",
|
||||
"spatie/laravel-permission": "^6.4"
|
||||
"spatie/laravel-permission": "^6.4",
|
||||
"yajra/laravel-datatables": "~10.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "^1.9.1",
|
||||
|
|
1107
composer.lock
generated
1107
composer.lock
generated
File diff suppressed because it is too large
Load Diff
|
@ -169,6 +169,7 @@
|
|||
App\Providers\EventServiceProvider::class,
|
||||
App\Providers\RouteServiceProvider::class,
|
||||
Spatie\Permission\PermissionServiceProvider::class,
|
||||
Yajra\DataTables\DataTablesServiceProvider::class,
|
||||
])->toArray(),
|
||||
|
||||
/*
|
||||
|
|
127
config/datatables.php
Normal file
127
config/datatables.php
Normal file
|
@ -0,0 +1,127 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
* DataTables search options.
|
||||
*/
|
||||
'search' => [
|
||||
/*
|
||||
* Smart search will enclose search keyword with wildcard string "%keyword%".
|
||||
* SQL: column LIKE "%keyword%"
|
||||
*/
|
||||
'smart' => true,
|
||||
|
||||
/*
|
||||
* Multi-term search will explode search keyword using spaces resulting into multiple term search.
|
||||
*/
|
||||
'multi_term' => true,
|
||||
|
||||
/*
|
||||
* Case insensitive will search the keyword in lower case format.
|
||||
* SQL: LOWER(column) LIKE LOWER(keyword)
|
||||
*/
|
||||
'case_insensitive' => true,
|
||||
|
||||
/*
|
||||
* Wild card will add "%" in between every characters of the keyword.
|
||||
* SQL: column LIKE "%k%e%y%w%o%r%d%"
|
||||
*/
|
||||
'use_wildcards' => false,
|
||||
|
||||
/*
|
||||
* Perform a search which starts with the given keyword.
|
||||
* SQL: column LIKE "keyword%"
|
||||
*/
|
||||
'starts_with' => false,
|
||||
],
|
||||
|
||||
/*
|
||||
* DataTables internal index id response column name.
|
||||
*/
|
||||
'index_column' => 'DT_RowIndex',
|
||||
|
||||
/*
|
||||
* List of available builders for DataTables.
|
||||
* This is where you can register your custom dataTables builder.
|
||||
*/
|
||||
'engines' => [
|
||||
'eloquent' => Yajra\DataTables\EloquentDataTable::class,
|
||||
'query' => Yajra\DataTables\QueryDataTable::class,
|
||||
'collection' => Yajra\DataTables\CollectionDataTable::class,
|
||||
'resource' => Yajra\DataTables\ApiResourceDataTable::class,
|
||||
],
|
||||
|
||||
/*
|
||||
* DataTables accepted builder to engine mapping.
|
||||
* This is where you can override which engine a builder should use
|
||||
* Note, only change this if you know what you are doing!
|
||||
*/
|
||||
'builders' => [
|
||||
//Illuminate\Database\Eloquent\Relations\Relation::class => 'eloquent',
|
||||
//Illuminate\Database\Eloquent\Builder::class => 'eloquent',
|
||||
//Illuminate\Database\Query\Builder::class => 'query',
|
||||
//Illuminate\Support\Collection::class => 'collection',
|
||||
],
|
||||
|
||||
/*
|
||||
* Nulls last sql pattern for PostgreSQL & Oracle.
|
||||
* For MySQL, use 'CASE WHEN :column IS NULL THEN 1 ELSE 0 END, :column :direction'
|
||||
*/
|
||||
'nulls_last_sql' => ':column :direction NULLS LAST',
|
||||
|
||||
/*
|
||||
* User friendly message to be displayed on user if error occurs.
|
||||
* Possible values:
|
||||
* null - The exception message will be used on error response.
|
||||
* 'throw' - Throws a \Yajra\DataTables\Exceptions\Exception. Use your custom error handler if needed.
|
||||
* 'custom message' - Any friendly message to be displayed to the user. You can also use translation key.
|
||||
*/
|
||||
'error' => env('DATATABLES_ERROR', null),
|
||||
|
||||
/*
|
||||
* Default columns definition of dataTable utility functions.
|
||||
*/
|
||||
'columns' => [
|
||||
/*
|
||||
* List of columns hidden/removed on json response.
|
||||
*/
|
||||
'excess' => ['rn', 'row_num'],
|
||||
|
||||
/*
|
||||
* List of columns to be escaped. If set to *, all columns are escape.
|
||||
* Note: You can set the value to empty array to disable XSS protection.
|
||||
*/
|
||||
'escape' => '*',
|
||||
|
||||
/*
|
||||
* List of columns that are allowed to display html content.
|
||||
* Note: Adding columns to list will make us available to XSS attacks.
|
||||
*/
|
||||
'raw' => ['action'],
|
||||
|
||||
/*
|
||||
* List of columns are forbidden from being searched/sorted.
|
||||
*/
|
||||
'blacklist' => ['password', 'remember_token'],
|
||||
|
||||
/*
|
||||
* List of columns that are only allowed fo search/sort.
|
||||
* If set to *, all columns are allowed.
|
||||
*/
|
||||
'whitelist' => '*',
|
||||
],
|
||||
|
||||
/*
|
||||
* JsonResponse header and options config.
|
||||
*/
|
||||
'json' => [
|
||||
'header' => [],
|
||||
'options' => 0,
|
||||
],
|
||||
|
||||
/*
|
||||
* Default condition to determine if a parameter is a callback or not.
|
||||
* Callbacks needs to start by those terms, or they will be cast to string.
|
||||
*/
|
||||
'callback' => ['$', '$.', 'function'],
|
||||
];
|
|
@ -65,6 +65,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th>CaseID</th>
|
||||
<th>Tanggal Pengajuan</th>
|
||||
<th>Program Studi</th>
|
||||
<th>Mata Kuliah</th>
|
||||
<th>Dosen Pengampu</th>
|
||||
|
@ -73,50 +74,18 @@
|
|||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($data as $datas)
|
||||
<tr>
|
||||
<td>@if($datas->status_operator === null)<span class="badge badge-warning">{{$datas->caseid}}</span> @elseif($datas->keterangan_operator != "0")<span class="badge badge-danger">{{$datas->caseid}}</span> @else <span class="badge badge-success">{{$datas->caseid}}</span> @endif</td>
|
||||
<td>{{ $datas->program_studi }}</td>
|
||||
<td>{{ $datas->mata_kuliah }} </td>
|
||||
<td>{{ $datas->dosen_pengampu }} </td>
|
||||
<td>{{ $datas->ruang_kelas }} </td>
|
||||
<td>{{ $datas->tanggal_kelas }}</td>
|
||||
<td class="text-center">
|
||||
<form action="{{ route('layanan-pemutihan.selesai',['caseid'=>$datas->caseid]) }}" method="post">@csrf
|
||||
<a class="btn btn-primary" data-toggle="modal" data-target="#MD{{ $datas->id }}">Details</a>
|
||||
@if($datas->status_operator == null) | <button type="submit" id="selesai" class="btn btn-success">Selesai</button> | <a class="btn btn-danger" data-toggle="modal" data-target="#Delete{{ $datas->id }}">Tolak</a>@endif
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- /.modal-Delete -->
|
||||
<div class="modal fade" id="Delete{{$datas->id}}">
|
||||
<div class="modal fade" id="ModalDelete">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Apa Anda Yakin Menolak Pengajuan Pemutihan <b>{{ $datas->caseid }}</b> ?</h4>
|
||||
<h4 class="modal-title"></h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-info alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h5><i class="icon fas fa-info"></i> Perhatian!</h5>
|
||||
<span >Alasan yang Dimasukkan Disini, Akan dikirimkan melalui Email Kepada Mahasiswa Terkait.</span>
|
||||
</div>
|
||||
<form action="{{ route('layanan-pemutihan.tolak',$datas->caseid) }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="{{$datas->id}}">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="keterangan_operator">Alasan:</label>
|
||||
<textarea name="keterangan_operator" class="form-control" id="keterangan_operator" cols="30" rows="10"
|
||||
placeholder="Masukkan Alasan Disini
|
||||
Masukkan Alasan Disini"></textarea>
|
||||
<input type="hidden" name="id" value="{{$datas->id}}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer justify-content-between">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Batal</button>
|
||||
|
@ -129,89 +98,75 @@
|
|||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
<!-- Modal Detail dan Terima -->
|
||||
<div class="modal fade" id="MD{{$datas->id}}">
|
||||
<div class="modal fade" id="ModalDetail">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Details Data <b>{{ $datas->caseid }}</b></h4>
|
||||
<h4 class="modal-title">Details Data</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- Content goes here -->
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="program_studi">Program Studi:</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->program_studi }}">
|
||||
<label for="jam_kelas">Jam Kelas:</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->jam_kelas }}">
|
||||
<label for="ruang_kelas">Ruang Kelas:</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->ruang_kelas }}">
|
||||
</div>
|
||||
<div class="col">
|
||||
<input id="program_studi" type="text" class="form-control form-control-border" readonly value="">
|
||||
<label for="mata_kuliah">Mata Kuliah:</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->mata_kuliah }}">
|
||||
<input id="program_studi" type="text" class="form-control form-control-border" readonly value="">
|
||||
</div>
|
||||
<div class="col">
|
||||
<label for="jam_kelas">Jam Kelas:</label>
|
||||
<input id="jam_kelas" type="text" class="form-control form-control-border" readonly value="">
|
||||
<label for="tanggal_kelas">Tanggal Kelas:</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->tanggal_kelas }}">
|
||||
<label for="bukti_izin_dosen">Bukti Izin Dosen:</label><br/>
|
||||
<a href="{{asset('storage')}}/pemutihan/{{ $datas->bukti_izin_dosen }}" target="_blank" class="btn btn-success">Klik Disini</a>
|
||||
<input id="tanggal_kelas" type="text" class="form-control form-control-border" readonly value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="link-dokumen"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="ruang_kelas">Ruang Kelas:</label>
|
||||
<input id="ruang_kelas" type="text" class="form-control form-control-border" readonly value="">
|
||||
<label for="dosen_pengampu">Dosen Pengampu:</label>
|
||||
<input id="dosen_pengampu" class="form-control form-control-border" readonly value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="jurnal_kuliah">Jurnal Perkuliahan:</label>
|
||||
<input id="jurnal_kuliah" class="form-control form-control-border" readonly value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="dosen_pengampu">Dosen Pengampu: {{ $datas->ttd_dosen === '-' ? 'Belum Tanda Tangan' : 'Telah TTD Pada '.$datas->ttd_dosen }}</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->dosen_pengampu }}">
|
||||
<label for="jurnal_kuliah">Jurnal Kuliah:</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->jurnal_kuliah }}">
|
||||
<label for="alasan">Alasan Pemutihan:</label>
|
||||
<input type="text" class="form-control form-control-border" readonly value="{{ $datas->alasan }}">
|
||||
<label for="keterangan">Keterangan:</label>
|
||||
<textarea name="keterangan" id="keterangan" cols="30" rows="10" class="form-control form-control-border" readonly>
|
||||
{{ $datas->keterangan }}
|
||||
</textarea>
|
||||
<input id="alasan" class="form-control form-control-border" readonly value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="file_transkrip">Cetak Surat Pernyataan<br>
|
||||
<a href="{{ route('layanan-pemutihan.cetak',['caseid'=>$datas->caseid]) }}" target="_blank" class="btn btn-success">Klik Disini</a>
|
||||
<label for="keterangan">Keterangan Pemutihan:</label>
|
||||
<textarea name="keterangan" id="keterangan" class="form-control form-control-border" cols="30" rows="5" readonly></textarea>
|
||||
</div>
|
||||
</div>
|
||||
@if($datas->status_operator == null)
|
||||
<div class="row mt-3">
|
||||
<div class="col">
|
||||
<form action="{{ route('layanan-pemutihan.selesai',['caseid'=>$datas->caseid]) }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="caseid" value="{{$datas->caseid}}">
|
||||
<button type="submit" id="selesai" class="btn btn-success btn-block">Selesai</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="modal-footer justify-content-between">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
<span>{{$datas->caseid}}</span>
|
||||
@if($datas->ttd_operator=="-")
|
||||
<form action="{{ route('layanan-sempro.terima')}}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="{{$datas->id}}">
|
||||
<button type="submit" class="btn btn-success">Terima</button>
|
||||
</form>
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>CaseID</th>
|
||||
<th>Tanggal Pengajuan</th>
|
||||
<th>Program Studi</th>
|
||||
<th>Mata Kuliah</th>
|
||||
<th>Dosen Pengampu</th>
|
||||
|
@ -245,23 +200,168 @@
|
|||
<script src="{{asset('/')}}plugins/datatables-buttons/js/buttons.html5.min.js"></script>
|
||||
<script src="{{asset('/')}}plugins/datatables-buttons/js/buttons.print.min.js"></script>
|
||||
<script src="{{asset('/')}}plugins/datatables-buttons/js/buttons.colVis.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$("#example1").DataTable({
|
||||
"responsive": true, "lengthChange": false, "autoWidth": false,
|
||||
"order": [[6, 'desc']],
|
||||
"buttons": [{
|
||||
// New button configuration
|
||||
text: 'Tambah Data', // Replace with your desired button text
|
||||
action: function ( e, dt, node, config ) {
|
||||
// Perform your custom action here, e.g., open a new tab with the external link
|
||||
window.open("{{ route('layanan-pemutihan.tambah')}}", '_blank');
|
||||
if(window.location.search === '?program_studi=s1'){
|
||||
var url = '/admin/layanan-pemutihan/data?program_studi=s1';
|
||||
}else if(window.location.search === '?program_studi=s2'){
|
||||
var url = '/admin/layanan-pemutihan/data?program_studi=s2';
|
||||
}else if(window.location.search === '?program_studi=psppa'){
|
||||
var url = '/admin/layanan-pemutihan/data?program_studi=psppa';
|
||||
}else{
|
||||
var url = '/admin/layanan-pemutihan/data';
|
||||
};
|
||||
var table = $("#example1").DataTable({
|
||||
"responsive": true,
|
||||
"lengthChange": false,
|
||||
"autoWidth": false,
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"ajax": {
|
||||
"url": url,
|
||||
},
|
||||
"columns": [{ // mengambil & menampilkan kolom sesuai tabel database
|
||||
data: 'caseid',
|
||||
// name: 'CaseID',
|
||||
searchable: true
|
||||
},
|
||||
{
|
||||
data: 'created_at',
|
||||
render: function(data, type, row) {
|
||||
return moment(data).format('DD-MM-YYYY hh:mm')
|
||||
}
|
||||
},"csv", "excel", "pdf", "print", "colvis"]
|
||||
}).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)');
|
||||
|
||||
},
|
||||
{
|
||||
data: 'program_studi',
|
||||
// name: 'Program Studi'
|
||||
},
|
||||
{
|
||||
data: 'mata_kuliah',
|
||||
// name: 'Mata Kuliah'
|
||||
},
|
||||
{
|
||||
data: 'dosen_pengampu',
|
||||
// name: 'Dosen Pengampu'
|
||||
},
|
||||
{
|
||||
data: 'ruang_kelas',
|
||||
// name: 'Ruang Kuliah'
|
||||
},
|
||||
{
|
||||
data: 'tanggal_kelas',
|
||||
// name: 'Tanggal'
|
||||
},
|
||||
{
|
||||
data: 'action',
|
||||
searchable: false
|
||||
// name: 'Aksi'
|
||||
},
|
||||
],
|
||||
"search": {
|
||||
"caseInsensitive": true
|
||||
},
|
||||
order: [
|
||||
[2, 'desc']
|
||||
]
|
||||
})
|
||||
});
|
||||
function showDetail($caseid) {
|
||||
// Implement the logic to show the detail modal or navigate to the detail page
|
||||
// For example, you can use AJAX to fetch the detail data and show it in a modal
|
||||
// console.log($caseid);
|
||||
$.ajax({
|
||||
url: '/admin/layanan-pemutihan/data/'+$caseid,
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
// Populate the modal with the detail data
|
||||
var result = data.data[0];
|
||||
|
||||
var modalTitle = `
|
||||
<h4 class="modal-title">Details Data <strong>${result.caseid}</strong></h4>
|
||||
`;
|
||||
var linkDokumen = `
|
||||
<label for="bukti_izin_dosen">Bukti Izin Dosen :</label>
|
||||
<a href="/storage/pemutihan/${result.bukti_izin_dosen}" target="_blank" class="form-control btn btn-success" id="bukti_izin_dosen">Klik Disini</a>
|
||||
<label for="cetak_bukti_pemutihan">Cetak Surat Pernyataan :</label>
|
||||
<a href="/admin/layanan-pemutihan/cetak/${result.caseid}" target="_blank" class="form-control btn btn-success">Klik Disini</a>
|
||||
`;
|
||||
$('#ModalDetail .link-dokumen').html(linkDokumen);
|
||||
$('#ModalDetail .modal-title').html(modalTitle);
|
||||
$('#ModalDetail #caseid').val(result.caseid);
|
||||
$('#ModalDetail #program_studi').val(result.program_studi);
|
||||
$('#ModalDetail #mata_kuliah').val(result.mata_kuliah);
|
||||
$('#ModalDetail #jam_kelas').val(result.jam_kelas);
|
||||
$('#ModalDetail #tanggal_kelas').val(result.tanggal_kelas);
|
||||
$('#ModalDetail #ruang_kelas').val(result.ruang_kelas);
|
||||
$('#ModalDetail #bukti_izin_dosen').val(result.bukti_izin_dosen);
|
||||
$('#ModalDetail #dosen_pengampu').val(result.dosen_pengampu);
|
||||
$('#ModalDetail #jurnal_kuliah').val(result.jurnal_kuliah);
|
||||
$('#ModalDetail #alasan').val(result.alasan);
|
||||
$('#ModalDetail #keterangan').val(result.keterangan);
|
||||
|
||||
if(result.status_operator == null){
|
||||
$('#ModalDetail .modal-footer').html(`
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
<form action="/admin/layanan-pemutihan/selesai/${result.caseid}" method="post">
|
||||
@csrf
|
||||
<button type="submit" class="btn btn-success">Kirim</button>
|
||||
</form>
|
||||
`);
|
||||
$('#ModalDetail').modal('show');
|
||||
}
|
||||
else{
|
||||
$('#ModalDetail .modal-footer').html(`
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
`);
|
||||
}
|
||||
$('#ModalDetail').modal('show');
|
||||
}
|
||||
});
|
||||
}
|
||||
function tolak($caseid) {
|
||||
// Implement the logic to show the detail modal or navigate to the detail page
|
||||
// For example, you can use AJAX to fetch the detail data and show it in a modal
|
||||
// console.log($caseid);
|
||||
$.ajax({
|
||||
url: '/admin/layanan-pemutihan/data/'+$caseid,
|
||||
method: 'GET',
|
||||
success: function(data) {
|
||||
// Populate the modal with the detail data
|
||||
var result = data.data[0];
|
||||
|
||||
var modalTitle = `
|
||||
Apa Anda Yakin Menolak Pengajuan Pemutihan <b>${result.caseid}</b> ?
|
||||
`;
|
||||
$('#ModalDelete .modal-title').html(modalTitle);
|
||||
|
||||
|
||||
if(result.status_operator == null){
|
||||
$('#ModalDelete .modal-body').html(`
|
||||
<div class="alert alert-info alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h5><i class="icon fas fa-info"></i> Perhatian!</h5>
|
||||
<span >Alasan yang Dimasukkan Disini, Akan dikirimkan melalui Email Kepada Mahasiswa Terkait.</span>
|
||||
</div>
|
||||
<form action="/admin/layanan-pemutihan/tolak/${result.caseid}" method="post">
|
||||
@csrf
|
||||
<label for="keterangan_operator">Keterangan Operator :</label>
|
||||
<textarea name="keterangan_operator" id="keterangan_operator" class="form-control" cols="20" rows="10" required></textarea>
|
||||
<div class="text-center mt-3">
|
||||
<button type="submit" class="btn btn-danger">Tolak</button>
|
||||
</div>
|
||||
</form>
|
||||
`);
|
||||
|
||||
$('#ModalDelete .modal-footer').html(`
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
`);
|
||||
}
|
||||
$('#ModalDelete').modal('show');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
<script src="{{ asset('/') }}plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('/') }}dist/js/adminlte.min.js"></script>
|
||||
|
||||
@stack('js')
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -46,13 +46,40 @@
|
|||
</li>
|
||||
@hasanyrole('Super Administrator|Operator Akademik')
|
||||
<li class="nav-header text-bold">LAYANAN AKADEMIK</li>
|
||||
<li class="nav-item">
|
||||
<li class="nav-item has-treeview">
|
||||
<a href="{{ route('layanan-pemutihan.index') }}" class="nav-link {{ Request::is('admin/layanan-pemutihan') ? 'active' : '' }}">
|
||||
<i class="nav-icon fas fa-chalkboard-teacher"></i>
|
||||
<p>
|
||||
Pengajuan Pemutihan
|
||||
Layanan Pemutihan
|
||||
<i class="right fas fa-angle-left"></i>
|
||||
</p>
|
||||
</a>
|
||||
<ul class="nav nav-treeview">
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('layanan-pemutihan.index') }}" id="filter-s1-farmasi" class="nav-link {{ Request::is('admin/layanan-pemutihan/s1') ? 'active' : '' }}">
|
||||
<i class="far fa-circle nav-icon"></i>
|
||||
<p>Keseluruhan</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('layanan-pemutihan.index',['program_studi' => 's1']) }}" id="filter-s1-farmasi" class="nav-link {{ Request::is('admin/layanan-pemutihan/s1') ? 'active' : '' }}">
|
||||
<i class="far fa-circle nav-icon"></i>
|
||||
<p>S1 Farmasi</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('layanan-pemutihan.index',['program_studi' => 's2']) }}" id="filter-s2-farmasi" class="nav-link {{ Request::is('admin/layanan-pemutihan/s2') ? 'active' : '' }}">
|
||||
<i class="far fa-circle nav-icon"></i>
|
||||
<p>S2 Farmasi</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('layanan-pemutihan.index',['program_studi' => 'psppa']) }}" class="nav-link {{ Request::is('admin/layanan-pemutihan/psppa') ? 'active' : '' }}">
|
||||
<i class="far fa-circle nav-icon"></i>
|
||||
<p>PSPPA</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('layanan-dpudpa.index') }}" class="nav-link {{ Request::is('admin/layanan-dpudpa') ? 'active' : '' }}">
|
||||
|
|
|
@ -49,6 +49,8 @@
|
|||
//layanan Pemutihan kelas
|
||||
Route::get('/layanan-pemutihan', [LayananPemutihanController::class, 'index'])->name('layanan-pemutihan.index');
|
||||
Route::POST('/layanan-pemutihan', [LayananPemutihanController::class, 'terima'])->name('layanan-pemutihan.terima');
|
||||
Route::get('/layanan-pemutihan/data', [LayananPemutihanController::class, 'data'])->name('layanan-pemutihan.data');
|
||||
Route::get('/layanan-pemutihan/data/{caseid}', [LayananPemutihanController::class, 'detail'])->name('layanan-pemutihan.detail');
|
||||
Route::POST('/layanan-pemutihan/tolak/{caseid}', [LayananPemutihanController::class, 'tolak'])->name('layanan-pemutihan.tolak');
|
||||
Route::POST('/layanan-pemutihan/selesai/{caseid}', [LayananPemutihanController::class, 'selesai'])->name('layanan-pemutihan.selesai');
|
||||
//layanan Pengajuan DPU DPA
|
||||
|
|
Loading…
Reference in New Issue
Block a user