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') {
actionHtml += `
<a onclick="surveyorRescheduleJadwalSurvey(
${data.id},
${data.penilaian.id},
'${data.nomor_registrasi}',
'${data.debiture?.name}',
'${data.penilaian.waktu_penilaian}',
${JSON.stringify(data.penilaian.rejected_note)}
)" class="delete btn btn-sm btn-outline btn-light" title="Reschedule Jadwal Survey">
${data.id},
${data.penilaian.id},
'${data.nomor_registrasi}',
'${data.debiture ? data.debiture.name.replace(/'/g, "\\'") : ""}',
'${data.penilaian.waktu_penilaian}',
'${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">
<i class="ki-filled ki-calendar-remove"></i>
</a>`;
}
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 += `
<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>
@@ -320,9 +321,9 @@
function surveyorRescheduleJadwalSurvey(permohonanId, idPenilaian, noReg, debitur, waktuPenilaian, rejectedNote) {
rejectedNote = JSON.parse(rejectedNote);
Swal.fire({
title: 'Reschedule Jadwal Kunjungan',
html: `
Swal.fire({
title: 'Reschedule Jadwal Kunjungan',
html: `
<div class="text-left space-y-4">
<p class="text-gray-700">
@@ -348,63 +349,71 @@
</div>
${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>
`,
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Reschedule',
preConfirm: () => {
const rescheduleDate = document.getElementById('reschedule_date').value;
const rescheduleNote = document.getElementById('reschedule_note').value;
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Reschedule',
preConfirm: () => {
const rescheduleDate = document.getElementById('reschedule_date').value;
const rescheduleNote = document.getElementById('reschedule_note').value;
if (!rescheduleDate || !rescheduleNote) {
Swal.showValidationMessage('Semua inputan wajib diisi!');
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');
if (!rescheduleDate || !rescheduleNote) {
Swal.showValidationMessage('Semua inputan wajib diisi!');
return false;
}
},
error: function(response) {
const errorMessage = response.responseJSON?.message || 'Terjadi kesalahan saat memproses data.';
Swal.fire('Error!', errorMessage, 'error');
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) {
const errorMessage = response.responseJSON?.message ||
'Terjadi kesalahan saat memproses data.';
Swal.fire('Error!', errorMessage, 'error');
}
});
}
});
}
});
}
// window.formatTanggalIndonesia(date)