= javascript_include_tag 'bomcobox'
= javascript_include_tag "contabilidade/taloes_de_receita/form"
.alert.alert-warning[role="alert" id="alert-content" style="display: none;"]
span#alert-message
= form_for( @talao_de_receita, html: { class: "form-vertical" }, role: "form" ) do |f|
fieldset
legend
strong
' Lançar Receita
// por enquanto não será usado o evento semi-automatico
//== render partial: 'contabilidade/seletor_de_evento_contabil', locals: { gerador: @talao_de_receita, f: f } if contabilidade_atual
/ Hidden fields
= f.hidden_field :relancamento, value: @talao_de_receita[:relancamento]
- if params[:orcamentarios].present? || @talao_de_receita.orcamentario?
= f.hidden_field :orcamentarios, value: true
= f.hidden_field :origem_do_talao, value: 'orcamentario', id: 'origem_do_talao'
- elsif params[:extra_orcamentarios].present? || @talao_de_receita.extra_orcamentario?
= f.hidden_field :extra_orcamentarios, value: true
= f.hidden_field :origem_do_talao, value: 'extra_orcamentario', id: 'origem_do_talao'
.form-group
.row
.col-sm-2
= f.label :data, "Data*", class: "control-label", for: "normal-field"
.input-group
= f.text_field :data_do_talao, placeholder: '00/00/0000', class: "form-control date-picker", autocomplete: "off", value: @talao_de_receita.try(:data_do_talao), required: true
span.input-group-addon
span.icone-calendario
= error_for @talao_de_receita, :data_do_talao
= error_for @talao_de_receita, :sim
.col-sm-5
= f.label :unidade_orcamentaria, "Unidade Gestora*", class: "control-label", for: "normal-field"
= f.select :unidade_orcamentaria_id,
options_from_collection_for_select( \
@unidades_orcamentarias, :id, :codigo_e_nome, @talao_de_receita.try(:unidade_orcamentaria_id) \
),
{include_blank: "Selecione"},
class: "form-control s2",
data: { value: @talao_de_receita.try(:unidade_orcamentaria_id) }
= error_for @talao_de_receita, :unidade_orcamentaria_id
.form-group
.row
- if params[:extra_orcamentarios].present? || @talao_de_receita.extra_orcamentario?
.col-sm-6
= f.label :conta_extra_orcamentaria_id, 'Receita*', class: "control-label"
a#detalhes_da_natureza_da_receita
= f.select :conta_extra_orcamentaria_id,
options_from_collection_for_select({}, 'id', 'descricao' ),
{ include_blank: "Selecione" },
class: "form-control s2", id: 'codigo_depesa_extra',
data: { value: f.object.try(:conta_extra_orcamentaria_id) }
= error_for @talao_de_receita, :conta_extra_orcamentaria_id
- else
.col-sm-6
= f.label 'Receita*', class: "control-label", for: "normal-field"
= f.select :natureza_da_receita_id,
options_from_collection_for_select( \
@naturezas_da_receita, :id, :codigo_formatado_e_descricao, @talao_de_receita.natureza_da_receita_id),
{ include_blank: "Selecione" },
class: 'form-control s2 natureza_da_receita_input',
data: { value: @talao_de_receita.natureza_da_receita_id }
= error_for @talao_de_receita, :natureza_da_receita_id
.col-sm-3
- if @talao_de_receita.persisted? && @talao_de_receita.anulacoes_dos_taloes_de_receita.present?
= f.label :saldo_do_empenho, "Valor", class: "control-label"
= f.text_field :valor, placeholder: 'R$ 0,00', disabled: true, class: "form-control valor", data: { autonumeric: true, 'a-sep'=> '.', 'a-dec'=>',', 'a-sign'=> 'R$ ', 'v-min'=> '0.00', 'v-max'=> '9999999999.99' }, value: @talao_de_receita.try(:valor).to_f.real_contabil
- else
= f.label "Valor*", class: "control-label", for: "normal-field"
= f.text_field :valor, placeholder: 'R$ 0,00', class: "form-control valor", data: { autonumeric: true, 'a-sep'=> '.', 'a-dec'=>',', 'a-sign'=> 'R$ ', 'v-min'=> '0.00', 'v-max'=> '9999999999.99' }, value: @talao_de_receita.try(:valor)
= error_for @talao_de_receita, :valor
.alerta_forte_com_saldos_errados
.row
.col-md-12
.alert.alert-warning.alert-sm
span.fw-bold Importante!
' Não foi possível distribuir o saldo corretamente entre as fontes de recursos, corrija os saldos
- if params[:orcamentarios].present? || @talao_de_receita.orcamentario?
.form-group
.row
.col-sm-12
fieldset
legend
strong
' Fontes do Talão
- if @talao_de_receita.new_record?
- if @talao_de_receita.errors.messages[:"complementos_por_fonte_do_talao_de_receita.complementacao_da_fonte_de_recurso"].present?
.row.br-top
.col-sm-12
.alert.alert-danger role="alert"
strong
| Atenção!
=< "A complementação das fontes devem ser informadas!"
#fontes_talao
- else
.table-responsive
table.table.table-bordered.table-hover
thead
tr
th Fonte
th Complementação
th width="15%" %
th width="15%" Valor
tbody
= f.fields_for :complementos_por_fonte_do_talao_de_receita do |complemento_por_fonte_do_talao_de_receita|
= render 'complemento_por_fonte_do_talao_de_receita_fields', f: complemento_por_fonte_do_talao_de_receita
tfoot
tr
td.links colspan=2 align="right"
b TOTAL
td
strong#percentual_total
td
strong.form-control-static.moeda#valor_total_das_fontes
.form-group
.row
.col-sm-9
= f.label "Contribuinte*", class: "control-label", for: "normal-field"
= popup_pesquisa_pessoa_button module: "contabilidade_talao_de_receita", field: "pessoa_id", url: pesquisa_base_pessoas_path, show_value: @talao_de_receita.pessoa.try(:cpf_ou_cnpj_e_nome), hidden_value: @talao_de_receita.pessoa_id, title: "Pesquisar Contribuinte"
= error_for @talao_de_receita, :pessoa_id
fieldset
legend
strong
' Dados Financeiros
.form-group
.row
- unless @talao_de_receita.talao_de_desconto?
.col-sm-4
= f.label :conta_bancaria_por_unidade_orcamentaria, "Conta Corrente*", class: "control-label", for: "normal-field"
a#detalhes_da_conta
- if @talao_de_receita.persisted? && !@talao_de_receita.vem_do_intermodulos?
= f.label :conta_bancaria_por_unidade_orcamentaria_id, "Valor", class: "control-label"
= f.text_field :conta_bancaria_por_unidade_orcamentaria_id, disabled: true, class: "form-control", value: @talao_de_receita.conta_bancaria_por_unidade_orcamentaria&.numero_agencia_e_banco
- else
= f.select :conta_bancaria_por_unidade_orcamentaria_id,
options_from_collection_for_select( \
@contas_bancarias, :id, :numero_agencia_e_banco, @talao_de_receita.conta_bancaria_por_unidade_orcamentaria_id \
),
{ include_blank: 'Selecione' },
class: 'form-control s2',
data: { value: @talao_de_receita.conta_bancaria_por_unidade_orcamentaria_id }
= error_for @talao_de_receita, :conta_bancaria_por_unidade_orcamentaria_id
- unless params[:extra_orcamentarios].present? || @talao_de_receita.extra_orcamentario?
.col-sm-4
= f.label :transferencia, 'Convênio/Transferência', class: "control-label", for: "normal-field"
a#convenios_trasferencia
= f.select :transferencia_id,
options_from_collection_for_select( \
@transferencias, :id, :codigo_transferencia, @talao_de_receita.try(:transferencia_id) \
),
{ include_blank: "Selecione" },
class: 'form-control s2',
id: 'convenio_select',
data: { value: @talao_de_receita.try(:transferencia_id) }
= error_for @talao_de_receita, :transferencia_id
.col-sm-4
= f.label :operacao_de_credito, "Operação de Crédito", class: "control-label", for: "normal-field"
a#operacao_de_credito
= f.select :operacao_de_credito_id,
options_from_collection_for_select( \
@operacoes_de_credito, :id, :codigo, @talao_de_receita.operacao_de_credito_id \
),
{ include_blank: 'Selecione' },
class: 'form-control s2',
id: 'operacao_de_credito_select',
data: { value: @talao_de_receita.operacao_de_credito_id }
= error_for @talao_de_receita, :operacao_de_credito_id
fieldset
legend
.form-group
.row
.col-sm-3
= f.label :documento_de_credito, "Documento de Crédito*", class: "control-label", for: "normal-field"
= f.text_field :documento_de_credito, class: "form-control", maxlength: 20, value: @talao_de_receita.try(:documento_de_credito)
= error_for @talao_de_receita, :documento_de_credito
.col-sm-4
= f.label :tipo_de_documento, "Tipo de Documento*", class: "control-label", for: "normal-field"
= f.select :tipo_de_documento,
options_for_select( \
@tipos_de_documento.collect { |t| [ Contabilidade::TalaoDeReceita.localizar("tipo_de_documento",t[0]), t[0] ] },
@talao_de_receita.try(:tipo_de_documento) \
),
{ include_blank: 'Selecione' },
class: 'form-control s2',
data: { value: @talao_de_receita.try(:tipo_de_documento) }
= error_for @talao_de_receita, :tipo_de_documento
.col-sm-4
= f.label :sub_conta_pcasp_id, "Subconta do PCASP*", class: "control-label"
= f.select :sub_conta_pcasp_id, options_from_collection_for_select(@sub_contas, :id, :codigo_e_descricao, f.object.sub_conta_pcasp_id), { include_blank: 'Selecione' }, class: 'form-control s2', id:"sub_conta_pcasp"
= error_for @talao_de_receita, :sub_conta_pcasp_id
.form-group
.row
.col-sm-12
= f.label :historico, 'Histórico*', class: "control-label", for: "normal-field"
= f.text_area :historico, class: "form-control", rows: 5, id: "historico"
= error_for @talao_de_receita, :historico
.form-group
h6
' (*) Campos Obrigatórios
.form-actions
.row
.col-sm-12
= f.hidden_field :orcamentarios, value: params[:orcamentarios]
= f.hidden_field :item_do_lote_da_receita_id
= f.hidden_field :manter_form, value: false
= f.submit "Salvar", class: "btn btn-primary", id: "salvar_talao_submit"
- if @talao_de_receita.new_record?
= f.submit "Salvar e cadastrar outra", id: "salvar_talao_e_cadastrar_outro_submit", class: "btn btn-success"
= link_to "Cancelar", contabilidade_taloes_de_receita_path( contabilidade_atual ), class: "btn btn-default"
p.erro_diferenca_de_valor.text-danger.bold
= popup_pesquisa_pessoa title: "Pesquisa Contribuinte"
- content_for :js do
javascript:
$('#contabilidade_talao_de_receita_unidade_orcamentaria_id').change(function() {
carrega_sub_contas_pcasp();
carrega_operacao_de_credito();
setTimeout(function() {
carrega_convenio();
}, 500);
});
$('.natureza_da_receita_input').change(function() {
carrega_sub_contas_pcasp();
});
function limpaSelectBox(id){
$(id).empty().trigger('change')
select_box = $(id).select2({
placeholder: "Selecione",
allowClear: true
})
return(select_box);
}
function populaSelectBox(select_box){
select_box.prepend(new Option('Selecione', '', true, true));
select_box.trigger('change');
}
function carrega_sub_contas_pcasp(){
let dropdown_sub_contas = $("#sub_conta_pcasp");
subconta_id_selecionado = $("#sub_conta_pcasp").val();
dropdown_sub_contas.empty();
if ($("#contabilidade_talao_de_receita_unidade_orcamentaria_id").val() != "" && $(".natureza_da_receita_input").val() != "") {
dropdown_sub_contas.append($('').attr('value', '').text('Selecione'));
dropdown_sub_contas.prop('selectedIndex', 0);
$.getJSON(ROOT_PATH + "contabilidade/sub_contas_pcasp.json?natureza_da_receita_id=" + $(".natureza_da_receita_input").val(), function(dados) {
$.each(dados, function (key, entry) {
if (dados.length == 1) {
$("#sub_conta_pcasp").append(``);
subconta_id_selecionado = entry.id;
}else{
dropdown_sub_contas.append($('').attr('value', entry.id).text(entry.codigo_e_descricao));
}
});
if (subconta_id_selecionado != '') {
$("#sub_conta_pcasp").val(subconta_id_selecionado);
}
dropdown_sub_contas.trigger("change");
});
}
};
function carrega_operacao_de_credito(){
var url = root_url + "pesquisas/" + $('#contabilidade_talao_de_receita_unidade_orcamentaria_id').val() + "/operacao_de_credito_por_unidade";
valor_selecionado = $("#operacao_de_credito_select").val();
select_box = limpaSelectBox("#operacao_de_credito_select");
populaSelectBox(select_box);
$.ajax({
type: 'GET',
url: url,
success: function(data,status,xhr) {
if ($.trim(data) != ""){
$.each(data, function (i, item) {
option = new Option(item['codigo'], item['id'], true, true);
select_box.append(option);
});
if (valor_selecionado != '') {
$("#operacao_de_credito_select").val(valor_selecionado);
}
}
}
});
};
function carrega_convenio(){
var url = root_url + "pesquisas/" + $('#contabilidade_talao_de_receita_unidade_orcamentaria_id').val() + "/convenio_trasnferencia_por_unidade";
valor_selecionado = $("#convenio_select").val();
select_box = limpaSelectBox("#convenio_select");
populaSelectBox(select_box);
$.ajax({
type: 'GET',
url: url,
success: function(data,status,xhr) {
if ($.trim(data) != ""){
$.each(data, function (i, item) {
console.log(item)
option = new Option(item['codigo_transferencia'], item['id'], true, true);
select_box.append(option);
});
if (valor_selecionado != '') {
$("#convenio_select").val(valor_selecionado);
}
}
}
});
};