Commit aabe0123 authored by sandroresende's avatar sandroresende

correcao mod saci

parent bf5da7bd
......@@ -50,6 +50,7 @@ use App\Mod_saci\mod_pac\Eixo;
use App\Mod_saci\mod_pac\Tipo;
use App\Mod_saci\mod_pac\Programa;
use App\Propostas\AcaoPrograma;
use App\Propostas\MotivoCancelamento;
use App\Propostas\Propostas;
use App\Propostas\ViewItensFinanciaveisPropostas;
use App\Propostas\ViewPropostasCadastradas;
......@@ -76,7 +77,7 @@ class ApiController extends Controller
public function buscarSelecoes(){
return Selecao::orderBy('txt_selecao')->orderBy('num_selecao')->get();
return Selecao::where('bln_ativa',true)->orderBy('txt_selecao')->orderBy('num_selecao')->get();
}
public function buscarSituacoesPropostas(){
......@@ -84,6 +85,24 @@ class ApiController extends Controller
return SituacaoProposta::orderBy('txt_situacao_proposta')->get();
}
public function motivoCancelamento(){
return MotivoCancelamento::orderBy('txt_motivo_cancelamento')->get();
}
public function itensFinModalidades(Selecao $selecao){
return ViewItensFinanciaveis::where('modalidade_participacao_id',$selecao->modalidade_participacao_id)
->orderBy('txt_acao_programa')
->get();
}
public function buscarItensFinanciaveis(){
......@@ -151,7 +170,7 @@ class ApiController extends Controller
}
public function modalidadeParticipacao(){
return ModalidadeParticipacao::where('id','=',4)->orderBy('txt_modalidade_participacao')->get();
return ModalidadeParticipacao::orderBy('txt_modalidade_participacao')->get();
}
public function buscarAcaoPrograma(){
......
......@@ -393,8 +393,8 @@ class ContratosController extends Controller
$usuario = Auth::user();
$loginEmail = substr($usuario->email, 0, strpos( $usuario->email, '@' ));
$usuarioPAC = Usuario::where('txt_login_usuario',$loginEmail)->first();
// return $loginEmail = substr($usuario->email, 0, strpos( $usuario->email, '@' ));
$usuarioPAC = Usuario::where('txt_login_usuario',$usuario->email)->firstOrFail();
if($usuarioPAC->cod_nivel == 9){
return view('modulo_saci.cadastrar_proposta', compact('usuarioPAC'));
......
......@@ -295,7 +295,7 @@ class SelecaoController extends Controller
$itensdeletar->delete();
}
*/
DB::commit();
flash()->sucesso("Sucesso", "Proposta excluída com sucesso!");
......@@ -696,13 +696,18 @@ class SelecaoController extends Controller
$whereProposta[] = ['proposta_id', $proposta];
$proposta = Propostas::find($proposta);
return $itensFinanciveis = RlcItensFinanciaveisProposta::where('proposta_id',$proposta->id)->get();
$itensFinanciveis = ViewItensFinanciaveisPropostas::where('proposta_id',$proposta->id)->get();
$usuario = Auth::user();
return view('modulo_propostas.proposta.admin.CancelamentoProposta',compact('proposta','usuario'));
return view('modulo_propostas.proposta.admin.CancelamentoProposta',compact('proposta','itensFinanciveis','usuario'));
}
public function corrigirProposta (Request $request){
return $request->all();
}
......
This diff is collapsed.
......@@ -68,10 +68,16 @@ Vue.component('checks-itens-financiaveis-semob', require('./components/mod_propo
//sndum
Vue.component('cadastrar-proposta-sndum', require('./components/mod_propostas/sndum/CadastrarPropostaSndum.vue'));
Vue.component('checks-itens-financiaveis-sndum', require('./components/mod_propostas/sndum/ChecksItensFinanciaveisSndum.vue'));
//snsa
Vue.component('cadastrar-proposta-snsa', require('./components/mod_propostas/snsa/CadastrarPropostaSnsa.vue'));
Vue.component('checks-itens-financiaveis-snsa', require('./components/mod_propostas/snsa/ChecksItensFinanciaveisSnsa.vue'));
Vue.component('cadastrar-proposta-snsa-2218', require('./components/mod_propostas/snsa/CadastrarPropostaSnsa2218.vue'));
Vue.component('checks-itens-financiaveis-snsa-2018', require('./components/mod_propostas/snsa/ChecksItensFinanciaveisSnsa2018.vue'));
......
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card card-default">
<div class="card-header">Example Component</div>
<div class="card-body">
I'm an example component.
<div class="form-group">
<div class="titulo"><h3>Dados da Proposta Antiga</h3> </div>
<div class="row">
<div class="col col-xs-12 col-sm-12 br-textarea">
<label >1. Objeto da Intervenção</label>
<textarea class="input-medium"
id="dsc_obj_intervencao"
name="dsc_obj_intervencao"
type="text"
rows="5"
v-model="dsc_obj_intervencao"
required
>
</textarea>
</div>
</div><!-- div row -->
<div class="row">
<div class="col col-xs-12 col-sm-12 br-textarea">
<label >2. Justificativa da importância da intervenção</label>
<textarea class="input-medium"
id="dsc_justificativa"
name="dsc_justificativa"
rows="5"
v-model="dsc_justificativa"
required
>
</textarea>
</div>
</div><!-- div row -->
<div class="row">
<div class="col col-xs-12 col-sm-12 br-textarea">
<label >3. Descrição do problema a ser resolvido</label>
<textarea class="input-medium"
id="dsc_problema_resolver"
name="dsc_problema_resolver"
rows="5"
v-model="dsc_problema_resolver"
required
>
</textarea>
</div>
</div><!-- div row -->
<div class="row">
<div class="col col-xs-12 col-sm-12 br-input input-highlight">
<label >4. Ações orçamentárias do programa:</label>
</div>
</div><!-- div row -->
<div class="br-list" role="list" >
<div class="br-item" role="listitem" v-for="dados in itens" >
<div class="row align-items-center">
<div class="col">
<li>{{dados.acao}} - {{dados.txt_acao_programa}} / {{dados.txt_item_financiavel}} </li>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="titulo"><h3>Dados da Proposta Nova</h3> </div>
<div class="row">
<div class="column col-xs-12 col-md-6">
<label for="selecao">1. Modalidade</label>
<select
id="selecao"
class="form-select br-select"
name="selecao"
required
v-model="selecao">
<option value="">Escolha uma modalidade:</option>
<option v-for="selecao in selecoes" v-text="selecao.txt_selecao" :value="selecao.id" :key="selecao.id"></option>
</select>
</div>
<div class="column col-xs-12 col-md-6">
<label for="motivoCancelamento">2. Motivo</label>
<select
id="motivoCancelamento"
class="form-select br-select"
name="motivoCancelamento"
required
v-model="motivoCancelamento">
<option value="">Escolha um motivo:</option>
<option v-for="motivoCancelamento in motivoCancelamentos" v-text="motivoCancelamento.txt_motivo_cancelamento" :value="motivoCancelamento.id" :key="motivoCancelamento.id"></option>
</select>
</div>
</div>
<br/>
<checks-itens-financiaveis-semob v-if="selecao == 1">
</checks-itens-financiaveis-semob>
<checks-itens-financiaveis-sndum v-if="selecao == 2"></checks-itens-financiaveis-sndum>
<checks-itens-financiaveis-snsa v-if="selecao == 3"></checks-itens-financiaveis-snsa>
<checks-itens-financiaveis-snsa-2018 v-if="selecao == 5"></checks-itens-financiaveis-snsa-2018>
<span class="br-divider lg my-3"></span>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
props:['url','itens','proposta','blnbotao'],
data(){
return{
dsc_obj_intervencao:'',
dsc_justificativa:'',
dsc_problema_resolver:'',
selecao:'',
selecoes:'',
buscando:false,
itensFinanciaveis:'',
itemFinanciavel:'',
item_financiavel:[],
motivoCancelamento:'',
motivoCancelamentos:'',
errors:{item_financiavel:false},
bln_erros:false ,
bln_botao:false,
}
},
methods:{
checkForm: function () {
this.errors.item_financiavel = false
this.bln_erros = false;
if(this.item_financiavel.length == 0){
this.errors.item_financiavel = true;
this.bln_erros = true;
}
if(this.bln_erros){
Swal({
title: 'Atenção!',
text: "Existem erros no preenchimento do cadastro.",
type: 'warning',
showCancelButton: false,
confirmButtonColor: '#28a745',
cancelButtonColor: '#dc3545',
confirmButtonText: 'OK',
cancelButtonText: 'Cancelar',
}).then((result) => {
if (result.value ) {
}else{
}
})
}else{
console.log('Sem erros: ' + this.bln_valor_incorreto +' - '+ this.bln_erros);
document.getElementById('form_cancelar_proposta').submit();
}
},onChangeSelecao() {
this.buscando = true;
if(this.selecao != '') {
//busca dados no banco de dados para carregar no componente
axios.get(this.url + '/api/itens/modalidade/' + this.selecao).then(resposta => {
this.buscando = false;
this.itensFinanciaveis = resposta.data;
console.log(this.municipios);
}).catch(error => {
console.log(error);
});
} else {
this.buscando = false;
this.selecao = '';
this.textoEscolhaMunicipio = "Filtre o Estado"
}
}
},
mounted() {
axios.get(this.url + '/api/selecao').then(resposta => {
//console.log(resposta.data);
this.selecoes = resposta.data;
this.selecao = '';
}).catch(erro => {
console.log(erro);
})
axios.get(this.url + '/api/motivo_cancelamento').then(resposta => {
//console.log(resposta.data);
this.motivoCancelamentos = resposta.data;
this.motivoCancelamento = '';
}).catch(erro => {
console.log(erro);
})
if(this.proposta){
this.dsc_obj_intervencao = this.proposta.dsc_obj_intervencao;
this.dsc_justificativa = this.proposta.dsc_justificativa;
this.dsc_problema_resolver = this.proposta.dsc_problema_resolver;
}
}
}
</script>
<template>
<div class="row">
<div class="col col-xs-12 col-sm-12 br-input">
<p class="label mb-0">8. Selecione as ações orçamentárias do programa:</p>
<span class="feedback danger" role="alert" v-if="this.bln_erros && this.errors.item_financiavel">
<i class="fas fa-times-circle" aria-hidden="true"></i>Campo deve ter uma opção selecionada.
</span>
<div class="br-checkbox">
<input
id="checkbox30"
name="itens_financiaveis[]"
v-bind:value='30'
v-model='item_financiavel'
type="checkbox"
aria-label="opção 30"
required
/>
<label for="checkbox30">00SY - Apoio a Projetos e Obras de Reabilitação, de Acessibilidade e Modernização Tecnológica em Áreas Urbanas</label>
</div>
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
}
}
</script>
<template>
<div class="row">
<div class="col col-xs-12 col-sm-12 br-input">
<p class="label mb-0">3. Selecione as ações orçamentárias do programa:</p>
<span class="feedback danger" role="alert" v-if="this.bln_erros && this.errors.item_financiavel">
<i class="fas fa-times-circle" aria-hidden="true"></i>Campo deve ter uma opção selecionada.
</span>
<div class="br-checkbox">
<input
id="checkbox32"
name="itens_financiaveis[]"
v-bind:value='32'
v-model='item_financiavel'
type="checkbox"
aria-label="opção 32"
titulo="Visa melhorar as condições de deslocamento de pedestres e ciclistas das vias
públicas urbanas."
/>
<label for="checkbox32">21CI - Implantação de Melhorias Sanitárias Domiciliares</label>
</div>
<div class="br-checkbox">
<input
id="checkbox33"
name="itens_financiaveis[]"
v-bind:value='33'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox33">21CC - Sistemas Públicos de Manejo de Resíduos Sólidos</label>
</div>
<div class="br-checkbox">
<input
id="checkbox34"
name="itens_financiaveis[]"
v-bind:value='34'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox34">21C9 - Saneamento Básico em Áreas Rurais e Comunidades Tradicionais</label>
</div>
<div class="br-checkbox">
<input
id="checkbox35"
name="itens_financiaveis[]"
v-bind:value='35'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox35">21CA - Implantação, Ampliação e Melhoria de Sistemas Públicos de Abastecimento de Água em Municípios com até 50.000 Habitantes, Exclusive em Regiões Metropolitanas (RM) ou Regiões Integradas de Desenvolvimento Econômico (RIDE).</label>
</div>
<div class="br-checkbox">
<input
id="checkbox37"
name="itens_financiaveis[]"
v-bind:value='37'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox37">20AM - Implementação de Projetos de Coleta, Triagem e Reciclagem de Resíduos Sólidos</label>
</div>
<div class="br-checkbox">
<input
id="checkbox41"
name="itens_financiaveis[]"
v-bind:value='41'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox41">00TM - Apoio a Empreendimentos de Saneamento Integrado em Municípios com População Superior a 50 mil Habitantes ou Municípios Integrantes de Regiões Metropolitanas ou de Regiões Integradas de Desenvolvimento.</label>
</div>
<div class="br-checkbox">
<input
id="checkbox42"
name="itens_financiaveis[]"
v-bind:value='42'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox42">00TK - Apoio a Sistemas de Drenagem Urbana Sustentável e de Manejo de Águas Pluviais em Municípios Críticos Sujeitos a Eventos Recorrentes de Inundações, Enxurradas e Alagamentos.</label>
</div>
<div class="br-checkbox">
<input
id="checkbox43"
name="itens_financiaveis[]"
v-bind:value='43'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox43">00TL - Apoio à Implantação, Ampliação ou Melhorias em Sistemas de Abastecimento de Água em Municípios Integrantes da Região do Semiárido.</label>
</div>
<div class="br-checkbox">
<input
id="checkbox44"
name="itens_financiaveis[]"
v-bind:value='44'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox44">00TO - Apoio à Implantação, Ampliação ou Melhorias de Sistemas de Esgotamento Sanitário em Municípios com População Superior a 50 mil Habitantes ou Municípios Integrantes de Regiões Metropolitanas ou de Regiões Integradas de Desenvolvimento.</label>
</div>
<div class="br-checkbox">
<input
id="checkbox45"
name="itens_financiaveis[]"
v-bind:value='45'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox45">00TN - Apoio à Implantação, Ampliação ou Melhorias em Sistemas de Abastecimento de Água em Municípios com População Superior a 50 mil Habitantes ou Municípios Integrantes de Regiões Metropolitanas ou de Regiões Integradas de Desenvolvimento.</label>
</div>
</div>
</div>
<!-- div row -->
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
}
}
</script>
<template>
<div class="row">
<div class="col col-xs-12 col-sm-12 br-input">
<p class="label mb-0">3. Selecione as ações orçamentárias do programa:</p>
<span class="feedback danger" role="alert" v-if="this.bln_erros && this.errors.item_financiavel">
<i class="fas fa-times-circle" aria-hidden="true"></i>Campo deve ter uma opção selecionada.
</span>
<div class="br-checkbox">
<input
id="checkbox42"
name="itens_financiaveis[]"
v-bind:value='42'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox42">00TK - Apoio a Sistemas de Drenagem Urbana Sustentável e de Manejo de Águas Pluviais em Municípios Críticos Sujeitos a Eventos Recorrentes de Inundações, Enxurradas e Alagamentos.</label>
</div>
<div class="br-checkbox">
<input
id="checkbox43"
name="itens_financiaveis[]"
v-bind:value='43'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox43">00TL - Apoio à Implantação, Ampliação ou Melhorias em Sistemas de Abastecimento de Água em Municípios Integrantes da Região do Semiárido.</label>
</div>
<div class="br-checkbox">
<input
id="checkbox46"
name="itens_financiaveis[]"
v-bind:value='46'
v-model='item_financiavel'
type="checkbox"
/>
<label for="checkbox46">8865 - Apoio à Execução de Projetos e Obras de Contenção de Encostas em Áreas Urbanas.</label>
</div>
</div>
</div>
<!-- div row -->
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
}
}
</script>
......@@ -35,39 +35,32 @@
</cabecalho-relatorios>
<form id="form_cancelar_proposta" class="form-horizontal" role="form" method="POST" action='{{ url("admin/proposta/correcao/salvar") }}'>
{{ csrf_field() }}
<div class="form-group">
<cancelamento-proposta
url='{{ url("/") }}'
v-bind:proposta="{{json_encode($proposta)}}"
v-bind:itens="{{json_encode($itensFinanciveis)}}"
>
</cancelamento-proposta>
<p>
Este formulário permite que você corrija alguns dados da propostas desde que ela ainda não tenha sido selecionada. Objerve sempre o objeto,
justificativa da intervenção e o problema a ser resolvidor antes de alterar o PRograma e a Ação.
</p>
<cancelamento-proposta
url='{{ url("/") }}'
v-bind:proposta="{{json_encode($proposta)}}"
v-bind:itens="{{json_encode($itensFinanciveis)}}"
>
</cancelamento-proposta>
<span class="br-divider lg my-3"></span>
<div class="row">
<div class="col col-xs-12 col-sm-6">
<div class="p-3 text-left">
@if($usuario->tipo_usuario_id == 1)
<button class="br-button danger mr-3" type="button" name="cancelar" onclick="window.location.href='/admin/proposta/cancelar/{{$proposta->id}}'">Cancelar Proposta
</button>
@endif
</div>
</div>
<div class="col col-xs-12 col-sm-6">
<div class="p-3 text-right">
<button class="br-button primary mr-3" type="button" name="imprimir" value="Imprimir" onclick="window.print();">Imprimir
</button>
<button class="br-button danger mr-3" type="button" onclick="javascript:window.history.go(-1)">Voltar
</button>
</div>
</div>
</div>
</div>
</div>
......
......@@ -29,6 +29,12 @@ Route::get('/tipo_indeferimento/providencias/{tipo}', 'ApiController@buscarProvi
Route::get('/modalidade_participacao', 'ApiController@modalidadeParticipacao');
Route::get('/itens/modalidade/{selecao}', 'ApiController@itensFinModalidades');
Route::get('/motivo_cancelamento', 'ApiController@motivoCancelamento');
Route::get('/selecao/itensFinanciaveis', 'ApiController@buscarItensFinanciaveis');
Route::get('/selecao', 'ApiController@buscarSelecoes');
Route::get('/situacaoPropostas', 'ApiController@buscarSituacoesPropostas');
......
......@@ -99,6 +99,7 @@ Route::post('/admin/proposta/selecao/concluir/', 'Propostas\SelecaoController@co
Route::get('/admin/proposta/selecionada/excluir/lista/{selecaoPropostas}', 'Propostas\SelecaoController@excluirSelecaoProposta');
Route::post('/admin/proposta/correcao/salvar', 'Propostas\SelecaoController@corrigirProposta');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment