Commit 52b40acea1512cad11e0c2c4d8ba6aa52af60fc6

Authored by erick.sato
1 parent ce2f4937
Exists in master

[Redmine Atendimento #4187]Acompanhamento contrato

cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/VisaoContratoController.js
... ... @@ -274,7 +274,7 @@ citApp.controller('VisaoContratoController', ['$scope',
274 274 var eventoDataInicial = {
275 275 dataVigencia : true,
276 276 dataEvento : aditivo.dataInicio,
277   - tipoEvento : $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_INICIAL_ADITIVO'),
  277 + tipoEvento : {descricao : $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_INICIAL_ADITIVO')},
278 278 iconClass : eventoClasses["DATA_INICIAL"].icon,
279 279 colorClass : colorIcon
280 280 };
... ... @@ -282,9 +282,9 @@ citApp.controller('VisaoContratoController', ['$scope',
282 282 contratoEventos.eventos.push(eventoDataInicial);
283 283  
284 284 if (isPeriodoValido(ultimaDataFinal, aditivo.dataFim)) {
285   - var tipoEvento = $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_FINAL_ADITIVO');
  285 + var tipoEvento = {descricao : $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_FINAL_ADITIVO')};
286 286 if (ultimaDataFinal == $scope.contrato.dataVigenciaFinal) {
287   - tipoEvento = $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_FINAL_CONTRATO');
  287 + tipoEvento = {descricao : $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_FINAL_CONTRATO')};
288 288 colorIcon = "";
289 289 }
290 290 var eventoDataFinalAnterior = {
... ... @@ -297,16 +297,19 @@ citApp.controller('VisaoContratoController', ['$scope',
297 297 contratoEventos.eventos.push(eventoDataFinalAnterior);
298 298 $scope.contrato.ultimaDataVigenciaFinal = aditivo.dataFim;
299 299 $scope.endPointColor = "green";
  300 +
  301 + $scope.eventoFinal = eventoDataFinalAnterior;
  302 +
300 303 }
301 304 }
302 305 }
303   - var evenotInicialContrato = {
  306 + var eventoInicialContrato = {
304 307 dataInicial : true,
305 308 dataEvento : $scope.contrato.dataVigenciaInicial,
306   - tipoEvento : $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_INICIAL_CONTRATO'),
  309 + tipoEvento : {descricao : $translate.instant('CONTRATOS.LABEL.DATA_VIGENCIA_INICIAL_CONTRATO')},
307 310 iconClass : eventoClasses["DATA_INICIAL"].icon,
308 311 };
309   - contratoEventos.eventos.push(evenotInicialContrato);
  312 + contratoEventos.eventos.push(eventoInicialContrato);
310 313  
311 314 contratoEventos.eventos = $filter('orderListByDataEmissao')(contratoEventos.eventos);
312 315  
... ... @@ -388,65 +391,92 @@ citApp.controller('VisaoContratoController', ['$scope',
388 391 }
389 392  
390 393 var porcentagem = (totalEmpenho * 100) / contratoEventos.contrato.valorContrato;
391   -
  394 + $scope.porcentagemEmpenho = porcentagem;
392 395 contratoEventos.contrato.totalEmpenhado = totalEmpenho;
393 396 contratoEventos.contrato.porcentagemEmpenhado = porcentagem;
394 397 $scope.contratoEventos.push(contratoEventos);
395 398 $scope.contrato.dominioSituacaoAtual = contratoEventos.contrato.dominioSituacaoAtual;
396 399 $scope.valorTotalEmpenhado = totalEmpenho;
397   - $scope.dataTerminoContrato = !$scope.contrato.ultimaDataVigenciaFinal ? $scope.contrato.ultimaDataVigenciaFinal : $scope.contrato.dataVigenciaFinal;
  400 + $scope.dataTerminoContrato = $scope.contrato.ultimaDataVigenciaFinal != undefined ? $scope.contrato.ultimaDataVigenciaFinal : $scope.contrato.dataVigenciaFinal;
  401 +
  402 + $scope.eventoFinal = {
  403 + dataEvento : $scope.dataTerminoContrato,
  404 + tipoEvento : {descricao : $scope.vigenciaFinal},
  405 + };
  406 +
398 407 $scope.setLoadingGet(false);
399 408 });
400 409 }, 1000);
401 410 };
402 411  
  412 + $scope.mostrarEventoContrato = function(evento){
  413 + if(!evento){
  414 + evento = $scope.eventoFinal;
  415 + }
  416 + $scope.evento = evento;
  417 + $scope.editEvento = false;
  418 + $scope.removeEvento = false;
  419 + $scope.visualizarEvento = false;
  420 + };
  421 +
403 422 $scope.mostrarEvento = function (evento) {
404 423 $scope.evento = evento;
405 424 $timeout(function () {
406 425 var acaoCodigo = evento.tipoEvento.nome;
407 426 switch (acaoCodigo) {
408 427 case 'ADITIVO':
  428 + $scope.visualizarEvento = true;
409 429 $scope.editEvento = true;
410   - $scope.removeEvento = true;
  430 + $scope.removeEvento = true;
411 431 break;
412 432 case 'PENALIDADE':
413   - $scope.editEvento = false;
  433 + $scope.visualizarEvento = true;
  434 + $scope.editEvento = false;
414 435 $scope.removeEvento = false;
415 436 break;
416 437 case 'APOSTILAMENTO':
  438 + $scope.visualizarEvento = true;
417 439 $scope.editEvento = true;
418 440 $scope.removeEvento = true;
419 441 break;
420 442 case 'ATUALIZA_STATUS':
  443 + $scope.visualizarEvento = true;
421 444 $scope.editEvento = false;
422 445 $scope.removeEvento = false;
423 446 break;
424 447 case 'LIBERA_PAGAMENTO':
  448 + $scope.visualizarEvento = true;
425 449 $scope.editEvento = true;
426 450 $scope.removeEvento = true;
427 451 break;
428 452 case 'EMPENHO':
429   - $scope.editEvento = false;
  453 + $scope.visualizarEvento = true;
  454 + $scope.editEvento = false;
430 455 $scope.removeEvento = false;
431 456 break;
432 457 case 'NAO_CONFORMIDADE':
  458 + $scope.visualizarEvento = true;
433 459 $scope.editEvento = false;
434 460 $scope.removeEvento = false;
435 461 break;
436 462 case 'RECEBIMENTO_OBJETO':
437   - $scope.editEvento = true;
  463 + $scope.visualizarEvento = true;
  464 + $scope.editEvento = true;
438 465 $scope.removeEvento = false;
439 466 break;
440 467 case 'REPACTUACAO':
441   - $scope.editEvento = false;
  468 + $scope.visualizarEvento = true;
  469 + $scope.editEvento = false;
442 470 $scope.removeEvento = false;
443 471 break;
444 472 case 'RESCISAO':
445   - $scope.editEvento = false;
  473 + $scope.visualizarEvento = true;
  474 + $scope.editEvento = false;
446 475 $scope.removeEvento = false;
447 476 break;
448 477 default:
449   - $scope.editEvento = false;
  478 + $scope.visualizarEvento = true;
  479 + $scope.editEvento = false;
450 480 $scope.removeEvento = false;
451 481 }
452 482 });
... ...
cit-contratos-web/src/main/webapp/html/visaoContrato/visaoContrato.html
... ... @@ -63,24 +63,25 @@
63 63 end-point-color="{{endPointColor}}"
64 64 end-point-text="{{contrato.ultimaDataVigenciaFinal? contrato.ultimaDataVigenciaFinal : contrato.dataVigenciaFinal}}"
65 65 vigencia-final="{{vigenciaFinal}}"
  66 + ng-evento-click="mostrarEventoContrato();"
66 67 timeline-class="contrato-evento-item-timeline"
67 68 list="contratoEvento.eventos"
68 69 list-screen="contratoEvento.contratoEventosForScreen"
69 70 total-items="{{contratoEvento.totalOcorrencia}}"
70 71 next-element-event="atualizaContratoOcorrenciasPorDemanda(contratoEvento.contrato.id)">
71 72 <li class="timeline-item" ng-repeat="evento in contratoEvento.contratoEventosForScreen" ng-class="{'timeline-item-month-start': evento.monthStart, 'timeline-item-hidden': evento.hidden}">
72   - <div class="timeline-item-icon" tooltip="{{evento.dataEvento}} - {{evento.tipoEvento.descricao}}" tooltip-enable="!evento.monthStart && !evento.dataVigencia && !evento.dataInicial">
  73 + <div class="timeline-item-icon" tooltip="{{evento.dataEvento}} - {{evento.tipoEvento.descricao}}">
73 74 <div class="timeline-item-month-start-text" ng-if="evento.monthStart">{{evento.dataEvento}}</div>
74 75 <div class="timeline-item-month-start-line" ng-if="evento.monthStart"></div>
75 76  
76 77 <i ng-if="!evento.monthStart && !evento.dataInicial && !evento.dataVigencia" class="fa fa-{{evento.iconClass}} {{evento.colorClass}}" ng-click="mostrarEvento(evento);" style="cursor: pointer;"></i>
77 78 <div class="timeline-item" ng-if="evento.dataVigencia">
78   - <div class="timeline-start-end-point-icon timeline-end-point-icon">
79   - <i class="fa fa-{{evento.iconClass}} {{evento.colorClass}}" title="{{evento.tipoEvento}} - {{evento.dataEvento}}"></i>
  79 + <div class="timeline-start-end-point-icon timeline-end-point-icon" ng-click="mostrarEventoContrato(evento);" style="cursor: pointer;">
  80 + <i class="fa fa-{{evento.iconClass}} {{evento.colorClass}}"></i>
80 81 </div>
81 82 </div>
82   - <i ng-if="evento.dataInicial" class="fa fa-{{evento.iconClass}} {{evento.colorClass}}" title="{{evento.tipoEvento}} - {{evento.dataEvento}}"></i>
83   - <div class="timeline-item-month-start-text" style="margin-left: -25px" ng-if="evento.dataInicial">{{evento.dataEvento}}</div>
  83 + <i ng-if="evento.dataInicial" ng-click="mostrarEventoContrato(evento);" style="cursor: pointer;" class="fa fa-{{evento.iconClass}} {{evento.colorClass}}"></i>
  84 + <div class="timeline-start-end-point-icon timeline-end-point-icon" style="margin-left: -25px" ng-if="evento.dataInicial">{{evento.dataEvento}}</div>
84 85 </div><!-- .timeline-item-icon -->
85 86 </li><!-- .timeline-item -->
86 87 </timeline-horizontal>
... ... @@ -117,7 +118,7 @@
117 118 </br>
118 119 <div ng-show="evento">
119 120 <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 + <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button" ng-click="visualizarModal(evento);" ng-show="visualizarEvento">
121 122 <i class="fa fa-search blue"></i>
122 123 <translate>LABEL.VISUALIZAR</translate>
123 124 </button>
... ... @@ -145,9 +146,9 @@
145 146 <label-input-data ng-id="evento.dataEvento" ng-label="LABEL.DATA" ng-model="evento.dataEvento" form="VisaoContratoForm" ng-disabled="true" />
146 147 </div>
147 148 </div>
148   - <div class="row">
  149 + <div class="row" ng-show="evento.descricao">
149 150 <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 + <label-input ng-id="evento.descricao" ng-label="LABEL.DESCRICAO" ng-model="evento.descricao" form="VisaoContratoForm" ng-disabled="true"/>
151 152 </div>
152 153 </div>
153 154 </div>
... ...