fix: ajusta formato de data para padrão brasileiro (DD/MM/AAAA)
This commit is contained in:
@@ -8,6 +8,20 @@ let currentPage = 1;
|
|||||||
let rowsPerPage = 20;
|
let rowsPerPage = 20;
|
||||||
let totalRows = 0;
|
let totalRows = 0;
|
||||||
|
|
||||||
|
// Função para formatar data do formato ISO (YYYY-MM-DD) para DD/MM/YYYY
|
||||||
|
function formatarData(data) {
|
||||||
|
if (!data) return '';
|
||||||
|
const [ano, mes, dia] = data.split('-');
|
||||||
|
return `${dia}/${mes}/${ano}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Função para converter data de DD/MM/YYYY para YYYY-MM-DD
|
||||||
|
function converterDataParaISO(data) {
|
||||||
|
if (!data) return '';
|
||||||
|
const [dia, mes, ano] = data.split('/');
|
||||||
|
return `${ano}-${mes}-${dia}`;
|
||||||
|
}
|
||||||
|
|
||||||
// Função para calcular o total de páginas
|
// Função para calcular o total de páginas
|
||||||
function calculateTotalPages() {
|
function calculateTotalPages() {
|
||||||
const allRows = document.querySelectorAll('#militantesTable tbody tr');
|
const allRows = document.querySelectorAll('#militantesTable tbody tr');
|
||||||
@@ -276,9 +290,9 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
'edit_nome': dados.nome,
|
'edit_nome': dados.nome,
|
||||||
'edit_cpf': dados.cpf,
|
'edit_cpf': dados.cpf,
|
||||||
'edit_titulo_eleitoral': dados.titulo_eleitoral,
|
'edit_titulo_eleitoral': dados.titulo_eleitoral,
|
||||||
'edit_data_nascimento': dados.data_nascimento,
|
'edit_data_nascimento': dados.data_nascimento ? formatarData(dados.data_nascimento) : '',
|
||||||
'edit_data_entrada': dados.data_entrada_oci,
|
'edit_data_entrada': dados.data_entrada_oci ? formatarData(dados.data_entrada_oci) : '',
|
||||||
'edit_data_efetivacao': dados.data_efetivacao_oci,
|
'edit_data_efetivacao': dados.data_efetivacao_oci ? formatarData(dados.data_efetivacao_oci) : '',
|
||||||
'edit_telefone1': dados.telefone1,
|
'edit_telefone1': dados.telefone1,
|
||||||
'edit_telefone2': dados.telefone2,
|
'edit_telefone2': dados.telefone2,
|
||||||
'edit_email': dados.email,
|
'edit_email': dados.email,
|
||||||
@@ -307,6 +321,10 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
const campo = document.getElementById(id);
|
const campo = document.getElementById(id);
|
||||||
if (campo && valor !== undefined && valor !== null) {
|
if (campo && valor !== undefined && valor !== null) {
|
||||||
campo.value = valor;
|
campo.value = valor;
|
||||||
|
// Se for campo de data, ajustar o tipo para text
|
||||||
|
if (campo.type === 'date') {
|
||||||
|
campo.type = 'text';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -366,14 +384,21 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
console.log('Enviando formulário de edição...');
|
console.log('Enviando formulário de edição...');
|
||||||
|
|
||||||
const formData = new FormData(this);
|
// Converter datas para formato ISO antes do envio
|
||||||
|
const camposData = this.querySelectorAll('input[type="text"][name*="data"]');
|
||||||
|
camposData.forEach(campo => {
|
||||||
|
if (campo.value) {
|
||||||
|
campo.value = converterDataParaISO(campo.value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Coletar responsabilidades selecionadas
|
// Coletar responsabilidades selecionadas
|
||||||
const responsabilidades = [];
|
const responsabilidades = [];
|
||||||
if (document.getElementById('edit_resp_1').checked) responsabilidades.push('Finanças');
|
if (document.getElementById('edit_resp_1').checked) responsabilidades.push('Finanças');
|
||||||
if (document.getElementById('edit_resp_2').checked) responsabilidades.push('Imprensa');
|
if (document.getElementById('edit_resp_2').checked) responsabilidades.push('Imprensa');
|
||||||
if (document.getElementById('edit_resp_4').checked) responsabilidades.push('Quadro-Orientador');
|
if (document.getElementById('edit_resp_4').checked) responsabilidades.push('Quadro-Orientador');
|
||||||
|
|
||||||
|
const formData = new FormData(this);
|
||||||
formData.set('responsabilidades', JSON.stringify(responsabilidades));
|
formData.set('responsabilidades', JSON.stringify(responsabilidades));
|
||||||
|
|
||||||
console.log('Responsabilidades enviadas:', responsabilidades);
|
console.log('Responsabilidades enviadas:', responsabilidades);
|
||||||
@@ -454,6 +479,14 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
formNovoMilitante.addEventListener('submit', function(e) {
|
formNovoMilitante.addEventListener('submit', function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
// Converter datas para formato ISO antes do envio
|
||||||
|
const camposData = this.querySelectorAll('input[type="text"][name*="data"]');
|
||||||
|
camposData.forEach(campo => {
|
||||||
|
if (campo.value) {
|
||||||
|
campo.value = converterDataParaISO(campo.value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const formData = new FormData(this);
|
const formData = new FormData(this);
|
||||||
|
|
||||||
fetch(this.action, {
|
fetch(this.action, {
|
||||||
@@ -713,6 +746,35 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Configurar campos de data para formato brasileiro
|
||||||
|
const camposData = document.querySelectorAll('input[type="date"]');
|
||||||
|
camposData.forEach(campo => {
|
||||||
|
// Quando o campo receber foco, usar o formato ISO para o input type="date"
|
||||||
|
campo.addEventListener('focus', function() {
|
||||||
|
if (this.value) {
|
||||||
|
const dataISO = converterDataParaISO(this.value);
|
||||||
|
this.type = 'date';
|
||||||
|
this.value = dataISO;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Quando o campo perder foco, mostrar no formato brasileiro
|
||||||
|
campo.addEventListener('blur', function() {
|
||||||
|
if (this.value) {
|
||||||
|
const dataBR = formatarData(this.value);
|
||||||
|
this.type = 'text';
|
||||||
|
this.value = dataBR;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Inicializar com o formato brasileiro se já tiver valor
|
||||||
|
if (campo.value) {
|
||||||
|
const dataBR = formatarData(campo.value);
|
||||||
|
campo.type = 'text';
|
||||||
|
campo.value = dataBR;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Inicializar paginação
|
// Inicializar paginação
|
||||||
updateVisibleRows();
|
updateVisibleRows();
|
||||||
updatePagination();
|
updatePagination();
|
||||||
|
|||||||
@@ -60,7 +60,6 @@
|
|||||||
<label for="edit_data_nascimento" class="form-label">Data de Nascimento</label>
|
<label for="edit_data_nascimento" class="form-label">Data de Nascimento</label>
|
||||||
<input type="date" class="form-control" id="edit_data_nascimento" name="data_nascimento"
|
<input type="date" class="form-control" id="edit_data_nascimento" name="data_nascimento"
|
||||||
placeholder="dd/mm/aaaa">
|
placeholder="dd/mm/aaaa">
|
||||||
<small class="form-text text-muted">Formato: dd/mm/aaaa</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -68,13 +67,11 @@
|
|||||||
<label for="edit_data_entrada" class="form-label">Data de Entrada OCI</label>
|
<label for="edit_data_entrada" class="form-label">Data de Entrada OCI</label>
|
||||||
<input type="date" class="form-control" id="edit_data_entrada" name="data_entrada_oci"
|
<input type="date" class="form-control" id="edit_data_entrada" name="data_entrada_oci"
|
||||||
placeholder="dd/mm/aaaa">
|
placeholder="dd/mm/aaaa">
|
||||||
<small class="form-text text-muted">Formato: dd/mm/aaaa</small>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label for="edit_data_efetivacao" class="form-label">Data de Efetivação</label>
|
<label for="edit_data_efetivacao" class="form-label">Data de Efetivação</label>
|
||||||
<input type="date" class="form-control" id="edit_data_efetivacao" name="data_efetivacao_oci"
|
<input type="date" class="form-control" id="edit_data_efetivacao" name="data_efetivacao_oci"
|
||||||
placeholder="dd/mm/aaaa">
|
placeholder="dd/mm/aaaa">
|
||||||
<small class="form-text text-muted">Formato: dd/mm/aaaa</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -59,7 +59,6 @@
|
|||||||
<label for="data_nascimento" class="form-label">Data de Nascimento</label>
|
<label for="data_nascimento" class="form-label">Data de Nascimento</label>
|
||||||
<input type="date" class="form-control" id="data_nascimento" name="data_nascimento"
|
<input type="date" class="form-control" id="data_nascimento" name="data_nascimento"
|
||||||
placeholder="dd/mm/aaaa">
|
placeholder="dd/mm/aaaa">
|
||||||
<small class="form-text text-muted">Formato: dd/mm/aaaa</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -67,13 +66,11 @@
|
|||||||
<label for="data_entrada" class="form-label">Data de Entrada OCI</label>
|
<label for="data_entrada" class="form-label">Data de Entrada OCI</label>
|
||||||
<input type="date" class="form-control" id="data_entrada" name="data_entrada_oci"
|
<input type="date" class="form-control" id="data_entrada" name="data_entrada_oci"
|
||||||
placeholder="dd/mm/aaaa">
|
placeholder="dd/mm/aaaa">
|
||||||
<small class="form-text text-muted">Formato: dd/mm/aaaa</small>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label for="data_efetivacao" class="form-label">Data de Efetivação</label>
|
<label for="data_efetivacao" class="form-label">Data de Efetivação</label>
|
||||||
<input type="date" class="form-control" id="data_efetivacao" name="data_efetivacao_oci"
|
<input type="date" class="form-control" id="data_efetivacao" name="data_efetivacao_oci"
|
||||||
placeholder="dd/mm/aaaa">
|
placeholder="dd/mm/aaaa">
|
||||||
<small class="form-text text-muted">Formato: dd/mm/aaaa</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user