if (typeof prestashop !== typeof undefined) {
var static_token = prestashop.static_token;
} else {
var static_token = 'token';
}
var historic_table;
jQuery(document).ready(function () {
/* DATATABLE HISTÓRICO DEL ENVÍO */
historic_table = jQuery('#historic-table').DataTable({
paging: false,
info: false,
searching: false,
orderable: false,
columns: [
{ data: 'codEnvio' },
{ data: 'codProducto' },
{ data: 'desTextoResumen', className: 'text-center' },
{ data: 'fecEvento', className: 'text-center' },
{ data: 'horEvento', className: 'text-center' }
],
columnDefs: [
{
targets: 2,
render: function (data, type, full, meta) {
// Correos
switch (data) {
// Correos
case 'Prerregistrado':
return '
' + data + '
';
case 'Admitido':
case 'En tránsito':
case 'En reparto':
case 'Alta en la unidad de reparto':
case 'Clasificado':
return '' + data + '
';
case 'Admisión anulada':
return '' + data + '
';
case 'A disposición del destinatario':
case 'Entregado':
return '' + data + '
';
case 'No informado':
return '' + data + '
';
// CEX
case 'SIN RECEPCION':
return '' + data + '
';
case 'EN REPARTO':
case 'DELEGACION DESTINO':
case 'EN ARRASTRE':
return '' + data + '
';
case 'ENTREGADO':
return '' + data + '
';
default:
return '' + data + '
';
}
}
}
],
order: [
[3, 'desc'],
[4, 'desc']
]
});
setDatatableHistory();
});
/**
* Obtener datos del envio de pedido.
*/
function setDatatableHistory() {
jQuery.ajax({
type: 'post',
url: varsAjax.ajaxUrl,
data: {
action: 'correosOficialDispacher',
_nonce: varsAjax.nonce,
dispatcher: {
controller: 'CorreosOficialAdminOrderModuleFrontController',
action: 'getOrderStatus',
order_id: jQuery('#id_order_hidden').val()
}
},
success: function (data) {
parsed_data = JSON.parse(data);
historic_table.clear().draw();
historic_table.rows.add(parsed_data);
historic_table.columns.adjust().draw();
jQuery('.history-container').removeClass('hidden-block');
}
});
}
function getFormData($form_id) {
var config = {};
jQuery('#' + $form_id + ' input:hidden').each(function () {
config[this.name] = this.value;
});
jQuery('#' + $form_id + ' input:text').each(function () {
config[this.name] = this.value;
});
jQuery('#' + $form_id + ' input:checkbox').each(function () {
if (jQuery(this).is(':checked')) {
config[this.name] = 1;
} else {
config[this.name] = 0;
}
});
jQuery('#' + $form_id + ' input:radio').each(function () {
if (jQuery(this).is(':checked')) {
config[this.name] = 1;
} else {
config[this.name] = 0;
}
});
jQuery('#' + $form_id + ' select').each(function () {
config[this.name] = this.value;
});
jQuery('#' + $form_id + ' textarea').each(function () {
config[this.name] = this.value;
});
return config;
}
function disableForm(form_id) {
jQuery('input', form_id).each(function (event) {
this.disabled = true;
});
jQuery('select', form_id).each(function (event) {
this.disabled = true;
});
jQuery('button', form_id).each(function (event) {
this.disabled = true;
});
jQuery('textarea', form_id).each(function (event) {
this.disabled = true;
});
}
function enableForm(form_id) {
jQuery('input', form_id).each(function (event) {
this.disabled = false;
});
jQuery('select', form_id).each(function (event) {
this.disabled = false;
});
jQuery('button', form_id).each(function (event) {
this.disabled = false;
});
jQuery('textarea', form_id).each(function (event) {
this.disabled = false;
});
}
/**
* Devuelve la fecha
* @returns date en formato yyyy-mm-dd
*/
function coGetToday() {
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1; // Los monthes van de 0 a 11, sumamos 1 para obtener el month correcto
var year = date.getFullYear();
// Agregar ceros a la izquierda si es necesario para mantener el formato yyyy/mm/dd
if (day < 10) {
day = '0' + day;
}
if (month < 10) {
month = '0' + month;
}
return year + '-' + month + '-' + day;
}
function setCorreosRangeDate(inputField) {
const today = new Date();
const tomorrow = new Date(today);
tomorrow.setDate(tomorrow.getDate() + 1);
var month = tomorrow.getMonth() + 1;
var day = tomorrow.getDate();
var year = tomorrow.getFullYear();
if (day < 10) day = '0' + day;
if (month < 10) month = '0' + month;
var today_val = year + '-' + month + '-' + day;
document.getElementById(inputField).setAttribute('min', today_val);
document.getElementById(inputField).value = year + '-' + month + '-' + day;
month++;
if (month > 12) {
month = 1;
year++;
}
if (month < 10) month = '0' + month;
var max_val = year + '-' + month + '-' + day;
document.getElementById(inputField).setAttribute('max', max_val);
}
function setCEXRangeDate(inputField) {
const today = new Date();
var month = today.getMonth() + 1;
var day = today.getDate();
var year = today.getFullYear();
if (day < 10) day = '0' + day;
if (month < 10) month = '0' + month;
var today_val = year + '-' + month + '-' + day;
document.getElementById(inputField).setAttribute('min', today_val);
document.getElementById(inputField).value = year + '-' + month + '-' + day;
month++;
if (month > 12) {
month = 1;
year++;
}
if (month < 10) month = '0' + month;
var max_val = year + '-' + month + '-' + day;
document.getElementById(inputField).setAttribute('max', max_val);
}
function managePrintLabel(bultos) {
if (bultos > 5) {
jQuery('#print_label').attr('checked', false);
jQuery('#print_label').attr('disabled', true);
jQuery('.alert-more-5-labels').removeClass('hidden-block');
} else {
jQuery('#print_label').attr('disabled', false);
jQuery('.alert-more-5-labels').addClass('hidden-block');
}
}
function manageDeliverySaturday(company) {
if (company == 'CEX') {
jQuery('#delivery_saturday_container').removeClass('hidden-block');
} else {
jQuery('#delivery_saturday_container').addClass('hidden-block');
}
}
function manageReturnCustomDocPackage(company) {
var require_customs_doc = jQuery('#require_customs_doc_hidden').val();
if (require_customs_doc) {
if (company == 'Correos') {
jQuery('.customs-correos-container-return').removeClass('hidden-block');
jQuery('.correos-num-parcels-return-container').addClass('hidden-block');
jQuery('#general-return-pickup-container').removeClass('hidden-block');
jQuery('#pickupReturnButton').removeClass('hidden-block');
jQuery('#save-return-pickup-container').addClass('hidden-block');
} else {
jQuery('.customs-correos-container-return').addClass('hidden-block');
jQuery('.correos-num-parcels-return-container').removeClass('hidden-block');
jQuery('#general-return-pickup-container').removeClass('hidden-block');
jQuery('#pickupReturnButton').addClass('hidden-block');
jQuery('#save-return-pickup-container').removeClass('hidden-block');
jQuery('#correos-options-pickup-return-container').addClass('hidden-block');
jQuery('#generate_return_pickup').addClass('hidden-block');
}
} else {
jQuery('.customs-correos-container-return').addClass('hidden-block');
}
}
function manageReturnNumParcelsSelector(company) {
if (company == 'Correos') {
jQuery('.correos-num-parcels-return-container').addClass('hidden-block');
/* jQuery('#general-return-pickup-container').addClass('hidden-block'); */
} else {
jQuery('.correos-num-parcels-return-container').removeClass('hidden-block');
jQuery('#pickupReturnButton').addClass('hidden-block');
}
}
function manageCodeAT() {
var selected_carrier = jQuery('#input_select_carrier').find('option:selected');
var company = selected_carrier.data('company');
var customer_country = jQuery('#customer_country').val();
var sender_country = jQuery('#sender_country').val();
// CódigoAT -> Exclusivo CEX
if (company == 'CEX') {
if (customer_country == 'PT' && sender_country == 'PT') {
jQuery('#code_at_container').addClass('hidden-block');
} else if (customer_country == 'PT' && sender_country != 'PT') {
jQuery('#code_at_container').removeClass('hidden-block');
} else if (customer_country != 'PT' && sender_country == 'PT') {
jQuery('#code_at_container').removeClass('hidden-block');
} else {
jQuery('#code_at_container').addClass('hidden-block');
}
} else {
jQuery('#code_at_container').addClass('hidden-block');
}
}
function cleanStatusDatatable() {
historic_table.clear().draw();
jQuery('.history-container').removeClass('hidden-block');
}
/**
* Tabs de documentación aduanera
*/
function showCustomsCode(n, type) {
jQuery('#customs_correos_container' + type + ' #customs_desc_tab_' + n).addClass('hidden-block');
jQuery('#customs_correos_container' + type + ' #customs_code_tab_' + n).removeClass('hidden-block');
}
function setCustomsCodeActive(n, type) {
jQuery('#customs_correos_container' + type + ' #customs_desc_' + n).removeClass('active');
}
function showCustomsDesc(n, type) {
jQuery('#customs_correos_container' + type + ' #customs_desc_tab_' + n).removeClass('hidden-block');
jQuery('#customs_correos_container' + type + ' #customs_code_tab_' + n).addClass('hidden-block');
}
function setCustomsDescActive(n, type) {
jQuery('#customs_correos_container' + type + ' #customs_code_' + n).removeClass('active');
}
function getActiveTab(n, type) {
let tab = 'desc_tab';
let classList = jQuery('#customs_correos_container' + type + ' #customs_code_' + n)
.attr('class')
.split(/\s+/);
jQuery.each(classList, function (index, item) {
if (item === 'active') {
addingDesc = false;
addingTarriffCode = true;
tab = 'code_tab';
return false;
}
});
return tab;
}
//--------------------------------------------------------------------------------------//
// //
// GENERAR RECOGIDA // DEVOLUCIONES //
// //
//--------------------------------------------------------------------------------------//
function generateReturnPickup() {
jQuery('#processingReturnPickupButtonMsg').removeClass('hidden-block');
jQuery('#returnPickupButtonMsg').addClass('hidden-block');
jQuery('#generate_return_pickup').attr('disabled', true);
let selected_carrier_return = jQuery('#input_select_carrier_return').find('option:selected');
let company = selected_carrier_return.data('company');
let id_carrier = 0;
let print_label = 0;
if (jQuery('#return_print_label').is(':checked')) {
print_label = 1;
}
jQuery.ajax({
type: 'post',
url: varsAjax.ajaxUrl,
data: {
action: 'correosOficialDispacher',
_nonce: varsAjax.nonce,
dispatcher: {
controller: 'CorreosOficialAdminOrderModuleFrontController',
action: 'generatePickup',
mode_pickup: 'return',
order_id: jQuery('#id_order_hidden').val(),
bultos: jQuery('#correos-num-parcels-return').val(),
expedition_number: jQuery('#return_exp_number_hidden').val(),
order_reference: jQuery('#order_reference').val(),
pickup_date: jQuery('#return_pickup_date').val(),
sender_from_time: jQuery('#return_sender_from_time').val(),
sender_to_time: jQuery('#return_sender_to_time').val(),
sender_address: jQuery('#customer_address').val(),
sender_city: jQuery('#customer_city').val(),
sender_cp: jQuery('#customer_cp').val(),
sender_name: jQuery('#customer_firstname').val() + ' ' + jQuery('#customer_lastname').val(),
sender_contact: jQuery('#customer_firstname').val() + ' ' + jQuery('#customer_lastname').val(),
sender_phone: jQuery('#customer_phone').val(),
sender_email: jQuery('#customer_email').val(),
sender_nif_cif: jQuery('#customer_dni').val(),
sender_country: jQuery('#customer_country').val(),
id_sender: jQuery('#senderSelect').val(),
producto: selected_carrier_return.val(),
package_type: jQuery('#return_package_type').val(),
print_label: print_label,
company: company,
id_carrier: id_carrier,
default_sender_email: jQuery('#default_sender_email').val(),
customer_cp: jQuery('#sender_cp').val(),
customer_country: jQuery('#sender_country').val()
}
},
cache: false,
processData: true,
success: function (data) {
parsed_data = JSON.parse(data);
if (parsed_data.codigoRetorno == '0') {
jQuery('#pickup_return_code_hidden').val(parsed_data.codSolicitud);
location.reload();
return;
} else {
jQuery('#error_register_return strong').html(parsed_data.mensajeRetorno);
jQuery('#error_register_return').removeClass('hidden-block');
jQuery('#success_register_return').addClass('hidden-block');
}
jQuery('#processingReturnPickupButtonMsg').addClass('hidden-block');
jQuery('#returnPickupButtonMsg').removeClass('hidden-block');
jQuery('#generate_return_pickup').attr('disabled', false);
}
});
}