Memperbaiki alert ketika reschedule survey pada saat di tolak

This commit is contained in:
2025-03-04 09:39:33 +07:00
parent 5a6cf46f9e
commit 3af9a7b67b

View File

@@ -207,19 +207,20 @@
if (data.status === 'proses-survey' || data.status == 'rejected-reschedule') { if (data.status === 'proses-survey' || data.status == 'rejected-reschedule') {
actionHtml += ` actionHtml += `
<a onclick="surveyorRescheduleJadwalSurvey( <a onclick="surveyorRescheduleJadwalSurvey(
${data.id}, ${data.id},
${data.penilaian.id}, ${data.penilaian.id},
'${data.nomor_registrasi}', '${data.nomor_registrasi}',
'${data.debiture?.name}', '${data.debiture ? data.debiture.name.replace(/'/g, "\\'") : ""}',
'${data.penilaian.waktu_penilaian}', '${data.penilaian.waktu_penilaian}',
${JSON.stringify(data.penilaian.rejected_note)} '${data.penilaian.rejected_note ? JSON.stringify(data.penilaian.rejected_note).replace(/'/g, "\\'").replace(/"/g, '&quot;') : '{}'}'
)" class="delete btn btn-sm btn-outline btn-light" title="Reschedule Jadwal Survey"> )" class="delete btn btn-sm btn-outline btn-light" title="Reschedule Jadwal Survey">
<i class="ki-filled ki-calendar-remove"></i> <i class="ki-filled ki-calendar-remove"></i>
</a>`; </a>`;
} }
if (data && data.penilaian && data.penilaian.waktu_penilaian !== null && data.status !== if (data && data.penilaian && data.penilaian.waktu_penilaian !== null && data.status !==
'done' && data.penilaian.authorized_status == null || data.status === 'approved-reschedule') { 'done' && data.penilaian.authorized_status == null || data.status ===
'approved-reschedule') {
actionHtml += ` actionHtml += `
<a class="btn btn-sm btn-outline btn-primary" href="javascript:void(0)" onclick="surveyorApproveKunjungan(${data.id},${data.penilaian.id},'${data.nomor_registrasi}', '${data.debiture?.name}', '${data.penilaian.waktu_penilaian}')" title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}" > <a class="btn btn-sm btn-outline btn-primary" href="javascript:void(0)" onclick="surveyorApproveKunjungan(${data.id},${data.penilaian.id},'${data.nomor_registrasi}', '${data.debiture?.name}', '${data.penilaian.waktu_penilaian}')" title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}" >
<i class="ki-filled ki-calendar-edit"></i> <i class="ki-filled ki-calendar-edit"></i>
@@ -320,9 +321,9 @@
function surveyorRescheduleJadwalSurvey(permohonanId, idPenilaian, noReg, debitur, waktuPenilaian, rejectedNote) { function surveyorRescheduleJadwalSurvey(permohonanId, idPenilaian, noReg, debitur, waktuPenilaian, rejectedNote) {
rejectedNote = JSON.parse(rejectedNote); rejectedNote = JSON.parse(rejectedNote);
Swal.fire({ Swal.fire({
title: 'Reschedule Jadwal Kunjungan', title: 'Reschedule Jadwal Kunjungan',
html: ` html: `
<div class="text-left space-y-4"> <div class="text-left space-y-4">
<p class="text-gray-700"> <p class="text-gray-700">
@@ -348,63 +349,71 @@
</div> </div>
${rejectedNote && rejectedNote.trim() ? ` ${rejectedNote && rejectedNote.trim() ? `
<p class="text-gray-700"><strong>Catatan Reject:</strong> ${rejectedNote}</p> <p class="text-gray-700"><strong>Catatan Reject:</strong> ${rejectedNote}</p>
` : ''} ` : ''}
</div> </div>
`, `,
icon: 'warning', icon: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6', confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33', cancelButtonColor: '#d33',
confirmButtonText: 'Reschedule', confirmButtonText: 'Reschedule',
preConfirm: () => { preConfirm: () => {
const rescheduleDate = document.getElementById('reschedule_date').value; const rescheduleDate = document.getElementById('reschedule_date').value;
const rescheduleNote = document.getElementById('reschedule_note').value; const rescheduleNote = document.getElementById('reschedule_note').value;
if (!rescheduleDate || !rescheduleNote) { if (!rescheduleDate || !rescheduleNote) {
Swal.showValidationMessage('Semua inputan wajib diisi!'); Swal.showValidationMessage('Semua inputan wajib diisi!');
return false; return false;
}
return { rescheduleDate, rescheduleNote };
}
}).then((result) => {
if (result.isConfirmed) {
const { rescheduleDate, rescheduleNote } = result.value;
// Data to send
const data = {
_token: "{{ csrf_token() }}",
penilaian_id: idPenilaian,
nomor_registrasi: noReg,
permohonan_id: permohonanId,
reschedule_date: rescheduleDate,
reschedule_note: rescheduleNote
};
$.ajax({
url: `{{ URL::to('/permohonan/store-reschedule-survey') }}/${idPenilaian}`,
type: "PUT",
cache: false,
data: data,
dataType: "json",
success: function(response) {
if (response.status === 'success') {
Swal.fire('Sukses Reschedule!', response.message, 'success').then(() => {
location.reload();
});
} else {
Swal.fire('Error!', response.message, 'error');
} }
},
error: function(response) { return {
const errorMessage = response.responseJSON?.message || 'Terjadi kesalahan saat memproses data.'; rescheduleDate,
Swal.fire('Error!', errorMessage, 'error'); rescheduleNote
};
}
}).then((result) => {
if (result.isConfirmed) {
const {
rescheduleDate,
rescheduleNote
} = result.value;
// Data to send
const data = {
_token: "{{ csrf_token() }}",
penilaian_id: idPenilaian,
nomor_registrasi: noReg,
permohonan_id: permohonanId,
reschedule_date: rescheduleDate,
reschedule_note: rescheduleNote
};
$.ajax({
url: `{{ URL::to('/permohonan/store-reschedule-survey') }}/${idPenilaian}`,
type: "PUT",
cache: false,
data: data,
dataType: "json",
success: function(response) {
if (response.status === 'success') {
Swal.fire('Sukses Reschedule!', response.message, 'success').then(
() => {
location.reload();
});
} else {
Swal.fire('Error!', response.message, 'error');
}
},
error: function(response) {
const errorMessage = response.responseJSON?.message ||
'Terjadi kesalahan saat memproses data.';
Swal.fire('Error!', errorMessage, 'error');
}
});
} }
}); });
} }
});
}
// window.formatTanggalIndonesia(date) // window.formatTanggalIndonesia(date)