add button export to excel di pemutihan
All checks were successful
Run Action to Production / run pull to sync on target message (push) Has been skipped

This commit is contained in:
Fiky Baharudin 2025-02-28 13:18:51 +07:00
parent b0095717ce
commit df22e0f14f
8 changed files with 190 additions and 2 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,19 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Lomba;
use App\Models\User;
class LayananPengajuanLombaController extends Controller
{
public function tambah(){
$dosen = User::role('Dosen')->get();
return view('lomba.tambah',['dosen'=>$dosen,]);
}
}

11
app/Models/Lomba.php Normal file
View File

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Lomba extends Model
{
use HasFactory;
}

View File

@ -0,0 +1,27 @@
<?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('lombas', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('lombas');
}
};

View File

@ -201,6 +201,7 @@
<script src="{{asset('/')}}plugins/datatables-buttons/js/buttons.print.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="{{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 src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.0/xlsx.full.min.js"></script>
<script> <script>
$(function () { $(function () {
@ -265,8 +266,28 @@
order: [ order: [
[1, 'desc'] [1, 'desc']
] ]
}) });
// Add export button
$('#example1_wrapper .col-md-6:eq(0)').append('<button id="exportButton" class="btn btn-success">Export to Excel</button>');
// Export to Excel function
$('#exportButton').on('click', function() {
$.ajax({
url: url,
method: 'GET',
success: function(data) {
var ws = XLSX.utils.json_to_sheet(data.data);
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Data");
XLSX.writeFile(wb, "data.xlsx");
}
});
});
}); });
function showDetail($caseid) { function showDetail($caseid) {
// Implement the logic to show the detail modal or navigate to the detail page // 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 // For example, you can use AJAX to fetch the detail data and show it in a modal

View File

@ -56,7 +56,7 @@
<!-- Sidebar Menu --> <!-- Sidebar Menu -->
<nav class="mt-2"> <nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false"> <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<li class="nav-header">LAYANAN AKADEMIK</li> <li class="nav-header text-bold mt-2">LAYANAN AKADEMIK</li>
<li class="nav-item"> <li class="nav-item">
<a href="{{ route('layanan-dpudpa.tambah') }}" class="nav-link {{ Request::is('layanan-dpudpa/tambah') ? 'active' : '' }}"> <a href="{{ route('layanan-dpudpa.tambah') }}" class="nav-link {{ Request::is('layanan-dpudpa/tambah') ? 'active' : '' }}">
<i class="nav-icon fas fa-book"></i> <i class="nav-icon fas fa-book"></i>
@ -107,6 +107,16 @@
</a> </a>
</li> </li>
</li> </li>
<li class="nav-header text-bold mt-2">LAYANAN KEMAHASISWAAN</li>
<li class="nav-item">
{{-- <a href="{{ route('lomba.tambah') }}" class="nav-link {{ Request::is('lomba/tambah') ? 'active' : '' }}"> --}}
<a href="#" class="nav-link {{ Request::is('lomba/tambah') ? 'active' : '' }}">
<i class="nav-icon fas fa-calendar-alt"></i>
<p>
Pengajuan Bantuan Biaya Delegasi Lomba
</p>
</a>
</li>
<li class="nav-header text-bold mt-2">LAYANAN UMUM / PERLENGKAPAN</li> <li class="nav-header text-bold mt-2">LAYANAN UMUM / PERLENGKAPAN</li>
<li class="nav-item"> <li class="nav-item">
<a href="{{ route('layanan-aduan.tambah') }}" class="nav-link {{ Request::is('layanan-aduan/tambah') ? 'active' : '' }}"> <a href="{{ route('layanan-aduan.tambah') }}" class="nav-link {{ Request::is('layanan-aduan/tambah') ? 'active' : '' }}">

View File

@ -0,0 +1,96 @@
<!-- Extend Layout -->
@extends('layout.app_guest',['title' => 'Pengajuan Bantuan Biaya Delegasi Lomba'])
@section('content')
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<!-- SELECT2 EXAMPLE -->
<div class="card card-default">
<div class="card-header">
<h3 class="card-title">Pengajuan Bantuan Biaya Delegasi Lomba</h3>
</div>
<!-- /.card-header -->
<div class="card-body">
@if($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error )
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if(session('success'))
<div class="alert alert-success">
<ul>
<li>{{ session('success') }}</li>
</ul>
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
<ul>
<li>{{ session('error') }}</li>
</ul>
</div>
@endif
<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 >Pernah Menggunakan Layanan PINTU Untuk Pengajuan ? Coba Gunakan Fitur Cari. </span><a href="{{ route('lomba.tambah') }}" class="btn btn-success btn-sm">Klik Disini</a>
</div>
<form action="{{ route('layanan-dpudpa.store') }}" method="post" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col">
<label for="nim">NIM Mahasiswa</label>
<input type="text" name="nim" id="nim" class="form-control" placeholder="Masukkan NIM Mahasiswa" value="{{old('nim')}}" required>
<label for="nama">Nama Mahasiswa</label>
<input type="text" name="nama" id="nama" class="form-control" placeholder="Masukkan Nama Mahasiswa" value="{{old('nama')}}" required>
<label for="nomor_hp">Nomor Handphone Mahasiswa (WhatsApp)</label>
<input type="text" name="nomor_hp" id="nomor_hp" class="form-control" placeholder="Masukkan Nomor Handphone Mahasiswa (WhatsApp)" value="{{old('nomor_hp')}}" required>
<label for="email">Email Mahasiswa</label>
<input type="text" name="email" id="email" class="form-control" placeholder="Masukkan Email Mahasiswa" value="{{old('email')}}" required>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<div class="row">
<div class="col">
<div class="form-group">
<label for="dosen_pembina">Dosen Pembina Lomba</label>
<select class="form-control select2" style="width: 100%;" id="dosen_pembina" name="dosen_pembina">
<option selected>Pilih Dosen Pembina Lomba</option>
@foreach ($dosen as $item)
<option value="{{$item->id}}" {{ old('dosen_pembina') === $item->id ? 'selected' : '' }}>{{ $item->nama_gelar }}</option>
@endforeach
</select>
</div>
<!-- /.form-group -->
</div>
</div>
<!-- /.row -->
<div class="row">
<div class="col">
<label for="judul_seminar_proposal">Judul Skripsi / Tugas Akhir</label>
<input type="text" name="judul_seminar_proposal" id="judul_seminar_proposal" class="form-control" placeholder="Masukkan Judul Skripsi / Tugas Akhir yang Diajukan" value="{{old('judul_seminar_proposal')}}" required>
<label for="file_transkrip">Transkrip Nilai (*File Bertentuk PDF, Dan Ukuran Maksimal file :4Mb)</label>
<input type="file" name="file_transkrip" id="file_transkrip" class="form-control" required>
</div>
</div>
<div class="row">
<div class="col py-3">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</div>
<!-- /.card -->
</div>
<!-- /.container-fluid -->
</section>
<!-- /.content -->
@endsection

View File

@ -8,6 +8,7 @@
use App\Http\Controllers\LayananPemutihanController; use App\Http\Controllers\LayananPemutihanController;
use App\Http\Controllers\LayananPengajuanAduanController; use App\Http\Controllers\LayananPengajuanAduanController;
use App\Http\Controllers\LayananPengajuanDpuDpaController; use App\Http\Controllers\LayananPengajuanDpuDpaController;
use App\Http\Controllers\LayananPengajuanLombaController;
use App\Http\Controllers\LayananPengajuanWisudaController; use App\Http\Controllers\LayananPengajuanWisudaController;
use App\Http\Controllers\LayananRevisiPublikasiController; use App\Http\Controllers\LayananRevisiPublikasiController;
use App\Http\Controllers\LayananSeminarProposal; use App\Http\Controllers\LayananSeminarProposal;
@ -150,6 +151,9 @@
//Layanan Aduan //Layanan Aduan
Route::get('/aduan/tambah', [LayananPengajuanAduanController::class, 'tambah'])->name('layanan-aduan.tambah'); Route::get('/aduan/tambah', [LayananPengajuanAduanController::class, 'tambah'])->name('layanan-aduan.tambah');
Route::post('/aduan/tambah', [LayananPengajuanAduanController::class, 'store'])->name('layanan-aduan.store'); Route::post('/aduan/tambah', [LayananPengajuanAduanController::class, 'store'])->name('layanan-aduan.store');
//Layanan Pengajuan Pengajuan Lomba
Route::get('/lomba/tambah', [LayananPengajuanLombaController::class, 'tambah'])->name('lomba.tambah');
Route::get('/monitoring', [MonitoringController::class, 'index'])->name('monitoring.index'); Route::get('/monitoring', [MonitoringController::class, 'index'])->name('monitoring.index');
Route::post('/monitoring', [MonitoringController::class, 'search'])->name('monitoring.search'); Route::post('/monitoring', [MonitoringController::class, 'search'])->name('monitoring.search');