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