RamonSilva20 / mapos

Sistema de Controle de Ordens de Serviço
http://mapos.com.br
Apache License 2.0
882 stars 605 forks source link

cep de portugual cmo posso estar colando ? #568

Closed Bruno28121 closed 4 years ago

Bruno28121 commented 4 years ago

Descreva o bug Quando vou buscar o cep ele so busca ceps do Brasil, precisava usar o sistema em portugual , como poderia colocar a busca dos endereços automaticos de la ?

Reproduzir Etapas para reproduzir o comportamento:

  1. Vá para cadastro de clientes

  2. Clique em adicionar cliente

  3. Role para baixo até 'va ate o campo cep e coloque algum cep do exterior

  4. Ver erro

Comportamento esperado Uma descrição clara e concisa do que você esperava que acontecesse.

Capturas de tela Se aplicável, adicione capturas de tela para ajudar a explicar seu problema.

Desktop (preencha as seguintes informações):

Smartphone (preencha as seguintes informações):

Contexto adicional Adicione qualquer outro contexto sobre o problema aqui.

Pr3d4dor commented 4 years ago

Teria que usar um serviço de CEPS de Portugal e ao receber a resposta desse serviço preencher os campos correspondentes com a resposta.

Bruno28121 commented 4 years ago

Como faco isso poderia me ajudar ?

Bruno28121 commented 4 years ago

Teria que usar um serviço de CEPS de Portugal e ao receber a resposta desse serviço preencher os campos correspondentes com a resposta.

como faria isso ?

Pr3d4dor commented 4 years ago

A função que realiza o autocomplete de cep pode ser localizada em: https://github.com/RamonSilva20/mapos/blob/master/assets/js/funcoes.js.

Da linha 32 em diante.

Pr3d4dor commented 4 years ago

Sobre um webservice com ceps de Portugal, você teria que encontrar algum e realizar a modificação necessária para utilizá-lo.

Bruno28121 commented 4 years ago

Sobre um webservice com ceps de Portugal, você teria que encontrar algum e realizar a modificação necessária para utilizá-lo.

eu sou novo em php ja esta hospedado o sistema, mas como faria a modificaçao ?

Pr3d4dor commented 4 years ago

Você sabe de algum webservice de ceps de Portugal, se vc conseguir me passar um eu posso tentar adaptar e lhe passar.

mmonzato commented 4 years ago

@Bruno28121 http://codigospostais.appspot.com/

Bruno28121 commented 4 years ago

Você sabe de alum webservice de ceps de Portugal, se vc conseguir me passar um eu posso tentar adaptar e lhe passar.

http://codigospostais.appspot.com/ tem estes aqui

Bruno28121 commented 4 years ago

Noa consegui colocar este codigo na linha 32 nao achei poderiam me ajudar ?

Bruno28121 commented 4 years ago

//Quando o campo cep perde o foco. $("#cep").blur(function () {

    //Nova variável "cep" somente com dígitos.
    var cep = $(this).val().replace(/\D/g, '');

    //Verifica se campo cep possui valor informado.
    if (cep != "") {

        //Expressão regular para validar o CEP.

        var validacep = /cp72coord?/;

        //Valida o formato do CEP.

        if (validacep.test(cep)) {

            //Preenche os campos com "..." enquanto consulta webservice.
            $("#rua").val("...");
            $("#bairro").val("...");
            $("#cidade").val("...");
            $("#estado").val("...");

            //Consulta o webservice viacep.com.br/
            $.getJSON("https://viacep.com.br/ws/" + cep + "/json/?callback=?", function (dados) {

                if (!("erro" in dados)) {
                    //Atualiza os campos com os valores da consulta.
                    $("#rua").val(dados.logradouro);
                    $("#bairro").val(dados.bairro);
                    $("#cidade").val(dados.localidade);
                    $("#estado").val(dados.uf);
                    document.getElementById("numero").focus();
                } //end if.
                else {
                    //CEP pesquisado não foi encontrado.
                    limpa_formulario_cep();
                    Swal.fire({
                        type: "warning",
                        title: "Atenção",
                        text: "CEP não encontrado."
                    });
                }
            });
        } //end if.
        else {

MESMO TENDO COLOCADO O CODIGO POSTAL ELE AINDA ESTA PEGANDO O CEP DE 8 DIGITOS oNDE MUDO OS DIGITOS ?

Bruno28121 commented 4 years ago
            //Consulta o webservice viacep.com.br/
            $.getJSON("https://viacep.com.br/ws/" + cep + "/json/?callback=?", function (dados) {

                if (!("erro" in dados)) {
                    //Atualiza os campos com os valores da consulta.
                    $("#rua").val(dados.logradouro);
                    $("#bairro").val(dados.bairro);
                    $("#cidade").val(dados.localidade);
                    $("#estado").val(dados.uf);
                    document.getElementById("numero").focus();
                } //end if.
                else {
                    //CEP pesquisado não foi encontrado.
                    limpa_formulario_cep();
                    Swal.fire({
                        type: "warning",
                        title: "Atenção",
                        text: "CEP não encontrado."
                    });
                }
            });
        } //end if.
        else {
            //cep é inválido.
            limpa_formulario_cep();
            Swal.fire({
                type: "error",
                title: "Atenção",
                text: "Formato de CEP inválido."
            });
        }
    } //end if.
    else {
        //cep sem valor, limpa formulário.
        limpa_formulario_cep();
    }
});

});

O QUE TENHO DE COLOCAR AQUI NESTE CODIGO ?

Pr3d4dor commented 4 years ago

Desculpe pela demora para responder.

Creio que este código lhe ajude:

$(function () {
    $("#celular").mask("(00)00000-0000")
    $("#telefone").mask("(00)0000-0000")
});

$(function () {
    // INICIO FUNÇÃO DE MASCARA CPF/CNPJ
    var cpfMascara = function (val) {
        return val.replace(/\D/g, '').length > 11 ? '00.000.000/0000-00' : '000.000.000-009';
    },
    cpfOptions = {
        onKeyPress: function (val, e, field, options) {
            field.mask(cpfMascara.apply({}, arguments), options);
        }
    };
    $('.cpfcnpj').mask(cpfMascara, cpfOptions);
    // FIM FUNÇÃO DE MASCARA CPF/CNPJ
});

$(document).ready(function () {
    function limpa_formulario_cep() {
        // Limpa valores do formulário de cep.
        $("#rua").val("");
        $("#bairro").val("");
        $("#cidade").val("");
        $("#estado").val("");
    }

    //Quando o campo cep perde o foco.
    $("#cep").blur(function () {

        //Nova variável "cep" somente com dígitos.
        var cep = $(this).val().replace(/\D/g, '');

        //Verifica se campo cep possui valor informado.
        if (cep != "") {
            //Expressão regular para validar o CEP.
            var validacep = /^[0-9]{7}$/;

            //Valida o formato do CEP.

            if (validacep.test(cep)) {
                //Preenche os campos com "..." enquanto consulta webservice.
                $("#rua").val("...");
                $("#bairro").val("...");
                $("#cidade").val("...");

                //Consulta o webservice codigos postais
                $.ajax({
                    url: "https://codigospostais.appspot.com/cp7?codigo=" + cep,
                    dataType: 'JSONP',
                    jsonpCallback: 'callback',
                    type: 'GET',
                    success: function (dados) {
                        //Atualiza os campos com os valores da consulta.
                        $("#rua").val(dados.arteria);
                        $("#bairro").val(dados['local ou zona']);
                        $("#cidade").val(dados.localidade);
                        document.getElementById("numero").focus();
                    },
                    error: function() {
                        limpa_formulario_cep();
                        Swal.fire({
                            type: "warning",
                            title: "Atenção",
                            text: "CEP não encontrado."
                        });
                    }
                });
            } //end if.
            else {
                //cep é inválido.
                limpa_formulario_cep();
                Swal.fire({
                    type: "error",
                    title: "Atenção",
                    text: "Formato de CEP inválido."
                });
            }
        } //end if.
        else {
            //cep sem valor, limpa formulário.
            limpa_formulario_cep();
        }
    });
});
Bruno28121 commented 4 years ago

Esta dando cepo invalido ainda o que estou tentando usar este cep : 4700-206