Files
FE_CPONE/libs/one_global_clinic.js
2026-04-27 10:08:27 +07:00

123 lines
3.2 KiB
JavaScript

window.one_money = one_money
window.one_token = one_token
window.one_float = one_float
window.do_print_ticket = do_print_ticket
window.BASE_URL = ""
window.BASE_URL_QUEUE = window.BASE_URL + ":9090/ticket/";
window.WS_SERVICE = "ws://localhost:6025";
window.PRINTER = "POS";
// isLoggedIn()
function one_money(inp) {
return numeral(inp).format('0,000.00')
}
function one_token() {
//sipe add null token redirect ke logout
var tkn = localStorage.getItem('token')
if (tkn == null ) one_logout("/one-ui/")
return localStorage.getItem('token')
}
function one_logout(urllogout){
window.localStorage.removeItem("token")
window.localStorage.removeItem("user")
window.location = urllogout
}
window.one_logout = one_logout
function one_float(inp) {
try {
let val = parseFloat(inp)
if (isNaN(val)) return 0.0
return val
} catch(e) {
return 0.0
}
}
function isLoggedIn() {
let s = localStorage.getItem("one_clinic_user")
console.log(s)
if (s == null) {
window.location = "/one-ui/test/vuex/one-fo-clinic-login"
return false
}
s = JSON.parse(s)
if (window.location.href.match(/one-fo-clinic-login/))
window.location = s.user.M_UserGroupDashboard
}
// Printing
window.zpl_socket = new WebSocket(WS_SERVICE);
window.zpl_socket.onmessage = function(msg) {
console.log('message',msg);
};
window.zpl_socket.onopen= function(msg) {
console.log('open',msg);
};
window.zpl_socket.onerror= function(msg) {
console.log('error',msg);
};
window.printer_ready = false;
function svc_name(svc) {
switch(svc) {
case "UMUM":
return "Pasien Umum";
case "COM" :
return "Pasien Rekanan";
case "KLINIK" :
return "Pasien Klinik";
case "ONLINE" :
return "Pasien Online";
case "RES" :
return "Pengambilan Hasil";
case "APPDR" :
return "Mobile Dokter";
case "MEMBER" :
return "Pasien Member";
default :
return "OTHER";
}
}
function do_print_ticket(inp,fn_cb) {
var set_center =String.fromCharCode(0x1b,0x61,0x01) ;
var set_font_size_big = String.fromCharCode(0x1b,0x21,0x10);
var set_font_size = "";
var set_font_size_large = String.fromCharCode(0x1d,0x21,0x21);
var set_cutter =String.fromCharCode(0x1d, 0x56, 0x41, 0x03);
var reset_mode = String.fromCharCode(0x1b,0x40);
var nomor_sebelumnya = inp.prev_number;
var sisa_antrian = inp.remaining_queue;
var hari = inp.queue_day;
var fmt_data = reset_mode +
set_font_size_big +
set_center + "PRAMITA LAB - Cik Di Tiro\n" +
set_center + "\n" +
set_center + svc_name(inp.serviceCode) + "\n" +
"\n" + set_font_size_large +
set_center + inp.number + "\n" +
"\n" + reset_mode +
set_center + "Nomor sebelumnya " + nomor_sebelumnya + "\n" +
set_center + "Sisa Antrian " + sisa_antrian + "\n" +
set_center + hari + " " + inp.queue_date + " " + inp.queue_time + "\n" +
set_center + "Terima Kasih\n\n\n" ;
fmt_data = fmt_data + set_cutter;
var data_print = {
printer : PRINTER,
type : "zpl",
data : fmt_data
};
window.zpl_socket.send(JSON.stringify(data_print));
fn_cb();
}