You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
288 lines
12 KiB
288 lines
12 KiB
var sRefNumber = getUrlParam('RefNumber');
|
|
|
|
$(function () {
|
|
'use strict';
|
|
|
|
var sRandomCode = '',
|
|
sIp = '',
|
|
sIPInfo = '',
|
|
oCurData = {},
|
|
sLang = $('[http-equiv="content-language"]').attr('content') || 'zh-TW',
|
|
/*
|
|
* 目的:设置名称
|
|
* @return: 無
|
|
* 作者:John
|
|
*********************************************/
|
|
fnSetName = function () {
|
|
if (sLang === 'zh') {
|
|
var oSupplierName = $('#SupplierName');
|
|
oSupplierName.text(simplized(oSupplierName.text()));
|
|
}
|
|
},
|
|
/*
|
|
* 目的:初始化查詢區塊
|
|
* @return: 無
|
|
* 作者:John
|
|
*********************************************/
|
|
fnInitQueryBox = function () {
|
|
var elQueryBox = $('#temp_query').render();
|
|
$('#right').html(elQueryBox);
|
|
|
|
$('#form_onlinetrack').validate({
|
|
errorPlacement: function (error, element) {
|
|
error.css({
|
|
"border": "none",
|
|
"color": "red"
|
|
});
|
|
var wrapper = $("<p></p>");
|
|
error.appendTo(wrapper);
|
|
$(element).parent().after(wrapper);
|
|
},
|
|
highlight: function (element, errorClass) {
|
|
$(element).css({
|
|
"border": "1px solid red"
|
|
});
|
|
},
|
|
unhighlight: function (element, errorClass) {
|
|
$(element).css({
|
|
"border": ""
|
|
});
|
|
},
|
|
rules: {
|
|
},
|
|
messages: {
|
|
trackingno: {
|
|
required: { 'zh-TW': '請輸入查詢號碼', 'zh': '请输入查询号码', 'en': 'Please enter a query number' }[sLang]
|
|
},
|
|
validcode: {
|
|
required: { 'zh-TW': '請輸入驗證碼', 'zh': '请输入验证码', 'en': 'Please enter the verification code' }[sLang]
|
|
}
|
|
}
|
|
});
|
|
|
|
$(".btnquery").click(function () {
|
|
fnGetData()
|
|
});
|
|
|
|
$('#change_validcode,.change_validcode').on('click', function () {
|
|
var url = $('#imgvalidcode').data('url') || $('#imgvalidcode').attr('src');
|
|
$('#imgvalidcode').attr('src', url + '&' + Math.random()).data('url', url);
|
|
});
|
|
},
|
|
/**
|
|
* 獲取資料
|
|
* @return {Boolean} 是否停止
|
|
*/
|
|
fnGetData = function () {
|
|
var sTrackingNo = $('#trackingno').val(),
|
|
sValidCode = $('#validcode').val();
|
|
|
|
if (!$('#form_onlinetrack').valid()) {
|
|
return false;
|
|
}
|
|
g_api.ConnectLite(Service.apite, 'GetTrackingProgress', {
|
|
flag: 'cap4',
|
|
QueryNum: sTrackingNo,
|
|
ValidCode: sValidCode,
|
|
IP: sIp,
|
|
IPInfo: sIPInfo
|
|
}, function (res) {
|
|
if (res.RESULT) {
|
|
fnReleseData(res.DATA.rel, sTrackingNo);
|
|
}
|
|
else {
|
|
$('#change_validcode').click();
|
|
showMsg(res.MSG, 'error'); //提示錯誤
|
|
}
|
|
}, null, null, { 'zh-TW': '資料查詢中...', 'zh': '资料查询中...', 'en': 'Data query...' }[sLang]);
|
|
},
|
|
fnReleseData = function (data, num) {
|
|
if (JSON.stringify(data) !== "{}") {
|
|
oCurData = data;
|
|
var sType = num.substr(2, 2),
|
|
sHtmlInfo = '',
|
|
fnReleaseObj = function (o) {
|
|
var saLi = [];
|
|
for (var key in o) {
|
|
if (typeof o[key] === 'object') {
|
|
var nobj = o[key];
|
|
nobj.keyName = key;
|
|
saLi.push(nobj);
|
|
}
|
|
}
|
|
saLi = saLi.sort(function (a, b) {
|
|
return new Date(a.Date === '' ? new Date() : a.Date) > new Date(b.Date === '' ? new Date() : b.Date);
|
|
});
|
|
return saLi;
|
|
},
|
|
myHelpers = {
|
|
checkFlowName: function (name) {
|
|
var bRtn = false;
|
|
if (name === 'IMPORT' || name.indexOf('RETURN') > -1) {
|
|
bRtn = true;
|
|
}
|
|
return bRtn;
|
|
},
|
|
setJson: function (val, name) {
|
|
var o = $.parseJSON(val);
|
|
return getJsonVal(o, name) || '';
|
|
},
|
|
setBtn: function (val, btntype, path) {
|
|
var o = $.parseJSON(val),
|
|
oBtn = $('<input>', {
|
|
type: 'button', class: 'btn btnStyle signaturefile', value: '取得簽收證明', 'data-i18n': 'common.ObtainProofofDelivery', 'data-path': path, id: 'btn-' + btntype
|
|
});
|
|
if (!o.complete || !path) {
|
|
oBtn.attr('disabled', true);
|
|
}
|
|
return oBtn[0].outerHTML;
|
|
},
|
|
setInfo: function (val, type) {
|
|
var o = $.parseJSON(val),
|
|
saLi = fnReleaseObj(o),
|
|
saInfoHtml = [],
|
|
iLastIndex = 0;
|
|
$.each(saLi, function (idx, li) {
|
|
if (li.Checked) {
|
|
iLastIndex = idx;
|
|
saInfoHtml.push('<div class="tr templ_class' + iLastIndex + '">\
|
|
<div class= "td" >' + (li.Date || '').substr(0, 10) + '</div >\
|
|
<div class="td center" data-i18n="' + type + '.' + li.keyName + '"></div>\
|
|
<div class="td center">' + (li.keyName === "InTransit1" ? `ETA ${li.ETA}: ${li.ETADate}` : (li.Remark || '')) + '</div>\
|
|
</div >');
|
|
}
|
|
});
|
|
return saInfoHtml.reverse().join('').replace('templ_class' + iLastIndex, 'blue bold');
|
|
},
|
|
setFlow: function (val, type) {
|
|
var o = $.parseJSON(val),
|
|
saLi = fnReleaseObj(o),
|
|
elDiv = $('<div>'),
|
|
iActive = -1;
|
|
|
|
$.each(saLi, function (idx, li) {
|
|
if (li.Date !== undefined) {
|
|
var sChecked = li.Checked,
|
|
elLi = "";
|
|
|
|
if (sLang === "en") {
|
|
elLi = $('<li>', { class: '', html: '<p data-i18n="' + type + '.' + li.keyName + '"></p><div></div><span class="entab"></span>' });
|
|
} else {
|
|
elLi = $('<li>', { class: '', html: '<p data-i18n="' + type + '.' + li.keyName + '"></p><div></div><span></span>' });
|
|
}
|
|
|
|
if (o.complete && saLi.length - 1 === idx) {
|
|
elLi = $('<li>', { class: 'bluePro', html: '<p><b data-i18n="' + type + '.' + li.keyName + '"></b><img src="' + (sLang === 'zh-TW' ? '' : '../') + 'images/tick.svg" width="18" height="18"></p><div></div><span></span>' });
|
|
}
|
|
|
|
if (sChecked) {
|
|
elLi.addClass('active');
|
|
//elLi.find('.print-img').attr('src', '' + (sLang === 'zh-TW' ? '' : '../') + 'images/progress_print.png');
|
|
}
|
|
|
|
if (!sChecked && iActive === -1) {
|
|
iActive = idx;
|
|
}
|
|
elDiv.append(elLi);
|
|
}
|
|
});
|
|
|
|
if (iActive > 0) {
|
|
elDiv.find('li').eq(iActive - 1).addClass('bluePro');
|
|
}
|
|
return elDiv.html() + '<p class="clear"></p>';
|
|
},
|
|
setBillLadNOSub: function (val) {
|
|
return val.replaceAll('/', '<br>').replaceAll(',', '<br>').replaceAll(',', '<br>').replaceAll(';', '<br>').replaceAll(';', '<br>').replace('|', '<br>').replace('|', '<br>').replace('|', '<br>').replace('|', '<br>');
|
|
},
|
|
setSupplierName: function (cnname, enname) {
|
|
var sName = cnname;
|
|
if (!cnname) {
|
|
sName = enname || '';
|
|
}
|
|
return sName;
|
|
}
|
|
};
|
|
$.views.helpers(myHelpers);
|
|
|
|
sHtmlInfo = $('#temp_queryinfo').render(oCurData);
|
|
$('#right').html(sHtmlInfo);
|
|
|
|
$(".sidebar-1,.btnquery-next").click(function (e) {
|
|
fnInitQueryBox();
|
|
$('#change_validcode').click();
|
|
});
|
|
$(".btnprint").click(function (e) {
|
|
//window.print();
|
|
$('#right').jqprint({ operaSupport: false });
|
|
});
|
|
if ($(".signaturefile").length > 0) {
|
|
$('.signaturefile').click(function (e) {
|
|
var sPath = $(this).attr('data-path'),
|
|
sFileName = num + '_' + this.id.replace('btn-', '');
|
|
DownLoadFile(sPath, sFileName);
|
|
});
|
|
}
|
|
transLang();
|
|
fnSetName();
|
|
}
|
|
},
|
|
/*
|
|
* 初始化 function
|
|
* @param 無
|
|
* @return 無
|
|
* 起始作者:John
|
|
* 起始日期:2016/05/21
|
|
* 最新修改人:John
|
|
* 最新修日期:2016/11/03
|
|
*/
|
|
init = function () {
|
|
fnInitQueryBox();
|
|
|
|
if (sRefNumber) {
|
|
$('#trackingno').val(sRefNumber);
|
|
}
|
|
|
|
$.ajax({
|
|
type: 'get',
|
|
//jsonpCallback: "ipCallback",//callback的function名称
|
|
//url: 'https://www.taobao.com/help/getip.php',
|
|
//dataType: 'jsonp',
|
|
url: 'https://api.ipify.org?format=json&callback=?',
|
|
dataType: 'json',
|
|
success: function (res) {
|
|
sIp = res.ip;
|
|
g_api.ConnectLite(Service.apiappcom, 'GetIPInfo', {
|
|
ip: sIp
|
|
}, function (res1) {
|
|
if (res1.RESULT) {
|
|
var oIpInfo = JSON.parse(res1.DATA.rel);
|
|
if (oIpInfo.code === 0) {
|
|
sIPInfo = Tostr(oIpInfo.data);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
if ($(window).width() < 800) {
|
|
$(".target").scroll(function () {
|
|
if ($(".target").scrollLeft() > 140) {
|
|
//alert("dsfsdf");
|
|
$(this).parent().removeClass("tWarpper");
|
|
} else {
|
|
$(this).parent().addClass("tWarpper");
|
|
}
|
|
});
|
|
}
|
|
|
|
$(document).on('keydown', function (e) {
|
|
if (e.keyCode === 13) {
|
|
$(".btnquery").click();
|
|
}
|
|
});
|
|
setLang(sLang);
|
|
};
|
|
|
|
init();
|
|
});
|