mirror of https://github.com/interlegis/sigi.git
Sesóstris Vieira
9 months ago
8 changed files with 695 additions and 22 deletions
@ -0,0 +1,38 @@ |
|||
{% load i18n %} |
|||
|
|||
<div class="legenda"> |
|||
<table> |
|||
<colgroup> |
|||
<col style="width: 20%;"/> |
|||
<col/> |
|||
</colgroup> |
|||
<tr> |
|||
<th>{% trans 'Período' %}</th> |
|||
<td> |
|||
{% blocktranslate with inicio=data_inicio|date:"SHORT_DATE_FORMAT" fim=data_fim|date:"SHORT_DATE_FORMAT" %} |
|||
{{ inicio }} a {{ fim }} |
|||
{% endblocktranslate %} |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<th>{% trans 'Status' %}</th> |
|||
<td> |
|||
<ul> |
|||
{% for i, label in status_choices %} |
|||
<li><strong>{{ i }}</strong>: {{ label }}</li> |
|||
{% endfor %} |
|||
</ul> |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<th>{% trans 'Oficinas' %}</th> |
|||
<td> |
|||
<ul> |
|||
{% for sigla, nome in legenda_oficinas %} |
|||
<li><strong>{{ sigla }}</strong>: {{ nome }}</li> |
|||
{% endfor %} |
|||
</ul> |
|||
</td> |
|||
</tr> |
|||
</table> |
|||
</div> |
@ -0,0 +1,200 @@ |
|||
{% load i18n %} |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans 'Solicitações' %}</span> |
|||
<div class="table-responsive"> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th rowspan="2">{% trans 'UF' %}</th> |
|||
<th rowspan="2">{% trans 'Microrregião' %}</th> |
|||
<th rowspan="2">{% trans 'Casa solicitante' %}</th> |
|||
<th rowspan="2">{% trans 'Senador' %}</th> |
|||
<th rowspan="2">{% trans 'Data pedido' %}</th> |
|||
<th rowspan="2">{% trans 'Oficinas (status)' %}</th> |
|||
<th colspan="4" class="center">{% trans 'Quantidade' %}</th> |
|||
<th rowspan="2" class="numero">{% trans 'Custo total' %}</th> |
|||
</tr> |
|||
<tr> |
|||
<th class="numero">{% trans 'Solicitada' %}</th> |
|||
<th class="numero">{% trans 'Atendida' %}</th> |
|||
<th class="numero">{% trans 'Não atendida' %}</th> |
|||
<th class="numero">{% trans 'Participantes' %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for sol in solicitacoes.all %} |
|||
{% ifchanged sol.casa.municipio.uf.regiao %} |
|||
<tr> |
|||
<th colspan="11" class="center"> |
|||
{{ sol.casa.municipio.uf.get_regiao_display }} |
|||
</th> |
|||
</tr> |
|||
{% endifchanged %} |
|||
<tr> |
|||
<td>{{ sol.casa.municipio.uf.sigla }}</td> |
|||
<td>{{ sol.casa.municipio.microrregiao.nome }}</td> |
|||
<td>{{ sol.casa.nome }}</td> |
|||
<td>{{ sol.senador }}</td> |
|||
<td>{{ sol.data_pedido|date:"SHORT_DATE_FORMAT" }}</td> |
|||
<td> |
|||
<ul class="report-list"> |
|||
{% for item in sol.itemsolicitado_set.all %} |
|||
<li title="{{ item.tipo_evento.nome }} ({{ item.get_status_display }})">{{ item.tipo_evento.sigla }} ({{ item.status }})</li> |
|||
{% endfor %} |
|||
</ul> |
|||
</td> |
|||
<td class="numero">{{ sol.qtde_solicitadas }}</td> |
|||
<td class="numero">{{ sol.qtde_atendidas|default:"-" }}</td> |
|||
<td class="numero">{{ sol.qtde_rejeitadas|default:"-" }}</td> |
|||
<td class="numero">{{ sol.participantes|default:"-" }}</td> |
|||
<td class="numero">{{ sol.custo_total|floatformat:2|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
<tr> |
|||
<th colspan="6">{% trans 'Sumário' %}</th> |
|||
{% for valor in sumario %} |
|||
<th class="numero"> |
|||
{% if forloop.last %} |
|||
{{ valor|floatformat:2|default:"-" }} |
|||
{% else %} |
|||
{{ valor|default:"-" }} |
|||
{% endif %} |
|||
</th> |
|||
{% endfor %} |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row new-page"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans 'Resumo por Senador' %}</span> |
|||
<div class="table-responsive"> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th rowspan="2">{% trans 'UF' %}</th> |
|||
<th rowspan="2">{% trans 'Senador' %}</th> |
|||
<th colspan="4" class="center">{% trans 'Quantidade' %}</th> |
|||
<th rowspan="2" class="numero">{% trans 'Custo total' %}</th> |
|||
</tr> |
|||
<tr> |
|||
<th class="numero">{% trans 'Solicitada' %}</th> |
|||
<th class="numero">{% trans 'Atendida' %}</th> |
|||
<th class="numero">{% trans 'Não atendida' %}</th> |
|||
<th class="numero">{% trans 'Participantes' %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for uf in resumo_uf.itertuples %} |
|||
{% ifchanged uf.regiao %} |
|||
<tr> |
|||
<th class="sep_regiao" colspan="7">{{ uf.regiao }}</th> |
|||
</tr> |
|||
{% endifchanged %} |
|||
<tr> |
|||
<td>{{ uf.uf }}</td> |
|||
<td>{{ uf.senador }}</td> |
|||
<td class="numero">{{ uf.qtde_solicitadas }}</td> |
|||
<td class="numero">{{ uf.qtde_atendidas|default:"-" }}</td> |
|||
<td class="numero">{{ uf.qtde_rejeitadas|default:"-" }}</td> |
|||
<td class="numero">{{ uf.participantes|default:"-" }}</td> |
|||
<td class="numero">{{ uf.custo_total|floatformat:2|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row new-page"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans 'Resumo por Região' %}</span> |
|||
<div class="table-responsive"> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th rowspan="2">{% trans 'Região' %}</th> |
|||
<th colspan="4" class="center">{% trans 'Quantidade' %}</th> |
|||
<th rowspan="2" class="numero">{% trans 'Custo total' %}</th> |
|||
</tr> |
|||
<tr> |
|||
<th class="numero">{% trans 'Solicitada' %}</th> |
|||
<th class="numero">{% trans 'Atendida' %}</th> |
|||
<th class="numero">{% trans 'Não atendida' %}</th> |
|||
<th class="numero">{% trans 'Participantes' %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for regiao in resumo_regiao.itertuples %} |
|||
<tr> |
|||
<td>{{ regiao.regiao }}</td> |
|||
<td class="numero">{{ regiao.qtde_solicitadas }}</td> |
|||
<td class="numero">{{ regiao.qtde_atendidas|default:"-" }}</td> |
|||
<td class="numero">{{ regiao.qtde_rejeitadas|default:"-" }}</td> |
|||
<td class="numero">{{ regiao.participantes|default:"-" }}</td> |
|||
<td class="numero">{{ regiao.custo_total|floatformat:2|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row new-page"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans 'Resumo por tipo de evento' %}</span> |
|||
<div class="table-responsive"> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th rowspan="2">{% trans 'Sigla' %}</th> |
|||
<th rowspan="2">{% trans 'Nome' %}</th> |
|||
<th colspan="4" class="center">{% trans 'Quantidade' %}</th> |
|||
<th rowspan="2" class="numero">{% trans 'Custo total' %}</th> |
|||
</tr> |
|||
<tr> |
|||
<th class="numero">{% trans 'Solicitada' %}</th> |
|||
<th class="numero">{% trans 'Atendida' %}</th> |
|||
<th class="numero">{% trans 'Não atendida' %}</th> |
|||
<th class="numero">{% trans 'Participantes' %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for tipo in resumo_tipo_evento.itertuples %} |
|||
<tr> |
|||
<td>{{ tipo.sigla }}</td> |
|||
<td>{{ tipo.nome }}</td> |
|||
<td class="numero">{{ tipo.qtde_solicitadas }}</td> |
|||
<td class="numero">{{ tipo.qtde_atendidas|default:"-" }}</td> |
|||
<td class="numero">{{ tipo.qtde_rejeitadas|default:"-" }}</td> |
|||
<td class="numero">{{ tipo.participantes|default:"-" }}</td> |
|||
<td class="numero">{{ tipo.custo_total|floatformat:2|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -0,0 +1,112 @@ |
|||
{% extends "admin/base_site.html" %} |
|||
{% load static i18n %} |
|||
|
|||
{% block extrastyle %} |
|||
{{ block.super }} |
|||
<style type="text/css"> |
|||
#content { |
|||
display: block; |
|||
} |
|||
.table-responsive { |
|||
overflow: auto; |
|||
width: 100%; |
|||
} |
|||
table { |
|||
table-layout: auto !important; |
|||
width: 100%; |
|||
} |
|||
table.fixed { |
|||
table-layout: fixed; |
|||
} |
|||
th.sep_regiao { |
|||
text-align: center; |
|||
text-transform: uppercase; |
|||
} |
|||
tr:nth-child(even) { |
|||
background: var(--body-bg); |
|||
} |
|||
.numero { |
|||
text-align: right; |
|||
} |
|||
</style> |
|||
{% endblock %} |
|||
|
|||
{% block extrahead %} |
|||
{{ block.super }} |
|||
{% endblock %} |
|||
|
|||
{% block coltype %}colMS{% endblock %} |
|||
|
|||
{% block content_title %} |
|||
<h5>{% trans 'Solicitações de evento por período' %}</h5> |
|||
{% endblock %} |
|||
|
|||
{% block breadcrumbs %}{% endblock %} |
|||
|
|||
{% block content %} |
|||
{% if solicitacoes is None %} |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<form> |
|||
<div class="card-content"> |
|||
{{ form }} |
|||
</div> |
|||
<div class="card-action"> |
|||
<button type="submit" class="waves-effect waves-light btn">{% trans 'Pesquisar' %}</button> |
|||
{% if not solicitacoes is None %} |
|||
<div class="fixed-action-btn"> |
|||
<a class="btn-floating"> |
|||
<i class="large material-icons">print</i> |
|||
</a> |
|||
<ul> |
|||
<li><button type="submit" name="fmt" value="pdf" class="btn-floating" title="{% trans 'Exportar para PDF' %}"><i class="material-icons">picture_as_pdf</i></button></li> |
|||
<li><button type="submit" name="fmt" value="csv" class="btn-floating" title="{% trans 'Exportar para CSV' %}"><i class="material-icons">file_download</i></button></li> |
|||
</ul> |
|||
</div> |
|||
{% endif %} |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% else %} |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans 'Legenda' %}</span> |
|||
{% include "eventos/snippets/solicitacoes_por_periodo_legenda_snippet.html" %} |
|||
</div> |
|||
<div class="card-action"> |
|||
<a href="{% url 'eventos_solicitacoesporperiodo' %}">Nova pesquisa</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% include "eventos/snippets/solicitacoes_por_periodo_snippet.html" with mode="html" %} |
|||
<form> |
|||
{% for field in form %}{{ field.as_hidden }}{% endfor %} |
|||
<div class="fixed-action-btn"> |
|||
<a class="btn-floating"> |
|||
<i class="large material-icons">print</i> |
|||
</a> |
|||
<ul> |
|||
<li><button type="submit" name="fmt" value="pdf" class="btn-floating" title="{% trans 'Exportar para PDF' %}"><i class="material-icons">picture_as_pdf</i></button></li> |
|||
<li><button type="submit" name="fmt" value="csv" class="btn-floating" title="{% trans 'Exportar para CSV' %}"><i class="material-icons">file_download</i></button></li> |
|||
</ul> |
|||
</div> |
|||
</form> |
|||
{% endif %} |
|||
{% endblock %} |
|||
|
|||
{% block footer %} |
|||
{{ block.super }} |
|||
{{ form.media }} |
|||
<script> |
|||
$(document).ready(function(){ |
|||
M.FloatingActionButton.init($('.fixed-action-btn'), {hoverEnabled: false}); |
|||
M.Modal.init($(".modal")); |
|||
}) |
|||
</script> |
|||
{% endblock %} |
@ -0,0 +1,54 @@ |
|||
{% extends "pdf/base_report.html" %} |
|||
{% load static %} |
|||
{% load i18n %} |
|||
|
|||
{% block page_size %}A4 landscape{% endblock page_size %} |
|||
{% block extra_style %} |
|||
{{ block.super }} |
|||
a { |
|||
color: black; |
|||
text-decoration: none; |
|||
} |
|||
h4 { |
|||
padding: 24px 0 24px 0; |
|||
line-height: 1.5em; |
|||
} |
|||
.row { |
|||
margin-bottom: 12px; |
|||
} |
|||
.card-title { |
|||
font-size: 1.2em; |
|||
margin: 20px 4px; |
|||
padding-left: 1.5rem; |
|||
border-left: 5px solid #ee6e73; |
|||
} |
|||
.sep_regiao { |
|||
text-align: center; |
|||
text-transform: uppercase; |
|||
} |
|||
.center { |
|||
text-align: center; |
|||
} |
|||
.numero { |
|||
text-align: right; |
|||
} |
|||
ul.report-list>li { |
|||
list-style: inside square; |
|||
white-space: nowrap; |
|||
} |
|||
div.legenda { |
|||
margin-bottom: 12px; |
|||
} |
|||
div.legenda th::after { |
|||
content: ":"; |
|||
} |
|||
div.legenda tr:nth-child(even) { |
|||
background-color: white; |
|||
} |
|||
{% endblock %} |
|||
|
|||
|
|||
{% block main_content %} |
|||
{% include "eventos/snippets/solicitacoes_por_periodo_legenda_snippet.html" %} |
|||
{% include "eventos/snippets/solicitacoes_por_periodo_snippet.html" %} |
|||
{% endblock %} |
Loading…
Reference in new issue