146 lines
7.3 KiB
HTML
146 lines
7.3 KiB
HTML
<div style="display: grid; grid-template-columns: auto 1fr; column-gap: 1.5ch;">
|
|
<div style="display: grid; grid-template-columns: auto auto 1fr; column-gap: 1ch;">
|
|
<span>Kegiatan</span>
|
|
|
|
<select id="kegiatan" style="width: max-content;" disabled>
|
|
<option value="-1" selected disabled>-Pilih Kegiatan-</option>
|
|
<option value="0">Sebagai Katalis</option>
|
|
<option value="1">Sebagai Penggerak Perubahan</option>
|
|
<option value="2">Sebagai Pemberi Solusi</option>
|
|
<option value="3">Sebagai Mediator</option>
|
|
<option value="4">Sebagai Penghubung</option>
|
|
</select>
|
|
<span>Target Waktu</span>
|
|
|
|
<div>
|
|
<input type="number" id="target" min="1" style="width: 7ch;" value="1" disabled>
|
|
|
|
<select id="targetUnit" style="width: max-content;" disabled>
|
|
<option value="0">Hari</option>
|
|
<option value="1" selected>Bulan</option>
|
|
</select>
|
|
</div>
|
|
<span class="forDay" hidden>Tgl Mulai</span>
|
|
<span class="forDay" hidden></span>
|
|
<input class="forDay" type="date" id="startDate" style="max-width: max-content;" hidden disabled>
|
|
<span class="forMonth">Bulan Mulai</span>
|
|
<span class="forMonth"></span>
|
|
<input class="forMonth" type="month" id="startMonth" style="max-width: max-content;" disabled>
|
|
<div style="grid-column: span 3;">
|
|
<span>Sasaran Kegiatan:</span><br>
|
|
<textarea disabled id="sasaran" style="resize: none; width: 100%; height: 4.6em;" maxlength="510" placeholder="Contoh: Mengenakan seragam sesuai aturan."></textarea>
|
|
</div>
|
|
<div style="grid-column: span 3;">
|
|
<span>Sasaran Entitas:</span><br>
|
|
<textarea disabled id="enttarget" style="resize: none; width: 100%; height: 4.6em;" maxlength="510" placeholder="Contoh: Seluruh pegawai Kanwil BPN Provinsi Riau."></textarea>
|
|
</div>
|
|
<div style="grid-column: span 3;">
|
|
<span>Indikator:</span><br>
|
|
<textarea disabled id="indikator" style="resize: none; width: 100%; height: 4.6em;" maxlength="510" placeholder="Contoh: Persentase pegawai taat aturan berpakaian."></textarea>
|
|
</div>
|
|
<div style="grid-column: span 3;">
|
|
<span>Rencana Aksi:</span><br>
|
|
<textarea disabled id="aksi" style="resize: none; width: 100%; height: 4.6em;" maxlength="510" placeholder="Contoh: Sosialisasi aturan berpakaian."></textarea>
|
|
</div>
|
|
</div>
|
|
<div style="width: 54ch;">
|
|
<div style="display: grid; grid-template-columns: auto 1fr; column-gap: 1ch; grid-auto-rows: 1.8em; line-height: 1.8em;">
|
|
<span style="grid-column: span 2;">Ringkasan Jurnal:</span>
|
|
<span>Status Terakhir</span>
|
|
<div style="display: grid; grid-template-columns: 1fr auto auto; column-gap: 1ch; grid-auto-rows: 1.8em; line-height: 1.8em;"><div id="lastStatus"></div><div id="evalstat" style="padding: 0 .5ch;">---</div><a-button id="eval" style="padding: 0 .5ch;">Evaluasi</a-button></div>
|
|
<span>Tanggal/Waktu</span>
|
|
<div id="lastDate"></div>
|
|
<span style="grid-column: span 2;">Timeline Jurnal:</span>
|
|
<div style="grid-column: span 2; overflow: hidden auto; height: 24em;" id="detJournal">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="module">
|
|
const thisDialog = moly.lastDialog();
|
|
const data = thisDialog.data;
|
|
function µ(selector)
|
|
{
|
|
if (selector) return $(thisDialog.box).find(selector);
|
|
return $(thisDialog.box);
|
|
}
|
|
function fillForms()
|
|
{
|
|
µ('#aksi').val(data.actions);
|
|
µ('#enttarget').val(data.entityTarget);
|
|
µ('#indikator').val(data.indicators);
|
|
µ('#targetUnit').val(data.isInMonth ? 1 : 0);
|
|
µ('#kegiatan').val(data.kegiatan);
|
|
µ('#sasaran').val(data.sasaran);
|
|
let DateTime = data.year + "-" + data.startMonth.toString().padStart(2,"0");
|
|
DateTime += data.isInMonth ? "" : "-" + data.startDay.toString().padStart(2,"0");
|
|
µ('#target').val(data.timeTarget);
|
|
if(data.isInMonth)
|
|
{
|
|
µ('#startMonth').val(DateTime);
|
|
}
|
|
else
|
|
{
|
|
µ('#startDate').val(DateTime);
|
|
}
|
|
µ('#lastStatus').text(data.statusText);
|
|
µ('#lastStatus')[0].style = data.statusStyle;
|
|
µ('#evalstat').text(data.journal.at(-1).status == 8 ? "(Sudah Evaluasi)" : data.journal.at(-1).status < 4 ? "(Belum Selesai)" : "(Belum Evaluasi)");
|
|
µ('#eval').prop("disabled",(data.journal.at(-1).status < 4 || data.journal.at(-1).status == 8));
|
|
µ('#lastDate').text(data.journal.at(-1).timeStamp);
|
|
µ('#detJournal').empty();
|
|
$.each(data.journal,(_,v)=>{
|
|
const group = moly.customElement("group-el");
|
|
const by = moly.newElement("div");
|
|
const st = moly.newElement("div");
|
|
const no = moly.newElement("div");
|
|
group.append(by);
|
|
// group.append(st);
|
|
group.append(no);
|
|
group.setAttribute("label",v.timeStamp);
|
|
group.setAttribute("collapsed","");
|
|
by.append((v.status >=4 && v.status <=6 ? "Selesai " : "") + (data.statusNames[v.status] == "Berjalan" ? "Disetujui" : (data.statusNames[v.status] ?? "")) + (v.status == 8 ? "Dievaluasi" : "") + " oleh "+ agents.find(e=>e.agentID == v.submitterID).name);
|
|
by.style = "font-style: italic;"
|
|
st.append("Status: " + (v.status >=4 && v.status <=6 ? "Selesai " : "") + data.statusNames[v.status]);
|
|
if(v.status ==4)
|
|
{
|
|
const ks = JSON.parse(v.notes);
|
|
no.append("Kendala:");
|
|
no.append(moly.newElement("br"));
|
|
no.append(ks.kendala.length > 1? ks.kendala : "-");
|
|
no.append(moly.newElement("br"));
|
|
no.append("Solusi:");
|
|
no.append(moly.newElement("br"));
|
|
no.append(ks.solusi.length > 1? ks.solusi : "-");
|
|
}
|
|
else
|
|
{
|
|
no.append("Catatan:");
|
|
no.append(moly.newElement("br"));
|
|
no.append(v.notes.length > 1? v.notes : "-");
|
|
}
|
|
// console.log(typeof v.document)
|
|
if(typeof v.document === "string")
|
|
{
|
|
// alert('s')
|
|
const doc = moly.newElement("div");
|
|
const doclink = moly.customElement("a-button");
|
|
doc.append("Lihat Dokumen: ");
|
|
doc.append(doclink);
|
|
doclink.append(v.document);
|
|
$(doclink).click(async()=>{
|
|
await moly.dialog.show({title: "Preview Eviden", content:"/modules/pdf-previewer.html",fetching:true, data: {url: "/uploads/dokumen/" + v.document}});
|
|
})
|
|
group.append(doc);
|
|
}
|
|
µ('#detJournal').append(group);
|
|
})
|
|
$('#detJournal').children().last().prop("collapsed", false);
|
|
}
|
|
fillForms();
|
|
µ('#eval').click(async()=>{
|
|
const evalr = await moly.dialog.show({title: "Evaluasi Aksi Perubahan", content: "/modules/monev-eval.html", fetching: true, data});
|
|
if(evalr) thisDialog.resolve(data.owner.agentID);
|
|
});
|
|
</script> |