|
|
|
@ -6,8 +6,7 @@ const colorStatus = {
|
|
|
|
|
CHAMANDO: "orange-400", |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function getFilaId() |
|
|
|
|
{ |
|
|
|
|
function getFilaId() { |
|
|
|
|
const url = window.location.href; |
|
|
|
|
const splitUrl = url.split('/'); |
|
|
|
|
const id = splitUrl[splitUrl.length - 1]; |
|
|
|
@ -15,12 +14,12 @@ function getFilaId()
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function getDadosRelatorioDB(fila_id) { |
|
|
|
|
return new Promise(function(resolve, reject){ |
|
|
|
|
return new Promise(function (resolve, reject) { |
|
|
|
|
$.ajax({ |
|
|
|
|
type: "get", |
|
|
|
|
dataType: 'json', |
|
|
|
|
url: `/dashboard/agentes/${fila_id}/fila`, |
|
|
|
|
success: function(response) { |
|
|
|
|
success: function (response) { |
|
|
|
|
const data = response.data; |
|
|
|
|
resolve(data); |
|
|
|
|
} |
|
|
|
@ -28,28 +27,22 @@ function getDadosRelatorioDB(fila_id) {
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
async function montarRelatorios()
|
|
|
|
|
{
|
|
|
|
|
async function montarRelatorios() { |
|
|
|
|
const id = getFilaId(); |
|
|
|
|
const data = await getDadosRelatorioDB(id); |
|
|
|
|
let elementsTable = ""; |
|
|
|
|
|
|
|
|
|
data.forEach(supervisor => { |
|
|
|
|
|
|
|
|
|
data.forEach(supervisor => { |
|
|
|
|
const tempoFormatado = supervisor.login.split(".")[0]; |
|
|
|
|
|
|
|
|
|
const btnPlay = ` |
|
|
|
|
<form method="POST" action="/dashboard/agentes/{{$fila->id}}/retirarPausa" title="Retirar Pausa?" class="bg-blue-600 text-white rounded flex-1 text-xl text-center py-2 px-3 cursor-pointer" > |
|
|
|
|
@csrf |
|
|
|
|
<input type="hidden" name="supervisor_id" value="${supervisor.id}"> |
|
|
|
|
<button > |
|
|
|
|
<i class="fas fa-play-circle"></i> |
|
|
|
|
</button> |
|
|
|
|
</form> |
|
|
|
|
const btnPlay = ` |
|
|
|
|
<button class="bg-blue-600 text-white rounded flex-1 text-xl text-center py-2 px-3 cursor-pointer" onclick="retirarPausa(${supervisor.matricula}, '${supervisor.token}')"> |
|
|
|
|
<i class="fas fa-play-circle"></i> |
|
|
|
|
</button> |
|
|
|
|
` |
|
|
|
|
const btnPausa = `<a class="bg-blue-600 text-white rounded flex-1 text-xl text-center py-2 px-3 cursor-pointer" title="Colocar em Pausa?" onclick="selecionaAgente(${supervisor.id})"><i class="fas fa-pause"></i></a>`; |
|
|
|
|
|
|
|
|
|
const agenteIsPausa = supervisor.status === "PAUSA" ? btnPlay : btnPausa; |
|
|
|
|
const agenteIsPausa = supervisor.status === "PAUSA" ? btnPlay : btnPausa; |
|
|
|
|
|
|
|
|
|
elementsTable += ` |
|
|
|
|
<tr class="bg-gray-50 dark:bg-gray-800 dark:text-gray-100 text-center"> |
|
|
|
@ -66,25 +59,78 @@ async function montarRelatorios()
|
|
|
|
|
|
|
|
|
|
<td class="p-3 text-sm font-bold flex items-center gap-2 flex-wrap"> |
|
|
|
|
${agenteIsPausa} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<button class="bg-red-600 text-white flex-1 rounded text-xl text-center py-2 px-3" onclick="desconectarAgente(${supervisor.matricula}, '${supervisor.token}')"> |
|
|
|
|
<i class="fas fa-power-off"></i> |
|
|
|
|
</button> |
|
|
|
|
</td> |
|
|
|
|
</tr> |
|
|
|
|
` |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(".table-relatorio").html(elementsTable); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{/* <form method="POST" action="/dashboard/agentes/{{$fila->id}}/desconectar" title="Desconectar Pausa?" class="bg-red-600 text-white flex-1 rounded text-xl text-center py-2 px-3" > |
|
|
|
|
@csrf |
|
|
|
|
<input type="hidden" name="supervisor_id" value="${supervisor.id}"> |
|
|
|
|
<button > |
|
|
|
|
<i class="fas fa-power-off"></i> |
|
|
|
|
</button> |
|
|
|
|
</form> */} |
|
|
|
|
function selecionaAgente(supervisor_id){ |
|
|
|
|
async function desconectarAgente(matricula, token) { |
|
|
|
|
if (confirm("Deseja realmente desconectar do sistema?")) { |
|
|
|
|
logoff(matricula, token).then((res) => { |
|
|
|
|
montarRelatorios(); |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
async function retirarPausa(matricula, token) { |
|
|
|
|
if (confirm("Deseja retirar a pausa do agente?")) { |
|
|
|
|
sairPausa(matricula, token).then((res) => { |
|
|
|
|
montarRelatorios(); |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const sairPausa = (matricula, token) => new Promise((resolve) => { |
|
|
|
|
$.ajax({ |
|
|
|
|
url: `https://${server_api}/api/v1/agente/sairPausa`, |
|
|
|
|
type: "POST", |
|
|
|
|
headers: {
|
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
|
'Authorization': 'Bearer ' + token, |
|
|
|
|
"ngrok-skip-browser-warning":"any" |
|
|
|
|
}, |
|
|
|
|
data: JSON.stringify({ |
|
|
|
|
matricula |
|
|
|
|
}), |
|
|
|
|
success: function (res) { |
|
|
|
|
alert('Pausa removida do Agente!') |
|
|
|
|
resolve(res) |
|
|
|
|
}, |
|
|
|
|
error: function (res) { |
|
|
|
|
alert('Nao foi possivel retirar de pausa.') |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
const logoff = (matricula, token) => new Promise((resolve) => { |
|
|
|
|
$.ajax({ |
|
|
|
|
type: "POST", |
|
|
|
|
headers: {
|
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
|
'Authorization': 'Bearer ' + token, |
|
|
|
|
"ngrok-skip-browser-warning":"any" |
|
|
|
|
}, |
|
|
|
|
url: `https://${server_api}/access/logoff`, |
|
|
|
|
data: JSON.stringify({ |
|
|
|
|
matricula |
|
|
|
|
}), |
|
|
|
|
success: function (res) { |
|
|
|
|
alert('Desconectado com sucesso'); |
|
|
|
|
resolve(res) |
|
|
|
|
}, |
|
|
|
|
error: function (res) { |
|
|
|
|
alert('Não foi possivel deslogar do sistema.') |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
function selecionaAgente(supervisor_id) { |
|
|
|
|
console.log(supervisor_id); |
|
|
|
|
const modal = document.querySelector(".modal"); |
|
|
|
|
modal.style.display = "block"; |
|
|
|
|