diff --git a/frontend/src/__apps/painel/main.js b/frontend/src/__apps/painel/main.js index 7e0555adc..4857f7619 100644 --- a/frontend/src/__apps/painel/main.js +++ b/frontend/src/__apps/painel/main.js @@ -22,16 +22,54 @@ const v = new Vue({ // eslint-disable-line presentes: [], oradores: [], has_votos: false, + numero_votos_sim: 0, + numero_votos_nao: 0, + numero_abstencoes: 0, + num_presentes: 0, + total_votos: 0, + sessao_finalizada: true, materia_legislativa_texto: '', - numero_votos_sim: '', - numero_votos_nao: '', - numero_abstencoes: '', - num_presentes: '', - total_votos: '' + materia_legislativa_ementa: '', + observacao_materia: '', + mat_em_votacao: '', + resultado_votacao_css: '', + tipo_resultado: '', + tipo_votacao: '' } }, methods: { + msgMateria () { + if (this.tipo_resultado && this.painel_aberto) { + if (this.tipo_votacao !== 'Leitura' && !this.sessao_finalizada && !this.sessao_solene) { + this.resultado_votacao_css = 'color: #45919D' + this.mat_em_votacao = 'Matéria em Votação' + } else { + this.resultado_votacao_css = 'color: #45919D' + this.mat_em_votacao = 'Matéria em Leitura' + } + + this.resultado_votacao = this.tipo_resultado + var resultado_votacao_upper = this.resultado_votacao.toUpperCase() + + if (resultado_votacao_upper.search('APROV') !== -1) { + this.resultado_votacao_css = 'color: #7CFC00' + this.mat_em_votacao = 'Matéria Votada' + } else if (resultado_votacao_upper.search('REJEIT') !== -1) { + this.resultado_votacao_css = 'color: red' + this.mat_em_votacao = 'Matéria Votada' + } else if (resultado_votacao_upper.search('LIDA') !== -1) { + this.mat_em_votacao = 'Matéria Lida' + } + } else { + this.resultado_votacao = '' + if (this.tipo_votacao !== 'Leitura') { + this.mat_em_votacao = 'Matéria em Votação' + } else { + this.mat_em_votacao = 'Matéria em Leitura' + } + } + }, atribuiColor (parlamentar) { var color = 'white' if (parlamentar.voto === 'Voto Informado') { @@ -47,11 +85,18 @@ const v = new Vue({ // eslint-disable-line } parlamentar.color = color }, + capObservacao (texto) { + if (texto && texto.length > 151) { + return texto.substr(0, 145).concat('(...)') + } + return texto + }, fetchData () { // TODO: how to get no hardcoded URL? $.get('/painel/704/dados', function (response) { this.brasao = response.brasao this.painel_aberto = response.status_painel + this.sessao_finalizada = response.sessao_finalizada this.sessao_plenaria = response.sessao_plenaria this.sessao_plenaria_data = 'Data Início: ' + response.sessao_plenaria_data this.sessao_plenaria_hora_inicio = 'Hora Início: ' + response.sessao_plenaria_hora_inicio @@ -67,10 +112,18 @@ const v = new Vue({ // eslint-disable-line this.materia_legislativa_texto = response.materia_legislativa_texto this.numero_votos_sim = response.numero_votos_sim - this.numero_votos_sim = response.numero_votos_sim + this.numero_votos_nao = response.numero_votos_nao this.numero_abstencoes = response.numero_abstencoes this.num_presentes = response.num_presentes this.total_votos = response.total_votos + + this.materia_legislativa_texto = response.materia_legislativa_texto + this.materia_legislativa_ementa = response.materia_legislativa_ementa + this.observacao_materia = this.capObservacao(response.observacao_materia) + + this.tipo_resultado = response.tipo_resultado + this.tipo_votacao = response.tipo_votacao + this.mat_em_votacao = this.msgMateria() }.bind(this)) }, pollData () { @@ -79,7 +132,7 @@ const v = new Vue({ // eslint-disable-line this.polling = setInterval(() => { console.info('Fetching data from backend') this.fetchData() - }, 1000) + }, 5000) } }, beforeDestroy () { diff --git a/sapl/templates/painel/index.html b/sapl/templates/painel/index.html index 80c8d1b42..39e0a6e46 100644 --- a/sapl/templates/painel/index.html +++ b/sapl/templates/painel/index.html @@ -4,7 +4,6 @@ {% load render_bundle from webpack_loader %} {% load webpack_static from webpack_loader %} - @@ -133,7 +132,7 @@