64 lines
3.1 KiB
HTML
64 lines
3.1 KiB
HTML
|
|
<div style="display: grid; grid-template-columns: auto 1fr; column-gap: 1ch; height: 80vh;">
|
|
<div>
|
|
<div>Dokumen Eviden:</div>
|
|
<iframe style="width: 68vw; height: calc(83vh - 3.5em); width: calc(88vw - 38ch)">
|
|
|
|
</iframe>
|
|
</div>
|
|
<div style="display: grid; grid-template-columns: auto 1fr; column-gap: 1ch; width: 35ch; grid-auto-rows: min-content;">
|
|
<span style="grid-column: span 2;">Aksi Perubahan</span>
|
|
<textarea id="act" style="grid-column: span 2; width: 35ch; height: 5em; resize: none;" readonly></textarea>
|
|
Rencana Mulai <span id="planStart"></span>
|
|
Rencana Durasi <span id="planDur"></span>
|
|
Selesai Pada <span id="finishedAt"></span>
|
|
Status Selesai <span id="doneStat"></span>
|
|
<span style="grid-column: span 2;">
|
|
Kendala:
|
|
</span>
|
|
<textarea id="pro" style="grid-column: span 2; width: 35ch; height: 5em; resize: none;" placeholder="(Tidak ada kendala)" readonly></textarea>
|
|
<span style="grid-column: span 2;">
|
|
Solusi:
|
|
</span>
|
|
<textarea id="sol" style="grid-column: span 2; width: 35ch; height: 5em; resize: none;" placeholder="(Tidak ada solusi)" readonly></textarea>
|
|
<span style="grid-column: span 2;">
|
|
Catatan Evaluasi:
|
|
</span>
|
|
<textarea id="evalnotes" style="grid-column: span 2; width: 35ch; height: 5em; resize: none;" placeholder="Contoh: Bagus, harap pertahankan kinerja saudara."></textarea>
|
|
</div>
|
|
</div>
|
|
<div style="text-align: right;">
|
|
<a-button id="submit">Kirim Evaluasi</a-button>
|
|
</div>
|
|
<script type="module">
|
|
const thisDialog = moly.lastDialog();
|
|
const data = thisDialog.data;
|
|
function µ(selector)
|
|
{
|
|
if (selector) return $(thisDialog.box).find(selector);
|
|
return $(thisDialog.box);
|
|
}
|
|
const finJour = data.journal.find(e=>e.status == 4);
|
|
const prosol = JSON.parse(finJour.notes);
|
|
console.log(data)
|
|
µ('#act').val(data.actions);
|
|
µ('#pro').val(prosol.kendala);
|
|
µ('#sol').val(prosol.solusi);
|
|
µ('#planStart').text(data.year + "-" + data.startMonth.toString().padStart(2,"0")+ (data.isInMonth ? "" : "-" + data.startDay.toString().padStart(2,"0")));
|
|
µ('#planDur').text(data.timeTarget + " " + (data.isInMonth ? "Bulan" : "Hari"));
|
|
µ('#finishedAt').text(finJour.timeStamp.substring(0,16));
|
|
µ('#doneStat').text(data.statusText);
|
|
µ('iframe')[0].src="/uploads/dokumen/" + finJour.document;
|
|
µ('#submit').click(async()=>{
|
|
const loadid = moly.loadScreen.show("Mengirim Evaluasi...","sonar","#"+µ('div[id^="db"]')[0].id)
|
|
const evalres = await postJson('/api/eval', {prokerid: data.prokerID, notes: µ('#evalnotes').val().length > 0 ? µ('#evalnotes').val(): "-"});
|
|
if(evalres.status != 201)
|
|
{
|
|
moly.alert.show("Pengiriman Evaluaasi Gagal","Tidak dapat mengirim evaluasi. Silakan ulangi kembali beberapa saat lagi.");
|
|
moly.loadScreen.close(loadid);
|
|
return;
|
|
}
|
|
moly.loadScreen.close(loadid);
|
|
thisDialog.resolve(true);
|
|
});
|
|
</script> |