72 lines
2.9 KiB
HTML
72 lines
2.9 KiB
HTML
<div>
|
|
Sasaran Aksi:
|
|
</div>
|
|
<div id="sasaran" style="margin-bottom: .5em;"> </div>
|
|
<div>
|
|
Kendala, Hambatan, dan Masalah (Opsional):
|
|
</div>
|
|
<textarea id="kendala" style="width: 75ch;height: 6em; resize: none;" maxlength="240" placeholder="Silakan isi dengan kendala, hambatan, dan permasalahan yang dihadapi selama menjalankan aksi perubahan.">
|
|
</textarea>
|
|
<div>
|
|
Solusi (Opsional):
|
|
</div>
|
|
<textarea id="solusi" style="width: 100%;height: 6em; resize: none;" maxlength="240" placeholder="Silakan isi dengan langkah yang diambil untuk menanggulangi kendala, hambatan, dan permasalahan diatas.">
|
|
</textarea>
|
|
<div style="display: grid; grid-template-columns: 1fr auto; column-gap: 1.25ch;">
|
|
<span>Dokumen Eviden (Wajib): </span>
|
|
<file-input accept="application/pdf" id="evidence" style="width: 52.75ch"></file-input>
|
|
</div>
|
|
<div style="display: grid;grid-template-columns: auto 1fr auto; margin-top: .75em; border-top: 1px solid var(--secondary-foreground); padding-top: .5em;">
|
|
<a-button id="cancel" type="negative">Batal</a-button>
|
|
|
|
<a-button id="upload">Upload Eviden</a-button>
|
|
</div>
|
|
<script type="module">
|
|
const thisDialog = moly.lastDialog();
|
|
const data = thisDialog.data;
|
|
let evidence = null;
|
|
function µ(selector)
|
|
{
|
|
if (selector) return $(thisDialog.box).find(selector);
|
|
return $(thisDialog.box);
|
|
}
|
|
µ('#sasaran').text(data.sasaran);
|
|
µ('#evidence').change(async()=>{
|
|
if(µ('#evidence')[0]._input.files.length < 1)
|
|
{
|
|
evidence = null;
|
|
return;
|
|
}
|
|
const loadid = moly.loadScreen.show("Memroses berkas...","bar","#"+µ('div[id^="db"]')[0].id);
|
|
evidence = await moly.file.serialise(µ('#evidence')[0]._input.files[0]);
|
|
moly.loadScreen.close(loadid);
|
|
});
|
|
µ('#cancel').click(()=>{thisDialog.resolve(false)});
|
|
µ('#upload').click(async()=>{
|
|
const loadid = moly.loadScreen.show("Memroses berkas...","bar","#"+µ('div[id^="db"]')[0].id);
|
|
const upload =
|
|
{
|
|
prokerid: data.prokerID,
|
|
notes: JSON.stringify({
|
|
kendala: µ('#kendala').val(),
|
|
solusi: µ('#solusi').val()
|
|
}),
|
|
evidence: evidence.data
|
|
}
|
|
if(!evidence)
|
|
{
|
|
moly.alert.show("Dokumen Eviden Belum Dipilih","Dokuman Eviden bersifat wajib. Harap input dokumen eviden untuk diunggah.");
|
|
moly.loadScreen.close(loadid);
|
|
return;
|
|
}
|
|
const upl = await postJson('/api/pkevidence',upload);
|
|
if(upl.status != 201)
|
|
{
|
|
moly.alert.show("Eviden Tidak Terupload","Eviden tidak berhasi diupload. Silakan ulangi kembali beberapa saat lagi.");
|
|
moly.loadScreen.close(loadid);
|
|
return;
|
|
}
|
|
moly.loadScreen.close(loadid);
|
|
});
|
|
//["prokerid", "notes", "evidence"]
|
|
</script> |