Browse Source

Acrescentado acompanhamento de metas e outras melhorias no dashboard

stable/1.0
Sesostris Vieira 12 years ago
parent
commit
a66d2fba85
  1. 25
      media/css/base_site.css
  2. BIN
      media/images/mapicon.png
  3. 12
      sigi/context_processors.py
  4. 54
      sigi/templates/snippets/modules/charts-convenios.html

25
media/css/base_site.css

@ -173,3 +173,28 @@ img.chart {
#sortable { list-style-type: none;}
#sortable li { display: block;margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em;}
#sortable li span { position: absolute; margin-left: -1.3em; }
.legend {
margin: 1em;
}
.legend span { margin: 0 1em 0 0; }
.legend div {
display: inline-block;
margin: 0 0.5em 0 0;
height: 18px;
width: 18px;
}
.titlemapbox {
display: inline-block;
margin-bottom: 0.6em;
width: 100%;
}
.mapbox {
text-align: center;
display: inline-block;
float: right;
}

BIN
media/images/mapicon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

12
sigi/context_processors.py

@ -5,6 +5,7 @@ from sigi.apps.convenios.models import Convenio, Projeto
from sigi.apps.contatos.models import UnidadeFederativa
from sigi.apps.servicos.models import TipoServico
from sigi.apps.diagnosticos.models import Diagnostico
from sigi.apps.metas.models import Meta
def charts_data(request):
'''
@ -27,6 +28,7 @@ def charts_data(request):
'tabela_resumo_diagnostico': tabela_resumo_diagnostico,
'g_conv_proj': g_conv_proj,
"g_convassinado_proj":g_convassinado_proj,
'metas': Meta.objects.all(),
}
def busca_informacoes_camara():
@ -73,6 +75,10 @@ def busca_informacoes_camara():
lista_convenios_assinados.append(camaras.filter(convenio__in=conv_assinados_proj).count())
lista_convenios_em_andamento.append(camaras.filter(convenio__in=conv_em_andamento_proj).count())
lista_camaras_equipadas.append(camaras.filter(convenio__in=conv_equipadas_proj).count())
# Monta linhas de diagnosticos
lista_diagnosticos_digitados = ['', '', Diagnostico.objects.count()]
lista_diagnosticos_publicados = ['', '', Diagnostico.objects.filter(publicado=True).count()]
# Cabecalho da esquerda na tabela
cabecalho_esquerda = (
@ -81,7 +87,9 @@ def busca_informacoes_camara():
u'Câmaras municipais aderidas',
u'Câmaras municipais com convênios assinados',
u'Câmaras municipais convênios em andamento',
u'Câmaras municipais equipadas'
u'Câmaras municipais equipadas',
u'Diagnósticos digitados',
u'Diagnósticos publicados'
)
linhas = (
@ -91,6 +99,8 @@ def busca_informacoes_camara():
lista_convenios_assinados,
lista_convenios_em_andamento,
lista_camaras_equipadas,
lista_diagnosticos_digitados,
lista_diagnosticos_publicados
)
# Unindo as duas listass para que o cabecalho da esquerda fique junto com sua

54
sigi/templates/snippets/modules/charts-convenios.html

@ -22,7 +22,7 @@
<div class="module" style="height: 300px;">
<h2>Resumo de informações</h2>
<h3>Câmaras municipais por projeto</h3>
<!-- h3>Câmaras municipais por projeto</h3 -->
<div class="align-center">
<table>
<tr>
@ -40,14 +40,12 @@
</tr>
{% endfor %}
</table>
<div style="font-weight: bold;"><p>
<br />Câmaras sem processo: {{tabela_resumo_camara.camaras_sem_processo}}<br /><br />
Total de câmaras: {{tabela_resumo_camara.total_camaras}} <br />
</p>
</div>
</table>
</div>
<ul>
<li>Câmaras sem processo: {{tabela_resumo_camara.camaras_sem_processo}}</li>
<li>Total de câmaras: {{tabela_resumo_camara.total_camaras}}</li>
</ul>
</div>
<div class="module" style="height: 300px;">
@ -60,7 +58,10 @@
<div class="module" style="height: 300px;">
<h2>Serviços</h2>
<div class="titlemapbox">
<div class="mapbox"><a href="/sigi/dashboard/mapa/"><img src="/sigi/media/images/mapicon.png"/><br/>Ver mapa</a></div>
<h3>Serviços hospedados no Interlegis (SEIT)</h3>
</div>
<table>
<tr>
@ -81,7 +82,6 @@
{% endif %}
</tr>
{% endfor %}
<p><a href="/sigi/servicos/mapa/all/">Ver mapa</a></p>
</table>
</div>
@ -113,6 +113,40 @@
</div>
</div>
<div class="module" style="height: 300px;">
<h2>Metas BID</h2>
<h3>Estado das metas do contrato BID</h3>
<table>
{% for meta in metas %}
<tr>
<td><strong>{{ meta.titulo }}</strong></td>
<!-- th><meter style="width:100%;" min="0" max="100" low="{% widthratio meta.valor_desejado_low meta.valor_meta 100 %}"
high="{% widthratio meta.valor_desejado_high meta.valor_meta 100 %}" optimum="100"
value="{% widthratio meta.valor_ultimo_calculo meta.valor_meta 100 %}"></meter></th -->
<td>
<img src="//chart.googleapis.com/chart?chf=c,s,CDCDCD&chbh=a&chs=350x18&cht=bhs&chco={{ meta.saude }}&chd=t:{{ meta.percentual_concluido|stringformat:'d' }}" width="350" height="18" alt="" />
</td>
<td><font color="{{ meta.saude }}">{{ meta.percentual_concluido }}%</font></td>
</tr>
{% endfor %}
</table>
<div class="legend">
<span><div style="background-color: #A2BBED;">&nbsp;</div>Concluído/ultrapassado</span>
<span><div style="background-color: #89D7AF;">&nbsp;</div>Bom</span>
<span><div style="background-color: #FFDB6E;">&nbsp;</div>Preocupante</span>
<span><div style="background-color: #E74A69;">&nbsp;</div>Ruim</span>
</div>
<!-- table>
<tr><th colspan="4">Legenda:</td></th>
<tr>
<td><meter min="0" max="100" low="50" high="99" optimum="100" value="100"></meter> Ótimo</td>
<td><meter min="0" max="100" low="50" high="99" optimum="101" value="100"></meter> Bom</td>
<td><meter min="0" max="101" low="50" high="100" optimum="101" value="100"></meter> Preocupante</td>
<td><meter min="0" max="101" low="100" high="100" optimum="101" value="99"></meter> Ruim</td>
</tr>
</table -->
</div>
{% comment %}
<div class="module" style="height: 300px;">
<h2>Diagnósticos</h2>
<h3>Resumo dos diagnósticos</h3>
@ -129,5 +163,5 @@
<div id="map_canvas" style="float: left; height: 80%; width: 300px;">
</div>
</div>
{% endcomment %}
Loading…
Cancel
Save