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.

116 lines
4.7 KiB
JavaScript

const potongTeks = function(teks, panjangMaks) {
if (teks.length <= panjangMaks) {
return teks;
} else {
return teks.slice(0, panjangMaks) + "...";
}
}
const checkData = function(a,b){
if(typeof a === 'object'){
if(a[b] != undefined){
return potongTeks( a[b] , 38);
}
return '-';
}
return '-';
}
const jk = function(a,b){
if (typeof a === 'object') {
if (a[b] != undefined) {
if(a[b] === 'L'){
return 'Laki laki'
}
return 'Perempuan';
}
return '-';
}
return '-';
}
window._pdfMakeKTA = function (a) {
var col = [];
let ln = Math.ceil(a.length / 3);
let numStart = 0;
for (let i = 0; i < ln; i++) {
let nd = [];
let data = {};
if ( a[numStart] != undefined ){
data = a[numStart];
}
numStart++;
for (let q = 0; q < 3; q++) {
nd.push([
{
table: {
widths: ['*'],
body: [
[
[
{ text: 'BIODATA ANGGOTA', style: ['center', 's2', 'bold'] }
, {
layout: 'lightHorizontalLines'
, table: {
widths: [69, 3, '*']
, body: [
[{ text: 'NO.INDUK', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: '', style: ['s1'] }]
, [{ text: 'NAMA', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: checkData(data,'nama'), style: ['s1'] }]
, [{ text: 'TGL. LAHIR', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: tanggal(checkData(data,'tgllahir')).sekarang , style: ['s1'] }]
, [{ text: 'JENIS KELAMIN', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: jk(data,'jk'), style: ['s1'] }]
, [{ text: 'TELP', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: checkData(data,'telp'), style: ['s1'] }]
, [{ text: 'UNIT KERJA', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: checkData(data,'unitkerja'), style: ['s1'] }]
, [{ text: 'ALAMAT RUMAH', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: checkData(data,'alamat'), style: ['s1'] }]
, [{ text: 'TAHUN MASUK', style: ['s1'] }, { text: ':', style: ['s1'] }, { text: tanggal(checkData(data, 'masuk')).sekarang, style: ['s1'] }]
]
}
}
, { text: 'Keterangan', style: ['s2', 'bold'] }
, {
layout: 'noBorders'
, table: {
widths: [3, '*']
, body: [
[{ text: '-', style: ['s1'] }, { text: 'Mohon dikoreksi ulang untuk kejelasan data.', style: ['s1'] }]
, [{ text: '-', style: ['s1'] }, { text: 'Untuk unit kerja Guru TK/SD/SMP/SMA, harap ditulis lengkap nama sekolahannya.', style: ['s1'] }]
, [{ text: '-', style: ['s1'] }, { text: 'Apabila terdapat kesalahan data, maka bisa di konfirmasi ke nomor Warpeka ( 085 748 055 474 ).', style: ['s1'] }]
]
}
}
]
],
]
}
}
])
}
col.push({
columns:nd,
columnGap: 5
})
}
var docDefinition = {
pageOrientation: 'landscape',
pageMargins: [5, 5, 5, 5],
content: col
, styles: {
s1: {
margin: [5, 0],
fontSize: 7.5,
},
s2: {
margin: [5, 0],
fontSize: 8,
},
bold: {
bold: true
},
center: {
alignment: 'center'
}
}
};
pdfMake.createPdf(docDefinition).open()
};