var updateEmail = false;
$("#telefone").mask("(99) 99999-9999");
$("#cpf").mask("999.999.999-99");
// const arrayCampos = [
// "#email",
// "#matricula",
// "#nome",
// "#cpf",
// "#telefone",
// ".documentos",
// "#selecione-servico",
// ];
const arrayCampos = [
"#email",
"#matricula",
"#nome",
"#cpf",
"#telefone",
".documentos",
];
const arrayCamposObrigatorios = [
"#email",
"#matricula",
"#nome",
"#cpf",
"#telefone",
];
var horarioAgendamento;
var horarioCalendarioSelecionado;
var diaCalendario;
var mesCalendario;
var anoCalendario;
var idUsuario;
var cadastro = false;
var atualizaDados = false;
// var usuarioSemEmail = false;
var usuarioSemEmail;
var dadosPessoa;
var botaoAtualizar;
$("#email, #nome, #cpf, #telefone, #matricula").on("change", function (e) {
var email = $("#email").val();
var nome = $("#nome").val();
var cpf = $("#cpf").val();
var telefone = $("#telefone").val();
var matricula = $("#matricula").val();
if (
email != "" &&
nome != "" &&
cpf != "" &&
telefone != "" &&
matricula != "" &&
updateEmail == false &&
usuarioSemEmail == false
) {
$("#btn-continuar").show();
} else {
$("#btn-continuar").hide();
}
});
document.querySelector("#email").addEventListener("change", async function () {
const email = validateAndClearEmail("email");
if (email == null) {
return;
}
if (email == "") {
mostrarAlerta("Digite um email!");
return;
}
if ($("#email").val() == "" || botaoAtualizar) {
const response = await fetch("/api/v1/get-usuario", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ email }),
});
if (response.ok) {
const data = await response.json();
if (Object.keys(data).length > 0) {
$("#email").val("");
mostrarAlerta(
"E-mail já cadastrado para outro usuário, favor insira um e-mail diferente."
);
$("#btn-continuar").hide();
} else {
if(usuarioSemEmail){
$("#btn-continuar").hide();
}else {
$("#btn-continuar").show();
}
}
}
}
if(document.getElementById("emailConf").value != ""){
$("#btn-continuar").show();
}
});
const btnCorrigeDados = document.querySelector("#btn-corrigeDados");
btnCorrigeDados.addEventListener("click", async (event) => {
updateEmail = true;
if (!usuarioSemEmail) {
$("#email").val("");
}
atualizaDados = true;
botaoAtualizar = true;
$("#btn-corrigeDados").hide();
$("#btn-continuar").hide();
$("#emailConfirm").removeClass("hide");
$("#email").removeAttr("readonly");
$("#email").css("background-color", "#fff");
});
const btnContinuar = document.querySelector("#btn-continuar");
btnContinuar.addEventListener("click", async (event) => {
var filterArrayCampos = arrayCamposObrigatorios.filter(
(i) => $(i).val() == ""
);
if (filterArrayCampos.length > 0) {
let textoAlert = `Preencha o campo: ${$(filterArrayCampos.filter((i) => $(i).val() == "")[0])
.parent()
.find("label")
.text()
.split(":")[0]
}`;
mostrarAlerta(textoAlert);
return;
}
if (!atualizaDados && !cadastro) {
var dadosPessoaCadastro = {
idUsuario,
telefone: [
{
tipo: "CELULAR",
ddd: $("#telefone").val().substring(1, 3),
numero: $("#telefone")
.val()
.substring(5, $("#telefone").val().length)
.replace(/\D/g, ""),
sms: true,
preferencial: false,
},
],
};
const response = await fetch("/api/v1/atualiza-contato", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ dadosPessoaCadastro }),
});
if (response.ok) {
idUsuario = await response.json();
console.log(idUsuario);
showSwal();
}
$("#emailConf").val("");
showSwal();
}
if (atualizaDados) {
var emailNovoConfirmacao = $("#emailConf").val().trim();
var emailDigitado = $("#email").val().trim();
if (emailNovoConfirmacao == "" || emailDigitado == "") {
mostrarAlerta("Preencha os dois campos de email para prosseguir!");
return;
}
if (emailDigitado === emailNovoConfirmacao) {
var dadosPessoaCadastro = {
idUsuario,
cpf: document.querySelector("#cpf").value,
nome: document.querySelector("#nome").value,
email: emailNovoConfirmacao,
telefone: [
{
tipo: "CELULAR",
ddd: $("#telefone").val().substring(1, 3),
numero: $("#telefone")
.val()
.substring(5, $("#telefone").val().length)
.replace(/\D/g, ""),
sms: true,
preferencial: false,
},
],
method: "PUT",
};
const response = await fetch("/api/v1/cadastro-usuario", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ dadosPessoaCadastro }),
});
if (response.ok) {
idUsuario = await response.json();
console.log(idUsuario);
showSwal();
}
} else {
mostrarAlerta("Os e-mails não são iguais. Favor informar novamente.");
}
}
if (cadastro) {
var emailNovoConfirmacao = $("#emailConf").val().trim();
var emailDigitado = $("#email").val().trim();
if (emailNovoConfirmacao != emailDigitado) {
mostrarAlerta("Os e-mails não são iguais. Favor informar novamente.");
return;
}
var dadosPessoaCadastro = {
cpf: $("#cpf").val(),
nome: $("#nome").val(),
email: $("#email").val(),
telefone: $("#telefone").val(),
method: "POST",
};
const response = await fetch("/api/v1/cadastro-usuario", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ dadosPessoaCadastro }),
});
if (response.ok) {
idUsuario = await response.json();
console.log(idUsuario);
showSwal();
}
}
});
function mostrarCampos() {
arrayCampos.forEach((item) => {
document.querySelector(item).classList.remove("hide");
document.querySelector(item).parentElement.classList.remove("hide");
document
.querySelector(item)
.parentElement.parentElement.classList.remove("hide");
});
}
function ocultarCampos() {
arrayCampos.forEach((item) => {
document.querySelector(item).classList.add("hide");
document.querySelector(item).parentElement.classList.add("hide");
document
.querySelector(item)
.parentElement.parentElement.classList.add("hide");
});
document.querySelector("#selecione-servico").classList.remove("hide");
document
.querySelector("#servico")
.parentElement.parentElement.parentElement.classList.remove("hide");
document
.querySelector("#servico")
.parentElement.parentElement.classList.remove("hide");
}
function maskTelefone(value) {
value = value.replace(/\D/g, "");
value = value.replace(/(\d{2})(\d)/, "($1) $2");
value = value.replace(/(\d{5})(\d)/, "$1-$2");
return value;
}
var email = document.getElementById("email");
document.getElementById("emailConf").onchange = function () {
if (email.value != "") {
$("#btn-continuar").show();
}
}
$("#servico").on("change", function (e) {
if (e.target.value != "Selecione") {
mostrarCampos();
if (e.target.value == "Revisão de consumo") {
document.querySelector("#documentos-button-anchor").href =
"https://atendimentovirtual.embasa.ba.gov.br/carta-verificar-consumo";
}
if (e.target.value == "Parcelamento") {
document.querySelector("#documentos-button-anchor").href =
"https://atendimentovirtual.embasa.ba.gov.br/carta-simular-parcelamento";
}
if (e.target.value == "Alteração de Titularidade") {
document.querySelector("#documentos-button-anchor").href =
"https://atendimentovirtual.embasa.ba.gov.br/carta-de-servico-alteracao-de-titularidade";
}
} else {
ocultarCampos();
}
});
function showAgendamentoModal(telefone) {
setTimeout(() => {
$("#agendamento").on("change", function (e) {
var ulData = document.querySelector("#horariosDisponiveis");
ulData.innerHTML = "";
horarioCalendarioSelecionado = $("#agendamento").val();
diaCalendario = horarioCalendarioSelecionado.split("-")[2];
mesCalendario = horarioCalendarioSelecionado.split("-")[1];
anoCalendario = horarioCalendarioSelecionado.split("-")[0];
});
$("#agendamento").on("blur", function (e) {
horarioCalendarioSelecionado = $("#agendamento").val();
const dataSelecionada = new Date(horarioCalendarioSelecionado).getDay();
if (dataSelecionada == 5 || dataSelecionada == 6) {
$("#agendamento").val("");
mostrarAlerta(
"Você selecionou um dia do final de semana, onde não há atendimento. Favor selecionar outra data."
);
}
});
}, 2000);
Swal.fire({
title: "Conclua o seu agendamento:",
html: `