You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
5.4 KiB
JavaScript
157 lines
5.4 KiB
JavaScript
import { accnil, _bbData2, _bbData, _perbandingan, _triwulan, ekuitas } from "{{PATH}}/assets-js/module-lap-bb.js?v={time}";
|
|
import { temp } from "{{PATH}}/assets-js/module-lap-filterekuitas.js?v={time}";
|
|
import { xlsx } from "{{PATH}}/assets-js/module-export-xlsx.js?v={time}";
|
|
import { Footer, _header, head, hitungNilaiBertambah } from "{{PATH}}/assets-js/module-lap-ekuitas-footer.js?v={time}";
|
|
|
|
const _main = JSON.parse(_id('main').innerHTML);
|
|
globalThis.acc = JSON.parse(_id('acc').innerHTML);
|
|
acc = acc.sortArrayObjectAsc('main')
|
|
|
|
_fullScreen();
|
|
temp();
|
|
|
|
_id('bulan').value = tanggal().normal.split('-')[1];
|
|
|
|
const loader = function (r,hl, callback) {
|
|
let year = _val('tahun');
|
|
let cek = (Number(_val('tahun')) - 1) == 2022? true: false;
|
|
let h = _id('report').querySelector('thead');
|
|
let d = _id('report').querySelector('tbody');
|
|
h.innerHTML = _header([
|
|
{
|
|
text: 'Uraian',
|
|
colspan: 1,
|
|
align: 'left'
|
|
}
|
|
, {
|
|
text: 'Tahun ' + year,
|
|
align: 'right',
|
|
colspan: 2
|
|
}
|
|
, {
|
|
text: 'Tahun ' + (year - 1),
|
|
align: 'right',
|
|
colspan: 2
|
|
}
|
|
]);
|
|
let totalR = 0;
|
|
let hub;
|
|
d.innerHTML = `
|
|
${ !hub? head(r,hl):``}
|
|
${(function(){
|
|
return r.ekuitas.map(function(xx,i){
|
|
let [x] = r.data.cond(xx.kode, 'rek');
|
|
let [y] = hl.data.cond(xx.kode, 'rek');
|
|
if(x){
|
|
;
|
|
totalR += Number(x.total);
|
|
return `
|
|
<tr style="border-bottom: 1px solid #ddd;">
|
|
<td style="padding-left: 10px;">${(i+1).numToAlpabet()}. ${x.nama}</td>
|
|
<td data-kode="${xx.kode}" year="2023" style="text-align:right;width:120px;">${( hitungNilaiBertambah(x, y) ).rp(0)}</td>
|
|
<td style="text-align:right;width:120px;"></td>
|
|
<td data-kode="${xx.kode}" year="2023" style="border-left:1px solid #333;text-align:right;width:120px;">${( Number(y['b13']) - Number(y['b00']) + (cek?y['bnw']:0) ).rp(0)}</td>
|
|
<td style="text-align:right;width:120px;"></td>
|
|
</tr>
|
|
`;
|
|
}else{
|
|
return `
|
|
<tr style="border-bottom: 1px solid #ddd;">
|
|
<td style="padding-left: 10px;">${(i+1).numToAlpabet()}. ${xx.nama}</td>
|
|
<td data-kode="${xx.kode}" year="2023" style="text-align:right;width:120px;">Rp 0</td>
|
|
<td style="text-align:right;width:120px;"></td>
|
|
<td data-kode="${xx.kode}" year="2023" style="border-left:1px solid #333;text-align:right;width:120px;">Rp 0</td>
|
|
<td style="text-align:right;width:120px;"></td>
|
|
</tr>
|
|
`;
|
|
}
|
|
}).join('')
|
|
})()}
|
|
<tr style="border-bottom: 1px solid #ddd;">
|
|
<td style="padding-left: 10px;">${(r.data.length+1).numToAlpabet()} SHU Berjalan</td>
|
|
<td data-kode="" year="2023" style="text-align:right;width:120px;">${Number(hitungNilaiBertambah(r.shu,'shu')).rp(0)}</td>
|
|
<td style="text-align:right;width:120px;"></td>
|
|
<td data-kode="" year="2023" style="border-left:1px solid #333;text-align:right;width:120px;">${Number(r.shu.b00).rp(0)}</td>
|
|
<td style="text-align:right;width:120px;"></td>
|
|
</tr>
|
|
${!hub? Footer(r,hl) : ``}
|
|
`;
|
|
setTimeout(function () {
|
|
callback();
|
|
})
|
|
}
|
|
|
|
const getNode = function (className, doc) {
|
|
let nod = document.querySelectorAll('.' + className);
|
|
if (doc !== undefined) {
|
|
nod = doc.querySelectorAll(className)
|
|
}
|
|
return Array.from(
|
|
nod
|
|
);
|
|
}
|
|
|
|
const setUpData = function () {
|
|
let laporantype = _id('laporantype').value;
|
|
if (laporantype == 'u') {
|
|
let total = getNode('top-total');
|
|
total.forEach(function (tot) {
|
|
let info = getNode('td', tot)[0];
|
|
info.innerHTML = info.innerHTML.replace(/Total/g, "");
|
|
getNode('td', tot).forEach(function (cj) {
|
|
cj.style.background = 'white';
|
|
})
|
|
});
|
|
} else {
|
|
getNode('data-top').forEach(function (j) {
|
|
j.style.display = 'table-row';
|
|
})
|
|
getNode('title-top').forEach(function (j) {
|
|
j.style.display = 'table-row';
|
|
})
|
|
}
|
|
}
|
|
|
|
function loadData(callback) {
|
|
let _load = cssLoader();
|
|
let tahun = _val('tahun');
|
|
let app = _val('app');
|
|
accnil([tahun, Number(tahun)-1], app, function(r, rl){
|
|
let data = r.ekuitas();
|
|
let datal = rl.ekuitas();
|
|
_load.remove();
|
|
callback(data, datal);
|
|
});
|
|
};
|
|
|
|
loadData(function(r, h){
|
|
loader(r,h,function () {
|
|
});
|
|
});
|
|
|
|
_id('play').addEventListener('click', function () {
|
|
loadData(function (r,h) {
|
|
loader(r,h,function () {
|
|
});
|
|
});
|
|
});
|
|
|
|
_id('print').addEventListener('click', function () {
|
|
let layout = {
|
|
"p": "a4portrait.css",
|
|
"l": "a4landscape.css"
|
|
}
|
|
$('#report').printThis({
|
|
// base: 'https://jasonday.github.io/printThis',
|
|
header: null, // prefix to html
|
|
footer: null,
|
|
importCSS: true,
|
|
loadCSS: ["{{PATH}}/" + layout['p'], '{{PATH}}/assets/css/bootstrap.min.css'],
|
|
header: false,
|
|
});
|
|
}, false);
|
|
|
|
_id('exportExcel').addEventListener('click', function () {
|
|
xlsx("#report", 'Laba Rugi');
|
|
}, false);
|