Files
xport-tailwind-alpine/v1/js/assay_format.js
2025-03-19 08:13:48 +07:00

223 lines
6.8 KiB
JavaScript

document.addEventListener('alpine:init', () => {
Alpine.data('assayFormat', () => ({
// 0. Init dijalankan sebelum inisialisasi
init(){
},
// 1. Inisialisasi Start
dataSetting: [
{
idSetting: 1,
idJenis: 1,
namaJenis: 'TCP Server',
info: 'Port 5001',
port: '5001',
idInterface: 1,
namaInterface: 'XN550',
idInstrument: 1,
namaInstrument: 'Hema 01',
server: '',
idSerial: -1,
namaSerial: '',
speed: '',
idParity: -1,
namaParity: '',
idDataBit: -1,
namaDataBit: '',
idStopBit: -1,
namaStopBit: ''
},
{
idSetting: 2,
idJenis: 2,
namaJenis: 'TCP Client',
info: 'Server 192.168.0.1, Port 4000',
port: '4000',
idInterface: 2,
namaInterface: 'Axsym',
idInstrument: 2,
namaInstrument: 'Axsym',
server: '192.168.0.1',
idSerial: 1,
namaSerial: 'ttyS0',
speed: '',
idParity: -1,
namaParity: '',
idDataBit: -1,
namaDataBit: '',
idStopBit: -1,
namaStopBit: ''
},
{
idSetting: 3,
idJenis: 3,
namaJenis: 'RS232',
info: 'ttyS01, 9600, N, 8, 1',
port: '',
idInterface: 3,
namaInterface: 'C311',
idInstrument: 3,
namaInstrument: 'Cobas C311',
server: '',
idSerial: 1,
namaSerial: 'ttyS0',
speed: '19200',
idParity: 1,
namaParity: 'None',
idDataBit: 2,
namaDataBit: '6',
idStopBit: 2,
namaStopBit: '1'
},
],
showDialogAdd: false,
showDialogEdit: false,
loadingVerifikasi: false,
isVerifikasiDone: false,
decimalFontEdit: '',
assayCodeEdit: '',
decimalFont: '',
assayCode: '',
formulaEdit: '',
formulaAdd: '',
dataAssayFormat: [
{
idAssayFormat: 1,
idInstrument: 1,
namaInstrument: 'Hema 01',
assayCode: 'WBC',
decimalFont: '5001',
formula: ''
},
{
idAssayFormat: 2,
idInstrument: 2,
namaInstrument: 'Axsym',
assayCode: 'IgG',
decimalFont: '2001',
formula: ''
},
{
idAssayFormat: 3,
idInstrument: 3,
namaInstrument: 'Cobas C311',
assayCode: 'DBIL',
decimalFont: '4001',
formula: '(TBIL) - (DBIL)'
},
],
selectedInstrument: {
idInstrument: -1,
namaInstrument: 'Instrument'
},
selectedInstrumentAdd: {
idInstrument: -1,
namaInstrument: 'Instrument'
},
openInstrument: false,
openInstrumentSearchMobile: false,
openInstrumentSearch: false,
dataInstrument: [
{
idInstrument: 1,
namaInstrument: 'Hema 01',
},
{
idInstrument: 2,
namaInstrument: 'Axsym',
},
{
idInstrument: 3,
namaInstrument: 'Cobas C311',
},
],
hasilVerifikasi: '',
isErrorVerifikasi: false,
objForm: {
isValidForm: false,
idInstrument: -1,
namaInstrument: 'Instrument',
decimalFont: '',
assayCode: '',
formula: '',
},
// 1. Inisialisasi End
// 2. Fungsi Start
closeDialog(){
this.openInstrument = false;
this.selectedInstrument = {
idInstrument: -1,
namaInstrument: 'Instrument'
};
this.loadingVerifikasi = false;
this.isErrorVerifikasi = false;
this.hasilVerifikasi = ''
this.formulaAdd = ''
this.showDialogAdd = false
},
onChangeInstrument(item){
this.openInstrument = false;
this.selectedInstrumentAdd = item;
this.validateForm();
},
onChangeAssayCodeAdd() {
this.objForm.assayCode = this.assayCode;
this.validateForm();
},
onChangeDecimalFontAdd(){
this.objForm.decimalFont = this.decimalFont;
this.validateForm();
},
onChangeFormulaAdd(){
this.objForm.formula = this.formulaAdd;
this.validateForm();
},
onChangeInstrumentMobile(item){
this.openInstrumentSearchMobile = false;
// this.selectedInstrument = item;
this.selectedInstrument = { ...item };
},
onProcessVerifikasi(){
if(this.isVerifikasiDone == true) {
return;
}
this.loadingVerifikasi = true;
setTimeout(() => {
this.loadingVerifikasi = false;
this.isErrorVerifikasi = false;
this.isVerifikasiDone = true;
this.hasilVerifikasi = 'Formula is valid';
}, 2000);
},
openModalEdit(item) {
this.selectedInstrument = {
idInstrument: item.idInstrument,
namaInstrument: item.namaInstrument
}
this.assayCode = item.assayCode
this.decimalFont = item.decimalFont
this.formulaEdit = item.formula
this.showDialogEdit = !this.showDialogEdit;
},
closeDialogEdit(){
this.showDialogEdit = !this.showDialogEdit;
},
validateForm() {
this.objForm.isValidForm = (
this.selectedInstrumentAdd.idInstrument != -1 &&
this.decimalFont.trim() !== '' &&
this.assayCode.trim() !== '' &&
this.formulaAdd.trim() !== ''
);
},
editMobilePage(item) {
var json = JSON.stringify(item);
localStorage.setItem('itemEditMobile', json)
window.location.href = "assay_format_mobile_edit.html";
},
// 2. Fungsi End
}))
})