feat(penilai): tambahkan kolom jenis laporan dan perhitungan due date SLA

- Menambahkan kolom "Jenis Laporan" pada tampilan daftar penilai.
- Memperbarui logika perhitungan due date SLA berdasarkan tipe laporan dan nilai plafond.
- Menyertakan relasi 'penilai' dan 'nilaiPlafond' dalam query untuk pengambilan data.
This commit is contained in:
Daeng Deni Mardaeni
2025-03-06 18:17:02 +07:00
parent f9764b6819
commit a1e98090a8
2 changed files with 38 additions and 3 deletions

View File

@@ -60,6 +60,10 @@
<span class="sort"> <span class="sort-label"> Fasilitas Kredit </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="jenis_laporan">
<span class="sort"> <span class="sort-label"> Jenis Laporan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_survei">
<span class="sort"> <span class="sort-label"> Tanggal Survei </span>
<span class="sort-icon"> </span> </span>
@@ -170,16 +174,45 @@
return data.jenisfasilitas_kredit && data.jenisfasilitas_kredit.name ? `${data.jenisfasilitas_kredit.name}` : '-';
},
},
jenis_laporan: {
title: 'Jenis Laporan',
render: (item, data) => {
return data.penilai?.type;
},
},
tanggal_survei: {
title: 'Tanggal Survei',
render: (item, data) => {
return `${formatDate(new Date(data.created_at))}`;
if(data.penilaian.waktu_penilaian){
return `${formatDate(new Date(data.penilaian.waktu_penilaian))}`;
}
return `${formatDate(new Date(data.penilaian.created_at))}`;
},
},
due_date_sla: {
title: 'Due Date SLA',
render: (item, data) => {
return `${formatDate(new Date(data.created_at))}`;
const tipe_laporan = data.penilai?.type;
const nilai_plafond = data.penilaian.nilaiPlafond?.name;
let waktu_penilaian = new Date(data.penilaian.created_at);
if(data.penilaian.waktu_penilaian){
waktu_penilaian = new Date(data.penilaian.waktu_penilaian);
}
if(tipe_laporan=="sederhana"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 2);
} else if(tipe_laporan=="standar"){
if(nilai_plafond=="2 M - 5 M"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else if(nilai_plafond=="< 2M"){
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
} else {
waktu_penilaian.setDate(waktu_penilaian.getDate() + 5);
}
}
return formatDate(waktu_penilaian);
},
},
status: {