| 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/gasch/application/plugins/module_billing/assets/js/ |
Upload File : |
function openModalIncome() {
$(".progress").hide();
$("#emsg").hide();
var _url = $("#_url").val();
var $modal = $('#ajax-modal');
$("#income_add").click(function(e){
e.preventDefault();
// create the backdrop and wait for next modal to be triggered
$('body').modalmanager('loading');
setTimeout(function () {
$modal.load(_url + 'module_billing/billing/modal_add_income/', '', function () {
$modal.modal();
select2Accounts();
select2Markers();
select2Category();
select2CostCenter();
inputMask();
inputDatepicker();
inputOccurrence();
openModalTag();
openModalCategory();
openModalAccount();
openModalCostCenter();
uploadImages();
formValidate();
$('body').on('click', '#modal_income_submit', function() {
$('#form_income').submit();
});
});
}, 1000);
});
$(".income-edit").click(function(e){
e.preventDefault();
var id = $(this).data('id');
// create the backdrop and wait for next modal to be triggered
$('body').modalmanager('loading');
setTimeout(function () {
$modal.load(_url + 'module_billing/billing/modal_add_income/' + id + '/', '', function () {
$modal.modal();
select2Accounts();
select2Markers();
select2Category();
select2CostCenter();
inputMask();
inputDatepicker();
inputOccurrence();
openModalTag();
openModalCategory();
openModalAccount();
openModalCostCenter();
uploadImages(id);
formValidate();
$('body').on('click', '#modal_income_submit', function() {
$('#form_income').submit();
});
});
}, 1000);
});
}
function select2Accounts() {
var account_data;
// Select2 de accounts
$("#id_account").select2({
theme: "bootstrap",
tags:[],
ajax: {
url: $("#_url").val() + 'module_billing/billing/ajax_customers',
dataType: 'json',
delay: 150,
method: "POST",
data: function (params) {
var queryParameters = {
term: params.term
}
return queryParameters;
},
processResults: function (data) {
account_data = data;
return {
results: $.map(data, function (item) {
return {
text: item.account,
id: item.id
}
})
};
},
cache: true
}
}).on('select2:close', function(event) {
if(account_data.length <= 0) {
$('#account_add_show').removeClass('hide').show();
}
});
}
function select2Markers() {
// Select2 de accounts
$("#markers").select2({
theme: "bootstrap",
width: '100%',
ajax: {
url: $("#_url").val() + 'module_billing/billing/ajax_markers',
dataType: 'json',
delay: 250,
method: "POST",
data: function (params) {
var queryParameters = {
term: params.term
}
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.text,
id: item.id
}
})
};
},
cache: true
}
});
}
function select2Category() {
// Select2 de category
$("#id_category").select2({
theme: "bootstrap",
ajax: {
url: $("#_url").val() + 'module_billing/billing/ajax_category',
dataType: 'json',
delay: 250,
method: "POST",
data: function (params) {
var queryParameters = {
type: 'Income',
term: params.term
};
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.id
}
})
};
},
cache: true
}
});
}
function select2CostCenter() {
// Select2 de category
$("#id_cost_center").select2({
theme: "bootstrap",
ajax: {
url: $("#_url").val() + 'module_billing/cost_center/ajax-cost-center',
dataType: 'json',
delay: 250,
method: "POST",
data: function (params) {
var queryParameters = {
term: params.term
};
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.id
}
})
};
},
cache: true
}
});
}
function inputMask() {
//define as mascaras no modal
$("#value").maskMoney({
thousands: ".",
decimal: ","
});
$("#competence").mask("99/9999");
}
function inputDatepicker() {
// aplica o datepiker
$( "#expiry" ).datepicker().on('change', function () {
$('.datepicker-container').hide();
});
$( "#emission_date" ).datepicker().on('change', function () {
$('.datepicker-container').hide();
});
}
function inputOccurrence() {
checkOccurrence();
// Exibe os campos conforme a ocorrência selecionada
$('#occurrence').on('change', function(event) {
checkOccurrence();
});
}
function checkOccurrence() {
var occurrence = $('#occurrence').val();
if(occurrence == 'Única') {
$('.col-occurrence-expiry').addClass('col-inactive');
$('.col-occurrence-installments').addClass('col-inactive');
}
if(occurrence == 'Mensal') {
$('.col-occurrence-expiry').removeClass('col-inactive');
$('.col-occurrence-installments').addClass('col-inactive');
}
if(occurrence == 'Parcelada') {
$('.col-occurrence-expiry').removeClass('col-inactive');
$('.col-occurrence-installments').removeClass('col-inactive');
}
}
function openModalTag() {
$(".progress").hide();
$("#emsg").hide();
var _url = $("#_url").val();
var $modal = $('#ajax-modal-sm');
$("#modal_tag_add").click(function(e){
e.preventDefault();
// create the backdrop and wait for next modal to be triggered
$('body').modalmanager('loading');
setTimeout(function () {
$modal.load(_url + 'module_billing/billing/modal_add_tag/', '', function () {
$modal.modal();
$("#add_tag").click(function (evt) {
evt.preventDefault();
var tag_name_val = $('#marker').val();
if (tag_name_val != '') {
$.post(_url + "tags/add-post-billing/", {tag: tag_name_val})
.done(function (data) {
if ($.isNumeric(data)) {
$('#ajax-modal-sm').modal('hide');
$('#markers').select2('open');
}
});
}
});
});
}, 1000);
});
}
function openModalCategory() {
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();
});
$modal.on('click', '.modal_category_add', function(e){
var modal_category_type = $("#modal_category_type").val();
var modal_msg_category = $("#modal_msg_category").val();
var modal_msg_add_category = $("#modal_msg_add_category").val();
var modal_msg_add_new_category = $("#modal_msg_add_new_category").val();
var modal_msg_cancel = $("#modal_msg_cancel").val();
var ib_form_bootbox = "<form class=\"form-horizontal\" id=\"form_category\" method=\"post\" onsubmit=\"return false;\"><div class=\"row\"><div class=\"col-md-12\"><div class=\"form-material floating\"><input type=\"text\" name=\"category_name\" class=\"form-control\" id=\"category_name\"><label>" + modal_msg_category + "</label></div></div></div></form>";
e.preventDefault();
//cria o bootbox para cadastrar novo grupo
bootbox.dialog({
title: modal_msg_add_new_category,
message: ib_form_bootbox,
buttons: {
success: {
label: modal_msg_add_category,
className: "btn-primary",
callback: function () {
var category_name = $('#category_name').val();
if (category_name != '') {
$.post(_url + "settings/"+ modal_category_type +"-categories-post/", {name: category_name})
.done(function (data) {
if ($.isNumeric(data)) {
$('#id_category').val("");
} else {
// bootbox.alert("Categoria cadastrada com sucesso");
$('#id_category').val("");
}
});
}
}
}
},
show: true
});
});
}
function openModalAccount() {
var _url = $("#_url").val();
var $modalAccount = $('#ajax-modal-2');
$(".modal_account_add").click(function(e){
e.preventDefault();
// create the backdrop and wait for next modal to be triggered
//$('body').modalmanager('loading');
setTimeout(function () {
$modalAccount.load(_url + 'contacts/modal_add/NOT_PJ/', '', function () {
$modalAccount.modal();
initModalAddContact();
var cliente = $('#select2-id_account-container').text();
if(cliente.length > 0) {
$('#modal_account').val(cliente);
}
$('#select2-id_account-container').text('');
var options = '<option value="city">' + $('#modal_state').find('option:first-child').text() + '</option>';
$('#modal_city').html(options);
modalAccountValidate($modalAccount);
});
}, 500);
});
$modalAccount.on('click', '#modal_contact_submit', function(e){
e.preventDefault();
$('#ajax-modal-2').block({message: block_msg});
var _url = $("#_url").val();
$.post(_url + 'contacts/add-post/', $("#modal_rform").serialize())
.done(function (data) {
if ($.isNumeric(data)) {
//esconde a modal, e recarrega os valores dos selects, que podem ter sido adicionados
loadGroups();
loadSegments();
loadTags();
$modalAccount.modal('hide');
} else {
$("#modal_emsgbody").html(data);
$("#modal_emsg").show("slow");
document.location.href = "#modal_rform";
}
});
setTimeout(function() {
$("#ajax-modal-2").unblock();
}, 600);
});
//esconde as opçoes de registro completo
$modalAccount.on('change', '#modal_type_register', function(e){
e.preventDefault();
if($(this).prop("checked") == true){
$('.register_complete').show();
}else{
$('.register_complete').hide();
}
});
}
function openModalCostCenter() {
$(".progress").hide();
$("#emsg").hide();
var _url = $("#_url").val();
var $modal2 = $('#ajax-modal-2');
$(".cost_center_add").click(function(e){
e.preventDefault();
// create the backdrop and wait for next modal to be triggered
$('body').modalmanager('loading');
setTimeout(function () {
$modal2.load(_url + 'module_billing/cost_center/modal_add_cost_center/', '', function () {
$modal2.modal();
$('#modal_cost_center_submit').on('click', function() {
var name = $('#name');
$.ajax({
url: _url + "module_billing/cost_center/ajax_add_post",
method: "post",
dataType: 'json',
data: {"name": name.val()}
}).done(function(data) {
$modal2.modal('toggle');
}).fail(function(jqxhr, textStatus, errorThrown) {
name.val('');
$(".text-danger").remove();
$("<p class='text-danger'>" + jqxhr.responseText + "</p>").insertAfter(name);
});
});
});
}, 1000);
});
}
function modalAccountValidate($modal) {
var _url = $("#_url").val();
//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{
$("#modal_emsgbody").html(_L['CPF Invalid']+" - "+$(this).val() );
$('#modal_cpf').val("");
$("#modal_emsg").show("slow");
}
}
});
$modal.on('change', '#modal_state', function(e){
modalBuscaCity($(this).val(),"city");
});
//função para listar cidades do estado selecionado
$modal.on('change', '#modal_state_c', function(e){
modalBuscaCity_c($(this).val(),"city");
});
$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
});
});
$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
});
});
$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
});
});
///////////////////////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();
});
});
$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();
});
});
}
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>';
var options = '<option value="city">' + $('#modal_state').find('option:first-child').text() + '</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");
}
}
function uploadImages(id) {
Dropzone.autoDiscover = false;
var url = $('#_url').val(),
upload_response;
var dropzone = new Dropzone('#upload_container', {
url: url + 'module_billing/billing/billing_add_image/', // + $('#id').val()
maxFiles: 100,
acceptedFiles: 'image/*,application/pdf',
addRemoveLinks: true,
dictRemoveFile: _L["Remove"],
dictCancelUpload: _L["Cancel"],
removedfile: function(file) {
// var name = file.previewElement.id;
var name = file.name;
$.ajax({
type: "POST",
url: url + 'module_billing/billing/billing_remove_image',
data: "name=" + name,
dataType: "html"
}).done(function(data) {
$("#images").val($("#images").val().replace(name + ",", ""));
$("#images").val($("#images").val().replace("," + name, ""));
$("#images").val($("#images").val().replace(name, ""));
var obj = JSON.parse(data);
toastr.success(obj.msg);
if(obj.status == "OK" || obj.status == "ERROR") {
var _ref;
return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0;
}
});
}
});
dropzone.on('sending', function() {
$('#modal_income_submit').prop('disabled', true);
});
dropzone.on('success', function(file, response) {
$('#modal_income_submit').prop('disabled', false);
// var obj = JSON.parse(response);
file.previewElement.id = response.file;
upload_response = response;
if(upload_response.success == 'Yes') {
$('#images').val(function(i, val) {
return val + (!val ? '' : ',') + upload_response.file;
});
// file.id = upload_response.id;
toastr.success(upload_response.msg);
}
else {
toastr.error(upload_response.msg);
dropzone.removeFile(file);
}
});
var url = $("#_url").val();
$.ajax({
url: url + 'module_billing/billing/ajax_images/' + id + '/',
method: "POST"
}).done(function(data) {
var existingFiles = JSON.parse(data);
for (var i = 0; i < existingFiles.length; i++) {
dropzone.emit("addedfile", existingFiles[i]);
dropzone.createThumbnailFromUrl(existingFiles[i], existingFiles[i].url);
dropzone.emit("complete", existingFiles[i]);
}
});
// for(var i = 0; i < existingFiles.length; i++) {
// dropzone.emit("addedfile", existingFiles[i]);
// dropzone.createThumbnailFromUrl(existingFiles[i], existingFiles[i].url);
// dropzone.emit("complete", existingFiles[i]);
// }
}
function formValidate() {
$('#form_income').submit(formValidateFields);
}
function formValidateFields(event) {
var msgError = '',
form_errors = $('#form-errors');
form_errors.find('.alert').text('');
var id_account = $('#id_account').val();
var value = $('#value').val();
var expiry = $('#expiry').val();
var id_category = $('#id_category').val();
var occurrence = $('#occurrence').val();
var installments = $('#occurrence_installments').val();
if(id_account == '' || id_account == null) {
msgError += '<p>'+ _L["Customer is Required"] +'</p>';
}
if(expiry == '') {
msgError += '<p>'+ _L["Expiry is Required"] +'</p>';
}
if(value == '') {
msgError += '<p>'+ _L["Value is Required"] +'</p>';
}
if(id_category == '' || id_category == null) {
msgError += '<p>'+ _L["Category is Required"] +'</p>';
}
if(occurrence == 'Parcelada') {
if(installments == '' || installments <= 1) {
msgError += '<p>'+ _L['Number of installments must be greater than 1'] +'</p>';
}
}
if(msgError != '') {
event.preventDefault();
form_errors.show();
form_errors.find('.alert').append(msgError);
}
}
$(document).ready(function() {
openModalIncome();
$('body').on('change', '#expiry', function() {
var day = $('#expiry').val().split('/')[0];
$('#occurrence_expiry').val(day);
});
});