Commit 52b40acea1512cad11e0c2c4d8ba6aa52af60fc6
1 parent
ce2f4937
Exists in
master
[Redmine Atendimento #4187]Acompanhamento contrato
Showing
2 changed files
with
54 additions
and
23 deletions
Show diff stats
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> | ... | ... |