Commit 951c9d9e6bd46098fe8f447926c2bf8cadadf407

Authored by luis.camargo
1 parent 3c62e7a2
Exists in master

redmine #4115 Construção da história;

cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/InicializarContratosServiceImpl.java
... ... @@ -659,13 +659,11 @@ public class InicializarContratosServiceImpl extends UtilStartup {
659 659  
660 660 Pagina pgConsultaRelatorios = new Pagina("Consulta de relatórios", "/cit-contratos-web/html/consultaRelatorios/consultaRelatorios.html");
661 661 pgConsultaRelatorios = this.paginaService.saveIfNotExist(pgConsultaRelatorios);
662   - Menu menuConsultaRelatorios = new Menu("Consulta de relatório", pgConsultaRelatorios, menuTermosRelatorios, null, 10, null, null, null, null, modulo, "CONSULTA_RELATORIO");
  662 + Menu menuConsultaRelatorios = new Menu("Consulta de relatório", pgConsultaRelatorios, menuTermosRelatorios, null, 11, null, null, null, null, modulo, "CONSULTA_RELATORIO");
663 663  
664 664 List<MenuFile> filesMenuConsultaRelatorios = new ArrayList<MenuFile>();
665 665 filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "controller/ConsultaRelatoriosController.js", this.dominioJS, menuConsultaRelatorios));
666 666 filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "controller/ConsultaRelatoriosController.min.js", this.dominioJS, menuConsultaRelatorios));
667   - filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/ConsultaRelatoriosRepository.js", this.dominioJS, menuConsultaRelatorios));
668   - filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/ConsultaRelatoriosRepository.min.js", this.dominioJS, menuConsultaRelatorios));
669 667 menuConsultaRelatorios.setIncludes(filesMenuConsultaRelatorios);
670 668  
671 669 this.menuService.mergeIfNotExist(menuConsultaRelatorios);
... ...
cit-contratos-api/src/main/resources/script-bd/v1.0.0-alpha10/01-cit-contratos-1.0.0-ALFA-10-postgres.sql 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +-- LUÍS CÉSAR INÍCIO 28/03/2016
  2 +
  3 +INSERT INTO menufile (id, datacriacao, dataedicao, version, ativo, caminho, dominiomenufile_id, menu_id)
  4 +VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, true, '/cit-contratos-web/assets/js/angular/custom/controller/ConsultaRelatoriosController.js',
  5 + (SELECT id FROM dominio WHERE chave = 'tipoFile' AND codigo = 2), (SELECT id FROM menu WHERE chave = 'CONSULTA_RELATORIO'));
  6 +
  7 +INSERT INTO menufile (id, datacriacao, dataedicao, version, ativo, caminho, dominiomenufile_id, menu_id)
  8 +VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, true, '/cit-contratos-web/assets/js/angular/custom/controller/ConsultaRelatoriosController.min.js',
  9 + (SELECT id FROM dominio WHERE chave = 'tipoFile' AND codigo = 2), (SELECT id FROM menu WHERE chave = 'CONSULTA_RELATORIO'));
  10 +
  11 +-- LUÍS CÉSAR FIM 28/03/2016
0 12 \ No newline at end of file
... ...
cit-contratos-web/src/main/java/br/com/centralit/listener/StartupListenerContratos.java
... ... @@ -288,6 +288,13 @@ public class StartupListenerContratos extends UtilStartup implements Application
288 288 list.add(new Dominio("tipoEventoContratoRecebimentoObjeto", "Passível de correção", "PASSIVEL_CORRECAO", 9L));
289 289 list.add(new Dominio("tipoEventoContratoRecebimentoObjeto", "Outros", "OUTROS", 10L));
290 290  
  291 + //CHAVE tipoRelatorioContrato
  292 + list.add(new Dominio("tipoRelatorioContrato", "Relatório de registro de empenho", "RELATORIO_REGISTRO_EMPENHO", 1L));
  293 + list.add(new Dominio("tipoRelatorioContrato", "Relatório de ocorrências", "RELATORIO_OCORRENCIAS", 2L));
  294 + list.add(new Dominio("tipoRelatorioContrato", "Relatório de liberação de pagamento", "RELATORIO_LIBERACAO_PAGAMENTO", 3L));
  295 + list.add(new Dominio("tipoRelatorioContrato", "Relatório de repactuação", "RELATORIO_REPACTUACAO", 4L));
  296 + list.add(new Dominio("tipoRelatorioContrato", "Relatório de rescisão", "RELATORIO_RESCISAO", 5L));
  297 +
291 298  
292 299 this.dominioService.saveListIfNotExist(list);
293 300 Logger.getLogger(StartupListenerContratos.class).info("Domínios executados - StartupListenerContratos!");
... ... @@ -977,6 +984,12 @@ public class StartupListenerContratos extends UtilStartup implements Application
977 984 internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.TITULO_DOCUMENTO_EMPENHO", "Registro de Nota de Empenho", dominio, modulo));
978 985 internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.GERAR_REGISTRO_EMPENHO", "Gerar registro de nota de empenho", dominio, modulo));
979 986  
  987 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.EMITIR_CONSULTA_RELATORIOS", "Emitir consulta relatórios", dominio, modulo));
  988 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.GERAR", "Gerar", dominio, modulo));
  989 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.DATA_INICIAL", "Data inicial", dominio, modulo));
  990 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.DATA_FINAL", "Data final", dominio, modulo));
  991 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.TIPO_RELATORIOS", "Tipo de relatórios", dominio, modulo));
  992 +
980 993 }
981 994  
982 995 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ConsultaRelatoriosController.js 0 → 100644
... ... @@ -0,0 +1,65 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('ConsultaRelatoriosController', ['$scope', '$filter', '$timeout', '$translate', 'ContratoRepository', 'DominioRepository', 'ContratoEventoRepository',
  4 + function VisaoContratoController($scope, $filter, $timeout, $translate, ContratoRepository, DominioRepository, ContratoEventoRepository) {
  5 +
  6 + $scope.contrato = null;
  7 + $scope.dataInicial = null;
  8 + $scope.dataFinal = null;
  9 + $scope.tiposRelatorios = [];
  10 + $scope.isTiposRelatorioSelecionado = false;
  11 +
  12 + $scope.findContrato = function (value) {
  13 + return ContratoRepository.findContrato(value, $scope.usuarioLogado.organizacao.id).then(function (result) {
  14 + return result;
  15 + });
  16 + };
  17 +
  18 + DominioRepository.findAllDominio('tipoRelatorioContrato').then(function (result) {
  19 + $scope.tiposRelatorios = result;
  20 + });
  21 +
  22 + $scope.resetForm = function () {
  23 + $scope.contrato = null;
  24 + $timeout(function () {
  25 + $scope.consultaRelatoriosForm.$submitted = false;
  26 + $scope.consultaRelatoriosForm.$setPristine();
  27 + });
  28 + };
  29 +
  30 + // Seleciona todos os tipos de relatórios da lista
  31 + $scope.checkAll = function(value) {
  32 + angular.forEach($scope.tiposRelatorios, function (item, key) {
  33 + item.$selected = value;
  34 + item.$index = key;
  35 + });
  36 + $scope.atualizaTiposRelatorioSelecionado();
  37 + };
  38 +
  39 + $scope.atualizaTiposRelatorioSelecionado = function() {
  40 + $scope.isTiposRelatorioSelecionado = false;
  41 + angular.forEach($scope.tiposRelatorios, function (item) {
  42 + if (item.$selected) {
  43 + $scope.isTiposRelatorioSelecionado = true;
  44 + }
  45 + });
  46 + };
  47 +
  48 + $scope.gerar = function () {
  49 + $scope.consultaRelatoriosForm.$submitted = true;
  50 +
  51 + if($scope.consultaRelatoriosForm.$valid && $scope.isTiposRelatorioSelecionado) {
  52 +
  53 + $scope.setLoadingSalva(true);
  54 +
  55 +// ContratoEventoRepository.gerarRelatorios(???).then(function(result) {
  56 +// });
  57 +
  58 + $scope.setLoading(false);
  59 + }else{
  60 + //Mensagem de erro de campos obrigatorios não preenchidos
  61 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  62 + }
  63 + };
  64 +
  65 +}]);
0 66 \ No newline at end of file
... ...
cit-contratos-web/src/main/webapp/html/consultaRelatorios/consultaRelatorios.html
... ... @@ -1,211 +0,0 @@
1   -<div id="visaoContratoOcorrencias" class="page-content clearfix" ng-controller="VisaoContratoController">
2   -
3   - <div class="bar-buttons-action fixed">
4   - <div class="row">
5   - <div class="col-sm-9 text-left">
6   - <span class="divider-vertical"></span>
7   - </div><!-- .col -->
8   -
9   - <div class="col-sm-3 text-right">
10   - <favorito/>
11   - <help-button workspace="workspace" />
12   - </div><!-- .col -->
13   - </div><!-- .row -->
14   - </div><!-- .bar-buttons-action -->
15   -
16   - <breadcrumb ng-workspace="workspace"></breadcrumb>
17   - <form name="VisaoContratoForm">
18   - <div class="row">
19   - <div class="col-sm-3">
20   - <auto-complete ng-find="findContrato(value)" ng-item="item.numeroAnoContratoFormatado" ng-id="contrato" ng-acao-borracha="resetForm()"
21   - ng-model="contrato" form="VisaoContratoForm" ng-obrigatorio="true">
22   - </auto-complete>
23   - </div>
24   - </div>
25   - <div class="contrato-evento-container">
26   - <div class="contrato-evento-items">
27   - <div class="contrato-evento-item" ng-repeat="contratoEvento in contratoEventos" ng-class="classCssSituacaoContrato[contratoEvento.contrato.dominioSituacaoAtual.nome]">
28   - <div class="contrato-evento-item-top">
29   - <h3 class="contrato-evento-item-title">
30   - <translate>LABEL.CONTRATO</translate> - {{contratoEvento.contrato.numeroAnoContratoFormatado}}
31   - <span class="contrato-evento-item-status"> <translate>LABEL.STATUS</translate> - {{contratoEvento.contrato.dominioSituacaoAtual.descricao}}</span>
32   - <span class="contrato-evento-item-status" style="color: black; background: transparent; margin: auto;">
33   - <translate>LABEL.NUMERO_PROCESSO</translate> - {{contratoEvento.contrato.numeroProcesso}}</span>
34   - </h3>
35   -
36   - <div class="contrato-evento-item-top-right">
37   - <div ng-hide="true" class="contrato-evento-item-filters clearfix">
38   - <span class="contrato-evento-item-filters-title"><translate>LABEL.FILTROS</translate></span>
39   -
40   - <div class="contrato-evento-item-filters-fields clearfix">
41   - <input type="text" class="contrato-evento-item-filters-field form-control" />
42   -
43   - <input type="text" class="contrato-evento-item-filters-field form-control" />
44   - </div>
45   - </div>
46   -
47   - <div class="contrato-evento-item-actions">
48   - <select class="form-control" ng-model="contrato.contratoEvento.tipoEventoId" ng-options="acao.nome as acao.descricao for acao in acoesContrato track by acao.id"
49   - ng-change="criarEvento()">
50   - <option value="">Selecione</option>
51   - </select>
52   - </div>
53   -
54   - <div ng-hide="true" class="contrato-evento-item-view-details">
55   - <button class="btn btn-primary"><i class="fa fa-eye"></i><translate>LABEL.EXIBIR_DETALHES</translate></button>
56   - </div>
57   - </div>
58   - </div>
59   -
60   - <timeline-horizontal
61   - show-start-end-point="true"
62   - start-point-icon="play-circle"
63   - start-point-text="{{contrato.dataVigenciaInicial}}"
64   - end-point-icon="stop"
65   - end-point-color="{{endPointColor}}"
66   - end-point-text="{{contrato.ultimaDataVigenciaFinal? contrato.ultimaDataVigenciaFinal : contrato.dataVigenciaFinal}}"
67   - vigencia-final="{{vigenciaFinal}}"
68   - timeline-class="contrato-evento-item-timeline"
69   - list="contratoEvento.eventos"
70   - list-screen="contratoEvento.contratoEventosForScreen"
71   - total-items="{{contratoEvento.totalOcorrencia}}"
72   - next-element-event="atualizaContratoOcorrenciasPorDemanda(contratoEvento.contrato.id)">
73   - <li class="timeline-item" ng-repeat="evento in contratoEvento.contratoEventosForScreen" ng-class="{'timeline-item-month-start': evento.monthStart, 'timeline-item-hidden': evento.hidden}">
74   - <div class="timeline-item-icon" tooltip="{{evento.dataEvento}} - {{evento.tipoEvento.descricao}}" tooltip-enable="!evento.monthStart && !evento.dataVigencia">
75   - <div class="timeline-item-month-start-text" ng-if="evento.monthStart">{{evento.dataEvento}}</div>
76   - <div class="timeline-item-month-start-line" ng-if="evento.monthStart"></div>
77   -
78   - <i ng-if="!evento.monthStart && !evento.dataVigencia" class="fa fa-{{evento.iconClass}} {{evento.colorClass}}" ng-click="mostrarEvento(evento);" style="cursor: pointer;"></i>
79   - <div class="timeline-item" ng-if="evento.dataVigencia">
80   - <div class="timeline-start-end-point-icon timeline-end-point-icon">
81   - <i class="fa fa-{{evento.iconClass}} {{evento.colorClass}}" title="{{evento.tipoEvento}} - {{evento.dataEvento}}"></i>
82   - </div>
83   - </div>
84   - </div><!-- .timeline-item-icon -->
85   - </li><!-- .timeline-item -->
86   - </timeline-horizontal>
87   -
88   - <div class="contrato-evento-item-progress-container">
89   - <h4 class="contrato-evento-item-progress-title"><translate>LABEL.EMPENHO</translate></h4>
90   - <div class="contrato-evento-item-progress">
91   - <div class="contrato-evento-item-progress-scored"
92   - tooltip="{{$translate.instant('LABEL.VALOR_EMPENHADO')}}: {{contratoEvento.contrato.totalEmpenhado | currency}}"
93   - style="width: {{porcentagemEmpenho}}%">
94   - </div>
95   - <div class="contrato-evento-item-progress-total"
96   - tooltip="{{$translate.instant('LABEL.VALOR_RESIDUAL')}}: {{(valorTotalContratoAditivado - contratoEvento.contrato.totalEmpenhado) | currency}}"
97   - style="width: {{100 - porcentagemEmpenho}}%">
98   - </div>
99   - </div>
100   -
101   - <div class="contrato-evento-item-progress-legend">
102   - <div class="contrato-evento-item-progress-legend-scored">
103   - <span class="contrato-evento-item-progress-legend-color"></span> <translate>LABEL.VALOR_EMPENHADO</translate>: {{contratoEvento.contrato.totalEmpenhado | currency}}
104   - </div>
105   -
106   - <div class="contrato-evento-item-progress-legend-total">
107   - <span class="contrato-evento-item-progress-legend-color"></span> <translate>LABEL.VALOR_RESIDUAL</translate>: {{(valorTotalContratoAditivado - contratoEvento.contrato.totalEmpenhado) | currency}}
108   -
109   - <div align="right"><translate>LABEL.VALOR_TOTAL_CONTRATO</translate>: {{valorTotalContratoAditivado | currency}}</div>
110   - </div>
111   - </div>
112   - </div>
113   -
114   - </div>
115   - </div>
116   - </div>
117   - </br>
118   - <div ng-show="evento">
119   - <div class="panel-heading clearfix">
120   - <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button" ng-click="visualizarModal(evento);">
121   - <i class="fa fa-search blue"></i>
122   - <translate>LABEL.VISUALIZAR</translate>
123   - </button>
124   -
125   - <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" ng-show="editEvento" class="btn btn-clear" type="button" ng-click="editarModal(evento)">
126   - <i class="fa fa-pencil blue"></i>
127   - <translate>LABEL.EDITAR</translate>
128   - </button>
129   -
130   - <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" ng-show="removeEvento" class="btn btn-clear" type="button" ng-click="removerEvento();">
131   - <i class="fa fa-times red"></i>
132   - <translate>LABEL.REMOVER</translate>
133   - </button>
134   -
135   - <button title="{{$translate.instant('LABEL.FECHAR')}}" alt="{{$translate.instant('LABEL.FECHAR')}}" class="btn btn-clear" type="button" ng-click="limparEvento();">
136   - <i class="fa fa-times"></i>
137   - <translate>LABEL.FECHAR</translate>
138   - </button>
139   - </div><!-- .panel-heading -->
140   - <div class="row">
141   - <div class="col-sm-3">
142   - <label-input ng-id="evento.tipoEvento.descricao" ng-label="LABEL.ACAO" ng-model="evento.tipoEvento.descricao" form="VisaoContratoForm" ng-disabled="true"/>
143   - </div>
144   - <div class="col-sm-3">
145   - <label-input-data ng-id="evento.dataEvento" ng-label="LABEL.DATA" ng-model="evento.dataEvento" form="VisaoContratoForm" ng-disabled="true" />
146   - </div>
147   - </div>
148   - <div class="row">
149   - <div class="col-sm-12">
150   - <label-input ng-id="evento.descricao" ng-label="LABEL.DESCRICAO" ng-model="evento.descricao" form="VisaoContratoForm" ng-disabled="true"/>
151   - </div>
152   - </div>
153   - </div>
154   -
155   - </form>
156   -</div>
157   -
158   -<!-- MODAL JUSTIFICATIVA EXCLUSAO -->
159   -<script type="text/ng-template" id="modal-justificativa-exclusao.html">
160   - <div ng-include src="'/cit-contratos-web/html/eventos/modal-justificativa-exclusao.html'" />
161   -</script>
162   -
163   -<!-- MODAL LIBERACAO PAGAMENTO -->
164   -<script type="text/ng-template" id="modal-cnt_ev_liberacao_pagamento.html">
165   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_liberacao_pagamento.html'" />
166   -</script>
167   -
168   -<!-- MODAL APOSTILAMENTO -->
169   -<script type="text/ng-template" id="cnt_ev_apostilamentoModal.html" >
170   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_apostilamentoModal.html'" />
171   -</script>
172   -
173   -<!-- MODAL ATUALIZACAO STATUS -->
174   -<script type="text/ng-template" id="modal-cnt_ev_atualizacao_status.html">
175   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_atualizacao_status.html'" />
176   -</script>
177   -
178   -<!-- MODAL RECEBIMENTO OBJETO -->
179   -<script type="text/ng-template" id="modal-cnt_ev_recebimentoobjeto.html">
180   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_recebimentoobjeto.html'" />
181   -</script>
182   -
183   -<!-- MODAL REGISTRO NAO CONFORMIDADE -->
184   -<script type="text/ng-template" id="modal-cnt_ev_registro_nc.html">
185   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_registro_nc.html'" />
186   -</script>
187   -
188   -<!-- MODAL PENALIDADE -->
189   -<script type="text/ng-template" id="cnt_ev_aplicar_penalidade.html" >
190   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_aplicar_penalidade.html'" />
191   -</script>
192   -
193   -<!-- MODAL ADITIVO -->
194   -<script type="text/ng-template" id="modal-cnt_ev_aditivo.html">
195   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_aditivo.html'" />
196   -</script>
197   -
198   -<!-- MODAL RESCISAO CONTRATO -->
199   -<script type="text/ng-template" id="modal-cnt_ev_rescisao_contrato.html">
200   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_rescisao_contrato.html'" />
201   -</script>
202   -
203   -<!-- MODAL REPACTUACAO -->
204   -<script type="text/ng-template" id="modal-cnt_ev_repactuacao.html">
205   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_repactuacao.html'" />
206   -</script>
207   -
208   -<!-- MODAL REGISTRAR EMPENHO-->
209   -<script type="text/ng-template" id="cnt_ev_empenho.html" >
210   - <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_empenho.html'" />
211   -</script>
212 0 \ No newline at end of file
cit-contratos-web/src/main/webapp/html/consultaRelatorios/consultaRelatoriosList.html 0 → 100644
... ... @@ -0,0 +1,118 @@
  1 +<div class="page-content" id="searchConsultaRelatorios" ng-controller="ConsultaRelatoriosController">
  2 + <div class="bar-buttons-action fixed">
  3 + <div class="row">
  4 + <div class="col-sm-8 text-left">
  5 +
  6 + <button
  7 + title="{{$translate.instant('LABEL.GERAR_TERMO_CONTRATO')}}"
  8 + alt="{{$translate.instant('LABEL.GERAR_TERMO_CONTRATO')}}"
  9 + class="btn btn-clear" type="button" ng-disabled="false"
  10 + ng-click="gerar();" >
  11 + <i class="fa fa-print"></i>
  12 + <translate>CONTRATOS.LABEL.GERAR</translate>
  13 + </button>
  14 +
  15 + <span class="divider-vertical"></span>
  16 +
  17 + <!-- <filtros ng-filter="filterCriteria" ng-workspace="workspace"></filtros> -->
  18 +
  19 + </div>
  20 +
  21 + <div class="col-sm-4 text-right">
  22 +
  23 + <favorito/>
  24 +
  25 + <help-button workspace="workspace" />
  26 +
  27 + </div><!-- .col -->
  28 + </div><!-- .row -->
  29 + </div><!-- .bar-buttons-action -->
  30 +
  31 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  32 +
  33 + <form name="consultaRelatoriosForm" novalidate autocomplete="off">
  34 + <p>
  35 + <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small>
  36 + </p>
  37 +
  38 + <fieldset>
  39 + <legend>
  40 + <translate>CONTRATOS.LABEL.EMITIR_CONSULTA_RELATORIOS</translate>
  41 + </legend>
  42 +
  43 + <div class="row">
  44 + <div class="col-sm-4">
  45 + <auto-complete ng-id="contrato" ng-label="LABEL.NUMERO_ANO_CONTRATO" ng-find="findContrato(value)" ng-item="item.numeroAnoContratoFormatado"
  46 + ng-acao-borracha="resetForm()" ng-model="contrato" form="consultaRelatoriosForm" ng-obrigatorio="true">
  47 + </auto-complete>
  48 + </div>
  49 + <div class="col-sm-4">
  50 + <label-input-data ng-id="dataInicial" ng-label="CONTRATOS.LABEL.DATA_INICIAL" ng-model="dataInicial"
  51 + form="consultaRelatoriosForm" ng-obrigatorio="false" ng-disabled="false" ng-mode="day" ng-format="dd/MM/yyyy"/>
  52 + </div>
  53 + <div class="col-sm-4">
  54 + <label-input-data ng-id="dataFinal" ng-label="CONTRATOS.LABEL.DATA_FINAL" ng-model="dataFinal"
  55 + form="consultaRelatoriosForm" ng-obrigatorio="false" ng-disabled="false" ng-mode="day" ng-format="dd/MM/yyyy"/>
  56 + </div>
  57 + </div>
  58 + </fieldset>
  59 +
  60 + <fieldset>
  61 + <legend>
  62 + <label ng-class="{'has-error' : consultaRelatoriosForm.$submitted && !isTiposRelatorioSelecionado }">
  63 + <translate>CONTRATOS.LABEL.TIPO_RELATORIOS</translate>
  64 + <span class='red'>*</span>
  65 + <i ng-show="consultaRelatoriosForm.$submitted && !isTiposRelatorioSelecionado" class='fa fa-warning red'
  66 + tooltip="{{$translate.instant('CONTRATOS.LABEL.TIPO_RELATORIOS') + ' ' +$translate.instant('CONTRATOS.LABEL.TIPO_RELATORIOS')}}" tooltip-placement='top'></i>
  67 + </label>
  68 + </legend>
  69 +
  70 + <div class="row">
  71 + <div class="col-sm-4">
  72 + <div class="panel panel-default">
  73 + <div class="panel-heading clearfix">
  74 + <!--
  75 + <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" type="button"
  76 + ng-show="edit && programa.acoes.length > 0" ng-click="excluirAcoesSelecionados()">
  77 + <i class="fa fa-times red"></i>
  78 + <translate>LABEL.REMOVER</translate>
  79 + </button>
  80 + -->
  81 + </div>
  82 +
  83 + <table class="table table-striped table-bordered table-hover">
  84 + <thead>
  85 + <tr>
  86 + <th class="text-center" style="width: 10%;">
  87 + <input type="checkbox" ng-model="selectedAll" ng-checked="selectedAll" ng-click="checkAll(selectedAll);" />
  88 + </th>
  89 + <th class="text-left" style="width: 90%;">
  90 + <translate>CONTRATOS.LABEL.TIPO_RELATORIOS</translate>
  91 + </th>
  92 + </tr>
  93 + </thead>
  94 + <tbody>
  95 + <tr ng-repeat="tipo in tiposRelatorios" ng-show="tiposRelatorios.length > 0">
  96 + <td class="text-center">
  97 + <input type="checkbox" ng-click="tipo.$index = $index; atualizaTiposRelatorioSelecionado();" ng-checked="tipo.$selected" ng-model="tipo.$selected" />
  98 + </td>
  99 + <td class="text-left">
  100 + {{ tipo.descricao }}
  101 + </td>
  102 + </tr>
  103 +
  104 + <tr ng-hide="tiposRelatorios.length != 0">
  105 + <td colspan="5">
  106 + <translate>LABEL.TABELA_VAZIA</translate>
  107 + </td>
  108 + </tr>
  109 +
  110 + </tbody>
  111 + </table>
  112 + </div>
  113 + </div>
  114 + </div>
  115 + </fieldset>
  116 + </form>
  117 +
  118 +</div><!-- .page-content -->
0 119 \ No newline at end of file
... ...