Melengkapi feature Approve Jadwal Kunjungan yang di berikan Surveyor
This commit is contained in:
@@ -5,6 +5,7 @@ namespace Modules\Lpj\Http\Controllers;
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use Modules\Lpj\Exports\BasicDataSurveyorExport;
|
use Modules\Lpj\Exports\BasicDataSurveyorExport;
|
||||||
@@ -527,22 +528,29 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function storeAproved($id)
|
public function storeAproved(Request $request, $id): JsonResponse
|
||||||
{
|
{
|
||||||
try {
|
$data = [];
|
||||||
$penilaian = Penilaian::findOrFail($id);
|
if (request()->ajax()) {
|
||||||
$penilaian->update([
|
try {
|
||||||
'authorized_status' => 1,
|
$penilaian = Penilaian::findOrFail($id);
|
||||||
]);
|
$penilaian->update([
|
||||||
|
'authorized_status' => 1,
|
||||||
|
]);
|
||||||
|
|
||||||
return redirect()
|
$data['status'] = 'success';
|
||||||
->route('permohonan.index')
|
$data['message']= 'Jadwal '.$request->noReg.' berhasil di aprove';
|
||||||
->with('success', 'Jadwal berhasil di aprove.');
|
} catch (\Exception $e) {
|
||||||
} catch (\Exception $e) {
|
$data['status'] = 'error';
|
||||||
return redirect()
|
$data['message'] = 'Gagal membuat jadwal: ' . $e->getMessage();
|
||||||
->route('permohonan.index')
|
}
|
||||||
->with('error', 'Gagal membuat jadwal: ' . $e->getMessage());
|
|
||||||
|
} else {
|
||||||
|
$data['status'] = 'error';
|
||||||
|
$data['message'] = "no ajax request";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return response()->json($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,8 @@
|
|||||||
@section('breadcrumbs')
|
@section('breadcrumbs')
|
||||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
@include('lpj::assetsku.includenya')
|
||||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||||
@include('lpj::component.detail-jaminan', ['backLink' => 'penilaian.index'])
|
@include('lpj::component.detail-jaminan', ['backLink' => 'penilaian.index'])
|
||||||
|
|
||||||
@@ -462,6 +459,7 @@
|
|||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href =
|
window.location.href =
|
||||||
'{{ route('penilaian.index') }}';
|
'{{ route('penilaian.index') }}';
|
||||||
|
toastrSuccessBuild(response.message);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
showErrorMessages(response.errors);
|
showErrorMessages(response.errors);
|
||||||
@@ -470,6 +468,7 @@
|
|||||||
},
|
},
|
||||||
error: function(xhr) {
|
error: function(xhr) {
|
||||||
// Handle errors from the server
|
// Handle errors from the server
|
||||||
|
toastrErrorBuild(xhr.responseJSON.message);
|
||||||
showErrorMessages(xhr.responseJSON?.errors);
|
showErrorMessages(xhr.responseJSON?.errors);
|
||||||
console.error('Error occurred:', xhr.statusText);
|
console.error('Error occurred:', xhr.statusText);
|
||||||
console.log('Response:', xhr.responseText);
|
console.log('Response:', xhr.responseText);
|
||||||
|
|||||||
@@ -186,9 +186,9 @@
|
|||||||
let actionHtml = `<div class="flex flex-nowrap justify-center gap-1.5">`;
|
let actionHtml = `<div class="flex flex-nowrap justify-center gap-1.5">`;
|
||||||
|
|
||||||
if (data && data.penilaian && data.penilaian.waktu_penilaian !== null && data.status !==
|
if (data && data.penilaian && data.penilaian.waktu_penilaian !== null && data.status !==
|
||||||
'done') {
|
'done' && data.penilaian.authorized_status==null) {
|
||||||
actionHtml += `
|
actionHtml += `
|
||||||
<a class="btn btn-sm btn-outline btn-primary" href="surveyor/storeAproved/${data.penilaian.id}">
|
<a class="btn btn-sm btn-outline btn-primary" href="javascript:void(0)" onclick="surveyorApproveKunjungan(${data.penilaian.id},'${data.nomor_registrasi}')" title="Hapus Proses Penawaran '+kjppName+'">
|
||||||
<i class="ki-filled ki-calendar-edit"></i>
|
<i class="ki-filled ki-calendar-edit"></i>
|
||||||
</a>
|
</a>
|
||||||
`;
|
`;
|
||||||
@@ -225,5 +225,58 @@
|
|||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function surveyorApproveKunjungan(id, noReg) {
|
||||||
|
Swal.fire({
|
||||||
|
title: ' ',
|
||||||
|
text: "Yakin akan Menyetujui Jadwal Kunjungan "+noReg+"?",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Yes'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
//define variable
|
||||||
|
// $id ==> penilaian.id
|
||||||
|
let token = "{{ csrf_token() }}";
|
||||||
|
let useURL = "{{ URL::to('/surveyor/storeAproved') }}"+"/"+id;
|
||||||
|
|
||||||
|
var input_data = new Object();
|
||||||
|
input_data._token = token;
|
||||||
|
input_data.id = id;
|
||||||
|
input_data.noReg =noReg;
|
||||||
|
$.ajax({
|
||||||
|
url: useURL,
|
||||||
|
type: "PUT",
|
||||||
|
cache: false,
|
||||||
|
data: input_data,
|
||||||
|
dataType: "json",
|
||||||
|
success: function(response) {
|
||||||
|
console.log(response);
|
||||||
|
if('success' == response.status)
|
||||||
|
{
|
||||||
|
swal.fire('Sukses Menyetujui!', response.message, 'success').then(() => {
|
||||||
|
location.reload(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Swal.fire('Error!', response.message, 'error');
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function(response, textStatus, errorThrown) {
|
||||||
|
// var errors = response.responseJSON.errors;
|
||||||
|
// console.log(errors);
|
||||||
|
console.log(response);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
|
|||||||
@@ -514,7 +514,7 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::post('store', [SurveyorController::class, 'store'])->name('store');
|
Route::post('store', [SurveyorController::class, 'store'])->name('store');
|
||||||
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
||||||
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
||||||
Route::get('storeAproved/{id}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
Route::put('storeAproved/{storeAproved}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
||||||
Route::put('storeFreeze', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
|
Route::put('storeFreeze', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
|
||||||
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
||||||
Route::post('storeDataPembanding', [SurveyorController::class, 'storeDataPembanding'])->name('storeDataPembanding');
|
Route::post('storeDataPembanding', [SurveyorController::class, 'storeDataPembanding'])->name('storeDataPembanding');
|
||||||
|
|||||||
Reference in New Issue
Block a user