Traccia l'ordine
< div class = " Container " >
< header class = " Intestazione pagina " >
< div class = " SezioneIntestazione SezioneIntestazione--centro " >
< h1 class = " SectionHeader__Heading Heading u-h1 " > Traccia il tuo ordine </ h1 >
</ div >
</ intestazione >
< div class = " PageContent PageContent--rte stretta " >
< div class = " input-ordine-spedizione " >
< p class = " policy-alert Form__Alert Alert Alert--error " > Oops, non riesco a tracciare il tuo ordine. </ p >
< p class = " benull-alert Form__Alert Alert Alert--error " > Il numero dell'ordine e l'e-mail non possono essere vuoti. </ p >
< input id = " orderNum " class = " Form__Input " aria-label = " Numero ordine di input " placeholder = " Numero ordine " required = " " style = " margin-bottom:20px " >
< input id = " orderEmail " class = " Form__Input " aria-label = " Email di input " placeholder = " Email " required = " " >
< pulsante id = " order_tracking_submit " classe = " Pulsante Form__Submit Pulsante--primario " > traccia </ pulsante >
</ div >
</ div >
< div class = " PageContent PageContent--narrow LogisticsContent " >
< div class = " pacchettoTabCon " > </ div >
</ div >
</ div >
< script src = " https://d13rbkk534zmfy.cloudfront.net/js/jquery/jquery-1.11.3.min.js " > </ script >
< tipo di script = " testo/javascript " >
var nomesito = ' {{ shop.name }} ';
var AjaxHandler = function(url,metodo,dati,callBack,errorBack){
$.ajax({
indirizzo : indirizzo,
tipo di dati: "jsonp",
metodo:metodo,
asincrono: vero,
successo: funzione(datar) {
if(datar && datar.code == '200'){
richiamata(datar);
}altro{
se(erroreIndietro){
erroreBack(datar);
}
}
},
errore: funzione (richiesta, textStatus, errorThrown) {
$('.policy-alert').show();
se(erroreIndietro){
erroreIndietro();
}
}
});
};
$(funzione(){
funzione displayTime(l){
var data = nuova data(l)
restituisci data.toString()
}
funzione getTimeStr(pasticcio){
var timeStr='';
var self=questo;
timeStr=displayTime(mess.checkpointTime);
timeStr=timeStr.substr(4,20);
se(timeStr.substr(4,2)=='01'||timeStr.substr(4,2)=='21'||timeStr.substr(4,2)=='31'){
timeStr=timeStr.split('');
timeStr.splice(6,0,'st');
timeStr=timeStr.join('');
}altrimenti se(timeStr.substr(4,2)=='02'||timeStr.substr(4,2)=='22'){
timeStr=timeStr.split('');
timeStr.splice(6,0,'nd');
timeStr=timeStr.join('');
}altro{
timeStr=timeStr.split('');
timeStr.splice(6,0,'th');
timeStr=timeStr.join('');
}
tempo di ritornoStr;
}
funzione statusHtml(indice,len,mess){
var self=questo;
var nomeclasse = "bgball";
se(indice==len-1){
nomeclasse="activebgball"
}
var nascondi = "";
se(indice==0){
nascondi="nascondi";
}
variabile html = [
' <ul> ' ,
' < li > ',
' < span class = " ' +nomeclasse+' " > </ span > ',
' < span class = " tempo " > '+getTimeStr(mess)+' </ span > ',
' < span > '+mess.messaggio+' </ span > ',
' </ li > ',
' < li class = " ' +nascondi+' " > ',
' < span class = " linea di base " > </ span > ',
' </ li > ',
' </ ul > ',
];
restituisci html.join('');
}
funzione createTracking(contenitore,array){
var self=questo;
se(array&&array.lunghezza){
per(var i=array.length-1;i >= 0;i--){
contenitore.append(statoHtml(i,array.lunghezza,array[i]));
}
}
}
funzione createWebsiteURL(contenitore,weburl){
variabile html = [
' < div > ',
' < span > Informazioni dettagliate sul monitoraggio: </ span > < a href = " ' +weburl+' " > '+weburl+' </ a > ',
' </ div > '
]
contenitore.append(html.join(''));
}
funzione createPackageContent(i,tracciamento){
var attivo = "";
se(io==0){
attivo="attivo";
}
$('.packageTabCon').append(' < div class = " packageTab packageTab'+i+' '+active+' " data-div = " packagecontent'+i+' " > package'+(i+1)+' </ div > ');
var packHtml = [
' < div class = " Rte packageContent '+active+' " id = " packagecontent'+i+' " style = " border-top:1px solid #ddd; " > ',
' < h4 > Informazioni logistiche </ h4 > ',
' < div classe = " info " > ',
' < p > < span class = " t-company-tit'+i+' " > </ span > < font class = " t-company-text'+i+' " > </ font > </ p > ',
' < p > < span class = " t-num-tit'+i+' " > </ span > < font class = " t-num-text'+i+' " > </ font > </ p > ',
' </ div > ',
' < div class = " infologistica infologistica'+i+' " > ',
' < p class = " monitoraggio-stato-attuale'+i+' " > </ p > ',
' </ div > ',
' </ div > ',
];
$('.LogisticsContent').append(packHtml.join(''));
se(monitoraggio.slug){
$('.t-company-tit'+i).text("Azienda di logistica: ");
$('.t-company-text'+i).text(tracking.slug);
}
se(monitoraggio.statomonitoraggio){
se(monitoraggio.statotracciamento==10){
$('.tracking-current-status'+i).text('Stato attuale: in transito');
}altrimenti se(tracking.trackingStatus==20){
$('.tracking-current-status'+i).text('Stato attuale: trasporto troppo lungo');
}altrimenti se(tracking.trackingStatus==30){
$('.tracking-current-status'+i).text('Stato attuale: da prendere');
}altrimenti se(tracking.trackingStatus==35){
$('.tracking-current-status'+i).text('Stato attuale: errore nell'invio');
}altrimenti se(tracking.trackingStatus==39){
$('.tracking-current-status'+i).text('Stato attuale: Tracciamento riuscito');
}altrimenti se(tracking.trackingStatus==40){
$('.tracking-current-status'+i).text('Stato attuale: registrati per avere successo');
}altrimenti se(tracking.trackingStatus==50){
$('.tracking-current-status'+i).text('Stato attuale: eccezione di tracciamento');
}
}
se(tracciamento.destinPoints){
createTracking($('.logisticsinfo'+i),tracking.destinPoints)
}
se(tracciamento.puntiorigine){
createTracking($('.logisticsinfo'+i),tracking.originPoints);
}
se(monitoraggio.logisticaURLSitoWebFornitore){
createWebsiteURL($('.logisticsinfo'+i),tracking.logisticsSupplierWebsiteURL);
}
$('.LogisticsContent').show();
}
funzione searchTracking(orderNum,orderEmail){
ordineNum = ordineNum.replace('#', '%23');
$.ajax({
tipo:'ottieni',
tipo di dati: 'json',
url:'https://shopify.geeko.online/tracking/get-by-order-number-and-email?orderNumber='+orderNum+'&email='+orderEmail+'&web='+sitename,
successo:funzione (dati) {
se(dati.risultato && dati.risultato.pacchetti.lunghezza>0){
var pacchetti=dati.risultato.pacchetti;
per(var i=0;i<pacchetti.lunghezza;i++){
createPackageContent(i, pacchetti[i]);
}
}altro{
$('.policy-alert').show();
}
},
errore:funzione(){
$('.policy-alert').show();
}
})
}
$("#invio_tracciamento_ordine").click(funzione(){
$(".packageTabCon").vuoto();
$(".packageContent").vuoto();
se($('.ordine-spedizione-input input').val()){
var orderNum = $('#orderNum').val();
var orderEmail = $('#orderEmail').val();
searchTracking(numeroordine,emailordine);
}altro{
$('.benull-alert').show();
}
})
$('.ordine-spedizione-input input').change(function(){
$('.policy-alert').hide();
})
$(document).on('clic', '.packageTab', funzione (evento) {
evento.preventDefault();
var packageDiv = $(this).attr('data-div');
$('#'+packageDiv+'').addClass('attivo').siblings().removeClass('attivo');
$(this).addClass('attivo').siblings().removeClass('attivo');
});
})
</ copione >
< stile tipo = " testo/css " >
.nascondere{
visualizza:nessuno;
}
.Modulo__Invia{
margine: 20px auto 0;
}
.Rte ul{
margine sinistro: 0;
}
.Rte ul:not(:last-child){
margine inferiore:0;
}
.avviso-politico
visualizzazione: nessuno;
}
.benull-avviso{
visualizzazione: nessuno;
}
.logisticsinfo ul li{
altezza della riga: 25px;
stile elenco: nessuno;
}
.logisticsinfo ul li span{
colore: #999;
}
.logisticsinfo ul li .time{
margine destro: 25px;
}
.logisticsinfo ul .bgball{
visualizzazione: blocco in linea;
larghezza: 8px;
altezza: 8px;
raggio del bordo: 50%;
colore di sfondo: #cacaca;
margine destro: 10px;
}
.logisticsinfo ul .activebgball{
visualizzazione: blocco in linea;
larghezza: 12px;
altezza: 12px;
raggio del bordo: 50%;
colore di sfondo: #57b936;
margine destro: 7px;
posizione: relativa;
sinistra: -2px;
}
.logisticsinfo ul .bgline{
larghezza: 2px;
altezza: 50px;
bordo: 1px tratteggiato #cacaca;
margine sinistro: 3px;
}
.intervallo btxt{
colore: #222 !importante;
}
.pannello-titolo{
larghezza: 1150px;
margine: 0 automatico;
imbottitura: 35px 0 0 0;
}
.ContenutoLogistico{
visualizza:nessuno;
}
.packageTabCon::dopo{
visualizza:blocco;
contenuto:'';
chiaro:entrambi;
}
.pacchettoTab{
galleggiante: sinistra;
margine destro: 20px;
text-transform: capitalizzare;
imbottitura: 10px 20px;
cursore:puntatore;
}
.packageTab.attivo{
bordo inferiore: 2px solido #222;
}
.contenutodelpacchetto{
visualizza:nessuno;
}
.packageContent.attivo{
visualizza:blocco;
}
</ stile >