Browse Source

Correções nos cronometros e chamadas

Websocket_painel
AlGouvea 3 years ago
parent
commit
236355cb9b
  1. 29
      frontend/src/__apps/painel/main.js
  2. 2
      sapl/painel/views.py
  3. 4
      sapl/templates/sessao/painel.html

29
frontend/src/__apps/painel/main.js

@ -144,6 +144,15 @@ const v = new Vue({ // eslint-disable-line
cronometroStart[2] = objeto.cronometro_ordem cronometroStart[2] = objeto.cronometro_ordem
cronometroStart[3] = objeto.cronometro_consideracoes cronometroStart[3] = objeto.cronometro_consideracoes
this.setTimer()
if (this.status_cronometro_discurso === 'I') {
this.start(1)
} else if (this.status_cronometro_discurso === 'S') {
this.stop(1)
}
},
setTimer () {
if (time === null) { if (time === null) {
// Pegar data atual // Pegar data atual
this.cronometro_discurso = new Date() this.cronometro_discurso = new Date()
@ -155,32 +164,33 @@ const v = new Vue({ // eslint-disable-line
var temp = new Date() var temp = new Date()
temp.setSeconds(this.cronometro_discurso.getSeconds() + cronometroStart[0]) temp.setSeconds(this.cronometro_discurso.getSeconds() + cronometroStart[0])
var res = new Date(temp - this.cronometro_discurso) var res = new Date(temp - this.cronometro_discurso)
res.setHours(temp.getHours() - this.cronometro_discurso.getHours())
this.cronometro_discurso = this.formatTime(res) this.cronometro_discurso = this.formatTime(res)
temp = new Date() temp = new Date()
temp.setSeconds(this.cronometro_aparte.getSeconds() + cronometroStart[1]) temp.setSeconds(this.cronometro_aparte.getSeconds() + cronometroStart[1])
res = new Date(temp - this.cronometro_aparte) res = new Date(temp - this.cronometro_aparte)
res.setHours(temp.getHours() - this.cronometro_aparte.getHours())
this.cronometro_aparte = this.formatTime(res) this.cronometro_aparte = this.formatTime(res)
temp = new Date() temp = new Date()
temp.setSeconds(this.cronometro_ordem.getSeconds() + cronometroStart[2]) temp.setSeconds(this.cronometro_ordem.getSeconds() + cronometroStart[2])
res = new Date(temp - this.cronometro_ordem) res = new Date(temp - this.cronometro_ordem)
res.setHours(temp.getHours() - this.cronometro_ordem.getHours())
this.cronometro_ordem = this.formatTime(res) this.cronometro_ordem = this.formatTime(res)
temp = new Date() temp = new Date()
temp.setSeconds(this.cronometro_consideracoes.getSeconds() + cronometroStart[3]) temp.setSeconds(this.cronometro_consideracoes.getSeconds() + cronometroStart[3])
res = new Date(temp - this.cronometro_consideracoes) res = new Date(temp - this.cronometro_consideracoes)
res.setHours(temp.getHours() - this.cronometro_consideracoes.getHours())
this.cronometro_consideracoes = this.formatTime(res) this.cronometro_consideracoes = this.formatTime(res)
} }
if (this.status_cronometro_discurso === 'I') {
this.start(1)
console.log(cronometroStart)
} else if (this.status_cronometro_discurso === 'S') {
this.stop(1)
}
}, },
formatTime (time) { formatTime (time) {
var tempo = '00:' + time.getMinutes().toLocaleString('en-US', { var tempo = time.getHours().toLocaleString('en-US', {
minimumIntegerDigits: 2,
useGrouping: false
}) + ':' + time.getMinutes().toLocaleString('en-US', {
minimumIntegerDigits: 2, minimumIntegerDigits: 2,
useGrouping: false useGrouping: false
}) + ':' + time.getSeconds().toLocaleString('en-US', { }) + ':' + time.getSeconds().toLocaleString('en-US', {
@ -203,6 +213,8 @@ const v = new Vue({ // eslint-disable-line
time = null time = null
clearInterval(this.started) clearInterval(this.started)
clearInterval(this.stopped) clearInterval(this.stopped)
this.setTimer()
}, },
clockRunning (crono) { clockRunning (crono) {
var now = new Date() var now = new Date()
@ -240,7 +252,8 @@ const v = new Vue({ // eslint-disable-line
} else { } else {
timeEnd = new Date() timeEnd = new Date()
timeEnd.setMinutes(timeEnd.getMinutes() + time.getMinutes()) timeEnd.setMinutes(timeEnd.getMinutes() + time.getMinutes())
timeEnd.setSeconds(timeEnd.getSeconds() + time.getSeconds() + 1) timeEnd.setSeconds(timeEnd.getSeconds() + time.getSeconds())
timeEnd.setMilliseconds(timeEnd.getMilliseconds() + time.getMilliseconds())
clearInterval(this.timeStopped) clearInterval(this.timeStopped)
} }
this.running = crono this.running = crono

2
sapl/painel/views.py

@ -357,7 +357,7 @@ def get_cronometro_status(request):
pk = request.POST['pk_sessao'] pk = request.POST['pk_sessao']
sessao = SessaoPlenaria.objects.get(id=pk) sessao = SessaoPlenaria.objects.get(id=pk)
ligado = json.loads(request.POST['ligado']) ligado = json.loads(request.POST['ligado'])
tipo = json.loads(request.POST['teste']) tipo = json.loads(request.POST['tipo_crono'])
if ligado: if ligado:

4
sapl/templates/sessao/painel.html

@ -355,11 +355,11 @@ function switch_painel(aberto) {
} }
} }
function switch_cronometro(ligado, teste){ function switch_cronometro(ligado, tipo_crono){
var pk_sessao = {{root_pk}}; var pk_sessao = {{root_pk}};
$.ajax({ $.ajax({
data: {pk_sessao: pk_sessao, ligado: ligado, teste: teste}, data: {pk_sessao: pk_sessao, ligado: ligado, tipo_crono: tipo_crono},
type: 'POST', type: 'POST',
url: "{% url 'sapl.painel:get_cronometro_status' %}", url: "{% url 'sapl.painel:get_cronometro_status' %}",
headers: {'X-CSRFToken': getCookie('csrftoken')}, headers: {'X-CSRFToken': getCookie('csrftoken')},

Loading…
Cancel
Save