Commit 19affa1f by Alfiro Pratama

Delete Anggaran (Mhs)

parent b5284363
...@@ -20,6 +20,7 @@ use App\Models\JenisSatuanBarang; ...@@ -20,6 +20,7 @@ use App\Models\JenisSatuanBarang;
use Session; use Session;
use Alert; use Alert;
use Auth; use Auth;
use Illuminate\Support\Facades\Auth as FacadesAuth;
class MonevController extends Controller class MonevController extends Controller
{ {
...@@ -249,4 +250,25 @@ class MonevController extends Controller ...@@ -249,4 +250,25 @@ class MonevController extends Controller
return redirect()->back()->with('error', 'Gagal menyimpan data: ' . $e->getMessage()); return redirect()->back()->with('error', 'Gagal menyimpan data: ' . $e->getMessage());
} }
} }
public function hapusAnggaran(Request $request)
{
$key = $request->except('_token');
$userid = Auth::user()->id;
$id = decrypt($request->id);
$anggaran = BuktiAnggaran::with(['rProposal', 'rMonev'])->find($id);
if ($anggaran) {
if ($anggaran->nota_file && Storage::disk('static')->exists('simpmw/monev/II/bukti-anggaran/' . $anggaran->nota_file)) {
Storage::disk('static')->delete('simpmw/monev/II/bukti-anggaran/' . $anggaran->nota_file);
}
$anggaran->update([
'deleted_at' => now(),
'deleted_by' => $userid,
]);
return response()->json(['status' => 'success', 'message' => 'Berhasil dihapus']);
} else {
return response()->json(['status' => 'error', 'message' => 'Proposal tidak ditemukan']);
}
}
} }
...@@ -36,12 +36,11 @@ ...@@ -36,12 +36,11 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="table-responsive"> <div class="table-responsive">
<table id="datatable" class="table table-bordered dt-responsive nowrap" style="border-collapse: collapse; border-spacing: 0; width: 100%;"> <table id="datatable" class="table table-bordered nowrap" style="border-collapse: collapse; border-spacing: 0; width: 100%;">
<thead style="vertical-align: middle; text-align: center;"> <thead style="vertical-align: middle; text-align: center;">
<tr> <tr>
<th colspan="10" style="font-size: 16px"> <th colspan="10" style="font-size: 16px">
Rencana Anggaran Biaya Rencana Anggaran Biaya
{{-- @dd($monev->rProposal->pendanaan); --}}
<br> <br>
<span style="font-style: italic; font-size: 14px; display: block; margin-top: 5px; text-align: left"> <span style="font-style: italic; font-size: 14px; display: block; margin-top: 5px; text-align: left">
Total Anggaran: Rp {{ isset($monev->rProposal->pendanaan) ? number_format($monev->rProposal->pendanaan, 2, ',', '.') : '0' }} Total Anggaran: Rp {{ isset($monev->rProposal->pendanaan) ? number_format($monev->rProposal->pendanaan, 2, ',', '.') : '0' }}
...@@ -62,7 +61,6 @@ ...@@ -62,7 +61,6 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{{-- <tr id="row-{{ $token }}"> --}}
@php @php
$totalDana = 0; $totalDana = 0;
$sisaDana = 0; $sisaDana = 0;
...@@ -86,7 +84,6 @@ ...@@ -86,7 +84,6 @@
<button class="btn btn-primary btn-sm fa fa-edit" data-toggle="tooltip" data-placement="top" title="Edit Data"></button> <button class="btn btn-primary btn-sm fa fa-edit" data-toggle="tooltip" data-placement="top" title="Edit Data"></button>
<a onclick="hapus('{{ encrypt($item->id) }}', 'row-{{ $token }}')" class="btn btn-danger btn-sm fa fa-trash-alt" data-toggle="tooltip" data-placement="top" title="Hapus Data"></a> <a onclick="hapus('{{ encrypt($item->id) }}', 'row-{{ $token }}')" class="btn btn-danger btn-sm fa fa-trash-alt" data-toggle="tooltip" data-placement="top" title="Hapus Data"></a>
</td> </td>
{{-- <td></td> --}}
</tr> </tr>
@endforeach @endforeach
@php @php
...@@ -177,6 +174,9 @@ ...@@ -177,6 +174,9 @@
<span class="input-group-text">Rp</span> <span class="input-group-text">Rp</span>
<input class="form-control" type="text" id="harga_satuan" name="harga_satuan" value="{{ old('harga_satuan') }}" placeholder="Masukkan harga satuan (cth: 950000 atau 950000.50)" required onkeypress="return isNumberKey(event)" onkeyup="formatRupiah(this)"> <input class="form-control" type="text" id="harga_satuan" name="harga_satuan" value="{{ old('harga_satuan') }}" placeholder="Masukkan harga satuan (cth: 950000 atau 950000.50)" required onkeypress="return isNumberKey(event)" onkeyup="formatRupiah(this)">
</div> </div>
<small class="text-danger" style="display: block;">
Tanda titik hanya (.) untuk bilangan desimal. Contoh: 950000 atau 950000.50
</small>
<small id="invalidInput" class="text-danger" style="display: none;">Harap masukkan angka atau desimal (contoh: 950000 atau 9500000.50)</small> <small id="invalidInput" class="text-danger" style="display: none;">Harap masukkan angka atau desimal (contoh: 950000 atau 9500000.50)</small>
<small id="dotWarning" style="display: none; color: red;">Simbol titik (.) tidak boleh diinputkan lebih dari 1 | tanda (.) hanya untuk nominal desimal</small> <small id="dotWarning" style="display: none; color: red;">Simbol titik (.) tidak boleh diinputkan lebih dari 1 | tanda (.) hanya untuk nominal desimal</small>
</div> </div>
...@@ -216,7 +216,6 @@ ...@@ -216,7 +216,6 @@
$(document).ready(function() { $(document).ready(function() {
const table = $('#datatable').DataTable({ const table = $('#datatable').DataTable({
// Pengaturan tampilan dan kontrol DataTable // Pengaturan tampilan dan kontrol DataTable
responsive: true,
autoWidth: false, autoWidth: false,
order: [[0, 'asc']], // Mengatur pengurutan default berdasarkan kolom pertama order: [[0, 'asc']], // Mengatur pengurutan default berdasarkan kolom pertama
columnDefs: [ columnDefs: [
...@@ -250,43 +249,77 @@ ...@@ -250,43 +249,77 @@
}); });
</script> </script>
<script> <script>
function hapus(id, rowId){ // function hapus(id, rowId){
// Swal.fire({
// title: 'Apakah Anda yakin untuk menghapus usulan ini?',
// text: "File yang sudah terupload juga akan terhapus",
// icon: 'warning',
// showCancelButton: true,
// confirmButtonText: 'OK',
// }).then((result) => {
// if (result.isConfirmed) {
// var token = '{{ csrf_token() }}';
// console.log("Data yang dikirim:", {id: id, _token: token});
// $.ajax({
// url: '{{ route('mahasiswa.anggaran.hapus') }}',
// type: 'POST',
// dataType: 'html',
// data: {id:id, _token:token},
// success: function(data){
// Swal.fire({
// title: 'Data Berhasil Di Hapus',
// icon: 'success',
// showConfirmButton: false,
// timer: 1500
// });
// $('#'+rowId).remove();
// },
// error: function(xhr, status, error){
// Swal.fire({
// position: 'top-end',
// icon: 'error',
// title: xhr.responseText,
// showConfirmButton: false,
// timer: 3500
// });
// }
// });
// }
// })
// }
function hapus(id, rowId) {
Swal.fire({ Swal.fire({
title: 'Apakah anda yakin untuk menghapus usulan ini?', title: 'Konfirmasi',
text: "file yang sudah terupload juga terhapus", text: 'Apakah Anda yakin ingin menghapus data ini?',
icon: 'warning', icon: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonText: 'OK', confirmButtonText: 'Ya, hapus!',
cancelButtonText: 'Batal',
}).then((result) => { }).then((result) => {
if (result.isConfirmed) { if (result.isConfirmed) {
var token = '{{ csrf_token() }}'; $.ajax({
var request = $.ajax({ url: '{{ route('mahasiswa.anggaran.hapus') }}', // Pastikan route benar
url: '{{ route('mahasiswa.luaran.hapus') }}',
type: 'POST', type: 'POST',
dataType: 'html', data: {
data: {id:id, _token:token}, id: id, // Kirimkan id dari BuktiAnggaran
success: function(data){ _token: '{{ csrf_token() }}',
Swal.fire({
title: 'Data Berhasil Di Hapus',
icon: 'success',
showConfirmButton: false,
timer: 1500
});
$('#'+rowId).remove();
}, },
error: function(xhr, status, error){ success: function(response) {
Swal.fire({ if (response.status === 'success') {
position: 'top-end', Swal.fire('Berhasil!', response.message, 'success').then(() => {
icon: 'error', location.reload(); // Reload halaman setelah berhasil
title: xhr.responseText,
showConfirmButton: false,
timer: 3500
}); });
} else {
Swal.fire('Gagal!', response.message, 'error');
} }
},
error: function(xhr) {
Swal.fire('Error!', 'Terjadi kesalahan saat menghapus data.', 'error');
},
}); });
} }
}) });
} }
function isNumberOrDecimal(evt) { function isNumberOrDecimal(evt) {
......
...@@ -34,7 +34,9 @@ use App\Http\Controllers\Mahasiswa\LuaranController as LuaranMahasiswa; ...@@ -34,7 +34,9 @@ use App\Http\Controllers\Mahasiswa\LuaranController as LuaranMahasiswa;
use App\Http\Controllers\Mahasiswa\BiodataController as BiodataMahasiswa; use App\Http\Controllers\Mahasiswa\BiodataController as BiodataMahasiswa;
use App\Http\Controllers\Mahasiswa\SeleksiController as SeleksiMahasiswa; use App\Http\Controllers\Mahasiswa\SeleksiController as SeleksiMahasiswa;
use App\Http\Controllers\Mahasiswa\KelompokController as MahasiswaKelompok; use App\Http\Controllers\Mahasiswa\KelompokController as MahasiswaKelompok;
use App\Http\Controllers\Mahasiswa\MonevController;
use App\Http\Controllers\Mahasiswa\ProposalController as MahasiswaProposal; use App\Http\Controllers\Mahasiswa\ProposalController as MahasiswaProposal;
use App\Models\BuktiAnggaran;
use App\Models\DaftarProposal; use App\Models\DaftarProposal;
/* /*
...@@ -114,7 +116,7 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () { ...@@ -114,7 +116,7 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
//luaran //luaran
Route::resource('luaran', LuaranMahasiswa::class); Route::resource('luaran', LuaranMahasiswa::class);
Route::post('/luaran-hapus', [LuaranMahasiswa::class, 'hapus'])->name('luaran.hapus'); Route::post('/luaran-hapus', [LuaranMahasiswa::class, 'hapus'])->name('luaran.hapus');
Route::post('/anggaran/delete', [MonevController::class, 'hapusAnggaran'])->name('anggaran.hapus');
}); });
Route::name('dosen.')->prefix('dosen')->middleware(['role:operator|dosen|tendik'])->group(function () { Route::name('dosen.')->prefix('dosen')->middleware(['role:operator|dosen|tendik'])->group(function () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment