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.

111 lines
4.4 KiB
JavaScript

if (typeof objectForm != 'undefined') {
globalThis._radioAct = (function (obj) {
return {
data: obj,
setVal: function (a, b = 'SP', c = 0) {
var d = this.data;
var rdo = _id(d.idform).querySelector('input[name="' + a + '"]').parentNode.querySelectorAll('input[type=radio]');
rdo = Array.from(rdo).filter(function (j) {
if (j.value == b) {
return j
} else {
j.checked = false;
}
});
if (rdo.length > 0) {
rdo[0].checked = false;
setTimeout(() => {
if (c == 0) {
rdo[0].click();
} else {
rdo[0].checked = true;
_id(d.idform).querySelector('input[name="' + a + '"]').value = b;
}
}, 100);
}
return this;
},
clear: function (a) {
var d = this.data;
var rdo = _id(d.idform).querySelector('input[name="' + a + '"]').parentNode.querySelectorAll('input[type=radio]');
rdo = Array.from(rdo).forEach(function (j) {
j.checked = false;
});
return this;
}
, disable: function (a) {
var d = this.data;
var rdo = _id(d.idform).querySelector('input[name="' + a + '"]').parentNode.querySelectorAll('input[type=radio]');
rdo = Array.from(rdo).forEach(function (j) {
j.disabled = true;
});
return this;
}
, open: function (a) {
var d = this.data;
var rdo = _id(d.idform).querySelector('input[name="' + a + '"]').parentNode.querySelectorAll('input[type=radio]');
rdo = Array.from(rdo).forEach(function (j) {
j.disabled = false;
});
return this;
}
}
})(objectForm);
globalThis._news = (function (obj) {
return {
data: obj,
code: function (a = {}, callback = null) {
var d = this.data;
var code = a.code;
var code1 = tanggal().normal.split('-')[0].substring(2, 4);
var table = a.table;
var row = a.row;
var ld = cssLoader();
console.log(`
SELECT concat('${code}/${a.data}/${code1}/',lpad( ifnull(
(SELECT substring_index(MAX(RIGHT(${row},5)), '${code1}/',-1) FROM ${table} WHERE ${row} LIKE '${code}/${a.data}/${code1}/%' ORDER BY ${row} DESC LIMIT 1)
,0
) + 1,${a.pad ? a.pad : '6'},0)) ${row}
`);
AuditDevQuery(`
SELECT concat('${code}/${a.data}/${code1}/',lpad( ifnull(
(SELECT substring_index(MAX(RIGHT(${row},5)), '${code1}/',-1) FROM ${table} WHERE ${row} LIKE '${code}/${a.data}/${code1}/%' ORDER BY ${row} DESC LIMIT 1)
,0
) + 1,${a.pad?a.pad:'6'},0)) ${row}
`, function (res) {
if (callback === null) {
_id(d.idform).querySelector('input[name="' + a.row + '"]').value = res[0][row];
ld.remove();
} else {
ld.remove();
callback(res[0][row]);
}
})
return this;
},
codex: function (a = {}) {
var d = this.data;
var code = a.code;
var code1 = tanggal().normal.split('-')[0].substring(2, 4);
var code2 = tanggal().normal.split('-')[0];
var table = a.table;
var row = a.row;
var ld = cssLoader();
AuditDevQuery(`
SELECT concat('${code}/${a.data}/${code1}/',lpad( ifnull(
(SELECT substring_index(${row}, '${code1}/',-1) FROM ${table} WHERE ${row} LIKE '${code}/${a.data}/${code1}/%' ORDER BY ${row} DESC LIMIT 1)
,0
) + 1,6,0)) ${row}
`, function (res) {
_id(d.idform).querySelector('input[name="' + a.row + '"]').value = res[0][row];
_id(d.idform).querySelector('input[name="' + a.row2 + '"]').value = ('P' + code2) + res[0][row].split('/')[res[0][row].split('/').length - 1];
ld.remove();
})
return this;
},
}
})(objectForm);
}