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

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();
});