Initial Commit after switching from SVN to git
This commit is contained in:
@@ -0,0 +1,319 @@
|
||||
let gi = (n, c) => $$.sc(`glyphicon glyphicon-${n}`).aC(c);
|
||||
let $bam = {
|
||||
init2: function (type, options) {
|
||||
type = type || 'bam';
|
||||
options = options || {};
|
||||
$ocms.getScript([
|
||||
//{ script: 'web/jstree.min.js', css: 'web/jstree.min.css', condition: typeof $.fn.jstree !== 'function' }
|
||||
//, { script: 'web/jquery.qtip.min.js', css: 'web/jquery.qtip.min.css', condition: typeof $.fn.qtip !== 'function' }
|
||||
//, { script: 'web/typeahead.min.js', css: '', condition: typeof $.fn.typeahead !== 'function' }
|
||||
//, { script: 'web/fullcalendar.min.js', module: 'FullCalendar', css: 'web/fullcalendar.min.css', condition: typeof FullCalendar !== 'object' }
|
||||
], function () {
|
||||
//FullCalendar = $vm.FullCalendar;
|
||||
$bam.init3(type, options);
|
||||
});
|
||||
}, init3: async function (type, options) {
|
||||
$fis.cf(true);
|
||||
let lf = $fis.lf(true);
|
||||
$bam.eM();
|
||||
$('#activemodule').text($bct.mdl);
|
||||
await $fis.prepAuth('fds_bam,fds_inv,fds_reminder');
|
||||
let pa = [(async () => {
|
||||
if ($fis.isAuth('fds_bam', 1) === true) {
|
||||
$bam.prepLst('');
|
||||
lf.aC('fix'); //initially should be shown - for convenience
|
||||
}
|
||||
})(), (async () => {
|
||||
if ($fis.isAuth('fds_bam', 1) === true) {
|
||||
$bam.renderLst(false);
|
||||
//lf.aC('fix'); //initially should be shown - for convenience
|
||||
}
|
||||
})(), new Promise((resolve, reject) => {
|
||||
//$bam.123()
|
||||
})];
|
||||
await Promise.all(pa);
|
||||
}, iMn: (ix) => {
|
||||
let fds = bool(ix.fds, false), id = ix.taID, m = [];
|
||||
m.push({ lbl: $bct.smd, fnc: () => { $bam.smd(id); } });
|
||||
m.push({ lbl: $bct.ati, fnc: () => { $bam.ati(id); } });
|
||||
return $('#topbar').ocmsmenu(m);
|
||||
}, eM : (r, re, opt) => {
|
||||
let m = [];
|
||||
if ($fis.isAuth('fds_bam', 2) === true) {
|
||||
m.push({ lbl: $bct.upl, fnc: $bam.ubs});
|
||||
}
|
||||
if (bool(r, false) === true) {
|
||||
m.push({ lbl: $bct.rel, fnc: $bam.renderLst });
|
||||
}
|
||||
return $('#topbar').ocmsmenu(m); /* empty Array => empty menu */
|
||||
}, prepLst: function (includes) {
|
||||
let td = new Date();
|
||||
let lf = $fis.lf(true).ldng(1), sd = new Date('2021-01-01');
|
||||
let frm = $fis.frm_list();
|
||||
frm.IN(function () { });
|
||||
let osb = $$.i({ placeholder: $bct.in }).appendTo($$.dc('mth ivn', lf)).enterKey(function (ev) {
|
||||
let mth = $(this), v = mth.val() || '';
|
||||
ev.stopPropagation();
|
||||
mth.parent().siblings().rC('selected');
|
||||
if (v.length > 3) {
|
||||
mth.parent().aC('selected');
|
||||
$bam.renderbt('i:' + v, 's');
|
||||
mth.val('');
|
||||
}
|
||||
});
|
||||
let osb2 = $$.i({ placeholder: $bct.bt }).appendTo($$.dc('mth ivn', lf)).enterKey(function (ev) {
|
||||
let mth = $(this), v = mth.val() || '';
|
||||
ev.stopPropagation();
|
||||
mth.parent().siblings().rC('selected');
|
||||
if (v.length > 3) {
|
||||
mth.parent().aC('selected');
|
||||
$bam.renderbt('b:' + v, 's');
|
||||
mth.val('');
|
||||
}
|
||||
});
|
||||
let osb3 = $$.i({ placeholder: $bct.bv }).appendTo($$.dc('mth ivn', lf)).enterKey(function (ev) {
|
||||
let mth = $(this), v = mth.val() || '';
|
||||
ev.stopPropagation();
|
||||
mth.parent().siblings().rC('selected');
|
||||
if (v.length > 3) {
|
||||
mth.parent().aC('selected');
|
||||
$bam.renderbt(`v:${v}`, 's');
|
||||
mth.val('');
|
||||
}
|
||||
});
|
||||
let opn = $$.dc('mth oreq', lf).text($bct.dqb).click(function (ev) {
|
||||
let mth = $(this);
|
||||
ev.stopPropagation();
|
||||
mth.siblings().rC('selected');
|
||||
if (mth.is('.selected') === true) {
|
||||
mth.tC('selected');
|
||||
$bam.renderLst(false);
|
||||
}
|
||||
mth.aC('selected');
|
||||
});
|
||||
lf.append('<hr />');
|
||||
let mthl = $$.dc('mthl', lf), thisyear = td.getFullYear(), thismonth = td.getMonth() + 1;
|
||||
for (let tyr = sd.getFullYear(); tyr <= thisyear; tyr++) {
|
||||
let yr = $$.dc('yr').prependTo(mthl).text(`${$bct.iov[includes]} - ${tyr.toString()}`).toggleClass('selected', tyr === thisyear);
|
||||
yr.click({
|
||||
yr: tyr
|
||||
}, function (ev) {
|
||||
ev.stopPropagation();
|
||||
yr.siblings().rC('selected');
|
||||
yr.aC('selected');
|
||||
});
|
||||
let mfrm = $$.dc('mfrm', yr);
|
||||
for (let tmt = 0; tmt < (tyr !== thisyear ? 12 : thismonth); tmt++) {
|
||||
sd = new Date(tyr, tmt, 1);
|
||||
let mth = $$.dc('mth').prependTo(mfrm).text(`${$bct.iov[includes]} - ${fdt(sd, 'MMM yyyy')}`);
|
||||
mth.click({
|
||||
yr: tyr, mt: tmt
|
||||
}, function (ev) {
|
||||
ev.stopPropagation();
|
||||
mth.siblings().rC('selected');
|
||||
if (mth.is('.selected') === true) {
|
||||
mth.tC('selected');
|
||||
|
||||
let tgt = fdt(new Date(ev.data.yr, ev.data.mt, 1), 'yy-MM-dd');
|
||||
$bam.renderbt(tgt, 'm');
|
||||
}
|
||||
mth.aC('selected');
|
||||
});
|
||||
|
||||
let fwf = getMonday(sd), rd = fwf, lwf = new Date(sd);
|
||||
lwf.setMonth(lwf.getMonth() + 1);
|
||||
lwf.setDate(0);
|
||||
lwf = getMonday(lwf);
|
||||
let wfrm = $$.dc('wfrm', mth);
|
||||
while (rd <= lwf) {
|
||||
let wk = $$.dc('wk', wfrm).text(`${($bct.wk || "W")} ${fdt(rd, "dd.MM.yy")}`);
|
||||
wk.click({
|
||||
rd: new Date(rd)
|
||||
}, function (ev) {
|
||||
ev.stopPropagation();
|
||||
let tgt = fdt(ev.data.rd, 'yy-MM-dd');
|
||||
$bam.renderbt(tgt, 'w');
|
||||
mth.siblings().rC('selected').find('.wk').rC('selected');
|
||||
mth.aC('selected').find('.wk').rC('selected');
|
||||
wk.aC('selected');
|
||||
});
|
||||
rd.setDate(rd.getDate() + 7);
|
||||
}
|
||||
}
|
||||
}
|
||||
lf.ldng(0);
|
||||
}, renderbt: function (tgt, mode) {
|
||||
let invlst = $fis.frm_list().ldng(1), invfrm = $$.dc('invfrm', invlst).aC('md' + mode);
|
||||
let lf = $fis.lf();
|
||||
$ocms.postXT({
|
||||
url: $ocms.url('bam/btl'), data: { mode: mode, tgt: tgt }, success: (response) => {
|
||||
lf.rC('fix').aC('hd');
|
||||
$$.dc('ovhd', invfrm).append($$.s(response.admin.title)).appendIf($$.sc('note', response.admin.note), ne(response.admin.note, '') !== '');
|
||||
let ts = $$.tblset({}, invfrm), fd = $bcol.qtl;
|
||||
let thr = $$.tr(ts.hd), haux = $$.th(thr);
|
||||
$.each(fd.fields || [], (ci, cx) => {
|
||||
$$.th(thr).text(cx.label);
|
||||
if (cx.name === 'vat') {
|
||||
$$.th(thr);
|
||||
}
|
||||
});
|
||||
let ctr = 0, cst = false;
|
||||
$.each(response.bank || [], (ri, rw) => {
|
||||
if (ctr > 0) { cst = !cst; }
|
||||
let tr = $$.tr(ts.bdy).tC('alt', cst);
|
||||
tr.click(function () {
|
||||
lf.rC('fix').aC('hd');
|
||||
tr.tC('selected').siblings().rC('selected').find('td.av').rC('av');
|
||||
tr.find('td.av').rC('av');
|
||||
});
|
||||
let raux = $$.td(tr, { class: 'raux' });
|
||||
$.each(fd.fields || [], (ci, cx) => {
|
||||
let td = $$.td(tr).aC(cx.dtype), val = rw[cx.name];
|
||||
if (typeof cx.dfnc === 'function') {
|
||||
cx.dfnc.call(td, val, rw);
|
||||
} else {
|
||||
switch (cx.type || '') {
|
||||
case 'date':
|
||||
td.text(fdt(rw[cx.name], 'dd.MM.yy'));
|
||||
break;
|
||||
case 'datetime':
|
||||
td.text(fdt(rw[cx.name]));
|
||||
break;
|
||||
case 'html':
|
||||
td.append($$.dc('ctw').html(val));
|
||||
td.append($$.dc('ttip').html(val));
|
||||
break;
|
||||
default:
|
||||
td.text(rw[cx.name]);
|
||||
}
|
||||
}
|
||||
switch (typeof cx.title) {
|
||||
case 'function':
|
||||
cx.title.call(td, rw);
|
||||
break;
|
||||
case 'string':
|
||||
td.attr('title', cs.title);
|
||||
}
|
||||
});
|
||||
});
|
||||
}, complete: () => { invlst.ldng(0); }
|
||||
});
|
||||
}, renderLst: function () {
|
||||
let mode = 'l'; //dummy for now
|
||||
let bslst = $fis.frm_list(true, true).ldng(1), bamfrm = $$.dc('bamfrm', bslst).aC('md' + mode);
|
||||
let lf = $fis.lf();
|
||||
$bam.eM(true);
|
||||
$ocms.postXT({
|
||||
url: $ocms.url('bam/qtl'), data: { mode: mode }, success: (response) => {
|
||||
lf.rC('fix').aC('hd');
|
||||
$$.dc('ovhd', bamfrm).append($$.s(response.admin.title)).appendIf($$.sc('note', response.admin.note), ne(response.admin.note, '') !== '');
|
||||
let ts = $$.tblset({}, bamfrm), fd = $bcol.qtl;
|
||||
let thr = $$.tr(ts.hd);
|
||||
let haux = $$.th(thr);
|
||||
$.each(fd.fields || [], (ci, cx) => {
|
||||
$$.th(thr).text(cx.label);
|
||||
});
|
||||
$.each(response.bs || [], (ri, rw) => {
|
||||
let tr = $$.tr(ts.bdy, { id: `bt${rw.taID}` });
|
||||
tr.click(function () {
|
||||
lf.rC('fix').aC('hd');
|
||||
tr.toggleClass('selected').siblings().rC('selected').find('td.av').rC('av');
|
||||
tr.find('td.av').rC('av');
|
||||
if (tr.is('.selected') === true) {
|
||||
$bam.iMn(rw);
|
||||
} else {
|
||||
$bam.eM(true);
|
||||
}
|
||||
});
|
||||
let raux = $$.td(tr, { class: 'raux' });
|
||||
$.each(fd.fields || [], (ci, cx) => {
|
||||
let td = $$.td(tr).aC(cx.dtype), sel, o;
|
||||
if ((cx.type || '') === 'select') {
|
||||
td.text((cx.url || {})[rw[cx.name]] || '');
|
||||
} else {
|
||||
td.text(rw[cx.name])
|
||||
}
|
||||
});
|
||||
});
|
||||
}, complete: () => { bslst.ldng(0); }
|
||||
});
|
||||
}, ubs : function () {
|
||||
$ocms.dlgform($bcol.bsu, {
|
||||
title: $bcol.bsu.label_sng || '',
|
||||
submit: function (e) {
|
||||
var c = $(this).ldng(1);
|
||||
var qs = new FormData();
|
||||
let fi = c.find(':input[name="bsu"]');
|
||||
if (fi.length > 0 && fi[0].files.length > 0) {
|
||||
$.each(fi[0].files, function (f, fl) {
|
||||
qs.append('bsu', fl);
|
||||
});
|
||||
|
||||
$ocms.postXT({
|
||||
url: $ocms.url('bam/up'), data: qs, success: function (response) {
|
||||
c.trigger('modal_close');
|
||||
}, error: function () {
|
||||
alert($t.l17);
|
||||
}, complete: function () {
|
||||
c.ldng(0);
|
||||
$bam.renderLst();
|
||||
}, timeout: 0
|
||||
});
|
||||
} else {
|
||||
options.success.call(this, qs);
|
||||
c.trigger('modal_close');
|
||||
}
|
||||
}, typedvalues: true
|
||||
});
|
||||
|
||||
}, smd: (taid) => {
|
||||
if (confirm($bct.smdc)) {
|
||||
$ocms.postXT({
|
||||
url: $ocms.url('bam/smd'), data: { taid: taid }, success: (response) => {
|
||||
$(`#bt${taid}`).aC('mdone');
|
||||
}
|
||||
});
|
||||
}
|
||||
}, ati: (taid) => {
|
||||
let f = $$.dc('form'), fb = $$.dc('form-body',f), fg = $$.dc('form-group', fb), kl = $$.lbl($bct.ino, { for: 'rno' }).appendTo(fg), i = $$.i({ id: 'rno', placeholder: 'Rechnungs-Nummer' }).appendTo(fg);
|
||||
let r = $$.dc('rfrm bam', fb);
|
||||
i.change(function (ev) {
|
||||
$ocms.postXT({
|
||||
url: $ocms.url('bam/vfi'), data: { invid: i.val() }, success: (response) => {
|
||||
r.empty();
|
||||
if (response.length > 0) {
|
||||
$$.dc('nfo', r, $bct.fi);
|
||||
$.each(response, function (ri, rx) {
|
||||
let v = $$.dc('rinv', r, rx.InvoiceId).data('inv', rx).click(function (ex) { $(this).addClass('selected').siblings('.rinv').removeClass('selected'); });
|
||||
$$.dc('invsta', v).rwText(rx.SendToAddress);
|
||||
});
|
||||
} else {
|
||||
r.text($bct.ni);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
$ocms.dlg(f, {
|
||||
title: $bct.ati, size: [500, 700], confirm: function (e) {
|
||||
let c = $(this), inv = c.find('.rinv.selected:first');
|
||||
if (inv.length === 1) {
|
||||
let rx = inv.data('inv') || {};
|
||||
if (confirm(string($bct.atic, [rx.InvoiceId]))) {
|
||||
$ocms.postXT({
|
||||
url: $ocms.url('bam/ati'), data: { taid: taid, iid: rx.Id }, success: (response) => {
|
||||
$(`#bt${taid}`).aC('mdone');
|
||||
c.trigger('modal_close');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
let $$bam = { init2: $bam.init2, auth: {} };
|
||||
export default $$bam;
|
||||
Reference in New Issue
Block a user