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.
319 lines
9.2 KiB
JavaScript
319 lines
9.2 KiB
JavaScript
import { dtData, formData } from "{js}ts-simpanan-form.js?v={time}";
|
|
import { print } from '{js}ts-simpanan-print.js?v={time}';
|
|
|
|
const getRangeDate = function (lap) {
|
|
if (typeof _startDate != 'undefined') {
|
|
let start = _startDate.format("DD-MM-YYYY");
|
|
let end = _endDate.format("DD-MM-YYYY");
|
|
return lap + " PERIODE " + start + " s/d " + end;
|
|
};
|
|
return "";
|
|
};
|
|
|
|
window.objectForm = {
|
|
title: function () {
|
|
return 'Simpanan ';
|
|
},
|
|
titleReport: function () {
|
|
return getRangeDate("SIMPANAN");
|
|
},
|
|
table: "msimpan",
|
|
idform: "containerforms",
|
|
newkode: ``,
|
|
orientation: "l",
|
|
kode: 'faktur',
|
|
serverSide: true,
|
|
fixed: 2,
|
|
noAction: true,
|
|
view: ['status', 'kodesp', 'tgl', 'faktur', 'nama', 'jumlah', 'keterangan'],
|
|
columnsExport: [2, 3, 4, 5, 6, 7],
|
|
dataSelect: ["msimpan.*, msimpan.faktur print, (SELECT nama FROM anggota WHERE kode = msimpan.kode) nama"],
|
|
queryTemp: `SELECT {select} FROM msimpan || ORDER BY tgl DESC, faktur DESC`,
|
|
validasiForm: ['kodesp', 'tgl', 'faktur', 'jumlah', 'keterangan'],
|
|
oncreate: function (a) {
|
|
_setval('kode', '');
|
|
dtData.clear();
|
|
_setval('tgl', tanggal().normal);
|
|
_setval('jumlah', 0);
|
|
globalThis._radioAct.open('kodesp').setVal('kodesp', 'SP');
|
|
_setval('username', dataApi.username);
|
|
_setval('userlog', timestamp());
|
|
_setval('dk', globalThis.kodedk);
|
|
$(".form-d#kode").val("").trigger('change');
|
|
},
|
|
custOrder: ['faktur'],
|
|
onupdate: function (dt) {
|
|
dtData.set(dt);
|
|
if (dt.cash === null) {
|
|
_setval('cash', _master('acc', 'acc')[0].id);
|
|
}
|
|
_setval('tgl', tanggal(dt.tgl).normal);
|
|
_radioAct.disable('kodesp').setVal('kodesp', dt.kodesp, 1);
|
|
_setval('username', dataApi.username);
|
|
_setval('userlog', timestamp());
|
|
_setval('dk', dt.dk);
|
|
_setval('kode', dt.kode);
|
|
if (dt.keterangan == '' || dt.keterangan == '-') {
|
|
var f = tanggal(_getval('tgl')).sekarang2.split(' ');
|
|
var kodesp = dt.kodesp;
|
|
globalThis['keterangan'].parent.value = kodesp + ' ' + f[1] + ' ' + f[2];
|
|
}
|
|
var ang = JSON.parse(_id('anggota').innerHTML).cond(dt.kode, 'id')[0];
|
|
_setval('nip', ang.nip);
|
|
_setval('unitkerja', ang.unitkerja);
|
|
_setval('golgaji', ang.golongan);
|
|
},
|
|
custome: {
|
|
status: function (a) {
|
|
if (a == '0') {
|
|
return 'Lunas';
|
|
} else {
|
|
return 'Gagal bayar';
|
|
}
|
|
},
|
|
kodesp: function (a) {
|
|
if (JSON.parse(_id('jpinjam').innerHTML).cond(a, 'id').length > 0) {
|
|
return JSON.parse(_id('jpinjam').innerHTML).cond(a, 'id')[0].text;
|
|
}
|
|
return a;
|
|
},
|
|
kode: function (a) {
|
|
if (JSON.parse(_id('anggota').innerHTML).cond(a, 'id').length > 0) {
|
|
return JSON.parse(_id('anggota').innerHTML).cond(a, 'id')[0].text;
|
|
}
|
|
return a;
|
|
},
|
|
jumlah: function (a, b) {
|
|
return _viewrp(a, b);
|
|
}
|
|
}
|
|
,
|
|
disableSave: true,
|
|
filldate: true,
|
|
datekode: 'tgl',
|
|
custcondition: function (a) {
|
|
if (window._startDate != undefined) {
|
|
return a + ' WHERE dk = "' + globalThis.kodedk + '" ' + ` AND tgl >= "${window._startDate.format('YYYY-MM-DD')}" AND tgl <= "${window._endDate.format('YYYY-MM-DD')} "`;
|
|
} else {
|
|
return a + ' WHERE dk = "' + globalThis.kodedk + '" ';
|
|
};
|
|
},
|
|
debug: false,
|
|
custButton: function (a, i) {
|
|
var f;
|
|
if (typeof a == 'object') {
|
|
f = a.faktur;
|
|
} else {
|
|
f = _getval('faktur');
|
|
};
|
|
if (a.keterangan.toLowerCase().indexOf('posting:') != -1) {
|
|
return `
|
|
<button data-id="${i}" data-kode="${f}" class="btn btn-sm btn-clear edit" style="color:#666ee8;"><i class="icon-note"></i></button>
|
|
<button kode-print="${f}" class="kode-print btn btn-sm btn-clear" style="color:black;"><i class="la la-print"></i></button>
|
|
`;
|
|
}
|
|
return `
|
|
<button data-id="${i}" data-kode="${f}" class="btn btn-sm btn-clear edit" style="color:#666ee8;"><i class="icon-note"></i></button>
|
|
<button data-id="${i}" data-kode="${f}" class="btn btn-sm btn-clear hapus" style="color:red;">
|
|
<i class="icon-trash"></i>
|
|
</button>
|
|
<button kode-print="${f}" class="kode-print btn btn-sm btn-clear" style="color:black;"><i class="la la-print"></i></button>
|
|
`;
|
|
},
|
|
data: formData
|
|
};
|
|
globalThis.kodedk = 'D';
|
|
|
|
const configSimpanan = function () {
|
|
objectForm.title = function () {
|
|
return 'Simpanan ';
|
|
}
|
|
|
|
objectForm.data[0].data = JSON.parse(_id('jpinjam').innerHTML).cond('0', 'status');
|
|
|
|
if (typeof __forms != 'undefined') {
|
|
__forms()
|
|
}
|
|
}
|
|
|
|
const configPenarikan = function () {
|
|
objectForm.title = function () {
|
|
return 'Penarikan ';
|
|
}
|
|
objectForm.data[0].data = JSON.parse(_id('jpinjam').innerHTML).cond('0', 'status').filter(function (as) {
|
|
if (as.id != 'BW') {
|
|
return as;
|
|
}
|
|
});
|
|
if (typeof __forms != 'undefined') {
|
|
__forms()
|
|
}
|
|
}
|
|
|
|
window.statusSimpanan = 'D';
|
|
|
|
Array.from(document.querySelectorAll('.nav-tabs .nav-link')).forEach(function (tabs) {
|
|
tabs.addEventListener('click', function () {
|
|
var g = this.getAttribute('data-kode');
|
|
globalThis.kodedk = g;
|
|
statusSimpanan = g;
|
|
if (g === 'D') {
|
|
configSimpanan();
|
|
} else {
|
|
configPenarikan();
|
|
};
|
|
_load();
|
|
}, false);
|
|
});
|
|
|
|
(function cron() {
|
|
if (globalThis['kasir'] != undefined && globalThis['jam'] != undefined) {
|
|
globalThis['kasir'].parent.value = usernama;
|
|
globalThis['jam'].parent.value = _times();
|
|
}
|
|
setTimeout(() => {
|
|
cron();
|
|
}, 100);
|
|
})();
|
|
|
|
var printV = el('iframe').css('display', 'none').get();
|
|
document.body.appendChild(printV);
|
|
|
|
|
|
window._printStruck = function (v) {
|
|
var win1 = printV.contentWindow;
|
|
$.ajax({
|
|
url: '{{PATH}}/admin/posting/simpanan/struk/' + btoa(v),
|
|
success: function (res) {
|
|
if (_App.qzStatus() === true) {
|
|
|
|
var f = div().html(res).get();
|
|
|
|
window._r = f;
|
|
|
|
var config = qz.configs.create(_App.posprintget());
|
|
var data = [{
|
|
type: 'pixel',
|
|
format: 'html',
|
|
flavor: 'plain', // or 'plain' if the data is raw HTML
|
|
data: '<html>' +
|
|
'<body>' +
|
|
_r.querySelector('table').outerHTML +
|
|
'</body>' +
|
|
'</html>'
|
|
}];
|
|
qz.print(config, data).catch(function (e) { console.error(e); });
|
|
throw 'stop actrion';
|
|
};
|
|
win1.document.open();
|
|
win1.document.write(res);
|
|
win1.document.close();
|
|
win1.print();
|
|
}
|
|
});
|
|
};
|
|
|
|
globalThis._update = function () {
|
|
|
|
_setupKodesp('kodesp');
|
|
var f = globalThis.faktur.parent.value;
|
|
window._printStruck(f);
|
|
|
|
let updateData = {
|
|
rekdebit: _getval('cash')
|
|
};
|
|
|
|
let y = {
|
|
table: 'msimpan',
|
|
faktur: 'faktur',
|
|
tgl: 'tgl',
|
|
ket: 'keterangan',
|
|
username: 'username',
|
|
data: updateData
|
|
};
|
|
|
|
if (statusSimpanan === 'K') {
|
|
updateData = {
|
|
rekkredit: _getval('cash')
|
|
}
|
|
y = {
|
|
table: 'msimpan',
|
|
faktur: 'faktur',
|
|
tgl: 'tgl',
|
|
ket: 'keterangan',
|
|
username: 'username',
|
|
data: updateData,
|
|
reverse: true
|
|
};
|
|
}
|
|
|
|
_bbup(y);
|
|
|
|
};
|
|
globalThis._insert = function () {
|
|
_setupKodesp('kodesp')
|
|
var f = globalThis.faktur.parent.value;
|
|
window._printStruck(f);
|
|
|
|
let updateData = {
|
|
rekdebit: _getval('cash')
|
|
};
|
|
|
|
let y = {
|
|
table: 'msimpan',
|
|
faktur: 'faktur',
|
|
tgl: 'tgl',
|
|
ket: 'keterangan',
|
|
username: 'username',
|
|
data: updateData
|
|
};
|
|
|
|
if (statusSimpanan === 'K') {
|
|
updateData = {
|
|
rekkredit: _getval('cash')
|
|
}
|
|
y = {
|
|
table: 'msimpan',
|
|
faktur: 'faktur',
|
|
tgl: 'tgl',
|
|
ket: 'keterangan',
|
|
username: 'username',
|
|
data: updateData,
|
|
reverse: true
|
|
};
|
|
}
|
|
|
|
_bbup(y);
|
|
|
|
};
|
|
|
|
globalThis._delete = function (val) {
|
|
_bbdown(val);
|
|
};
|
|
|
|
document.body.addEventListener('click', function (event) {
|
|
var t = event.target;
|
|
if (
|
|
t.tagName == 'I'
|
|
&& t.parentNode.tagName == 'BUTTON'
|
|
&& t.parentNode.className.indexOf('kode-print') != -1
|
|
) {
|
|
print(t.parentNode.getAttribute('kode-print'));
|
|
};
|
|
|
|
if (
|
|
t.tagName == 'BUTTON'
|
|
&& t.className.indexOf('kode-print') != -1
|
|
) {
|
|
print(t.getAttribute('kode-print'));
|
|
};
|
|
}, false);
|
|
|
|
globalThis._validasi = function () {
|
|
var saldo = _getval('saldo').number();
|
|
if (saldo < 0) {
|
|
Swal('Info', 'Maaf nilai saldo tidak boleh minus', 'info');
|
|
throw 'stop action';
|
|
}
|
|
}
|