Refactor code structure for improved readability and maintainability
This commit is contained in:
BIN
assets/static/appico/piggy_bank.png
Normal file
BIN
assets/static/appico/piggy_bank.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
@@ -128,3 +128,12 @@ function LogOutTeleSec() {
|
|||||||
location.reload();
|
location.reload();
|
||||||
}
|
}
|
||||||
var TTS_RATE = parseFloat(urlParams.get('tts_rate')) || 0.75;
|
var TTS_RATE = parseFloat(urlParams.get('tts_rate')) || 0.75;
|
||||||
|
function TS_SayTTS(msg) {
|
||||||
|
try {
|
||||||
|
if (window.speechSynthesis) {
|
||||||
|
let utterance = new SpeechSynthesisUtterance(tts_msg);
|
||||||
|
utterance.rate = TTS_RATE;
|
||||||
|
speechSynthesis.speak(utterance);
|
||||||
|
}
|
||||||
|
} catch { console.warn('TTS error'); }
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ PERMS['cajas'] = 'Cajas';
|
|||||||
PERMS['cajas:edit'] = '> Editar';
|
PERMS['cajas:edit'] = '> Editar';
|
||||||
PAGES.cajas = {
|
PAGES.cajas = {
|
||||||
navcss: 'btn8',
|
navcss: 'btn8',
|
||||||
icon: 'static/appico/credit_cards.png',
|
icon: 'static/appico/piggy_bank.png',
|
||||||
AccessControl: true,
|
AccessControl: true,
|
||||||
Title: 'Cajas',
|
Title: 'Cajas',
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ PAGES.supercafe = {
|
|||||||
|
|
||||||
// When all rows are processed, show warning if needed
|
// When all rows are processed, show warning if needed
|
||||||
if (processed === total && deudasCount >= 3) {
|
if (processed === total && deudasCount >= 3) {
|
||||||
|
var tts_msg = `Atención: Esta persona tiene ${deudasCount} comandas en deuda. No se podrá guardar el pedido.`;
|
||||||
|
TS_SayTTS(tts_msg)
|
||||||
toastr.warning(`Esta persona tiene ${deudasCount} comandas en deuda. No se podrá guardar el pedido.`, '', {
|
toastr.warning(`Esta persona tiene ${deudasCount} comandas en deuda. No se podrá guardar el pedido.`, '', {
|
||||||
timeOut: 5000
|
timeOut: 5000
|
||||||
});
|
});
|
||||||
@@ -279,6 +281,10 @@ PAGES.supercafe = {
|
|||||||
<div id="cont2"></div>
|
<div id="cont2"></div>
|
||||||
</details>
|
</details>
|
||||||
`;
|
`;
|
||||||
|
document.getElementById(tts_check).checked = localStorage.getItem('TELESEC_TTS_ENABLED') === 'true';
|
||||||
|
document.getElementById(tts_check).onchange = function () {
|
||||||
|
localStorage.setItem('TELESEC_TTS_ENABLED', this.checked);
|
||||||
|
}
|
||||||
var config = [
|
var config = [
|
||||||
{
|
{
|
||||||
key: 'Persona',
|
key: 'Persona',
|
||||||
@@ -361,49 +367,35 @@ PAGES.supercafe = {
|
|||||||
}
|
}
|
||||||
if (old[key] != data.Estado) {
|
if (old[key] != data.Estado) {
|
||||||
if (tts && document.getElementById(tts_check).checked) {
|
if (tts && document.getElementById(tts_check).checked) {
|
||||||
// say "El pedido está de camino a ${Region}" when all comandas for that aula are set to "Entregado".
|
|
||||||
if (ttS_data[data.Region] == undefined) {
|
if (ttS_data[data.Region] == undefined) {
|
||||||
ttS_data[data.Region] = {};
|
ttS_data[data.Region] = {};
|
||||||
}
|
}
|
||||||
ttS_data[data.Region][data._key] = data.Estado;
|
ttS_data[data.Region][data._key] = data.Estado;
|
||||||
var allEntregado = true;
|
var allReady = true;
|
||||||
Object.values(ttS_data[data.Region]).forEach((estado) => {
|
Object.values(ttS_data[data.Region]).forEach((estado) => {
|
||||||
if (estado != 'Entregado') {
|
if (estado != 'Listo') {
|
||||||
allEntregado = false;
|
allReady = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (allEntregado) {
|
if (allReady) {
|
||||||
var msgRegion = `Hola, ${SC_Personas[data.Persona].Region}. - Estamos entregando vuestro pedido. ¡Que aproveche!`;
|
var msgRegion = `Hola, ${SC_Personas[data.Persona].Region}. - Vamos a entregar vuestro pedido. ¡Que aproveche!`;
|
||||||
let utteranceRegion = new SpeechSynthesisUtterance(msgRegion);
|
TS_SayTTS(msgRegion)
|
||||||
utteranceRegion.rate = TTS_RATE;
|
|
||||||
speechSynthesis.speak(utteranceRegion);
|
|
||||||
} if (data.Estado == 'Entregado') {
|
} if (data.Estado == 'Entregado') {
|
||||||
var msgEntregado = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha sido entregado.`;
|
var msgEntregado = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha sido entregado.`;
|
||||||
let utteranceEntregado = new SpeechSynthesisUtterance(msgEntregado);
|
TS_SayTTS(msgEntregado)
|
||||||
utteranceEntregado.rate = TTS_RATE;
|
|
||||||
speechSynthesis.speak(utteranceEntregado);
|
|
||||||
} else if (data.Estado == 'En preparación') {
|
} else if (data.Estado == 'En preparación') {
|
||||||
var msgPreparacion = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está en preparación.`;
|
var msgPreparacion = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está en preparación.`;
|
||||||
let utterancePreparacion = new SpeechSynthesisUtterance(msgPreparacion);
|
TS_SayTTS(msgPreparacion)
|
||||||
utterancePreparacion.rate = TTS_RATE;
|
|
||||||
speechSynthesis.speak(utterancePreparacion);
|
|
||||||
} else if (data.Estado == 'Listo') {
|
} else if (data.Estado == 'Listo') {
|
||||||
var msgListo = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está listo para ser entregado.`;
|
var msgListo = `El pedido de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} está listo para ser entregado.`;
|
||||||
let utteranceListo = new SpeechSynthesisUtterance(msgListo);
|
TS_SayTTS(msgListo)
|
||||||
utteranceListo.rate = TTS_RATE;
|
|
||||||
speechSynthesis.speak(utteranceListo);
|
|
||||||
} else if (data.Estado == 'Pedido') {
|
} else if (data.Estado == 'Pedido') {
|
||||||
var msgPedido = `Se ha realizado un nuevo pedido para ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region}.`;
|
var msgPedido = `Se ha realizado un nuevo pedido para ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region}.`;
|
||||||
let utterancePedido = new SpeechSynthesisUtterance(msgPedido);
|
TS_SayTTS(msgPedido)
|
||||||
utterancePedido.rate = TTS_RATE;
|
|
||||||
speechSynthesis.speak(utterancePedido);
|
|
||||||
} else {
|
} else {
|
||||||
var msg = `Comanda de ${SC_Personas[data.Persona].Region}. - ${JSON.parse(data.Comanda)['Selección']
|
var msg = `Comanda de ${SC_Personas[data.Persona].Region}. - ${JSON.parse(data.Comanda)['Selección']
|
||||||
}. - ${SC_Personas[data.Persona].Nombre}. - ${data.Estado}`;
|
}. - ${SC_Personas[data.Persona].Nombre}. - ${data.Estado}`;
|
||||||
let utterance = new SpeechSynthesisUtterance(msg);
|
TS_SayTTS(msg)
|
||||||
utterance.rate = TTS_RATE;
|
|
||||||
// utterance.voice = speechSynthesis.getVoices()[7]
|
|
||||||
speechSynthesis.speak(utterance);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -449,10 +441,7 @@ PAGES.supercafe = {
|
|||||||
if (old[key] != data.Estado) {
|
if (old[key] != data.Estado) {
|
||||||
if (tts && document.getElementById(tts_check).checked) {
|
if (tts && document.getElementById(tts_check).checked) {
|
||||||
var msg = `La comanda de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha pasado a deuda.`;
|
var msg = `La comanda de ${SC_Personas[data.Persona].Nombre} en ${SC_Personas[data.Persona].Region} ha pasado a deuda.`;
|
||||||
let utterance = new SpeechSynthesisUtterance(msg);
|
TS_SayTTS(msg)
|
||||||
utterance.rate = TTS_RATE;
|
|
||||||
// utterance.voice = speechSynthesis.getVoices()[7]
|
|
||||||
speechSynthesis.speak(utterance);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
old[key] = data.Estado;
|
old[key] = data.Estado;
|
||||||
|
|||||||
Reference in New Issue
Block a user