Commit 5edef104dcd194a2782aa38d31a26c79a9ad5e75

Authored by erick.sato
1 parent ba6a29bc
Exists in master

[Redmine Atendimento #4431]Padronização lista contratos

cit-contratos-web/src/main/java/br/com/centralit/listener/StartupListenerContratos.java
@@ -1042,8 +1042,8 @@ public class StartupListenerContratos extends UtilStartup implements Application @@ -1042,8 +1042,8 @@ public class StartupListenerContratos extends UtilStartup implements Application
1042 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.MAXIMO_POSSIVEL_RESPOSTA", "Você pode adicionar no máximo 10 possíveis respostas!", dominio, modulo)); 1042 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.MAXIMO_POSSIVEL_RESPOSTA", "Você pode adicionar no máximo 10 possíveis respostas!", dominio, modulo));
1043 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.MINIMO_POSSIVEIS_RESPOSTAS", "Você deve adicionar pelo menos duas possíveis respostas!", dominio, modulo)); 1043 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.MINIMO_POSSIVEIS_RESPOSTAS", "Você deve adicionar pelo menos duas possíveis respostas!", dominio, modulo));
1044 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.NECESSIDADE_NAO_PREENCHIDA", "Você deve informar a descrição da necessidade elencada para adicionar a mesma!", dominio, modulo)); 1044 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.NECESSIDADE_NAO_PREENCHIDA", "Você deve informar a descrição da necessidade elencada para adicionar a mesma!", dominio, modulo));
1045 - internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.QUESTAO_NAO_PREENCHIDA", "Você deve preencher todos os dados da questão para adicionar a mesma!", dominio, modulo));  
1046 - internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.SEM_POSSIVEL_RESPOSTA", "Você deve digitar uma possível resposta!", dominio, modulo)); 1045 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.VALIDACAO.QUESTAO_NAO_PREENCHIDA", "Você deve preencher todos os dados da questão para adicionar a mesma!", dominio, modulo));
  1046 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.VALIDACAO.SEM_POSSIVEL_RESPOSTA", "Você deve digitar uma possível resposta!", dominio, modulo));
1047 internacionalizacaoList.add(new Internacionalizacao("LIBERACAO_PAGAMENTO.MSG.SELECIONE_OS", "Adicione uma ordem de fornecimento de bens e serviços.", dominio, modulo)); 1047 internacionalizacaoList.add(new Internacionalizacao("LIBERACAO_PAGAMENTO.MSG.SELECIONE_OS", "Adicione uma ordem de fornecimento de bens e serviços.", dominio, modulo));
1048 internacionalizacaoList.add(new Internacionalizacao("LIBERACAO_PAGAMENTO.MSG.INFORME_VALOR_EMPENHO", "Informe o valor liberado para pagamento do empenho.", dominio, modulo)); 1048 internacionalizacaoList.add(new Internacionalizacao("LIBERACAO_PAGAMENTO.MSG.INFORME_VALOR_EMPENHO", "Informe o valor liberado para pagamento do empenho.", dominio, modulo));
1049 } 1049 }
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js
@@ -172,7 +172,9 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C @@ -172,7 +172,9 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C
172 if (edit) { 172 if (edit) {
173 $scope.hasAlteracaoEnvolvido = false; 173 $scope.hasAlteracaoEnvolvido = false;
174 } 174 }
175 - 175 + $scope.atualizarListaSizeSelect();
  176 + $scope.atualizarListaSizeSelectItemContrato();
  177 + $scope.atualizarListaSizeSelectEnvolvido();
176 $scope.edit = edit; 178 $scope.edit = edit;
177 $scope.setCurrentStep(0); 179 $scope.setCurrentStep(0);
178 $scope.setLoading(false); 180 $scope.setLoading(false);
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoController.js
1 'use strict'; 1 'use strict';
2 -citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$timeout', '$filter', 'FileUploader', 2 +citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$timeout', '$filter', 'FileUploader',
3 'CronogramaExecucaoRepository', 'ContratoRepository', 'ContratoItemRepository', 'CronogramaExecucaoItemRepository', 3 'CronogramaExecucaoRepository', 'ContratoRepository', 'ContratoItemRepository', 'CronogramaExecucaoItemRepository',
4 - function CronogramaExecucaoController($scope, $translate, $timeout, $filter, FileUploader, 4 + function CronogramaExecucaoController($scope, $translate, $timeout, $filter, FileUploader,
5 CronogramaExecucaoRepository, ContratoRepository, ContratoItemRepository, CronogramaExecucaoItemRepository) { 5 CronogramaExecucaoRepository, ContratoRepository, ContratoItemRepository, CronogramaExecucaoItemRepository) {
6 - 6 +
7 $scope.cronogramaExecucao = { 7 $scope.cronogramaExecucao = {
8 itensCronogramaExecucao : [] 8 itensCronogramaExecucao : []
9 }; 9 };
10 - 10 +
11 $scope.itemCronogramaExecucao = { 11 $scope.itemCronogramaExecucao = {
12 parcelas : [] 12 parcelas : []
13 }; 13 };
14 14
15 $scope.parcelaItem = {}; 15 $scope.parcelaItem = {};
16 $scope.contratoItem = {}; 16 $scope.contratoItem = {};
17 - 17 +
18 $scope.radioValueList = [{descricao : $translate.instant('LABEL.SIM'), valor : true}, 18 $scope.radioValueList = [{descricao : $translate.instant('LABEL.SIM'), valor : true},
19 {descricao : $translate.instant('LABEL.NAO'), valor : false}]; 19 {descricao : $translate.instant('LABEL.NAO'), valor : false}];
20 20
@@ -35,22 +35,23 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -35,22 +35,23 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
35 35
36 $scope.edit = true; 36 $scope.edit = true;
37 $scope.pgEdit = true; 37 $scope.pgEdit = true;
  38 + $scope.atualizarListaSizeSelect();
38 $timeout(function(){ 39 $timeout(function(){
39 limparCronogramaExecucaoForm(); 40 limparCronogramaExecucaoForm();
40 }); 41 });
41 }; 42 };
42 - 43 +
43 $scope.resetFormItens = function() { 44 $scope.resetFormItens = function() {
44 limparItemCronogramaExecucao(); 45 limparItemCronogramaExecucao();
45 $scope.parcelaItem = {}; 46 $scope.parcelaItem = {};
46 $scope.contratoItem = {}; 47 $scope.contratoItem = {};
47 }; 48 };
48 - 49 +
49 function limparCronogramaExecucaoForm() { 50 function limparCronogramaExecucaoForm() {
50 $scope.cronogramaExecucaoForm.$submitted = false; 51 $scope.cronogramaExecucaoForm.$submitted = false;
51 $scope.cronogramaExecucaoForm.$setPristine(); 52 $scope.cronogramaExecucaoForm.$setPristine();
52 } 53 }
53 - 54 +
54 // Atualiza pagina de pesquisa 55 // Atualiza pagina de pesquisa
55 $scope.atualizaPaginaPesquisa = function () { 56 $scope.atualizaPaginaPesquisa = function () {
56 angular.element('#searchCronogramaExecucao').scope().fetchResult(); 57 angular.element('#searchCronogramaExecucao').scope().fetchResult();
@@ -59,7 +60,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -59,7 +60,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
59 // Consulta entidade e mostra no formulario 60 // Consulta entidade e mostra no formulario
60 $scope.getCronogramaExecucao = function(cronogramaExecucao, edit) { 61 $scope.getCronogramaExecucao = function(cronogramaExecucao, edit) {
61 $scope.setLoadingGet(true); 62 $scope.setLoadingGet(true);
62 - 63 +
63 CronogramaExecucaoRepository.get(cronogramaExecucao.id).then(function(result) { 64 CronogramaExecucaoRepository.get(cronogramaExecucao.id).then(function(result) {
64 $scope.cronogramaExecucao = result.originalElement; 65 $scope.cronogramaExecucao = result.originalElement;
65 66
@@ -70,7 +71,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -70,7 +71,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
70 } else { 71 } else {
71 $scope.edit = false; 72 $scope.edit = false;
72 } 73 }
73 - 74 + $scope.atualizarListaSizeSelect();
74 $scope.pgEdit = edit; 75 $scope.pgEdit = edit;
75 $scope.setLoading(false); 76 $scope.setLoading(false);
76 }); 77 });
@@ -106,9 +107,9 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -106,9 +107,9 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
106 107
107 if ($scope.cronogramaExecucao.contrato) { 108 if ($scope.cronogramaExecucao.contrato) {
108 $scope.editItemCronograma = true; 109 $scope.editItemCronograma = true;
109 - 110 +
110 limparItemCronogramaExecucao(); 111 limparItemCronogramaExecucao();
111 - 112 +
112 $timeout(function() { 113 $timeout(function() {
113 $scope.$openModal('modal-itens-cronograma.html', 'lg'); 114 $scope.$openModal('modal-itens-cronograma.html', 'lg');
114 }); 115 });
@@ -122,25 +123,25 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -122,25 +123,25 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
122 parcelas : [] 123 parcelas : []
123 }; 124 };
124 }; 125 };
125 - 126 +
126 // MODAL QUE CONFIRMA REMOÇÃO DO CRONOGRAMA DE EXECUÇÃO 127 // MODAL QUE CONFIRMA REMOÇÃO DO CRONOGRAMA DE EXECUÇÃO
127 $scope.remove = function(cronogramaExecucao) { 128 $scope.remove = function(cronogramaExecucao) {
128 - $scope.$openModalConfirm({  
129 - message: $translate.instant('CONTRATOS.MSG.CONFIRMA_EXCLUSAO_CRONOGRAMA'), 129 + $scope.$openModalConfirm({
  130 + message: $translate.instant('CONTRATOS.MSG.CONFIRMA_EXCLUSAO_CRONOGRAMA'),
130 callback: function () { 131 callback: function () {
131 CronogramaExecucaoRepository.remove(cronogramaExecucao).then(function() { 132 CronogramaExecucaoRepository.remove(cronogramaExecucao).then(function() {
132 $scope.limparCronogramaExecucao(); 133 $scope.limparCronogramaExecucao();
133 - 134 +
134 $scope.$modalConfirmInstance.dismiss('cancel'); 135 $scope.$modalConfirmInstance.dismiss('cancel');
135 $scope.showAlert("success", $translate.instant('CONTRATOS.MSG.SUCESSO_EXCLUSAO_CRONOGRAMA')); 136 $scope.showAlert("success", $translate.instant('CONTRATOS.MSG.SUCESSO_EXCLUSAO_CRONOGRAMA'));
136 angular.element('#searchCronogramaExecucao').scope().fetchResult(); 137 angular.element('#searchCronogramaExecucao').scope().fetchResult();
137 - 138 +
138 $scope.resetForm(); 139 $scope.resetForm();
139 }); 140 });
140 } 141 }
141 }); 142 });
142 }; 143 };
143 - 144 +
144 // SALVA O CRONOGRAMA DE EXECUÇÃO 145 // SALVA O CRONOGRAMA DE EXECUÇÃO
145 $scope.saveOrUpdate = function(){ 146 $scope.saveOrUpdate = function(){
146 $scope.cronogramaExecucaoForm.$submitted = true; 147 $scope.cronogramaExecucaoForm.$submitted = true;
@@ -170,12 +171,12 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -170,12 +171,12 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
170 CronogramaExecucaoRepository.save($scope.cronogramaExecucao).then(function(result) { 171 CronogramaExecucaoRepository.save($scope.cronogramaExecucao).then(function(result) {
171 $scope.cronogramaExecucao = result.originalElement; 172 $scope.cronogramaExecucao = result.originalElement;
172 $scope.showAlert("success", $translate.instant('CONTRATOS.MSG.SUCESSO_SALVAR_CRONOGRAMA')); 173 $scope.showAlert("success", $translate.instant('CONTRATOS.MSG.SUCESSO_SALVAR_CRONOGRAMA'));
173 - 174 +
174 // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir 175 // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir
175 salvarListaDocumentos(cronogramaExecucaoTemp); 176 salvarListaDocumentos(cronogramaExecucaoTemp);
176 177
177 $scope.cronogramaExecucaoForm.$submitted = false; 178 $scope.cronogramaExecucaoForm.$submitted = false;
178 - $scope.$showPageSearchWorkspace($scope.workspace); 179 + $scope.$showPageSearchWorkspace($scope.workspace);
179 $scope.atualizaPaginaPesquisa(); 180 $scope.atualizaPaginaPesquisa();
180 }); 181 });
181 $scope.setLoading(false); 182 $scope.setLoading(false);
@@ -219,7 +220,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -219,7 +220,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
219 $scope.uploader.uploadAll(); 220 $scope.uploader.uploadAll();
220 } 221 }
221 }; 222 };
222 - 223 +
223 // Limpa o formulario preenchido 224 // Limpa o formulario preenchido
224 $scope.limparCronogramaExecucao = function(){ 225 $scope.limparCronogramaExecucao = function(){
225 $scope.cronogramaExecucao = { 226 $scope.cronogramaExecucao = {
@@ -233,8 +234,9 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -233,8 +234,9 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
233 item.$checked = value; 234 item.$checked = value;
234 item.$index = key; 235 item.$index = key;
235 }); 236 });
  237 + $scope.atualizarListaSizeSelect();
236 }; 238 };
237 - 239 +
238 // Abre modal perguntando se deseja excluir e exclui os elementos selecionados na lista de acoes caso confirmado 240 // Abre modal perguntando se deseja excluir e exclui os elementos selecionados na lista de acoes caso confirmado
239 $scope.excluirItensCronogramaSelecionados = function(){ 241 $scope.excluirItensCronogramaSelecionados = function(){
240 var lista = recuperarItensSelecionadas(); 242 var lista = recuperarItensSelecionadas();
@@ -242,13 +244,13 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -242,13 +244,13 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
242 $scope.$openModalConfirm({ 244 $scope.$openModalConfirm({
243 message: $translate.instant('MSG.DESEJA_EXCLUIR_ITENS'), 245 message: $translate.instant('MSG.DESEJA_EXCLUIR_ITENS'),
244 callback: function () { 246 callback: function () {
245 - 247 +
246 angular.forEach($scope.cronogramaExecucao.itensCronogramaExecucao, function (item, idx) { 248 angular.forEach($scope.cronogramaExecucao.itensCronogramaExecucao, function (item, idx) {
247 if (item.$checked) { 249 if (item.$checked) {
248 $scope.cronogramaExecucao.itensCronogramaExecucao.splice(idx, 1); 250 $scope.cronogramaExecucao.itensCronogramaExecucao.splice(idx, 1);
249 } 251 }
250 }); 252 });
251 - 253 + $scope.atualizarListaSizeSelect();
252 $scope.$modalConfirmInstance.dismiss('cancel'); 254 $scope.$modalConfirmInstance.dismiss('cancel');
253 } 255 }
254 }); 256 });
@@ -279,13 +281,13 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -279,13 +281,13 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
279 }); 281 });
280 $scope.itemCronogramaExecucao.$index = clone(lista[0].$index); 282 $scope.itemCronogramaExecucao.$index = clone(lista[0].$index);
281 $scope.contratoItem = clone(lista[0].contratoItem); 283 $scope.contratoItem = clone(lista[0].contratoItem);
282 - 284 +
283 $timeout(function() { 285 $timeout(function() {
284 $scope.$openModal('modal-itens-cronograma.html', 'lg'); 286 $scope.$openModal('modal-itens-cronograma.html', 'lg');
285 }); 287 });
286 288
287 }; 289 };
288 - 290 +
289 //Recupera todas as acoes selecionadas na lista 291 //Recupera todas as acoes selecionadas na lista
290 var recuperarItensSelecionadas = function(){ 292 var recuperarItensSelecionadas = function(){
291 var lista = []; 293 var lista = [];
@@ -303,7 +305,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -303,7 +305,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
303 305
304 $scope.setDadosContratoItem = function (contratoItem) { 306 $scope.setDadosContratoItem = function (contratoItem) {
305 $scope.contratoItem = contratoItem; 307 $scope.contratoItem = contratoItem;
306 - 308 +
307 $scope.parcelaItem.quantidade = contratoItem.quantidade; 309 $scope.parcelaItem.quantidade = contratoItem.quantidade;
308 $scope.parcelaItem.valorUnitario = contratoItem.valorUnitarioItem; 310 $scope.parcelaItem.valorUnitario = contratoItem.valorUnitarioItem;
309 }; 311 };
@@ -316,7 +318,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -316,7 +318,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
316 $scope.parcelaItem.quantidade = $scope.contratoItem.quantidade; 318 $scope.parcelaItem.quantidade = $scope.contratoItem.quantidade;
317 } 319 }
318 }; 320 };
319 - 321 +
320 function limparParcelasItemCronogramaExecucao() { 322 function limparParcelasItemCronogramaExecucao() {
321 $scope.itemCronogramaExecucao.parcelas = []; 323 $scope.itemCronogramaExecucao.parcelas = [];
322 }; 324 };
@@ -326,10 +328,10 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -326,10 +328,10 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
326 var index = angular.copy($scope.itemCronogramaExecucao.$index); 328 var index = angular.copy($scope.itemCronogramaExecucao.$index);
327 limparItemCronogramaExecucao(); 329 limparItemCronogramaExecucao();
328 $scope.parcelaItem = {}; 330 $scope.parcelaItem = {};
329 - 331 +
330 $scope.itemCronogramaExecucao.parcelas = parcelas; 332 $scope.itemCronogramaExecucao.parcelas = parcelas;
331 $scope.itemCronogramaExecucao.$index = index; 333 $scope.itemCronogramaExecucao.$index = index;
332 - 334 +
333 formDialogItemCronogramaExecucao.$submitted = false; 335 formDialogItemCronogramaExecucao.$submitted = false;
334 formDialogItemCronogramaExecucao.$setPristine(); 336 formDialogItemCronogramaExecucao.$setPristine();
335 } 337 }
@@ -338,11 +340,11 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -338,11 +340,11 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
338 formDialogItemCronogramaExecucao.$submitted = true; 340 formDialogItemCronogramaExecucao.$submitted = true;
339 341
340 if (formDialogItemCronogramaExecucao.$valid) { 342 if (formDialogItemCronogramaExecucao.$valid) {
341 - 343 +
342 if ($scope.parcelaItem.$index != undefined && $scope.parcelaItem.$index != null) { 344 if ($scope.parcelaItem.$index != undefined && $scope.parcelaItem.$index != null) {
343 $scope.itemCronogramaExecucao.parcelas[$scope.parcelaItem.$index] = angular.copy($scope.parcelaItem); 345 $scope.itemCronogramaExecucao.parcelas[$scope.parcelaItem.$index] = angular.copy($scope.parcelaItem);
344 } else { 346 } else {
345 - 347 +
346 if ($scope.itemCronogramaExecucao.pagamentoParcelado === true && $scope.itemCronogramaExecucao.numeroParcelas) { 348 if ($scope.itemCronogramaExecucao.pagamentoParcelado === true && $scope.itemCronogramaExecucao.numeroParcelas) {
347 var numeroParcelas = Number($scope.itemCronogramaExecucao.numeroParcelas); 349 var numeroParcelas = Number($scope.itemCronogramaExecucao.numeroParcelas);
348 for (var i=0; i < numeroParcelas; i++) { 350 for (var i=0; i < numeroParcelas; i++) {
@@ -368,13 +370,13 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -368,13 +370,13 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
368 } else { 370 } else {
369 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 371 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
370 } 372 }
371 - 373 +
372 }; 374 };
373 375
374 function adicionarParcelaItemLista(sequencia) { 376 function adicionarParcelaItemLista(sequencia) {
375 377
376 $scope.parcelaItem.valorTotalParcela = 0.0; 378 $scope.parcelaItem.valorTotalParcela = 0.0;
377 - $scope.parcelaItem.valorTotalParcela = ($scope.parcelaItem.quantidade * $scope.parcelaItem.valorUnitario); 379 + $scope.parcelaItem.valorTotalParcela = ($scope.parcelaItem.quantidade * $scope.parcelaItem.valorUnitario);
378 380
379 $scope.parcelaItem.sequencia = sequencia; 381 $scope.parcelaItem.sequencia = sequencia;
380 $scope.parcelaItem.dataEntrega = $filter('date')(clone($scope.parcelaItem.dataEntrega), "dd/MM/yyyy"); 382 $scope.parcelaItem.dataEntrega = $filter('date')(clone($scope.parcelaItem.dataEntrega), "dd/MM/yyyy");
@@ -386,12 +388,12 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -386,12 +388,12 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
386 var quantidade = $scope.itemCronogramaExecucao.parcelas[index].quantidade; 388 var quantidade = $scope.itemCronogramaExecucao.parcelas[index].quantidade;
387 var valorUnitario = $scope.itemCronogramaExecucao.parcelas[index].valorUnitario; 389 var valorUnitario = $scope.itemCronogramaExecucao.parcelas[index].valorUnitario;
388 $scope.itemCronogramaExecucao.parcelas[index].valorTotalParcela = (quantidade * valorUnitario); 390 $scope.itemCronogramaExecucao.parcelas[index].valorTotalParcela = (quantidade * valorUnitario);
389 - 391 +
390 calcularValorTotalItemDialog(); 392 calcularValorTotalItemDialog();
391 }; 393 };
392 394
393 $scope.editarParcelaItemCronogramaExecucao = function () { 395 $scope.editarParcelaItemCronogramaExecucao = function () {
394 - 396 +
395 var lista = recuperarItensSelecionadas(); 397 var lista = recuperarItensSelecionadas();
396 398
397 if (lista.length > 0) { 399 if (lista.length > 0) {
@@ -401,13 +403,13 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -401,13 +403,13 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
401 $scope.itemCronogramaExecucao.contratoItem = $scope.contratoItem; 403 $scope.itemCronogramaExecucao.contratoItem = $scope.contratoItem;
402 $scope.itemCronogramaExecucao.pagamentoParcelado = $scope.itemCronogramaExecucao.parcelas > 1; 404 $scope.itemCronogramaExecucao.pagamentoParcelado = $scope.itemCronogramaExecucao.parcelas > 1;
403 } 405 }
404 - 406 +
405 $scope.itemCronogramaExecucao.numeroParcelas = $scope.itemCronogramaExecucao.parcelas.length; 407 $scope.itemCronogramaExecucao.numeroParcelas = $scope.itemCronogramaExecucao.parcelas.length;
406 - 408 +
407 var parcelaChecked = $scope.itemCronogramaExecucao.parcelas.filter(function(parcela) { 409 var parcelaChecked = $scope.itemCronogramaExecucao.parcelas.filter(function(parcela) {
408 return parcela.$checked === true; 410 return parcela.$checked === true;
409 }); 411 });
410 - 412 +
411 $scope.parcelaItem = clone(parcelaChecked[0]); 413 $scope.parcelaItem = clone(parcelaChecked[0]);
412 $scope.parcelaItem.dataEntrega = $filter('date')($scope.parcelaItem.dataEntrega, "dd/MM/yyyy"); 414 $scope.parcelaItem.dataEntrega = $filter('date')($scope.parcelaItem.dataEntrega, "dd/MM/yyyy");
413 }; 415 };
@@ -439,14 +441,14 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -439,14 +441,14 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
439 $scope.addItemCronogramaExecucao = function(formDialogItemCronogramaExecucao, continuar) { 441 $scope.addItemCronogramaExecucao = function(formDialogItemCronogramaExecucao, continuar) {
440 442
441 var itemCronogramaExecucao = angular.copy($scope.itemCronogramaExecucao); 443 var itemCronogramaExecucao = angular.copy($scope.itemCronogramaExecucao);
442 - 444 +
443 if (itemCronogramaExecucao.parcelas.length > 0) { 445 if (itemCronogramaExecucao.parcelas.length > 0) {
444 446
445 var hasInconsistencia = false; 447 var hasInconsistencia = false;
446 var textParcelasComEntregaForaVigencia = ""; 448 var textParcelasComEntregaForaVigencia = "";
447 - 449 +
448 angular.forEach(itemCronogramaExecucao.parcelas, function(parcela) { 450 angular.forEach(itemCronogramaExecucao.parcelas, function(parcela) {
449 - 451 +
450 var hasErrorVigenciaInicial = isPeriodoValido(parcela.dataEntrega, $scope.cronogramaExecucao.contrato.dataVigenciaInicial); 452 var hasErrorVigenciaInicial = isPeriodoValido(parcela.dataEntrega, $scope.cronogramaExecucao.contrato.dataVigenciaInicial);
451 var hasErrorVigenciaFinal = !isPeriodoValido(parcela.dataEntrega, $scope.cronogramaExecucao.contrato.dataUltimaVigenciaFinal); 453 var hasErrorVigenciaFinal = !isPeriodoValido(parcela.dataEntrega, $scope.cronogramaExecucao.contrato.dataUltimaVigenciaFinal);
452 if (hasErrorVigenciaInicial || hasErrorVigenciaFinal) { 454 if (hasErrorVigenciaInicial || hasErrorVigenciaFinal) {
@@ -482,13 +484,14 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -482,13 +484,14 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
482 484
483 $scope.$modalInstance.dismiss('cancel'); 485 $scope.$modalInstance.dismiss('cancel');
484 } 486 }
  487 + $scope.atualizarListaSizeSelect();
485 } 488 }
486 } else { 489 } else {
487 $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.NECESSARIO_ITEM_CRONOGRAMA'), " ", false); 490 $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.NECESSARIO_ITEM_CRONOGRAMA'), " ", false);
488 } 491 }
489 }; 492 };
490 493
491 - 494 +
492 // ####################################################################################################################### \\ 495 // ####################################################################################################################### \\
493 // ##################### DAQUI PARA BAIXO SAO TODOS OS METODOS RELACIONADOS À WATCH DE CAMPOS DA TELA #################### \\ 496 // ##################### DAQUI PARA BAIXO SAO TODOS OS METODOS RELACIONADOS À WATCH DE CAMPOS DA TELA #################### \\
494 // ####################################################################################################################### \\ 497 // ####################################################################################################################### \\
@@ -504,7 +507,7 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -504,7 +507,7 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
504 $scope.itemCronogramaExecucao.valorTotalItem += (parcela.valorUnitario * parcela.quantidade); 507 $scope.itemCronogramaExecucao.valorTotalItem += (parcela.valorUnitario * parcela.quantidade);
505 }); 508 });
506 }; 509 };
507 - 510 +
508 // watch para calcular valor total dos itens do cronograma 511 // watch para calcular valor total dos itens do cronograma
509 $scope.$watchCollection('cronogramaExecucao.itensCronogramaExecucao', function() { 512 $scope.$watchCollection('cronogramaExecucao.itensCronogramaExecucao', function() {
510 $scope.cronogramaExecucao.valorTotal = 0.0; 513 $scope.cronogramaExecucao.valorTotal = 0.0;
@@ -513,4 +516,12 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -513,4 +516,12 @@ citApp.controller(&#39;CronogramaExecucaoController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
513 }); 516 });
514 }); 517 });
515 518
  519 + $scope.atualizarListaSizeSelect = function() {
  520 + if(!$scope.listaSize){
  521 + $scope.listaSize = 0;
  522 + };
  523 + var lista = recuperarItensSelecionadas();
  524 + $scope.listaSize = lista.length;
  525 + };
  526 +
516 }]); 527 }]);
517 \ No newline at end of file 528 \ No newline at end of file
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/OrdemFornecimentoController.js
@@ -7,28 +7,28 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -7,28 +7,28 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
7 7
8 $scope.edit = true; 8 $scope.edit = true;
9 $scope.ordemFornecimento = {}; 9 $scope.ordemFornecimento = {};
10 - 10 +
11 $scope.uploader = new FileUploader({ 11 $scope.uploader = new FileUploader({
12 autoUpload: false, 12 autoUpload: false,
13 queueLimit: 1, 13 queueLimit: 1,
14 url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento=' 14 url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento='
15 }); 15 });
16 - 16 +
17 DominioRepository.findAllDominio('tipoSituacaoOrdemFornecimento').then(function(result) { 17 DominioRepository.findAllDominio('tipoSituacaoOrdemFornecimento').then(function(result) {
18 $scope.listaSituacaoOrdemFornecimentos = result; 18 $scope.listaSituacaoOrdemFornecimentos = result;
19 }); 19 });
20 - 20 +
21 $scope.findContrato = function(value) { 21 $scope.findContrato = function(value) {
22 return ContratoRepository.findContrato(value, $scope.usuarioLogado.organizacao.id).then(function(result) { 22 return ContratoRepository.findContrato(value, $scope.usuarioLogado.organizacao.id).then(function(result) {
23 return result; 23 return result;
24 }); 24 });
25 }; 25 };
26 - 26 +
27 // limpa o formulario 27 // limpa o formulario
28 $scope.resetForm = function() { 28 $scope.resetForm = function() {
29 $scope.edit = true; 29 $scope.edit = true;
30 $scope.ordemFornecimento = {}; 30 $scope.ordemFornecimento = {};
31 - 31 + $scope.atualizarListaSizeSelect();
32 $timeout(function() { 32 $timeout(function() {
33 $scope.ordemFornecimentoForm.$submitted = false; 33 $scope.ordemFornecimentoForm.$submitted = false;
34 }); 34 });
@@ -41,13 +41,13 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -41,13 +41,13 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
41 OrdemFornecimentoRepository.get(idOrdemFornecimento).then(function(result) { 41 OrdemFornecimentoRepository.get(idOrdemFornecimento).then(function(result) {
42 42
43 $scope.ordemFornecimento = result.originalElement; 43 $scope.ordemFornecimento = result.originalElement;
44 - 44 + $scope.atualizarListaSizeSelect();
45 $scope.edit = edit; 45 $scope.edit = edit;
46 46
47 $scope.setLoading(false); 47 $scope.setLoading(false);
48 }); 48 });
49 }; 49 };
50 - 50 +
51 // recupera os itens selecionados 51 // recupera os itens selecionados
52 $scope.getItensChecked = function() { 52 $scope.getItensChecked = function() {
53 var itensChecked = []; 53 var itensChecked = [];
@@ -62,13 +62,13 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -62,13 +62,13 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
62 62
63 return itensChecked; 63 return itensChecked;
64 }; 64 };
65 - 65 +
66 $scope.openModalItensBensServicos = function() { 66 $scope.openModalItensBensServicos = function() {
67 67
68 $scope.editItem = true; 68 $scope.editItem = true;
69 69
70 $scope.item = {}; 70 $scope.item = {};
71 - 71 +
72 if ($scope.ordemFornecimento.contrato) { 72 if ($scope.ordemFornecimento.contrato) {
73 ContratoItemRepository.findAllByContrato($scope.ordemFornecimento.contrato.id).then(function(result) { 73 ContratoItemRepository.findAllByContrato($scope.ordemFornecimento.contrato.id).then(function(result) {
74 $scope.itensContrato = result; 74 $scope.itensContrato = result;
@@ -82,7 +82,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -82,7 +82,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
82 $scope.$openModal('modal-itens-bens-servicos.html', 'lg'); 82 $scope.$openModal('modal-itens-bens-servicos.html', 'lg');
83 }); 83 });
84 }; 84 };
85 - 85 +
86 $scope.abrirItensBensServicos = function(edit) { 86 $scope.abrirItensBensServicos = function(edit) {
87 87
88 $scope.editItem = edit; 88 $scope.editItem = edit;
@@ -90,7 +90,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -90,7 +90,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
90 $scope.item = null; 90 $scope.item = null;
91 // recupera a EstudoTecnico selecionada 91 // recupera a EstudoTecnico selecionada
92 var itensSelecionados = $scope.getItensChecked(); 92 var itensSelecionados = $scope.getItensChecked();
93 - 93 +
94 if (itensSelecionados.length > 1) { 94 if (itensSelecionados.length > 1) {
95 $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); 95 $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
96 return; 96 return;
@@ -100,13 +100,13 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -100,13 +100,13 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
100 $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); 100 $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
101 return; 101 return;
102 } 102 }
103 - 103 +
104 ContratoItemRepository.findAllByContrato($scope.ordemFornecimento.contrato.id).then(function(result) { 104 ContratoItemRepository.findAllByContrato($scope.ordemFornecimento.contrato.id).then(function(result) {
105 $scope.itensContrato = result; 105 $scope.itensContrato = result;
106 }); 106 });
107 - 107 +
108 $scope.item = itensSelecionados[0]; 108 $scope.item = itensSelecionados[0];
109 - 109 +
110 $scope.item.dataInicioPrevisto = $filter('date')( $scope.item.dataInicioPrevisto, "dd/MM/yyyy");; 110 $scope.item.dataInicioPrevisto = $filter('date')( $scope.item.dataInicioPrevisto, "dd/MM/yyyy");;
111 $scope.item.dataTerminoPrevisto = $filter('date')( $scope.item.dataTerminoPrevisto, "dd/MM/yyyy");; 111 $scope.item.dataTerminoPrevisto = $filter('date')( $scope.item.dataTerminoPrevisto, "dd/MM/yyyy");;
112 112
@@ -114,7 +114,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -114,7 +114,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
114 $scope.$openModal('modal-itens-bens-servicos.html', 'lg'); 114 $scope.$openModal('modal-itens-bens-servicos.html', 'lg');
115 }); 115 });
116 }; 116 };
117 - 117 +
118 // ADICIONAR item 118 // ADICIONAR item
119 $scope.salvaItem = function(formDialogItem) { 119 $scope.salvaItem = function(formDialogItem) {
120 120
@@ -122,25 +122,25 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -122,25 +122,25 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
122 122
123 //verifica se o formulario está valido para salvar 123 //verifica se o formulario está valido para salvar
124 if (formDialogItem.$valid) { 124 if (formDialogItem.$valid) {
125 - 125 +
126 if(!isPeriodoValido($scope.item.dataInicioPrevisto, $scope.item.dataTerminoPrevisto)) { 126 if(!isPeriodoValido($scope.item.dataInicioPrevisto, $scope.item.dataTerminoPrevisto)) {
127 $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_INICIO_PREVISTO_MAIOR_DATA_TERMINO_PREVISTO_CONTRATO')); 127 $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_INICIO_PREVISTO_MAIOR_DATA_TERMINO_PREVISTO_CONTRATO'));
128 return; 128 return;
129 } 129 }
130 - 130 +
131 if(!isPeriodoValido($scope.ordemFornecimento.contrato.dataVigenciaInicial, $scope.item.dataInicioPrevisto) || 131 if(!isPeriodoValido($scope.ordemFornecimento.contrato.dataVigenciaInicial, $scope.item.dataInicioPrevisto) ||
132 !isPeriodoValido($scope.item.dataTerminoPrevisto, $scope.ordemFornecimento.contrato.dataUltimaVigenciaFinal)) { 132 !isPeriodoValido($scope.item.dataTerminoPrevisto, $scope.ordemFornecimento.contrato.dataUltimaVigenciaFinal)) {
133 $scope.showAlert('warning', $translate.instant('VALIDACAO.PERIODO_INICIO_TERMINO_DENTRO_VIGENCIA_CONTRATO')); 133 $scope.showAlert('warning', $translate.instant('VALIDACAO.PERIODO_INICIO_TERMINO_DENTRO_VIGENCIA_CONTRATO'));
134 return; 134 return;
135 } 135 }
136 - 136 +
137 if ($scope.item.quantidade == 0) { 137 if ($scope.item.quantidade == 0) {
138 $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_MAIOR_ZERO')); 138 $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_MAIOR_ZERO'));
139 return; 139 return;
140 } 140 }
141 - 141 +
142 var qntParc = $scope.item.quantidade; 142 var qntParc = $scope.item.quantidade;
143 - 143 +
144 if ($scope.ordemFornecimento.itensBensServicos) { 144 if ($scope.ordemFornecimento.itensBensServicos) {
145 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) { 145 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
146 if (!$scope.ordemFornecimento.itensBensServicos[i].$checked && $scope.ordemFornecimento.itensBensServicos[i].itemBemServico.id == $scope.item.itemBemServico.id) { 146 if (!$scope.ordemFornecimento.itensBensServicos[i].$checked && $scope.ordemFornecimento.itensBensServicos[i].itemBemServico.id == $scope.item.itemBemServico.id) {
@@ -148,23 +148,23 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -148,23 +148,23 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
148 } 148 }
149 } 149 }
150 } 150 }
151 - 151 +
152 if (qntParc > $scope.item.itemBemServico.quantidade) { 152 if (qntParc > $scope.item.itemBemServico.quantidade) {
153 - 153 +
154 var qntRestante = parseFloat($scope.item.itemBemServico.quantidade) - (parseFloat(qntParc) - parseFloat($scope.item.quantidade)); 154 var qntRestante = parseFloat($scope.item.itemBemServico.quantidade) - (parseFloat(qntParc) - parseFloat($scope.item.quantidade));
155 - 155 +
156 if (qntRestante < 0) { 156 if (qntRestante < 0) {
157 qntRestante = 0; 157 qntRestante = 0;
158 } 158 }
159 - 159 +
160 $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_INSERIDA_ITEM_MAIOR_QUANTIDADE_CONTRATO') + qntRestante); 160 $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_INSERIDA_ITEM_MAIOR_QUANTIDADE_CONTRATO') + qntRestante);
161 return; 161 return;
162 } 162 }
163 - 163 +
164 if ($scope.item.itemBemServico.originalElement) { 164 if ($scope.item.itemBemServico.originalElement) {
165 $scope.item.itemBemServico = $scope.item.itemBemServico.originalElement; 165 $scope.item.itemBemServico = $scope.item.itemBemServico.originalElement;
166 } 166 }
167 - 167 +
168 if ($scope.ordemFornecimento.itensBensServicos) { 168 if ($scope.ordemFornecimento.itensBensServicos) {
169 if ($scope.item.$checked) { 169 if ($scope.item.$checked) {
170 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) { 170 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
@@ -180,26 +180,26 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -180,26 +180,26 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
180 $scope.item.$index = 1; 180 $scope.item.$index = 1;
181 $scope.ordemFornecimento.itensBensServicos = [$scope.item]; 181 $scope.ordemFornecimento.itensBensServicos = [$scope.item];
182 } 182 }
183 - 183 +
184 var qnt = 0; 184 var qnt = 0;
185 var total = 0; 185 var total = 0;
186 - 186 +
187 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) { 187 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
188 var item = $scope.ordemFornecimento.itensBensServicos[i]; 188 var item = $scope.ordemFornecimento.itensBensServicos[i];
189 qnt = parseFloat(qnt) + parseFloat(item.quantidade); 189 qnt = parseFloat(qnt) + parseFloat(item.quantidade);
190 total = parseFloat(total) + parseFloat(item.valorTotalItem); 190 total = parseFloat(total) + parseFloat(item.valorTotalItem);
191 } 191 }
192 - 192 +
193 $scope.quantidadeTotal = qnt; 193 $scope.quantidadeTotal = qnt;
194 $scope.totalGeral = total; 194 $scope.totalGeral = total;
195 - 195 + $scope.atualizarListaSizeSelect();
196 $scope.$modalInstance.dismiss('cancel'); 196 $scope.$modalInstance.dismiss('cancel');
197 } else { 197 } else {
198 //Mensagem de erro de campos obrigatorios não preenchidos 198 //Mensagem de erro de campos obrigatorios não preenchidos
199 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 199 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
200 } 200 }
201 }; 201 };
202 - 202 +
203 $scope.removerItensBensServicos = function() { 203 $scope.removerItensBensServicos = function() {
204 // recupera a EstudoTecnico selecionada 204 // recupera a EstudoTecnico selecionada
205 var itensSelecionados = $scope.getItensChecked(); 205 var itensSelecionados = $scope.getItensChecked();
@@ -210,7 +210,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -210,7 +210,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
210 callback: function() { 210 callback: function() {
211 211
212 $scope.$modalConfirmInstance.dismiss('cancel'); 212 $scope.$modalConfirmInstance.dismiss('cancel');
213 - 213 +
214 var itens = []; 214 var itens = [];
215 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) { 215 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
216 if (!$scope.ordemFornecimento.itensBensServicos[i].$checked) { 216 if (!$scope.ordemFornecimento.itensBensServicos[i].$checked) {
@@ -218,6 +218,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -218,6 +218,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
218 } 218 }
219 } 219 }
220 $scope.ordemFornecimento.itensBensServicos = itens; 220 $scope.ordemFornecimento.itensBensServicos = itens;
  221 + $scope.atualizarListaSizeSelect();
221 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 222 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
222 } 223 }
223 }); 224 });
@@ -225,20 +226,20 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -225,20 +226,20 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
225 $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); 226 $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO'));
226 } 227 }
227 }; 228 };
228 - 229 +
229 //Salva a ordem de fornecimento 230 //Salva a ordem de fornecimento
230 $scope.saveOrUpdate = function() { 231 $scope.saveOrUpdate = function() {
231 // atributo para visualizar os itens obrigatorios na tela 232 // atributo para visualizar os itens obrigatorios na tela
232 $scope.ordemFornecimentoForm.$submitted = true; 233 $scope.ordemFornecimentoForm.$submitted = true;
233 - 234 +
234 // verifica formulario valido 235 // verifica formulario valido
235 if ($scope.ordemFornecimentoForm.$valid) { 236 if ($scope.ordemFornecimentoForm.$valid) {
236 - 237 +
237 if (!$scope.ordemFornecimento.itensBensServicos || $scope.ordemFornecimento.itensBensServicos.length == 0) { 238 if (!$scope.ordemFornecimento.itensBensServicos || $scope.ordemFornecimento.itensBensServicos.length == 0) {
238 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 239 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
239 return; 240 return;
240 } 241 }
241 - 242 +
242 if ($scope.ordemFornecimento.dominioSituacao && $scope.ordemFornecimento.dominioSituacao.originalElement) { 243 if ($scope.ordemFornecimento.dominioSituacao && $scope.ordemFornecimento.dominioSituacao.originalElement) {
243 $scope.ordemFornecimento.dominioSituacao = $scope.ordemFornecimento.dominioSituacao.originalElement; 244 $scope.ordemFornecimento.dominioSituacao = $scope.ordemFornecimento.dominioSituacao.originalElement;
244 } 245 }
@@ -276,7 +277,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -276,7 +277,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
276 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); 277 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'));
277 } 278 }
278 }; 279 };
279 - 280 +
280 // metodo utilizado para percorrer a lista de documentos persistidos e verificar com a lista de documentos temporarios para verificacao de qual anexo pertence a qual documento 281 // metodo utilizado para percorrer a lista de documentos persistidos e verificar com a lista de documentos temporarios para verificacao de qual anexo pertence a qual documento
281 var salvarListaDocumentos = function(ordemFornecimentoTemp) { 282 var salvarListaDocumentos = function(ordemFornecimentoTemp) {
282 283
@@ -310,7 +311,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -310,7 +311,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
310 $scope.uploader.uploadAll(); 311 $scope.uploader.uploadAll();
311 } 312 }
312 }; 313 };
313 - 314 +
314 //Watch para buscar o gestor do contrato 315 //Watch para buscar o gestor do contrato
315 $scope.$watch('ordemFornecimento.contrato', function() { 316 $scope.$watch('ordemFornecimento.contrato', function() {
316 if ($scope.ordemFornecimento.contrato && ($scope.ordemFornecimento.contrato.id)) { 317 if ($scope.ordemFornecimento.contrato && ($scope.ordemFornecimento.contrato.id)) {
@@ -321,12 +322,12 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -321,12 +322,12 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
321 $scope.contratoGestor = null; 322 $scope.contratoGestor = null;
322 } 323 }
323 }); 324 });
324 - 325 +
325 //Watch para atualizar valores do item 326 //Watch para atualizar valores do item
326 $scope.$watch('item.itemBemServico', function() { 327 $scope.$watch('item.itemBemServico', function() {
327 if ($scope.item && $scope.item.itemBemServico && $scope.item.itemBemServico.originalElement) { 328 if ($scope.item && $scope.item.itemBemServico && $scope.item.itemBemServico.originalElement) {
328 if ($scope.item.itemBemServico) { 329 if ($scope.item.itemBemServico) {
329 - 330 +
330 var qnt = 0; 331 var qnt = 0;
331 if ($scope.ordemFornecimento.itensBensServicos) { 332 if ($scope.ordemFornecimento.itensBensServicos) {
332 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) { 333 for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
@@ -336,7 +337,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -336,7 +337,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
336 } 337 }
337 } 338 }
338 } 339 }
339 - 340 +
340 $scope.item.quantidade = parseFloat($scope.item.itemBemServico.quantidade) - parseFloat(qnt); 341 $scope.item.quantidade = parseFloat($scope.item.itemBemServico.quantidade) - parseFloat(qnt);
341 $scope.item.valorUnitarioItem = $scope.item.itemBemServico.valorUnitarioItem; 342 $scope.item.valorUnitarioItem = $scope.item.itemBemServico.valorUnitarioItem;
342 $scope.item.valorTotalItem = $scope.item.quantidade * $scope.item.valorUnitarioItem; 343 $scope.item.valorTotalItem = $scope.item.quantidade * $scope.item.valorUnitarioItem;
@@ -347,7 +348,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -347,7 +348,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
347 } 348 }
348 } 349 }
349 }); 350 });
350 - 351 +
351 //Watch para atualizar o valor total do item 352 //Watch para atualizar o valor total do item
352 $scope.$watch('item.quantidade', function() { 353 $scope.$watch('item.quantidade', function() {
353 if ($scope.item) { 354 if ($scope.item) {
@@ -358,7 +359,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -358,7 +359,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
358 } 359 }
359 } 360 }
360 }); 361 });
361 - 362 +
362 //Watch para atualizar o valor total do item 363 //Watch para atualizar o valor total do item
363 $scope.$watch('ordemFornecimento.itensBensServicos', function() { 364 $scope.$watch('ordemFornecimento.itensBensServicos', function() {
364 if ($scope.ordemFornecimento.itensBensServicos && $scope.ordemFornecimento.itensBensServicos.length > 0) { 365 if ($scope.ordemFornecimento.itensBensServicos && $scope.ordemFornecimento.itensBensServicos.length > 0) {
@@ -376,7 +377,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -376,7 +377,7 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
376 $scope.totalGeral = 0; 377 $scope.totalGeral = 0;
377 } 378 }
378 }); 379 });
379 - 380 +
380 //INICIO DE METODOS REFERENTES AOS RELATORIOS 381 //INICIO DE METODOS REFERENTES AOS RELATORIOS
381 382
382 $scope.gerarRelatorioOrdemFornecimento = function() { 383 $scope.gerarRelatorioOrdemFornecimento = function() {
@@ -384,4 +385,20 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe @@ -384,4 +385,20 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
384 $scope.visualizarRelatorio($scope.url, $translate.instant("LABEL.TITULO_ORDEM_FORNECIMENTO")); 385 $scope.visualizarRelatorio($scope.url, $translate.instant("LABEL.TITULO_ORDEM_FORNECIMENTO"));
385 }; 386 };
386 387
  388 + $scope.checkAll = function(value) {
  389 + angular.forEach($scope.ordemFornecimento.itensBensServicos, function (item, key) {
  390 + item.$checked = value;
  391 + item.$index = key;
  392 + });
  393 + $scope.atualizarListaSizeSelect();
  394 + };
  395 +
  396 + $scope.atualizarListaSizeSelect = function() {
  397 + if(!$scope.listaSize){
  398 + $scope.listaSize = 0;
  399 + };
  400 + var lista = $scope.getItensChecked();
  401 + $scope.listaSize = lista.length;
  402 + };
  403 +
387 }]); 404 }]);
388 \ No newline at end of file 405 \ No newline at end of file
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/QuestionarioController.js
@@ -8,25 +8,25 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -8,25 +8,25 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
8 dominioTipoQuestionario : {codigo : 1}, 8 dominioTipoQuestionario : {codigo : 1},
9 questoes : [] 9 questoes : []
10 }; 10 };
11 - 11 +
12 $scope.questionarioPergunta = { 12 $scope.questionarioPergunta = {
13 respostasEscolha : [] 13 respostasEscolha : []
14 }; 14 };
15 - 15 +
16 $scope.possivelResposta = {}; 16 $scope.possivelResposta = {};
17 17
18 $scope.isBloquear = false; 18 $scope.isBloquear = false;
19 19
20 $scope.isDesbloquear = false; 20 $scope.isDesbloquear = false;
21 - 21 +
22 DominioRepository.findAllDominio('tipoRespostaQuestao').then(function(result) { 22 DominioRepository.findAllDominio('tipoRespostaQuestao').then(function(result) {
23 $scope.dominiosTipoResposta = result; 23 $scope.dominiosTipoResposta = result;
24 }); 24 });
25 - 25 +
26 DominioRepository.findAllDominio('tipoQuestionario').then(function(result) { 26 DominioRepository.findAllDominio('tipoQuestionario').then(function(result) {
27 $scope.dominiosTipoQuestionario = result; 27 $scope.dominiosTipoQuestionario = result;
28 }); 28 });
29 - 29 +
30 // Limpa formulário para novo cadastro 30 // Limpa formulário para novo cadastro
31 $scope.resetForm = function() { 31 $scope.resetForm = function() {
32 $scope.limparQuestionario(); 32 $scope.limparQuestionario();
@@ -35,17 +35,18 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -35,17 +35,18 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
35 $scope.pgEdit = true; 35 $scope.pgEdit = true;
36 $scope.isBloquear = false; 36 $scope.isBloquear = false;
37 $scope.isDesbloquear = $scope.isBloquear; 37 $scope.isDesbloquear = $scope.isBloquear;
  38 + $scope.atualizarListaSizeSelect();
38 $timeout(function(){ 39 $timeout(function(){
39 $scope.questionarioForm.$submitted = false; 40 $scope.questionarioForm.$submitted = false;
40 $scope.questionarioForm.$setPristine(); 41 $scope.questionarioForm.$setPristine();
41 }); 42 });
42 }; 43 };
43 - 44 +
44 // Atualiza pagina de pesquisa 45 // Atualiza pagina de pesquisa
45 $scope.atualizaPaginaPesquisa = function () { 46 $scope.atualizaPaginaPesquisa = function () {
46 angular.element('#searchQuestionario').scope().fetchResult(); 47 angular.element('#searchQuestionario').scope().fetchResult();
47 }; 48 };
48 - 49 +
49 $scope.addPossivelResposta = function() { 50 $scope.addPossivelResposta = function() {
50 var resposta = $scope.possivelResposta.resposta; 51 var resposta = $scope.possivelResposta.resposta;
51 if ($scope.questionarioPergunta.respostasEscolha.length > 10) { 52 if ($scope.questionarioPergunta.respostasEscolha.length > 10) {
@@ -59,7 +60,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -59,7 +60,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
59 $scope.possivelResposta = {}; 60 $scope.possivelResposta = {};
60 } 61 }
61 }; 62 };
62 - 63 +
63 $scope.addQuestao = function() { 64 $scope.addQuestao = function() {
64 var questao = angular.copy($scope.questionarioPergunta); 65 var questao = angular.copy($scope.questionarioPergunta);
65 if (!questao.questao || !questao.dominioTipoResposta) { 66 if (!questao.questao || !questao.dominioTipoResposta) {
@@ -87,9 +88,10 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -87,9 +88,10 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
87 $scope.questionario.questoes.push(questao); 88 $scope.questionario.questoes.push(questao);
88 } 89 }
89 $scope.limparPergunta(); 90 $scope.limparPergunta();
  91 + $scope.atualizarListaSizeSelect();
90 } 92 }
91 }; 93 };
92 - 94 +
93 $scope.mudaTipoResposta = function() { 95 $scope.mudaTipoResposta = function() {
94 $timeout(function(){ 96 $timeout(function(){
95 angular.forEach($scope.dominiosTipoResposta, function (item) { 97 angular.forEach($scope.dominiosTipoResposta, function (item) {
@@ -99,24 +101,24 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -99,24 +101,24 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
99 }); 101 });
100 }); 102 });
101 }; 103 };
102 - 104 +
103 // Bloqueia o questionario 105 // Bloqueia o questionario
104 $scope.confirmarBloqueioQuestionario = function(){ 106 $scope.confirmarBloqueioQuestionario = function(){
105 - 107 +
106 if(!$scope.questionario.dataBloqueio){ 108 if(!$scope.questionario.dataBloqueio){
107 - 109 +
108 $scope.showAlert('error', $translate.instant('MSG.MG011')); 110 $scope.showAlert('error', $translate.instant('MSG.MG011'));
109 }else{ 111 }else{
110 - 112 +
111 try{ 113 try{
112 - 114 +
113 $scope.setLoadingSalva(true); 115 $scope.setLoadingSalva(true);
114 - 116 +
115 QuestionarioRepository.save($scope.questionario).then(function(result){ 117 QuestionarioRepository.save($scope.questionario).then(function(result){
116 $scope.setLoadingSalva(false); 118 $scope.setLoadingSalva(false);
117 - 119 +
118 $scope.questionario = result.originalElement; 120 $scope.questionario = result.originalElement;
119 - 121 +
120 $scope.isBloquear = false; 122 $scope.isBloquear = false;
121 $scope.isDesbloquear = !$scope.isBloquear; 123 $scope.isDesbloquear = !$scope.isBloquear;
122 $scope.edit = false; 124 $scope.edit = false;
@@ -124,56 +126,56 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -124,56 +126,56 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
124 }); 126 });
125 }catch(exception){ 127 }catch(exception){
126 $scope.setLoadingSalva(false); 128 $scope.setLoadingSalva(false);
127 - } 129 + }
128 } 130 }
129 }; 131 };
130 132
131 - // Desbloqueia o questionario 133 + // Desbloqueia o questionario
132 $scope.desbloquear = function() { 134 $scope.desbloquear = function() {
133 $scope.setLoadingSalva(true); 135 $scope.setLoadingSalva(true);
134 - 136 +
135 $scope.questionario.dataBloqueio = null; 137 $scope.questionario.dataBloqueio = null;
136 - 138 +
137 QuestionarioRepository.save($scope.questionario).then(function(result){ 139 QuestionarioRepository.save($scope.questionario).then(function(result){
138 $scope.setLoadingSalva(false); 140 $scope.setLoadingSalva(false);
139 - 141 +
140 $scope.questionario = result.originalElement; 142 $scope.questionario = result.originalElement;
141 - 143 +
142 $scope.edit = true; 144 $scope.edit = true;
143 $scope.isBloquear = true; 145 $scope.isBloquear = true;
144 $scope.isDesbloquear = !$scope.isBloquear; 146 $scope.isDesbloquear = !$scope.isBloquear;
145 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_DESBLOQUEIO_QUESTIONARIO')); 147 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_DESBLOQUEIO_QUESTIONARIO'));
146 }); 148 });
147 }; 149 };
148 - 150 +
149 // MODAL QUE CONFIRMA REMOVER DO Questionário 151 // MODAL QUE CONFIRMA REMOVER DO Questionário
150 $scope.remove = function(questionario){ 152 $scope.remove = function(questionario){
151 - $scope.$openModalConfirm({  
152 - message: $translate.instant('MSG.CONFIRMA_EXCLUIR_QUESTIONARIO'), 153 + $scope.$openModalConfirm({
  154 + message: $translate.instant('MSG.CONFIRMA_EXCLUIR_QUESTIONARIO'),
153 callback: function () { 155 callback: function () {
154 QuestionarioRepository.remove(questionario).then(function() { 156 QuestionarioRepository.remove(questionario).then(function() {
155 $scope.limparQuestionario(); 157 $scope.limparQuestionario();
156 - 158 +
157 $scope.$modalConfirmInstance.dismiss('cancel'); 159 $scope.$modalConfirmInstance.dismiss('cancel');
158 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_EXCLUSAO_QUESTIONARIO')); 160 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_EXCLUSAO_QUESTIONARIO'));
159 angular.element('#searchQuestionario').scope().fetchResult(); 161 angular.element('#searchQuestionario').scope().fetchResult();
160 - 162 +
161 $scope.resetForm(); 163 $scope.resetForm();
162 }); 164 });
163 } 165 }
164 }); 166 });
165 }; 167 };
166 - 168 +
167 // SALVA O QUESTIONARIO 169 // SALVA O QUESTIONARIO
168 $scope.saveOrUpdate = function(){ 170 $scope.saveOrUpdate = function(){
169 $scope.questionarioForm.$submitted = true; 171 $scope.questionarioForm.$submitted = true;
170 - 172 +
171 try{ 173 try{
172 //verifica se o formulario está valido para salvar 174 //verifica se o formulario está valido para salvar
173 if($scope.questionarioForm.$valid){ 175 if($scope.questionarioForm.$valid){
174 - 176 +
175 $scope.setLoadingSalva(true); 177 $scope.setLoadingSalva(true);
176 - 178 +
177 QuestionarioRepository.save($scope.questionario).then(function(result) { 179 QuestionarioRepository.save($scope.questionario).then(function(result) {
178 $scope.questionario = result.originalElement; 180 $scope.questionario = result.originalElement;
179 $scope.isBloquear = !$scope.questionario.dataBloqueio; 181 $scope.isBloquear = !$scope.questionario.dataBloqueio;
@@ -191,7 +193,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -191,7 +193,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
191 $scope.setLoadingSalva(false); 193 $scope.setLoadingSalva(false);
192 } 194 }
193 }; 195 };
194 - 196 +
195 // Limpa a pergunta preenchida 197 // Limpa a pergunta preenchida
196 $scope.limparPergunta = function(){ 198 $scope.limparPergunta = function(){
197 if ($scope.editTipoResposta) { 199 if ($scope.editTipoResposta) {
@@ -199,10 +201,10 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -199,10 +201,10 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
199 respostasEscolha : [] 201 respostasEscolha : []
200 }; 202 };
201 } else { 203 } else {
202 - delete $scope.questionarioPergunta.questao; 204 + delete $scope.questionarioPergunta.questao;
203 } 205 }
204 }; 206 };
205 - 207 +
206 // Limpa o formulario preenchido 208 // Limpa o formulario preenchido
207 $scope.limparQuestionario = function(){ 209 $scope.limparQuestionario = function(){
208 $scope.questionario = { 210 $scope.questionario = {
@@ -218,19 +220,20 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -218,19 +220,20 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
218 220
219 QuestionarioRepository.get($scope.$parent.idObejct).then(function(result) { 221 QuestionarioRepository.get($scope.$parent.idObejct).then(function(result) {
220 $scope.questionario = result.originalElement; 222 $scope.questionario = result.originalElement;
221 - 223 + $scope.atualizarListaSizeSelect();
222 $scope.setLoading(false); 224 $scope.setLoading(false);
223 }); 225 });
224 } 226 }
225 - 227 +
226 // Seleciona todos as questoes na lista 228 // Seleciona todos as questoes na lista
227 $scope.checkAll = function(value) { 229 $scope.checkAll = function(value) {
228 angular.forEach($scope.questionario.questoes, function (item, key) { 230 angular.forEach($scope.questionario.questoes, function (item, key) {
229 item.$selected = value; 231 item.$selected = value;
230 item.$index = key; 232 item.$index = key;
231 }); 233 });
  234 + $scope.atualizarListaSizeSelect();
232 }; 235 };
233 - 236 +
234 // Seleciona todos as respostas na lista 237 // Seleciona todos as respostas na lista
235 $scope.checkAllRespostas = function(value) { 238 $scope.checkAllRespostas = function(value) {
236 angular.forEach($scope.questionarioPergunta.respostasEscolha, function (item, key) { 239 angular.forEach($scope.questionarioPergunta.respostasEscolha, function (item, key) {
@@ -238,7 +241,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -238,7 +241,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
238 item.$index = key; 241 item.$index = key;
239 }); 242 });
240 }; 243 };
241 - 244 +
242 // Abre modal perguntando se deseja excluir e exclui os elementos selecionados na lista de questões caso confirmado 245 // Abre modal perguntando se deseja excluir e exclui os elementos selecionados na lista de questões caso confirmado
243 $scope.prepararExcluirQuestoesSelecionados = function(){ 246 $scope.prepararExcluirQuestoesSelecionados = function(){
244 var lista = recuperarQuestoesSelecionadas(); 247 var lista = recuperarQuestoesSelecionadas();
@@ -256,6 +259,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -256,6 +259,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
256 } 259 }
257 }); 260 });
258 }); 261 });
  262 + $scope.atualizarListaSizeSelect();
259 $scope.$modalConfirmInstance.dismiss('cancel'); 263 $scope.$modalConfirmInstance.dismiss('cancel');
260 } 264 }
261 }); 265 });
@@ -264,7 +268,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -264,7 +268,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
264 return ; 268 return ;
265 } 269 }
266 }; 270 };
267 - 271 +
268 $scope.prepararExcluirRespostasSelecionadas = function() { 272 $scope.prepararExcluirRespostasSelecionadas = function() {
269 var lista = recuperarRespostasSelecionadas(); 273 var lista = recuperarRespostasSelecionadas();
270 if(lista.length > 0){ 274 if(lista.length > 0){
@@ -289,7 +293,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -289,7 +293,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
289 return ; 293 return ;
290 } 294 }
291 }; 295 };
292 - 296 +
293 $scope.editQuestao = function() { 297 $scope.editQuestao = function() {
294 var lista = recuperarQuestoesSelecionadas(); 298 var lista = recuperarQuestoesSelecionadas();
295 if (lista.length === 0) { 299 if (lista.length === 0) {
@@ -302,7 +306,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -302,7 +306,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
302 } 306 }
303 $scope.questionarioPergunta = lista[0]; 307 $scope.questionarioPergunta = lista[0];
304 }; 308 };
305 - 309 +
306 //Recupera todas as questões selecionadas na lista 310 //Recupera todas as questões selecionadas na lista
307 var recuperarQuestoesSelecionadas = function(){ 311 var recuperarQuestoesSelecionadas = function(){
308 var lista = []; 312 var lista = [];
@@ -313,7 +317,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -313,7 +317,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
313 }); 317 });
314 return lista; 318 return lista;
315 }; 319 };
316 - 320 +
317 //Recupera todas as possiveis respostas selecionadas na lista 321 //Recupera todas as possiveis respostas selecionadas na lista
318 var recuperarRespostasSelecionadas = function(){ 322 var recuperarRespostasSelecionadas = function(){
319 var lista = []; 323 var lista = [];
@@ -324,14 +328,14 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -324,14 +328,14 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
324 }); 328 });
325 return lista; 329 return lista;
326 }; 330 };
327 - 331 +
328 // Consulta entidade e mostra no formulario 332 // Consulta entidade e mostra no formulario
329 $scope.getQuestionario = function(questionario, edit){ 333 $scope.getQuestionario = function(questionario, edit){
330 $scope.setLoadingGet(true); 334 $scope.setLoadingGet(true);
331 - 335 +
332 QuestionarioRepository.get(questionario.id).then(function(result) { 336 QuestionarioRepository.get(questionario.id).then(function(result) {
333 $scope.questionario = result.originalElement; 337 $scope.questionario = result.originalElement;
334 - 338 +
335 if($scope.questionario.dataBloqueio === null || $scope.questionario.dataBloqueio === undefined){ 339 if($scope.questionario.dataBloqueio === null || $scope.questionario.dataBloqueio === undefined){
336 $scope.isBloquear = true; 340 $scope.isBloquear = true;
337 $scope.isDesbloquear = !$scope.isBloquear; 341 $scope.isDesbloquear = !$scope.isBloquear;
@@ -343,12 +347,12 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -343,12 +347,12 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
343 $scope.edit = false; 347 $scope.edit = false;
344 $scope.editTipoResposta = false; 348 $scope.editTipoResposta = false;
345 } 349 }
346 - 350 + $scope.atualizarListaSizeSelect();
347 $scope.pgEdit = edit; 351 $scope.pgEdit = edit;
348 $scope.setLoading(false); 352 $scope.setLoading(false);
349 }); 353 });
350 }; 354 };
351 - 355 +
352 //Watch para calcular valor unitario 356 //Watch para calcular valor unitario
353 $scope.$watch('questionario.dominioTipoQuestionario', function() { 357 $scope.$watch('questionario.dominioTipoQuestionario', function() {
354 $timeout(function() { 358 $timeout(function() {
@@ -359,7 +363,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -359,7 +363,7 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
359 $scope.showAlert('warning', $translate.instant('MSG.CADASTRO_CHECKLIST_ANALISE_SOLUCAO')); 363 $scope.showAlert('warning', $translate.instant('MSG.CADASTRO_CHECKLIST_ANALISE_SOLUCAO'));
360 } 364 }
361 }); 365 });
362 - 366 +
363 $scope.questionarioPergunta.dominioTipoResposta = {codigo : 4}; 367 $scope.questionarioPergunta.dominioTipoResposta = {codigo : 4};
364 $scope.editTipoResposta = false; 368 $scope.editTipoResposta = false;
365 $scope.questionarioPergunta.respostasEscolha = [{resposta : $translate.instant('LABEL.SIM')}, 369 $scope.questionarioPergunta.respostasEscolha = [{resposta : $translate.instant('LABEL.SIM')},
@@ -379,6 +383,15 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;, @@ -379,6 +383,15 @@ citApp.controller(&#39;QuestionarioController&#39;, [&#39;$scope&#39;, &#39;QuestionarioRepository&#39;,
379 } 383 }
380 }); 384 });
381 }); 385 });
  386 +
  387 + $scope.atualizarListaSizeSelect = function() {
  388 + if(!$scope.listaSize){
  389 + $scope.listaSize = 0;
  390 + };
  391 + var lista = recuperarQuestoesSelecionadas();
  392 + $scope.listaSize = lista.length;
  393 + };
  394 +
382 }]); 395 }]);
383 396
384 397
cit-contratos-web/src/main/webapp/html/cronogramaExecucao/cronogramaExecucaoEdit.html
@@ -127,31 +127,38 @@ @@ -127,31 +127,38 @@
127 <div class="row margin-top"> 127 <div class="row margin-top">
128 <div class="col-sm-12"> 128 <div class="col-sm-12">
129 <div class="panel panel-default"> 129 <div class="panel panel-default">
130 - <div class="panel-heading clearfix">  
131 - <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-show="edit" ng-click="openModalItensCronograma();" type="button"  
132 - ng-disabled="cronogramaExecucao.id">  
133 - <i class="fa fa-plus-circle yellow-dark"></i>  
134 - <translate>LABEL.ADICIONAR</translate> </a>  
135 - </button>  
136 -  
137 - <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button" ng-show="cronogramaExecucao.itensCronogramaExecucao.length > 0"  
138 - ng-click="editItemCronogramaExecucao(false)">  
139 - <i class="fa fa-search blue"></i>  
140 - <translate>LABEL.VISUALIZAR</translate>  
141 - </button>  
142 -  
143 - <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" ng-show="edit && cronogramaExecucao.itensCronogramaExecucao.length > 0"  
144 - ng-click="editItemCronogramaExecucao(true)">  
145 - <i class="fa fa-pencil blue"></i>  
146 - <translate>LABEL.EDITAR</translate>  
147 - </button>  
148 -  
149 - <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" type="button" ng-show="edit && cronogramaExecucao.itensCronogramaExecucao.length > 0"  
150 - ng-click="excluirItensCronogramaSelecionados()" ng-disabled="cronogramaExecucao.id">  
151 - <i class="fa fa-times red"></i>  
152 - <translate>LABEL.REMOVER</translate>  
153 - </button> 130 + <div class="panel-heading clearfix col-sm-12 text-left">
  131 +
  132 + <div class="col-sm-1" tooltip="{{ !edit ? $translate.instant('PORTAL.MSG.ADICIONAR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  133 + <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-disabled="!edit" ng-click="openModalItensCronograma();" type="button"
  134 + ng-disabled="cronogramaExecucao.id">
  135 + <i class="fa fa-plus-circle yellow-dark"></i>
  136 + <translate>LABEL.ADICIONAR</translate> </a>
  137 + </button>
  138 + </div>
  139 + <div class="col-sm-1" tooltip="{{ listaSize == 0 ? $translate.instant('PORTAL.MSG.VISUALIZAR_SELECIONE_ITEM') : listaSize > 1 ? $translate.instant('PORTAL.MSG.VISUALIZAR_DISABLED_SELECIONADOS') : '' }}">
  140 + <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button" ng-disabled="listaSize != 1"
  141 + ng-click="editItemCronogramaExecucao(false)">
  142 + <i class="fa fa-search blue"></i>
  143 + <translate>LABEL.VISUALIZAR</translate>
  144 + </button>
  145 + </div>
  146 + <div class="col-sm-1" tooltip="{{ listaSize == 0 && edit ? $translate.instant('PORTAL.MSG.EDITAR_SELECIONE_ITEM') : listaSize > 1 ? $translate.instant('PORTAL.MSG.EDITAR_DISABLED_SELECIONADOS') : !edit ? $translate.instant('PORTAL.MSG.EDITAR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  147 + <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" ng-disabled="listaSize != 1 || !edit"
  148 + ng-click="editItemCronogramaExecucao(true)">
  149 + <i class="fa fa-pencil blue"></i>
  150 + <translate>LABEL.EDITAR</translate>
  151 + </button>
  152 + </div>
  153 + <div class="col-sm-1" tooltip="{{ listaSize == 0 && edit ? $translate.instant('PORTAL.MSG.EXCLUIR_SELECIONE_ITEM') : !edit ? $translate.instant('PORTAL.MSG.EXCLUIR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  154 + <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" type="button" ng-disabled="listaSize == 0 || !edit || cronogramaExecucao.id"
  155 + ng-click="excluirItensCronogramaSelecionados()">
  156 + <i class="fa fa-times red"></i>
  157 + <translate>LABEL.REMOVER</translate>
  158 + </button>
  159 + </div>
154 </div> 160 </div>
  161 +
155 <table class="table table-striped table-bordered table-hover"> 162 <table class="table table-striped table-bordered table-hover">
156 <thead> 163 <thead>
157 <tr> 164 <tr>
@@ -172,7 +179,7 @@ @@ -172,7 +179,7 @@
172 <tbody> 179 <tbody>
173 <tr ng-repeat="item in cronogramaExecucao.itensCronogramaExecucao" ng-show="cronogramaExecucao.itensCronogramaExecucao.length > 0"> 180 <tr ng-repeat="item in cronogramaExecucao.itensCronogramaExecucao" ng-show="cronogramaExecucao.itensCronogramaExecucao.length > 0">
174 <td class="text-center"> 181 <td class="text-center">
175 - <input type="checkbox" ng-click="item.$index = $index" ng-checked="item.$checked" ng-model="item.$checked" /> 182 + <input type="checkbox" ng-click="item.$index = $index; atualizarListaSizeSelect()" ng-checked="item.$checked" ng-model="item.$checked" />
176 </td> 183 </td>
177 <td class="text-justify"> 184 <td class="text-justify">
178 {{ item.contratoItem.estudoTecnicoBemServicoSolucao.nomeBemServicoSolucao }} 185 {{ item.contratoItem.estudoTecnicoBemServicoSolucao.nomeBemServicoSolucao }}
cit-contratos-web/src/main/webapp/html/ordemFornecimento/ordemFornecimentoEdit.html
@@ -132,36 +132,43 @@ @@ -132,36 +132,43 @@
132 <div class="row margin-top"> 132 <div class="row margin-top">
133 <div class="col-sm-12"> 133 <div class="col-sm-12">
134 <div class="panel panel-default"> 134 <div class="panel panel-default">
135 - <div class="panel-heading clearfix">  
136 - <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" type="button" ng-show="edit && !ordemFornecimento.id"  
137 - ng-click="openModalItensBensServicos();">  
138 - <i class="fa fa-plus-circle yellow-dark"></i>  
139 - <translate>LABEL.ADICIONAR</translate>  
140 - </button>  
141 -  
142 - <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button"  
143 - ng-click="abrirItensBensServicos(false)">  
144 - <i class="fa fa-search blue"></i>  
145 - <translate>LABEL.VISUALIZAR</translate>  
146 - </button>  
147 -  
148 - <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" ng-show="edit" class="btn btn-clear" type="button"  
149 - ng-click="abrirItensBensServicos(true)">  
150 - <i class="fa fa-pencil blue"></i>  
151 - <translate>LABEL.EDITAR</translate>  
152 - </button>  
153 -  
154 - <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" ng-show="edit && !ordemFornecimento.id" class="btn btn-clear" type="button"  
155 - ng-click="removerItensBensServicos()">  
156 - <i class="fa fa-times red"></i>  
157 - <translate>LABEL.REMOVER</translate>  
158 - </button> 135 + <div class="panel-heading clearfix col-sm-12 text-left">
  136 +
  137 + <div class="col-sm-1" tooltip="{{ !edit ? $translate.instant('PORTAL.MSG.ADICIONAR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  138 + <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" type="button" ng-disabled="!edit"
  139 + ng-click="openModalItensBensServicos();">
  140 + <i class="fa fa-plus-circle yellow-dark"></i>
  141 + <translate>LABEL.ADICIONAR</translate>
  142 + </button>
  143 + </div>
  144 + <div class="col-sm-1" tooltip="{{ listaSize == 0 ? $translate.instant('PORTAL.MSG.VISUALIZAR_SELECIONE_ITEM') : listaSize > 1 ? $translate.instant('PORTAL.MSG.VISUALIZAR_DISABLED_SELECIONADOS') : '' }}">
  145 + <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button" ng-disabled="listaSize != 1"
  146 + ng-click="abrirItensBensServicos(false)">
  147 + <i class="fa fa-search blue"></i>
  148 + <translate>LABEL.VISUALIZAR</translate>
  149 + </button>
  150 + </div>
  151 + <div class="col-sm-1" tooltip="{{ listaSize == 0 && edit ? $translate.instant('PORTAL.MSG.EDITAR_SELECIONE_ITEM') : listaSize > 1 ? $translate.instant('PORTAL.MSG.EDITAR_DISABLED_SELECIONADOS') : !edit ? $translate.instant('PORTAL.MSG.EDITAR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  152 + <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" ng-disabled="listaSize != 1 || !edit" class="btn btn-clear" type="button"
  153 + ng-click="abrirItensBensServicos(true)">
  154 + <i class="fa fa-pencil blue"></i>
  155 + <translate>LABEL.EDITAR</translate>
  156 + </button>
  157 + </div>
  158 + <div class="col-sm-1" tooltip="{{ listaSize == 0 && edit ? $translate.instant('PORTAL.MSG.EXCLUIR_SELECIONE_ITEM') : !edit ? $translate.instant('PORTAL.MSG.EXCLUIR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  159 + <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" ng-disabled="listaSize == 0 || !edit || ordemFornecimento.id" class="btn btn-clear" type="button"
  160 + ng-click="removerItensBensServicos()">
  161 + <i class="fa fa-times red"></i>
  162 + <translate>LABEL.REMOVER</translate>
  163 + </button>
  164 + </div>
159 </div><!-- .panel-heading --> 165 </div><!-- .panel-heading -->
  166 +
160 <table class="table table-bordered table-striped"> 167 <table class="table table-bordered table-striped">
161 <thead> 168 <thead>
162 <tr> 169 <tr>
163 <th class="text-center" width="20px"> 170 <th class="text-center" width="20px">
164 - <input type="checkbox" ng-model="selectedAllItens" ng-click="checkAllItens(selectedAllItens);" ng-show="edit"/> 171 + <input type="checkbox" ng-model="selectedAllItens" ng-click="checkAll(selectedAllItens);" ng-show="edit"/>
165 </th> 172 </th>
166 <th width="3%" class="text-center"></th> 173 <th width="3%" class="text-center"></th>
167 <th width="30%" class="text-center"><translate>LABEL.NOME_ITEM</translate></th> 174 <th width="30%" class="text-center"><translate>LABEL.NOME_ITEM</translate></th>
@@ -178,7 +185,7 @@ @@ -178,7 +185,7 @@
178 </tr> 185 </tr>
179 <tr ng-repeat="item in ordemFornecimento.itensBensServicos"> 186 <tr ng-repeat="item in ordemFornecimento.itensBensServicos">
180 <td class="text-center"> 187 <td class="text-center">
181 - <input type="checkbox" name="itemChecked" ng-model="item.$checked" /> 188 + <input type="checkbox" name="itemChecked" ng-model="item.$checked" ng-click="atualizarListaSizeSelect()"/>
182 </td> 189 </td>
183 <td>{{ $index + 1 }}</td> 190 <td>{{ $index + 1 }}</td>
184 <td title="{{item.itemBemServico.estudoTecnicoBemServicoSolucao.nomeBemServicoSolucao}}">{{ splitText(item.itemBemServico.estudoTecnicoBemServicoSolucao.nomeBemServicoSolucao, 70) }}</td> 191 <td title="{{item.itemBemServico.estudoTecnicoBemServicoSolucao.nomeBemServicoSolucao}}">{{ splitText(item.itemBemServico.estudoTecnicoBemServicoSolucao.nomeBemServicoSolucao, 70) }}</td>
cit-contratos-web/src/main/webapp/html/questionario/questionarioEdit.html
@@ -178,21 +178,26 @@ @@ -178,21 +178,26 @@
178 </legend> 178 </legend>
179 <div class="col-sm-12"> 179 <div class="col-sm-12">
180 <div class="panel panel-default"> 180 <div class="panel panel-default">
181 - <div class="panel-heading clearfix">  
182 - <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-show="edit" ng-click="addQuestao()" type="button">  
183 - <i class="fa fa-plus-circle yellow-dark"></i>  
184 - <translate>LABEL.ADICIONAR</translate> </a>  
185 - </button>  
186 -  
187 - <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" ng-show="edit" ng-click="editQuestao()">  
188 - <i class="fa fa-pencil blue"></i>  
189 - <translate>LABEL.EDITAR</translate>  
190 - </button> 181 + <div class="panel-heading clearfix col-sm-12 text-left">
191 182
192 - <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" type="button" ng-click="prepararExcluirQuestoesSelecionados()" ng-show="edit">  
193 - <i class="fa fa-times red"></i>  
194 - <translate>LABEL.REMOVER</translate>  
195 - </button> 183 + <div class="col-sm-1" tooltip="{{ !edit ? $translate.instant('PORTAL.MSG.ADICIONAR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  184 + <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" ng-disabled="!edit" ng-click="addQuestao()" type="button">
  185 + <i class="fa fa-plus-circle yellow-dark"></i>
  186 + <translate>LABEL.ADICIONAR</translate> </a>
  187 + </button>
  188 + </div>
  189 + <div class="col-sm-1" tooltip="{{ listaSize == 0 && edit ? $translate.instant('PORTAL.MSG.EDITAR_SELECIONE_ITEM') : listaSize > 1 ? $translate.instant('PORTAL.MSG.EDITAR_DISABLED_SELECIONADOS') : !edit ? $translate.instant('PORTAL.MSG.EDITAR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  190 + <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" class="btn btn-clear" ng-disabled="listaSize != 1 || !edit" ng-click="editQuestao()">
  191 + <i class="fa fa-pencil blue"></i>
  192 + <translate>LABEL.EDITAR</translate>
  193 + </button>
  194 + </div>
  195 + <div class="col-sm-1" tooltip="{{ listaSize == 0 && edit ? $translate.instant('PORTAL.MSG.EXCLUIR_SELECIONE_ITEM') : !edit ? $translate.instant('PORTAL.MSG.EXCLUIR_NAO_PERMITIDO_ACAO_VISUALIZAR') : '' }}">
  196 + <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" type="button" ng-click="prepararExcluirQuestoesSelecionados()" ng-disabled="listaSize == 0 || !edit">
  197 + <i class="fa fa-times red"></i>
  198 + <translate>LABEL.REMOVER</translate>
  199 + </button>
  200 + </div>
196 201
197 </div><!-- .panel-heading --> 202 </div><!-- .panel-heading -->
198 203
@@ -216,7 +221,7 @@ @@ -216,7 +221,7 @@
216 <tbody> 221 <tbody>
217 <tr ng-repeat="questao in questionario.questoes" ng-show="questionario.questoes.length > 0"> 222 <tr ng-repeat="questao in questionario.questoes" ng-show="questionario.questoes.length > 0">
218 <td class="text-center" ng-show="edit"> 223 <td class="text-center" ng-show="edit">
219 - <input type="checkbox" ng-click="questao.$index = $index" ng-checked="questao.$selected" ng-model="questao.$selected" /> 224 + <input type="checkbox" ng-click="questao.$index = $index; atualizarListaSizeSelect()" ng-checked="questao.$selected" ng-model="questao.$selected" />
220 </td> 225 </td>
221 <td> 226 <td>
222 {{ questao.questao }} 227 {{ questao.questao }}