Commit 22689dff750d2506c28d2eb1de8d39a55fb5777b

Authored by Ronan Tavares Camargo
1 parent 290a8dec
Exists in master

Redmine #4426

cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js
... ... @@ -980,79 +980,84 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C
980 980 };
981 981  
982 982 // responsavel por adicionar um empenho ao contrato
983   - $scope.adicionarEmpenho = function (formDialogEmpenho){
  983 + $scope.adicionarEmpenho = function (formDialogEmpenho, continuarEditando){
984 984  
985 985 formDialogEmpenho.$submitted = true;
986 986  
987   - if (formDialogEmpenho.$valid) {
  987 + if (formDialogEmpenho.$invalid) {
  988 + //Mensagem de erro de campos obrigatorios n�o preenchidos
  989 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  990 + return;
  991 + }
988 992  
989   - // a finalidade do empenho "Anulação" e "Reforço" só poderão ser informadas caso haja a finalidade "Despesa do contrato" cadastrada
990   - if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo != 1) {
991   - var hasDespesaContrato = false;
992   - for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) {
993   - var empenho = $scope.contrato.ctrtEmpenhos[i];
994   - if (empenho.dominioFinalidadeEmpenho.codigo === 1 && !empenho.$checked) {
995   - hasDespesaContrato = true;
996   - break;
997   - }
  993 + // a finalidade do empenho "Anulação" e "Reforço" só poderão ser informadas caso haja a finalidade "Despesa do contrato" cadastrada
  994 + if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo != 1) {
  995 + var hasDespesaContrato = false;
  996 + for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) {
  997 + var empenho = $scope.contrato.ctrtEmpenhos[i];
  998 + if (empenho.dominioFinalidadeEmpenho.codigo === 1 && !empenho.$checked) {
  999 + hasDespesaContrato = true;
  1000 + break;
998 1001 }
  1002 + }
999 1003  
1000   - if (hasDespesaContrato) {
1001   - // Caso a finalidade seja "Anulação", o sistema deverá diminuir o valor deste empenho do
1002   - // "valor total empenhado" e não somá-lo com os empenhos de finalidade "reforço e despesa do contrato".
1003   - if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo === 3) {
1004   - $scope.contratoEmpenhoTemp.valorEmpenhado = ($scope.contratoEmpenhoTemp.valorEmpenhado * (-1));
1005   - }
1006   - } else {
1007   - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.FINALIDADE_EMPENHO_FALTANDO'));
1008   - return;
  1004 + if (hasDespesaContrato) {
  1005 + // Caso a finalidade seja "Anulação", o sistema deverá diminuir o valor deste empenho do
  1006 + // "valor total empenhado" e não somá-lo com os empenhos de finalidade "reforço e despesa do contrato".
  1007 + if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo === 3) {
  1008 + $scope.contratoEmpenhoTemp.valorEmpenhado = ($scope.contratoEmpenhoTemp.valorEmpenhado * (-1));
1009 1009 }
  1010 + } else {
  1011 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.FINALIDADE_EMPENHO_FALTANDO'));
  1012 + return;
1010 1013 }
  1014 + }
1011 1015  
1012   - // data de empenho nao pode ser maior que a data de vigencia final do contrato
1013   - if(!isPeriodoValido($scope.contratoEmpenhoTemp.data, $scope.contrato.dataVigenciaFinal)){
  1016 + // data de empenho nao pode ser maior que a data de vigencia final do contrato
  1017 + if(!isPeriodoValido($scope.contratoEmpenhoTemp.data, $scope.contrato.dataVigenciaFinal)){
1014 1018  
1015   - $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_EMPENHO_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO'));
1016   - return;
1017   - }
  1019 + $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_EMPENHO_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO'));
  1020 + return;
  1021 + }
1018 1022  
1019   - // o valor total de empenhado n�o pode ser superior ao valor do contrato
1020   - var somaEmpenhos = $scope.contrato.valorTotalEmpenhado + $scope.contratoEmpenhoTemp.valorEmpenhado;
1021   - if (somaEmpenhos > $scope.contrato.valorContrato) {
  1023 + // o valor total de empenhado n�o pode ser superior ao valor do contrato
  1024 + var somaEmpenhos = $scope.contrato.valorTotalEmpenhado + $scope.contratoEmpenhoTemp.valorEmpenhado;
  1025 + if (somaEmpenhos > $scope.contrato.valorContrato) {
1022 1026  
1023   - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_EMPENHADO_SUPERIOR_VALOR_CONTRATADO'));
1024   - return;
1025   - }
  1027 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_EMPENHADO_SUPERIOR_VALOR_CONTRATADO'));
  1028 + return;
  1029 + }
1026 1030  
1027   - // o valor total do empenho não pode ser negativo
1028   - if (somaEmpenhos < 0) {
  1031 + // o valor total do empenho não pode ser negativo
  1032 + if (somaEmpenhos < 0) {
1029 1033  
1030   - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ANULACAO_SUPERIOR_VALOR_TOTAL'));
1031   - return;
1032   - }
  1034 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ANULACAO_SUPERIOR_VALOR_TOTAL'));
  1035 + return;
  1036 + }
1033 1037  
1034   - if ($scope.contrato.ctrtEmpenhos){
  1038 + if ($scope.contrato.ctrtEmpenhos){
1035 1039  
1036   - if ($scope.contratoEmpenhoTemp.$checked){
  1040 + if ($scope.contratoEmpenhoTemp.$checked){
1037 1041  
1038   - for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) {
  1042 + for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) {
1039 1043  
1040   - if ($scope.contrato.ctrtEmpenhos[i].$checked) {
  1044 + if ($scope.contrato.ctrtEmpenhos[i].$checked) {
1041 1045  
1042   - $scope.contrato.ctrtEmpenhos[i] = $scope.contratoEmpenhoTemp;
1043   - }
  1046 + $scope.contrato.ctrtEmpenhos[i] = $scope.contratoEmpenhoTemp;
1044 1047 }
1045   - } else {
1046   -
1047   - $scope.contrato.ctrtEmpenhos.push($scope.contratoEmpenhoTemp);
1048 1048 }
  1049 + } else {
  1050 +
  1051 + $scope.contrato.ctrtEmpenhos.push($scope.contratoEmpenhoTemp);
1049 1052 }
1050   - $scope.contratoEmpenhoTemp = {};
  1053 + }
  1054 + $scope.contratoEmpenhoTemp = {};
  1055 +
  1056 + if(continuarEditando){
  1057 + formDialogEmpenho.$submitted = false;
  1058 + formDialogEmpenho.$setPristine();
  1059 + }else{
1051 1060 $scope.$modalInstance.dismiss('cancel');
1052   - } else {
1053   -
1054   - //Mensagem de erro de campos obrigatorios n�o preenchidos
1055   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
1056 1061 }
1057 1062 };
1058 1063  
... ... @@ -1199,47 +1204,52 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1199 1204 };
1200 1205  
1201 1206 // responsavel por adicionar um item de contrato ao contrato
1202   - $scope.adicionarItemContrato = function (formDialogItemContrato){
  1207 + $scope.adicionarItemContrato = function (formDialogItemContrato, continuarEditando){
1203 1208  
1204 1209 formDialogItemContrato.$submitted = true;
1205 1210  
1206   - if (formDialogItemContrato.$valid) {
  1211 + if (formDialogItemContrato.$invalid) {
  1212 + //Mensagem de erro de campos obrigatorios n�o preenchidos
  1213 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1214 + return;
  1215 + }
1207 1216  
1208   - // o valor total de empenhado n�o pode ser superior ao valor do contrato
1209   - var valorTotalItens = 0;
1210   - $scope.contrato.ctrtItens.forEach(function (itemContrato) {
1211   - valorTotalItens += itemContrato.valorTotalItem;
1212   - });
  1217 + // o valor total de empenhado n�o pode ser superior ao valor do contrato
  1218 + var valorTotalItens = 0;
  1219 + $scope.contrato.ctrtItens.forEach(function (itemContrato) {
  1220 + valorTotalItens += itemContrato.valorTotalItem;
  1221 + });
1213 1222  
1214   - valorTotalItens += $scope.contrato.ctrtItens.length > 0 ? $scope.itemContratoTemp.valorTotalItem : 0;
1215   - if (valorTotalItens > $scope.contrato.valorContrato) {
1216   - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ITENS_SUPERIOR_VALOR_CONTRATADO'));
1217   - return;
1218   - }
  1223 + valorTotalItens += $scope.contrato.ctrtItens.length > 0 ? $scope.itemContratoTemp.valorTotalItem : 0;
  1224 + if (valorTotalItens > $scope.contrato.valorContrato) {
  1225 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ITENS_SUPERIOR_VALOR_CONTRATADO'));
  1226 + return;
  1227 + }
1219 1228  
1220   - if ($scope.contrato.ctrtItens){
  1229 + if ($scope.contrato.ctrtItens){
1221 1230  
1222   - if ($scope.itemContratoTemp.$checked){
  1231 + if ($scope.itemContratoTemp.$checked){
1223 1232  
1224   - for (var i = 0; i < $scope.contrato.ctrtItens.length; i++) {
  1233 + for (var i = 0; i < $scope.contrato.ctrtItens.length; i++) {
1225 1234  
1226   - if ($scope.contrato.ctrtItens[i].$checked) {
  1235 + if ($scope.contrato.ctrtItens[i].$checked) {
1227 1236  
1228   - $scope.contrato.ctrtItens[i] = $scope.itemContratoTemp;
1229   - }
  1237 + $scope.contrato.ctrtItens[i] = $scope.itemContratoTemp;
1230 1238 }
1231   - } else {
1232   -
1233   - $scope.contrato.ctrtItens.push($scope.itemContratoTemp);
1234 1239 }
  1240 + } else {
  1241 +
  1242 + $scope.contrato.ctrtItens.push($scope.itemContratoTemp);
1235 1243 }
  1244 + }
1236 1245  
1237   - $scope.itemContratoTemp = {};
1238   - $scope.$modalInstance.dismiss('cancel');
  1246 + $scope.itemContratoTemp = {};
  1247 +
  1248 + if(continuarEditando){
  1249 + formDialogItemContrato.$submitted = false;
  1250 + formDialogItemContrato.$setPristine();
1239 1251 } else {
1240   -
1241   - //Mensagem de erro de campos obrigatorios n�o preenchidos
1242   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1252 + $scope.$modalInstance.dismiss('cancel');
1243 1253 }
1244 1254 };
1245 1255  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoController.js
... ... @@ -505,11 +505,9 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
505 505 $scope.$openModal('modal-requisito-negocio.html', 'lg');
506 506 });
507 507 };
508   -
509   - $scope.openModalSolucao = function() {
510   - $scope.editSolucao = true;
511   -
512   - $scope.solucao = {
  508 +
  509 + function resetModalSolucao(){
  510 + $scope.solucao = {
513 511 etlaQuestionario : {}
514 512 };
515 513  
... ... @@ -526,6 +524,12 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
526 524 $scope.solucao.etlaQuestionario.etQuestionario = {
527 525 nome : $scope.questionarioTemplate.nome
528 526 };
  527 + }
  528 +
  529 + $scope.openModalSolucao = function() {
  530 + $scope.editSolucao = true;
  531 +
  532 + resetModalSolucao();
529 533  
530 534 $timeout(function() {
531 535 $scope.$openModal('modal-solucao.html', 'lg');
... ... @@ -1146,167 +1150,218 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1146 1150 };
1147 1151  
1148 1152 // ADICIONAR Solucao
1149   - $scope.salvaSolucao = function(formDialogSolucao) {
  1153 + $scope.salvaSolucao = function(formDialogSolucao, continuarEditando) {
1150 1154  
1151 1155 formDialogSolucao.$submitted = true;
1152 1156  
1153   - //verifica se o formulario está valido para salvar
1154   - if (formDialogSolucao.$valid) {
1155   - if ($scope.estudoTecnico.etLevantamentoAlternativas) {
1156   - if ($scope.solucao.$checked) {
1157   - for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) {
1158   - if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {
1159   - $scope.estudoTecnico.etLevantamentoAlternativas[i] = $scope.solucao;
1160   - }
1161   - }
1162   - } else {
1163   - $scope.estudoTecnico.etLevantamentoAlternativas.push($scope.solucao);
1164   - }
1165   - } else {
1166   - $scope.estudoTecnico.etLevantamentoAlternativas = [$scope.solucao];
1167   - }
1168   - $scope.$modalInstance.dismiss('cancel');
  1157 + //verifica se o formulario está valido para salvar
  1158 + if (formDialogSolucao.$invalid) {
  1159 + //Mensagem de erro de campos obrigatorios não preenchidos
  1160 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1161 + return;
  1162 + }
  1163 +
  1164 + if ($scope.estudoTecnico.etLevantamentoAlternativas) {
  1165 + if ($scope.solucao.$checked) {
  1166 + for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) {
  1167 + if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {
  1168 + $scope.estudoTecnico.etLevantamentoAlternativas[i] = $scope.solucao;
  1169 + }
  1170 + }
1169 1171 } else {
1170   - //Mensagem de erro de campos obrigatorios não preenchidos
1171   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1172 + $scope.estudoTecnico.etLevantamentoAlternativas.push($scope.solucao);
1172 1173 }
  1174 + } else {
  1175 + $scope.estudoTecnico.etLevantamentoAlternativas = [$scope.solucao];
  1176 + }
  1177 +
  1178 + if(continuarEditando){
  1179 + formDialogSolucao.$submitted = false;
  1180 + formDialogSolucao.$setPristine();
  1181 + resetModalSolucao();
  1182 + }else{
  1183 + $scope.$modalInstance.dismiss('cancel');
  1184 + }
  1185 +
1173 1186 };
1174 1187  
1175 1188 // ADICIONAR Solucao
1176   - $scope.salvaBemServico = function(formDialogBensServico) {
1177   -
1178   - formDialogBensServico.$submitted = true;
1179   -
1180   - //verifica se o formulario está valido para salvar
1181   - if (formDialogBensServico.$valid) {
1182   - if ($scope.estudoTecnico.etBensServicosSolucoes) {
1183   - if ($scope.bemServico.$checked) {
1184   - for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) {
1185   - if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {
1186   - $scope.estudoTecnico.etBensServicosSolucoes[i] = $scope.bemServico;
1187   - }
1188   - }
1189   - } else {
1190   - $scope.bemServico.$index = $scope.estudoTecnico.etBensServicosSolucoes.length + 1;
1191   - $scope.estudoTecnico.etBensServicosSolucoes.push($scope.bemServico);
1192   - }
1193   - } else {
1194   - $scope.bemServico.$index = 1;
1195   - $scope.estudoTecnico.etBensServicosSolucoes = [$scope.bemServico];
1196   - }
1197   - $scope.$modalInstance.dismiss('cancel');
1198   - } else {
1199   - //Mensagem de erro de campos obrigatorios não preenchidos
1200   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
1201   - }
  1189 + $scope.salvaBemServico = function(formDialogBensServico, continuarEditando) {
  1190 +
  1191 + formDialogBensServico.$submitted = true;
  1192 +
  1193 + //verifica se o formulario está valido para salvar
  1194 + if (formDialogBensServico.$invalid) {
  1195 + //Mensagem de erro de campos obrigatorios não preenchidos
  1196 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1197 + return;
  1198 + }
  1199 +
  1200 + if ($scope.estudoTecnico.etBensServicosSolucoes) {
  1201 + if ($scope.bemServico.$checked) {
  1202 + for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) {
  1203 + if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {
  1204 + $scope.estudoTecnico.etBensServicosSolucoes[i] = $scope.bemServico;
  1205 + }
  1206 + }
  1207 + } else {
  1208 + $scope.bemServico.$index = $scope.estudoTecnico.etBensServicosSolucoes.length + 1;
  1209 + $scope.estudoTecnico.etBensServicosSolucoes.push($scope.bemServico);
  1210 + }
  1211 + } else {
  1212 + $scope.bemServico.$index = 1;
  1213 + $scope.estudoTecnico.etBensServicosSolucoes = [$scope.bemServico];
  1214 + }
  1215 +
  1216 + if(continuarEditando){
  1217 + formDialogBensServico.$submitted = false;
  1218 + formDialogBensServico.$setPristine();
  1219 + $scope.bemServico = {};
  1220 + }else{
  1221 + $scope.$modalInstance.dismiss('cancel');
  1222 + }
1202 1223 };
1203 1224  
1204 1225 // ADICIONAR BENEFÍCIO ESPERADO
1205   - $scope.salvaBeneficioEsperado = function(formDialogBeneficioEsperado) {
  1226 + $scope.salvaBeneficioEsperado = function(formDialogBeneficioEsperado, continuarEditando) {
1206 1227  
1207 1228 formDialogBeneficioEsperado.$submitted = true;
1208 1229  
1209 1230 //verifica se o formulario está valido para salvar
1210   - if (formDialogBeneficioEsperado.$valid) {
1211   - if ($scope.estudoTecnico.etBeneficiosEsperados) {
1212   - if ($scope.beneficioEsperado.$checked) {
1213   - for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) {
1214   - if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {
1215   - $scope.estudoTecnico.etBeneficiosEsperados[i] = $scope.beneficioEsperado;
1216   - }
1217   - }
1218   - } else {
1219   - $scope.estudoTecnico.etBeneficiosEsperados.push($scope.beneficioEsperado);
1220   - }
1221   - } else {
1222   - $scope.estudoTecnico.etBeneficiosEsperados = [$scope.beneficioEsperado];
1223   - }
1224   - $scope.$modalInstance.dismiss('cancel');
1225   - } else {
1226   - //Mensagem de erro de campos obrigatorios não preenchidos
  1231 + if (formDialogBeneficioEsperado.$invalid) {
  1232 + //Mensagem de erro de campos obrigatorios não preenchidos
1227 1233 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1234 + return;
  1235 + }
  1236 +
  1237 + if ($scope.estudoTecnico.etBeneficiosEsperados) {
  1238 + if ($scope.beneficioEsperado.$checked) {
  1239 + for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) {
  1240 + if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {
  1241 + $scope.estudoTecnico.etBeneficiosEsperados[i] = $scope.beneficioEsperado;
  1242 + }
  1243 + }
  1244 + } else {
  1245 + $scope.estudoTecnico.etBeneficiosEsperados.push($scope.beneficioEsperado);
  1246 + }
  1247 + } else {
  1248 + $scope.estudoTecnico.etBeneficiosEsperados = [$scope.beneficioEsperado];
  1249 + }
  1250 +
  1251 + if(continuarEditando){
  1252 + formDialogBeneficioEsperado.$submitted = false;
  1253 + formDialogBeneficioEsperado.$setPristine();
  1254 + $scope.beneficioEsperado = {};
  1255 + } else {
  1256 + $scope.$modalInstance.dismiss('cancel');
1228 1257 }
1229 1258 };
1230 1259  
1231 1260 // responsavel por adicionar um recurso tecnico ao estudo tecnico
1232   - $scope.salvaRecursoMaterial = function (formDialogRecursoMaterial){
1233   -
1234   - formDialogRecursoMaterial.$submitted = true;
1235   -
1236   - if (formDialogRecursoMaterial.$valid) {
1237   - if ($scope.estudoTecnico.etRecursosMateriais){
1238   - if ($scope.estudoTecnicoRecursoMaterialTemp.$checked){
1239   - for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) {
1240   - if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) {
1241   - $scope.estudoTecnico.etRecursosMateriais[i] = $scope.estudoTecnicoRecursoMaterialTemp;
1242   - }
1243   - }
1244   - } else {
1245   - $scope.estudoTecnico.etRecursosMateriais.push($scope.estudoTecnicoRecursoMaterialTemp);
1246   - }
1247   - } else {
1248   - $scope.estudoTecnico.etRecursosMateriais = [$scope.estudoTecnicoRecursoMaterialTemp];
1249   - }
1250   - $scope.estudoTecnicoRecursoMaterialTemp = {};
1251   - $scope.$modalInstance.dismiss('cancel');
1252   - } else {
1253   - //Mensagem de erro de campos obrigatorios não preenchidos
1254   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
1255   - }
  1261 + $scope.salvaRecursoMaterial = function (formDialogRecursoMaterial, continuarEditando){
  1262 +
  1263 + formDialogRecursoMaterial.$submitted = true;
  1264 +
  1265 + if (formDialogRecursoMaterial.$invalid) {
  1266 + //Mensagem de erro de campos obrigatorios não preenchidos
  1267 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1268 + return;
  1269 + }
  1270 +
  1271 + if ($scope.estudoTecnico.etRecursosMateriais){
  1272 + if ($scope.estudoTecnicoRecursoMaterialTemp.$checked){
  1273 + for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) {
  1274 + if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) {
  1275 + $scope.estudoTecnico.etRecursosMateriais[i] = $scope.estudoTecnicoRecursoMaterialTemp;
  1276 + }
  1277 + }
  1278 + } else {
  1279 + $scope.estudoTecnico.etRecursosMateriais.push($scope.estudoTecnicoRecursoMaterialTemp);
  1280 + }
  1281 + } else {
  1282 + $scope.estudoTecnico.etRecursosMateriais = [$scope.estudoTecnicoRecursoMaterialTemp];
  1283 + }
  1284 +
  1285 + if(continuarEditando){
  1286 + formDialogRecursoMaterial.$submitted = false;
  1287 + formDialogRecursoMaterial.$setPristine();
  1288 + $scope.estudoTecnicoRecursoMaterialTemp = {
  1289 + disponivel : true
  1290 + };
  1291 + }else{
  1292 + $scope.estudoTecnicoRecursoMaterialTemp = {};
  1293 + $scope.$modalInstance.dismiss('cancel');
  1294 + }
1256 1295 };
1257 1296  
1258 1297 // Responsavel por adicionar um recurso humano ao estudo tecnico
1259   - $scope.salvaRecursoHumano = function (formDialogRecursoHumano){
1260   -
1261   - formDialogRecursoHumano.$submitted = true;
1262   -
1263   - if (formDialogRecursoHumano.$valid) {
1264   - if ($scope.estudoTecnico.etRecursosHumanos){
1265   - if ($scope.estudoTecnicoRecursoHumanoTemp.$checked){
1266   - for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) {
1267   - if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) {
1268   - $scope.estudoTecnico.etRecursosHumanos[i] = $scope.estudoTecnicoRecursoHumanoTemp;
1269   - }
1270   - }
1271   - } else {
1272   - $scope.estudoTecnico.etRecursosHumanos.push($scope.estudoTecnicoRecursoHumanoTemp);
1273   - }
1274   - } else {
1275   - $scope.estudoTecnico.etRecursosHumanos = [$scope.estudoTecnicoRecursoHumanoTemp];
1276   - }
1277   - $scope.estudoTecnicoRecursoHumanoTemp = {};
1278   - $scope.$modalInstance.dismiss('cancel');
1279   - } else {
1280   - //Mensagem de erro de campos obrigatorios não preenchidos
1281   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
1282   - }
1283   - };
1284   -
1285   - $scope.salvaAcaoCont = function(formDialogAcaoContingencia) {
1286   - formDialogAcaoContingencia.$submitted = true;
  1298 + $scope.salvaRecursoHumano = function (formDialogRecursoHumano, continuarEditando){
  1299 +
  1300 + formDialogRecursoHumano.$submitted = true;
  1301 +
  1302 + if (formDialogRecursoHumano.$invalid) {
  1303 + //Mensagem de erro de campos obrigatorios não preenchidos
  1304 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1305 + return;
  1306 + }
  1307 +
  1308 + if ($scope.estudoTecnico.etRecursosHumanos){
  1309 + if ($scope.estudoTecnicoRecursoHumanoTemp.$checked){
  1310 + for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) {
  1311 + if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) {
  1312 + $scope.estudoTecnico.etRecursosHumanos[i] = $scope.estudoTecnicoRecursoHumanoTemp;
  1313 + }
  1314 + }
  1315 + } else {
  1316 + $scope.estudoTecnico.etRecursosHumanos.push($scope.estudoTecnicoRecursoHumanoTemp);
  1317 + }
  1318 + } else {
  1319 + $scope.estudoTecnico.etRecursosHumanos = [$scope.estudoTecnicoRecursoHumanoTemp];
  1320 + }
  1321 + $scope.estudoTecnicoRecursoHumanoTemp = {};
  1322 +
  1323 + if(continuarEditando){
  1324 + formDialogRecursoHumano.$submitted = false;
  1325 + formDialogRecursoHumano.$setPristine();
  1326 + }else{
  1327 + $scope.$modalInstance.dismiss('cancel');
  1328 + }
  1329 +
  1330 + };
  1331 +
  1332 + $scope.salvaAcaoCont = function(formDialogAcaoContingencia, continuarEditando) {
  1333 + formDialogAcaoContingencia.$submitted = true;
1287 1334  
1288 1335 //verifica se o formulario está valido para salvar
1289   - if (formDialogAcaoContingencia.$valid) {
1290   - if ($scope.estudoTecnico.etAcoesContingencia) {
1291   - if ($scope.acaoCont.$checked) {
1292   - for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) {
1293   - if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) {
1294   - $scope.estudoTecnico.etAcoesContingencia[i] = $scope.acaoCont;
1295   - }
1296   - }
1297   - } else {
1298   - $scope.acaoCont.$index = $scope.estudoTecnico.etAcoesContingencia.length + 1;
1299   - $scope.estudoTecnico.etAcoesContingencia.push($scope.acaoCont);
1300   - }
1301   - } else {
1302   - $scope.acaoCont.$index = 1;
1303   - $scope.estudoTecnico.etAcoesContingencia = [$scope.acaoCont];
1304   - }
1305   - $scope.$modalInstance.dismiss('cancel');
1306   - } else {
1307   - //Mensagem de erro de campos obrigatorios não preenchidos
  1336 + if (formDialogAcaoContingencia.$invalid) {
  1337 + //Mensagem de erro de campos obrigatorios não preenchidos
1308 1338 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1339 + return;
1309 1340 }
  1341 +
  1342 + if ($scope.estudoTecnico.etAcoesContingencia) {
  1343 + if ($scope.acaoCont.$checked) {
  1344 + for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) {
  1345 + if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) {
  1346 + $scope.estudoTecnico.etAcoesContingencia[i] = $scope.acaoCont;
  1347 + }
  1348 + }
  1349 + } else {
  1350 + $scope.acaoCont.$index = $scope.estudoTecnico.etAcoesContingencia.length + 1;
  1351 + $scope.estudoTecnico.etAcoesContingencia.push($scope.acaoCont);
  1352 + }
  1353 + } else {
  1354 + $scope.acaoCont.$index = 1;
  1355 + $scope.estudoTecnico.etAcoesContingencia = [$scope.acaoCont];
  1356 + }
  1357 +
  1358 + $scope.acaoCont = {};
  1359 + if(continuarEditando){
  1360 + formDialogAcaoContingencia.$submitted = false;
  1361 + formDialogAcaoContingencia.$setPristine();
  1362 + }else{
  1363 + $scope.$modalInstance.dismiss('cancel');
  1364 + }
1310 1365 };
1311 1366  
1312 1367 //Watch para calcular valor unitario
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/OrdemFornecimentoController.js
... ... @@ -116,87 +116,93 @@ citApp.controller(&#39;OrdemFornecimentoController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimentoRe
116 116 };
117 117  
118 118 // ADICIONAR item
119   - $scope.salvaItem = function(formDialogItem) {
  119 + $scope.salvaItem = function(formDialogItem, continuarEditando) {
120 120  
121 121 formDialogItem.$submitted = true;
122 122  
123 123 //verifica se o formulario está valido para salvar
124   - if (formDialogItem.$valid) {
125   -
126   - if(!isPeriodoValido($scope.item.dataInicioPrevisto, $scope.item.dataTerminoPrevisto)) {
127   - $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_INICIO_PREVISTO_MAIOR_DATA_TERMINO_PREVISTO_CONTRATO'));
128   - return;
129   - }
130   -
131   - if(!isPeriodoValido($scope.ordemFornecimento.contrato.dataVigenciaInicial, $scope.item.dataInicioPrevisto) ||
132   - !isPeriodoValido($scope.item.dataTerminoPrevisto, $scope.ordemFornecimento.contrato.dataUltimaVigenciaFinal)) {
133   - $scope.showAlert('warning', $translate.instant('VALIDACAO.PERIODO_INICIO_TERMINO_DENTRO_VIGENCIA_CONTRATO'));
134   - return;
135   - }
136   -
137   - if ($scope.item.quantidade == 0) {
138   - $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_MAIOR_ZERO'));
139   - return;
140   - }
141   -
142   - var qntParc = $scope.item.quantidade;
143   -
144   - if ($scope.ordemFornecimento.itensBensServicos) {
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) {
147   - qntParc = parseFloat(qntParc) + parseFloat($scope.ordemFornecimento.itensBensServicos[i].quantidade);
148   - }
149   - }
150   - }
151   -
152   - if (qntParc > $scope.item.itemBemServico.quantidade) {
153   -
154   - var qntRestante = parseFloat($scope.item.itemBemServico.quantidade) - (parseFloat(qntParc) - parseFloat($scope.item.quantidade));
155   -
156   - if (qntRestante < 0) {
157   - qntRestante = 0;
158   - }
159   -
160   - $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_INSERIDA_ITEM_MAIOR_QUANTIDADE_CONTRATO') + qntRestante);
161   - return;
162   - }
163   -
164   - if ($scope.item.itemBemServico.originalElement) {
165   - $scope.item.itemBemServico = $scope.item.itemBemServico.originalElement;
166   - }
167   -
168   - if ($scope.ordemFornecimento.itensBensServicos) {
169   - if ($scope.item.$checked) {
170   - for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
171   - if ($scope.ordemFornecimento.itensBensServicos[i].$checked) {
172   - $scope.ordemFornecimento.itensBensServicos[i] = $scope.item;
173   - }
174   - }
175   - } else {
176   - $scope.item.$index = $scope.ordemFornecimento.itensBensServicos.length + 1;
177   - $scope.ordemFornecimento.itensBensServicos.push($scope.item);
178   - }
179   - } else {
180   - $scope.item.$index = 1;
181   - $scope.ordemFornecimento.itensBensServicos = [$scope.item];
182   - }
  124 + if (formDialogItem.$invalid) {
  125 + //Mensagem de erro de campos obrigatorios não preenchidos
  126 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  127 + return;
  128 + }
183 129  
184   - var qnt = 0;
185   - var total = 0;
186   -
187   - for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
188   - var item = $scope.ordemFornecimento.itensBensServicos[i];
189   - qnt = parseFloat(qnt) + parseFloat(item.quantidade);
190   - total = parseFloat(total) + parseFloat(item.valorTotalItem);
  130 + if(!isPeriodoValido($scope.item.dataInicioPrevisto, $scope.item.dataTerminoPrevisto)) {
  131 + $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_INICIO_PREVISTO_MAIOR_DATA_TERMINO_PREVISTO_CONTRATO'));
  132 + return;
  133 + }
  134 +
  135 + if(!isPeriodoValido($scope.ordemFornecimento.contrato.dataVigenciaInicial, $scope.item.dataInicioPrevisto) ||
  136 + !isPeriodoValido($scope.item.dataTerminoPrevisto, $scope.ordemFornecimento.contrato.dataUltimaVigenciaFinal)) {
  137 + $scope.showAlert('warning', $translate.instant('VALIDACAO.PERIODO_INICIO_TERMINO_DENTRO_VIGENCIA_CONTRATO'));
  138 + return;
  139 + }
  140 +
  141 + if ($scope.item.quantidade == 0) {
  142 + $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_MAIOR_ZERO'));
  143 + return;
  144 + }
  145 +
  146 + var qntParc = $scope.item.quantidade;
  147 +
  148 + if ($scope.ordemFornecimento.itensBensServicos) {
  149 + for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
  150 + if (!$scope.ordemFornecimento.itensBensServicos[i].$checked && $scope.ordemFornecimento.itensBensServicos[i].itemBemServico.id == $scope.item.itemBemServico.id) {
  151 + qntParc = parseFloat(qntParc) + parseFloat($scope.ordemFornecimento.itensBensServicos[i].quantidade);
  152 + }
191 153 }
192   -
193   - $scope.quantidadeTotal = qnt;
194   - $scope.totalGeral = total;
  154 + }
  155 +
  156 + if (qntParc > $scope.item.itemBemServico.quantidade) {
195 157  
196   - $scope.$modalInstance.dismiss('cancel');
  158 + var qntRestante = parseFloat($scope.item.itemBemServico.quantidade) - (parseFloat(qntParc) - parseFloat($scope.item.quantidade));
  159 +
  160 + if (qntRestante < 0) {
  161 + qntRestante = 0;
  162 + }
  163 +
  164 + $scope.showAlert('warning', $translate.instant('VALIDACAO.QUANTIDADE_INSERIDA_ITEM_MAIOR_QUANTIDADE_CONTRATO') + qntRestante);
  165 + return;
  166 + }
  167 +
  168 + if ($scope.item.itemBemServico.originalElement) {
  169 + $scope.item.itemBemServico = $scope.item.itemBemServico.originalElement;
  170 + }
  171 +
  172 + if ($scope.ordemFornecimento.itensBensServicos) {
  173 + if ($scope.item.$checked) {
  174 + for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
  175 + if ($scope.ordemFornecimento.itensBensServicos[i].$checked) {
  176 + $scope.ordemFornecimento.itensBensServicos[i] = $scope.item;
  177 + }
  178 + }
  179 + } else {
  180 + $scope.item.$index = $scope.ordemFornecimento.itensBensServicos.length + 1;
  181 + $scope.ordemFornecimento.itensBensServicos.push($scope.item);
  182 + }
  183 + } else {
  184 + $scope.item.$index = 1;
  185 + $scope.ordemFornecimento.itensBensServicos = [$scope.item];
  186 + }
  187 +
  188 + var qnt = 0;
  189 + var total = 0;
  190 +
  191 + for (var i = 0; i < $scope.ordemFornecimento.itensBensServicos.length; i++) {
  192 + var item = $scope.ordemFornecimento.itensBensServicos[i];
  193 + qnt = parseFloat(qnt) + parseFloat(item.quantidade);
  194 + total = parseFloat(total) + parseFloat(item.valorTotalItem);
  195 + }
  196 +
  197 + $scope.quantidadeTotal = qnt;
  198 + $scope.totalGeral = total;
  199 +
  200 + if(continuarEditando){
  201 + formDialogItem.$submitted = false;
  202 + formDialogItem.$setPristine();
  203 + $scope.item = {};
197 204 } else {
198   - //Mensagem de erro de campos obrigatorios não preenchidos
199   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  205 + $scope.$modalInstance.dismiss('cancel');
200 206 }
201 207 };
202 208  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaController.js
... ... @@ -343,100 +343,117 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
343 343 };
344 344  
345 345 // ADICIONAR Detalhamento Solucao
346   - $scope.addDetalhamentoSolucao = function(formDetalhamento) {
347   -
348   - var detalhe = $scope.termoReferenciaDetalhamentoSolucao;
349   -
350   - formDetalhamento.$submitted = true;
351   -
352   - //verifica se o formulario esta valido para salvar
353   - if (formDetalhamento.$valid) {
354   -
355   - if (detalhe.formaPagamento && detalhe.formaPagamento.codigo===1){
356   - $scope.termoReferenciaDetalhamentoSolucao.numeroParcelas = null;
357   - }
358   -
359   - $scope.setLoadingSalva(true);
360   -
361   - var isDuplicado = false;
362   - angular.forEach($scope.termoReferencia.detalhamentosSolucoes, function (item, idx) {
363   - if (item.bemServicoSolucao.id === detalhe.bemServicoSolucao.id) {
364   - isDuplicado = true;
365   - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.BENS_E_SERVICOS_JA_ADD'), " ", false);
366   - return;
367   - }
368   - });
369   -
370   - if (!isDuplicado) {
371   -
372   - if (detalhe.$index != undefined && detalhe.$index != null) {
373   - $scope.termoReferencia.detalhamentosSolucoes[detalhe.$index] = detalhe;
374   - } else {
375   - $scope.termoReferencia.detalhamentosSolucoes.push(detalhe);
376   - }
377   -
378   -// $scope.atualizaListaEtBensServicos();
379   - $scope.$modalInstance.dismiss('cancel');
380   - }
381   - $scope.setLoadingSalva(false);
382   -
383   - } else {
384   - //Mensagem de erro de campos obrigatorios nao preenchidos
385   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
386   - }
  346 + $scope.addDetalhamentoSolucao = function(formDetalhamento, continuarEditando) {
  347 +
  348 + var detalhe = $scope.termoReferenciaDetalhamentoSolucao;
  349 + formDetalhamento.$submitted = true;
  350 +
  351 + //verifica se o formulario esta valido para salvar
  352 + if (formDetalhamento.$invalid) {
  353 + //Mensagem de erro de campos obrigatorios nao preenchidos
  354 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  355 + return;
  356 + }
  357 +
  358 + if (detalhe.formaPagamento && detalhe.formaPagamento.codigo===1){
  359 + $scope.termoReferenciaDetalhamentoSolucao.numeroParcelas = null;
  360 + }
  361 + $scope.setLoadingSalva(true);
  362 + var isDuplicado = false;
  363 + angular.forEach($scope.termoReferencia.detalhamentosSolucoes, function (item, idx) {
  364 + if (item.bemServicoSolucao.id === detalhe.bemServicoSolucao.id) {
  365 + isDuplicado = true;
  366 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.BENS_E_SERVICOS_JA_ADD'), " ", false);
  367 + return;
  368 + }
  369 + });
  370 +
  371 + if (!isDuplicado) {
  372 +
  373 + if (detalhe.$index != undefined && detalhe.$index != null) {
  374 + $scope.termoReferencia.detalhamentosSolucoes[detalhe.$index] = detalhe;
  375 + } else {
  376 + $scope.termoReferencia.detalhamentosSolucoes.push(detalhe);
  377 + }
  378 +
  379 + if(continuarEditando){
  380 + formDetalhamento.$submitted = false;
  381 + formDetalhamento.$setPristine();
  382 + $scope.termoReferenciaDetalhamentoSolucao = {};
  383 + $scope.listEtBensServicos = $scope.termoReferencia.estudoTecnico.etBensServicosSolucoes;
  384 + }else{
  385 + $scope.$modalInstance.dismiss('cancel');
  386 + }
  387 + }
  388 +
  389 + $scope.setLoadingSalva(false);
  390 +
387 391 };
388 392  
389 393 // ADICIONAR Penalidade
390   - $scope.addPenalidade = function(formPenalidade) {
  394 + $scope.addPenalidade = function(formPenalidade, continuarEditando) {
391 395  
392 396 var penalid = $scope.penalidade;
393 397  
394 398 formPenalidade.$submitted = true;
395 399  
396 400 //verifica se o formulario esta valido para salvar
397   - if (formPenalidade.$valid) {
398   -
399   - $scope.setLoadingSalva(true);
400   -
401   - if (penalid.$index != undefined && penalid.$index != null) {
402   - $scope.termoReferencia.penalidades[penalid.$index] = penalid;
403   - } else {
404   - $scope.termoReferencia.penalidades.push(penalid);
405   - }
  401 + if (formPenalidade.$invalid) {
  402 + //Mensagem de erro de campos obrigatorios nao preenchidos
  403 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  404 + return;
  405 + }
406 406  
407   - $scope.setLoadingSalva(false);
408   - $scope.$modalInstance.dismiss('cancel');
  407 + $scope.setLoadingSalva(true);
409 408  
  409 + if (penalid.$index != undefined && penalid.$index != null) {
  410 + $scope.termoReferencia.penalidades[penalid.$index] = penalid;
410 411 } else {
411   - //Mensagem de erro de campos obrigatorios nao preenchidos
412   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  412 + $scope.termoReferencia.penalidades.push(penalid);
  413 + }
  414 +
  415 + $scope.setLoadingSalva(false);
  416 +
  417 + if(continuarEditando){
  418 + formPenalidade.$submitted = false;
  419 + formPenalidade.$setPristine();
  420 + $scope.penalidade = {};
  421 + }else{
  422 + $scope.$modalInstance.dismiss('cancel');
413 423 }
  424 +
414 425 };
415 426  
416 427 // ADICIONAR Penalidade
417   - $scope.addSancao = function(formSancao) {
  428 + $scope.addSancao = function(formSancao, continuarEditando) {
418 429  
419 430 var sans = $scope.sancao;
420 431  
421 432 formSancao.$submitted = true;
422 433  
423 434 //verifica se o formulario esta valido para salvar
424   - if (formSancao.$valid) {
  435 + if (formSancao.$invalid) {
  436 + //Mensagem de erro de campos obrigatorios nao preenchidos
  437 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  438 + return;
  439 + }
425 440  
426   - $scope.setLoadingSalva(true);
  441 + $scope.setLoadingSalva(true);
427 442  
428   - if (sans.$index != undefined && sans.$index != null) {
429   - $scope.termoReferencia.sancoes[sans.$index] = sans;
430   - } else {
431   - $scope.termoReferencia.sancoes.push(sans);
432   - }
  443 + if (sans.$index != undefined && sans.$index != null) {
  444 + $scope.termoReferencia.sancoes[sans.$index] = sans;
  445 + } else {
  446 + $scope.termoReferencia.sancoes.push(sans);
  447 + }
433 448  
434   - $scope.setLoadingSalva(false);
435   - $scope.$modalInstance.dismiss('cancel');
  449 + $scope.setLoadingSalva(false);
436 450  
  451 + if(continuarEditando){
  452 + formSancao.$submitted = false;
  453 + formSancao.$setPristine();
  454 + $scope.sancao = {};
437 455 } else {
438   - //Mensagem de erro de campos obrigatorios nao preenchidos
439   - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  456 + $scope.$modalInstance.dismiss('cancel');
440 457 }
441 458 };
442 459  
... ...
cit-contratos-web/src/main/webapp/html/contrato/dialog_empenho.html
1 1 <ng-form name="formDialogEmpenho" autocomplete="off">
2 2 <div class="modal-header">
3 3 <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}"
4   - ng-click="adicionarEmpenho(formDialogEmpenho)" ng-if="editEmpenho" class="btn btn-clear" type="button">
  4 + ng-click="adicionarEmpenho(formDialogEmpenho, false)" ng-if="editEmpenho" class="btn btn-clear" type="button">
5 5 <i class="fa fa-save green"></i>
6 6 <translate>LABEL.ADICIONAR</translate>
7 7 </button>
8 8  
  9 + <button title="{{$translate.instant('LABEL.ADICIONAR_CONTINUAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR_CONTINUAR')}}"
  10 + ng-click="adicionarEmpenho(formDialogEmpenho, true)" ng-if="editEmpenho" class="btn btn-clear" type="button">
  11 + <i class="fa fa-save green"></i>
  12 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  13 + </button>
  14 +
9 15 <button title="{{$translate.instant('LABEL.FECHAR')}}" alt="{{$translate.instant('LABEL.FECHAR')}}"
10 16 ng-click="$dismiss('cancel');" class="btn btn-clear" type="button">
11 17 <i class="fa fa-times red"></i>
... ...
cit-contratos-web/src/main/webapp/html/contrato/dialog_item_contrato.html
1 1 <ng-form name="formDialogItemContrato" autocomplete="off">
2 2 <div class="modal-header">
3 3 <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}"
4   - ng-click="adicionarItemContrato(formDialogItemContrato)" ng-if="editItemContrato" class="btn btn-clear" type="button">
  4 + ng-click="adicionarItemContrato(formDialogItemContrato, false)" ng-if="editItemContrato" class="btn btn-clear" type="button">
5 5 <i class="fa fa-save green"></i>
6 6 <translate>LABEL.ADICIONAR</translate>
7 7 </button>
8 8  
  9 + <button title="{{$translate.instant('LABEL.ADICIONAR_CONTINUAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR_CONTINUAR')}}"
  10 + ng-click="adicionarItemContrato(formDialogItemContrato, true)" ng-if="editItemContrato" class="btn btn-clear" type="button">
  11 + <i class="fa fa-save green"></i>
  12 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  13 + </button>
  14 +
9 15 <button title="{{$translate.instant('LABEL.FECHAR')}}" alt="{{$translate.instant('LABEL.FECHAR')}}"
10 16 ng-click="$dismiss('cancel');" class="btn btn-clear" type="button">
11 17 <i class="fa fa-times red"></i>
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/dialog_acao_contingencia.html
1 1 <ng-form name="formDialogAcaoContingencia" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-if="editAcaoCont" ng-click="salvaAcaoCont(formDialogAcaoContingencia)">
  3 + <button class="btn btn-clear" type="button" ng-if="editAcaoCont" ng-click="salvaAcaoCont(formDialogAcaoContingencia, false)">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-if="editAcaoCont" ng-click="salvaAcaoCont(formDialogAcaoContingencia, true)">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
7 12  
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" ng-if="editAcaoCont"
9 14 type="button">
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/dialog_beneficio_esperado.html
1 1 <ng-form name="formDialogBeneficioEsperado" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-if="editBeneficioEsperado" ng-click="salvaBeneficioEsperado(formDialogBeneficioEsperado)">
  3 + <button class="btn btn-clear" type="button" ng-if="editBeneficioEsperado" ng-click="salvaBeneficioEsperado(formDialogBeneficioEsperado, false)">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-if="editBeneficioEsperado" ng-click="salvaBeneficioEsperado(formDialogBeneficioEsperado, true)">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
7 12  
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" ng-if="editBeneficioEsperado" type="button">
9 14 <i class="fa fa-times red"></i>
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/dialog_bens_servico.html
1 1 <ng-form name="formDialogBensServico" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-if="editBemServico" ng-click="salvaBemServico(formDialogBensServico)">
  3 + <button class="btn btn-clear" type="button" ng-if="editBemServico" ng-click="salvaBemServico(formDialogBensServico, false)">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-if="editBemServico" ng-click="salvaBemServico(formDialogBensServico, true)">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
7 12  
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" ng-if="editBemServico" type="button">
9 14 <i class="fa fa-times red"></i>
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/dialog_recurso_humano.html
1 1 <ng-form name="formDialogRecursoHumano" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-if="editRecursoHumano" ng-click="salvaRecursoHumano(formDialogRecursoHumano)">
  3 + <button class="btn btn-clear" type="button" ng-if="editRecursoHumano" ng-click="salvaRecursoHumano(formDialogRecursoHumano, false)">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
7 7  
  8 + <button class="btn btn-clear" type="button" ng-if="editRecursoHumano" ng-click="salvaRecursoHumano(formDialogRecursoHumano, true)">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
  12 +
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" ng-if="editRecursoHumano" type="button">
9 14 <i class="fa fa-times red"></i>
10 15 <translate>LABEL.CANCELAR</translate>
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/dialog_recurso_material.html
1 1 <ng-form name="formDialogRecursoMaterial" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-if="editRecursoMaterial" ng-click="salvaRecursoMaterial(formDialogRecursoMaterial)">
  3 + <button class="btn btn-clear" type="button" ng-if="editRecursoMaterial" ng-click="salvaRecursoMaterial(formDialogRecursoMaterial, false)">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
7 7  
  8 + <button class="btn btn-clear" type="button" ng-if="editRecursoMaterial" ng-click="salvaRecursoMaterial(formDialogRecursoMaterial, true)">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
  12 +
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" ng-if="editRecursoMaterial" type="button">
9 14 <i class="fa fa-times red"></i>
10 15 <translate>LABEL.CANCELAR</translate>
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/dialog_solucao.html
1 1 <ng-form name="formDialogSolucao" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-if="editSolucao" ng-click="salvaSolucao(formDialogSolucao)">
  3 + <button class="btn btn-clear" type="button" ng-if="editSolucao" ng-click="salvaSolucao(formDialogSolucao, false)">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
7   -
  7 +
  8 + <button class="btn btn-clear" type="button" ng-if="editSolucao" ng-click="salvaSolucao(formDialogSolucao, true)">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
  12 +
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" ng-if="editSolucao" type="button">
9 14 <i class="fa fa-times red"></i>
10 15 <translate>LABEL.CANCELAR</translate>
... ...
cit-contratos-web/src/main/webapp/html/ordemFornecimento/dialog_itens_bens_servicos.html
1 1 <ng-form name="formDialogItem" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-if="editItem" ng-click="salvaItem(formDialogItem)">
  3 + <button class="btn btn-clear" type="button" ng-if="editItem" ng-click="salvaItem(formDialogItem, false)">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-if="editItem" ng-click="salvaItem(formDialogItem, true)">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
7 12  
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" ng-if="editItem" type="button">
9 14 <i class="fa fa-times red"></i>
... ...
cit-contratos-web/src/main/webapp/html/termoReferencia/dialog_detalhamento_solucao.html
1 1 <ng-form name="formDetalhamentoSolucao" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-click="addDetalhamentoSolucao(formDetalhamentoSolucao)" ng-show="editDetalhamento">
  3 + <button class="btn btn-clear" type="button" ng-click="addDetalhamentoSolucao(formDetalhamentoSolucao, false)" ng-show="editDetalhamento">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-click="addDetalhamentoSolucao(formDetalhamentoSolucao, true)" ng-show="editDetalhamento">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
7 12  
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" type="button">
9 14 <i class="fa fa-times red"></i>
... ...
cit-contratos-web/src/main/webapp/html/termoReferencia/dialog_penalidade.html
1 1 <ng-form name="formPenalidade" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-click="addPenalidade(formPenalidade)" ng-show="editPenalidade">
  3 + <button class="btn btn-clear" type="button" ng-click="addPenalidade(formPenalidade, false)" ng-show="editPenalidade">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-click="addPenalidade(formPenalidade, true)" ng-show="editPenalidade">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
7 12  
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" type="button">
9 14 <i class="fa fa-times red"></i>
... ...
cit-contratos-web/src/main/webapp/html/termoReferencia/dialog_sancao.html
1 1 <ng-form name="formSancao" autocomplete="off">
2 2 <div class="modal-header">
3   - <button class="btn btn-clear" type="button" ng-click="addSancao(formSancao)" ng-show="editSancao">
  3 + <button class="btn btn-clear" type="button" ng-click="addSancao(formSancao, false)" ng-show="editSancao">
4 4 <i class="fa fa-save green"></i>
5 5 <translate>LABEL.SALVAR</translate>
6 6 </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-click="addSancao(formSancao, true)" ng-show="editSancao">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  11 + </button>
7 12  
8 13 <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" type="button">
9 14 <i class="fa fa-times red"></i>
... ...