| Server IP : 162.214.74.102 / Your IP : 216.73.217.80 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/lrsys/public_html/lrsys_apps/meridional/ui/lib/ |
Upload File : |
/* global _L, bootbox */
$(document).ready(function () {
var $modal = $('#ajax-modal');
var _url = $("#_url").val();
///////////////Esconde os autocomplete ao clicar no body/////////////////
$('body').click(function(){
$("#modal_suggesstion-box").hide();
$("#modal_suggesstion-box-salesman").hide();
});
//////////////////GROUP//////////////////////////
$modal.on('click', '#modal_add_new_group', function(e){
var _msg_add_new_group = $("#modal_msg_add_new_group").val();
var _msg_group_name = $("#modal_msg_group_name").val();
var ib_form_bootbox = "<form class=\"form-horizontal push-10\" method=\"post\" onsubmit=\"return false;\">\n <div class=\"form-group\">\n <div class=\"col-xs-12\">\n <div class=\"form-material floating\">\n <input class=\"form-control\" type=\"text\" id=\"modal_group_name\" name=\"group_name\">\n <label for=\"envato_api_key\">" + _msg_group_name + "</label>\n </div>\n </div>\n </div>\n\n</form>";
e.preventDefault();
//cria o bootbox para cadastrar novo grupo
bootbox.dialog({
title: _msg_add_new_group,
message: ib_form_bootbox,
buttons: {
success: {
label: "Save",
className: "btn-primary",
callback: function () {
var group_name_val = $('#modal_group_name').val();
if (group_name_val != '') {
$.post(_url + "contacts/add_group/", {group_name: group_name_val})
.done(function (data) {
if ($.isNumeric(data)) {
modalLoadGroups();
$('#modal_group_name').val("");
} else {
bootbox.alert(data);
$('#group_name').val("");
}
});
}
}
}
},
show: true
});
});
///////////////////TAG/////////////////////////
//adicionando o memsa ação de grupo para tag
$modal.on('click', '#modal_add_new_tag', function(e){
var _msg_add_new_tag = $("#modal_msg_add_new_tag").val();
var _msg_tag_name = $("#modal_msg_tag_name").val();
var ib_form_bootbox_tag = "<form class=\"form-horizontal push-10\" method=\"post\" onsubmit=\"return false;\">\n <div class=\"form-group\">\n <div class=\"col-xs-12\">\n <div class=\"form-material floating\">\n <input class=\"form-control\" type=\"text\" id=\"modal_tag_name\" name=\"tag_name\">\n <label>" + _msg_tag_name + "</label>\n </div>\n </div>\n </div>\n\n</form>";
e.preventDefault();
//cria o bootbox para cadastrar novo grupo
bootbox.dialog({
title: _msg_add_new_tag,
message: ib_form_bootbox_tag,
buttons: {
success: {
label: "Save",
className: "btn-primary",
callback: function () {
var tag_name_val = $('#modal_tag_name').val();
if (tag_name_val != '') {
$.post(_url + "tags/add-post-contact/", {tag: tag_name_val})
.done(function (data) {
if ($.isNumeric(data)) {
modalLoadTags();
$('#modal_tag_name').val("");
} else {
bootbox.alert(data);
$('#modal_tag_name').val("");
}
});
}
}
}
},
show: true
});
});
//////////////////SEGMENT////////////////
$modal.on('click', '#modal_add_new_segment', function(e){
var _msg_add_new_segment = $("#modal_msg_add_new_segment").val();
var _msg_segment_name = $("#modal_msg_segment_name").val();
var ib_form_bootbox_segment = "<form class=\"form-horizontal push-10\" method=\"post\" onsubmit=\"return false;\">\n <div class=\"form-group\">\n <div class=\"col-xs-12\">\n <div class=\"form-material floating\">\n <input class=\"form-control\" type=\"text\" id=\"modal_segment_name\" name=\"segment_name\">\n <label>" + _msg_segment_name + "</label>\n </div>\n </div>\n </div>\n\n</form>";
e.preventDefault();
//cria o bootbox para cadastrar novo grupo
bootbox.dialog({
title: _msg_add_new_segment,
message: ib_form_bootbox_segment,
buttons: {
success: {
label: "Save",
className: "btn-primary",
callback: function () {
var segment_name_val = $('#modal_segment_name').val();
if (segment_name_val != '') {
$.post(_url + "segment/add-post/", {segment_name: segment_name_val})
.done(function (data) {
if ($.isNumeric(data)) {
modalLoadSegments();
//limpa o campo
$('#modal_segment_name').val("");
} else {
bootbox.alert(data);
//limpa o campo
$('#modal_segment_name').val("");
}
});
}
}
}
},
show: true
});
});
////////////////cidade endereço////////////////////////////////
$modal.on('change', '#modal_state', function(e){
modalBuscaCity($(this).val(),"city");
});
/////////////////////cidade de endereco cobrança/////////////////////////////
//lê as informaçoes dos estado e cidade para
//adequar os combos, deixando o combo de cidade de acordo com
// o combo selecionado no estado
//esconde todos os dados da cidade da lista de endereço de cobrança
//função para listar cidades do estado selecionado
$modal.on('change', '#modal_state_c', function(e){
modalBuscaCity_c($(this).val(),"city");
});
//função para a selação da opção no componenete de tipo de pessoa
$modal.on('change', '#modal_kind_of_person', function(e){
if ($(this).val() == "PJ") {
$('.modal_pf').hide();
$('.modal_pe').hide();
$('.modal_pj').show();
} else if ($(this).val() == "PF") {
$('.modal_pf').show();
$('.modal_pe').hide();
$('.modal_pj').hide();
} else {
$('.modal_pf').hide();
$('.modal_pe').show();
$('.modal_pj').hide();
}
});
//script para mostrar ou não campo para informar dados diferente para endereço de cobrança
$modal.on('change', '#modal_billing_address', function(e){
if ($("#modal_billing_address").is(':checked')) {
$('#modal_not_equal_billing_address').show();
} else {
$('#modal_not_equal_billing_address').hide();
}
});
//busca ajax no blur pelo cpf
$modal.on('blur', '#modal_cpf', function(e){
if ($(this).val() != "") {
if(validarCPF($(this).val())){
$.post(_url +"contacts/ajax-validation-document-contact/", {cpf: $(this).val()})
.done(function (data) {
if (data) {
$('#ibox_form').unblock();
var body = $("html, body");
body.animate({scrollTop: 0}, '1000', 'swing');
$("#modal_emsgbody").html(data);
$("#modal_emsg").show("slow");
document.location.href = "#modal_rform";
} else {
$("#modal_emsg").hide("slow");
}
});
}else{
if($(this).val()!=='___.___.___-__'){
$("#modal_emsgbody").html(_L['CPF Invalid']+" - "+$(this).val() );
$('#modal_cpf').val("");
$("#modal_emsg").show("slow");
}else{
$("#modal_emsg").hide("slow");
}
}
}
});
//busca ajax no blur pelo cnpj
$modal.on('blur', '#modal_cnpj', function(e){
if ($(this).val() != "") {
if(validarCNPJ($(this).val())){
$.post(_url + "contacts/ajax-validation-document-contact/", {cnpj: $(this).val()})
.done(function (data) {
if (data) {
// $('#ibox_form').unblock();
var body = $("html, body");
body.animate({scrollTop: 0}, '1000', 'swing');
$("#modal_emsgbody").html(data);
$("#modal_emsg").show("slow");
document.location.href = "#modal_rform";
} else {
$("#modal_emsg").hide("slow");
}
});
}else{
if($(this).val()!=='__.___.___/____-__'){
$("#modal_emsgbody").html(_L['CNPJ Invalid']+" - "+$(this).val() );
$('#modal_cpf').val("");
$("#modal_emsg").show("slow");
}else{
$("#modal_emsg").hide("slow");
}
}
}
});
//mostra se documento estrangeiro é unico
$modal.on('blur', '#modal_estrangeiro_doc_identificacao', function(e){
if ($(this).val() != "") {
$.post(_url + "contacts/ajax-validation-document-contact/", {foreign_doc: $(this).val()})
.done(function (data) {
if (data) {
$('#ibox_form').unblock();
var body = $("html, body");
body.animate({scrollTop: 0}, '1000', 'swing');
$("#modal_emsgbody").html(data);
$("#modal_emsg").show("slow");
document.location.href = "#modal_rform";
} else {
$("#modal_emsg").hide("slow");
}
});
}
});
////////////////////////modal busca cnpj/////////////
//modal acionado de dentro de outra modal, modal_modal
var $modal_modal_cnpj = $('#ajax-modal-sm');
$modal.on('click', '#modal_open-modal-cnpj', function(e){
e.preventDefault();
// create the backdrop and wait for next modal to be triggered
//$('body').modalmanager('loading');
$modal_modal_cnpj.load(_url + 'contacts/modal_modal_busca_cnpj/', '', function () {
$modal_modal_cnpj.modal();
$("#modal_receita_cnpj").mask("99.999.999/9999-99");
$("#modal_receita_cnpj").val($("#modal_cnpj").val());
$('#modal_img-captcha-receita').html('<img src="'+_url+'contacts/ajax-get-captcha/' + Math.random()+'" style="width: 100%; height: 100%;"></div>');
});
});
/////////////////////BUSCAR CNPJ//////////////
$modal_modal_cnpj.on('click', '#modal_buscar_cnpj', function(e){
e.preventDefault();
if(validarCNPJ($('#modal_receita_cnpj').val())){
$('#modal_buscar_cnpj').button('loading');
// $('#ibox_form').block({message: block_msg});
$.post(_url + 'contacts/ajax-process-cnpj/', $("#form-busca-receita").serialize())
.done(function (data) {
if(data[0].status=='OK'){
$('#modal_state').select2("val",data[0].state_id);
$("#modal_account").val(data[0].account);
$("#modal_company").val(data[0].company);
$("#modal_cnpj").val(data[0].cnpj);
$("#modal_address").val(data[0].address);
$("#modal_zip").val(data[0].zip);
$("#modal_number").val(data[0].number);
$("#modal_complement").val(data[0].complement);
$("#modal_neighborhood").val(data[0].neighborhood);
$("#modal_phone").val(data[0].phone);
$("#modal_email").val(data[0].email);
//necessário chamar aqui para garantir a busca das cidade pelo estado
//e atribuir a cidade selecionada
modalBuscaCity(data[0].state_id,data[0].city_id);
$modal_modal_cnpj.modal('hide');
}else{
alert(unescape(data[0].status));
$('#img-captcha-receita').html('<img src="'+_url+'contacts/ajax-get-captcha/' + Math.random()+'" style="width: 100%; height: 100%;"></div>');
//retirar o loading do botão
$('#buscar_cnpj').button('reset');
}
});
}else{
alert(_L['CNPJ Invalid']);
}
});
//////////RELOAD CAPCTCHA//////////////
$modal_modal_cnpj.on('click', '#modal_trocar-captcha-receita', function(e){
$('#modal_img-captcha-receita').html('<img src="'+_url+'contacts/ajax-get-captcha/' + Math.random()+'" style="width: 100%; height: 100%;"></div>');
});
/////////
//busca os dados para o autocomplete e lista so sugestionbox
//busca dados para preencher o contato de Pessoa Jurídica
$modal.on('keyup', '#modal_autocompleteContact', function(e){
$.ajax({
type: "POST",
url: _url + "contacts/ajax-autocomplete-contactPF_E",
data: 'keyword=' + $(this).val(),
beforeSend: function () {
},
success: function (data) {
//recebe o objeto
var obj = JSON.parse(data);
var menu='<ul id="autocomplete-list">';
if(obj.status=="OK"){
var d=obj.data;
for (var i = 0; i < d.length; i++) {
if (d[i].kind_of_person != 'E') {
menu+='<li onClick="modalSelectContact('+ d[i].id +',\'' + d[i].cpf_cnpj + " - " + d[i].account + " - " + d[i].company +'\')">' +d[i].cpf_cnpj + " - " + d[i].account + " - " + d[i].company + '</li>';
}else{
menu+='<li onClick="modalSelectContact('+ d[i].id +',\'' + d[i].foreign_doc_identification + " - " + d[i].account + " - " + d[i].company +'\')">' +d[i].foreign_doc_identification + " - " + d[i].account + " - " + d.company + '</li>';
}
}
}else{
menu+="<li>"+obj.status+"</li>";
}
menu+='</ul>';
$("#modal_suggesstion-box").show();
$("#modal_suggesstion-box").html(menu);
}
});
});
//chamada para remover o contato adicionado
$modal.on('click', '.delete_contact', function(e){
$(this).closest('tr').remove();
});
//autocomplete de vendedor
$modal.on('keyup', '#modal_autocompleteSalesman', function(e){
$.ajax({
type: "POST",
url: _url+ "contacts/ajax-autocomplete-salesman",
data: 'keyword=' + $(this).val(),
beforeSend: function () {
},
success: function (data) {
var obj = JSON.parse(data);
var menu='<ul id="autocomplete-list">';
if(obj.status=="OK"){
var d=obj.data;
for (var i = 0; i < d.length; i++) {
if (d[i].kind_of_person != 'E') {
menu+='<li onClick="modalSelectSalesman('+ d[i].id +',\'' + d[i].cpf_cnpj + " - " + d[i].account + " - " + d[i].company +'\')">' +d[i].cpf_cnpj + " - " + d[i].account + " - " + d[i].company + '</li>';
}else{
menu+='<li onClick="modalSelectSalesman('+ d[i].id +',\'' + d[i].foreign_doc_identification + " - " + d[i].account + " - " + d[i].company +'\')">' +d[i].foreign_doc_identification + " - " + d[i].account + " - " + d.company + '</li>';
}
}
}else{
menu+="<li>"+obj.status+"</li>";
}
$("#modal_suggesstion-box-salesman").show();
$("#modal_suggesstion-box-salesman").html(menu);
}
});
});
//chama o onblur para remover o salesman caso seja apagado todo o nome do mesmo
$modal.on('blur', '#modal_autocompleteSalesman', function(e){
if ($(this).val() == "") {
$("#modal_salesman_id").val('');
}
});
///////////////////////BUSCA CEP////////////
$modal.on('blur', '#modal_zip', function(e){
e.preventDefault();
$("#modal_rform").block({message: block_msg});
//cria o bootbox para cadastrar novo grupo
$.post(_url + "ajax/zip", {zip: $("#modal_zip").val()})
.done(function (data) {
if(data[0].status=='OK'){
$('#modal_state').select2("val",data[0].state_id);
$("#modal_address").val(data[0].address);
$("#modal_neighborhood").val(data[0].neighborhood);
//necessário chamar aqui para garantir a busca das cidade pelo estado
//e atribuir a cidade selecionada
modalBuscaCity(data[0].state_id,data[0].city_id);
}else{
bootbox.alert(data[0].status);
}
$('#modal_rform').unblock();
});
});
///////////////////////BUSCA CEP end cobrança////////////
$modal.on('blur', '#modal_zip_c', function(e){
e.preventDefault();
$("#modal_rform").block({message: block_msg});
//cria o bootbox para cadastrar novo grupo
$.post(_url + "ajax/zip", {zip: $("#modal_zip_c").val()})
.done(function (data) {
if(data[0].status=='OK'){
$('#modal_state_c').select2("val",data[0].state_id);
$("#modal_address_c").val(data[0].address);
$("#modal_neighborhood_c").val(data[0].neighborhood);
//necessário chamar aqui para garantir a busca das cidade pelo estado
//e atribuir a cidade selecionada
modalBuscaCity_c(data[0].state_id,data[0].city_id);
}else{
bootbox.alert(data[0].status);
}
$('#modal_rform').unblock();
});
});
///////////////////////////////////////////
///////////////////////Exibe form de cadastro rápido ou completo////////////
//esconde as opçoes de registro completo
$modal.on('change', '#modal_type_register', function(e){
e.preventDefault();
if($(this).prop("checked") == true){
$('.register_complete').show();
}else{
$('.register_complete').hide();
}
});
});
//select contato
function modalSelectContact(id, text) {
//captura os valores atuais de id de contatos
if (id > 0) {
var inputs = jQuery('#modal_contacts');
var add = true;
for (var i = 0; i < inputs.length; i++) {
if ($(inputs[i]).val() == id) {
add = false;
//registra que já existe o id inserido em contatos
}
}
//se não encontrou o id vai adicionar na lista geral
if (add) {
$("#modal_contacts_list").find('tbody')
.append(
'<tr> <td><input type="hidden" class="form-control" id="modal_contacts" name="contacts[]" value="' + id + '">' + text + '</td> \n\
<td class="col-xs-1"><button class="btn btn-danger btn-xs delete_contact" ><i class="fa fa-trash"></i> </button></td></tr>'
);
}
}
$("#modal_autocompleteContact").val("");
$("#modal_suggesstion-box").hide();
}
//function para selecionar funcionário salesman
function modalSelectSalesman(id, text) {
//captura os valores atuais de id de contatos
if (id > 0) {
$("#modal_salesman_id").val(id);
$("#modal_autocompleteSalesman").val(text);
}else{
$("#modal_salesman_id").val('');
$("#modal_autocompleteSalesman").val('');
}
$("#modal_suggesstion-box-salesman").hide();
}
function modalBuscaCity(state,valor){
if(state){
$.getJSON($("#_url").val() + 'ajax/city', {state_id: state}, function (j) {
var options = '<option value="city">' + $('#select_city').val() + '</option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].id + '">' + j[i].city_name + '</option>';
}
$('#modal_city').html(options);
$('#modal_city').select2("val",valor);
});
} else {
//select_state contem o texto padrão campo hidden na page
$('#modal_city').html('<option value="state">' + $('#select_state').val() + '</option>');
$('#modal_city').select2("val","state");
}
}
//trata elemento da cidade de endereço de cobrança
function modalBuscaCity_c(state,valor){
if(state){
$.getJSON($("#_url").val() + 'ajax/city', {state_id: state}, function (j) {
var options = '<option value="city">' + $('#modal_select_city').val() + '</option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].id + '">' + j[i].city_name + '</option>';
}
$('#modal_city_c').html(options);
$('#modal_city_c').select2("val",valor);
});
} else {
//select_state contem o texto padrão campo hidden na page
$('#modal_city_c').html('<option value="state">' + $('#modal_select_state').val() + '</option>');
$('#modal_city_c').select2("val","state");
}
}
//carrega os grupos para o modal
function modalLoadGroups(){
$.getJSON($("#_url").val() + 'ajax/groups',function (j) {
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].id + '">' + j[i].gname + '</option>';
}
$('#modal_group').html(options);
});
}
//carrega os segments para o modal
function modalLoadSegments(){
$.getJSON($("#_url").val() + 'segment/ajax-list',function (j) {
var options = '<option value="">' +$('#modal_select_segment').val(); + '</option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].id + '">' + j[i].name + '</option>';
}
//adiciona as opções
$('#modal_segment').html(options);
//selecione o segmento fica selecionado
$('#modal_segment').select2('val',"");
});
}
function modalLoadTags(){
$.getJSON($("#_url").val() + 'tags/contacts',function (j) {
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].text + '">' + j[i].text + '</option>';
}
$('#modal_tags').html(options);
});
}
function initModalAddContact(){
//define as mascaras no modal
$(".fone").mask("(99) 9999-9999?9");
$(".cpf").mask("999.999.999-99");
$(".cnpj").mask("99.999.999/9999-99");
$(".cep").mask("99999-999");
//select2
$("#modal_rform .select2").select2({
theme: "bootstrap"
});
$("[data-toggle='toggle']").bootstrapToggle();
//aplica o datepiker
$( "#date_of_birth" ).datepicker();
//esconde o endereço de cobrança
$('#modal_not_equal_billing_address').hide();
//tratamento para as visualizações de tela , inicialmente pessoa física
$('#modal_kind_of_person').val('PF');
$('.modal_pf').show();
$('.modal_pe').hide();
$('.modal_pj').hide();
$("#modal_emsg").hide();
$('#modal_city').html('<option value="state" selected>' + $('#select_state').val() + '</option>');
$('#modal_city_c').html('<option value="state" selected>' + $('#select_state').val() + '</option>');
//carrega os dados dos grupos
modalLoadGroups();
//carrega os dados das tags ao iniciar
modalLoadTags();
//carrega os dados dos segmentos ao inicial
modalLoadSegments();
$('.register_complete').hide();
}