|
|
(function(global){
|
|
|
|
|
|
var ER = {};
|
|
|
|
|
|
ER.Cache = {};
|
|
|
|
|
|
global.ER = ER;
|
|
|
|
|
|
ER.useVK = true;
|
|
|
|
|
|
ER.version = '1.0.0';
|
|
|
|
|
|
ER.host = 'http://127.0.0.1:8091';
|
|
|
|
|
|
|
|
|
//创建对象
|
|
|
var beget = function (o) {
|
|
|
var F = function () {
|
|
|
};
|
|
|
if (typeof o === 'object') {
|
|
|
F.prototype = o;
|
|
|
}
|
|
|
|
|
|
return new F();
|
|
|
};
|
|
|
|
|
|
global.PVLOADER = 0;
|
|
|
|
|
|
ER.loading = function (title, msg) {
|
|
|
// if (FDP.silent) return;
|
|
|
// if (PVLOADER > 0) return;
|
|
|
disableScroll();
|
|
|
global.PVLOADER++;
|
|
|
if (!$('.main-waiting').is(':visible')) {
|
|
|
$('.main-waiting').css('display', '-webkit-flex');
|
|
|
$('.main-waiting img').css({
|
|
|
'position': 'absolute',
|
|
|
'top': ((window.innerHeight / 2) + window.scrollY) + 'px',
|
|
|
'left': ((window.innerWidth / 2) - 64) + 'px'
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
ER.loaded = function () {
|
|
|
global.PVLOADER--;
|
|
|
enableScroll();
|
|
|
if (global.PVLOADER <= 0) {
|
|
|
$('.main-waiting').css('display', 'none');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var findSuper = function (obj, n, method) {
|
|
|
var index = obj.super.fn.length - n;
|
|
|
if (index < 0) {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
return obj.super.fn[index][method];
|
|
|
};
|
|
|
|
|
|
global.inherits = function (subType, superType) {
|
|
|
if (subType) {
|
|
|
var prototype = beget(superType.prototype);
|
|
|
prototype.constructor = subType;
|
|
|
subType.prototype = prototype;
|
|
|
if (subType.prototype.super) {
|
|
|
if (!subType.prototype.super.fn) {
|
|
|
console.log(new Error('super error invalid super'));
|
|
|
}
|
|
|
subType.prototype.super.fn.push(superType.prototype);
|
|
|
return;
|
|
|
} else {
|
|
|
var superCall = {};
|
|
|
subType.prototype.super = function (method) {
|
|
|
if (superCall.hasOwnProperty(method)) {
|
|
|
superCall[method]++;
|
|
|
} else {
|
|
|
superCall[method] = 1;
|
|
|
}
|
|
|
var n = superCall[method];
|
|
|
var f = findSuper(this, n, method);
|
|
|
if (!f) throw new Error('super error no method');
|
|
|
|
|
|
var slice = Array.prototype.slice;
|
|
|
var args = slice.call(arguments, 1)
|
|
|
try {
|
|
|
return f.apply(this, args);
|
|
|
} finally {
|
|
|
superCall[method] = 0;
|
|
|
}
|
|
|
|
|
|
};
|
|
|
subType.prototype.super.fn = [superType.prototype]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var createGuid = global.createGuid = function() {
|
|
|
// 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
|
|
// var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
|
|
|
// return v.toString(16);
|
|
|
// });
|
|
|
|
|
|
function S4() {
|
|
|
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
|
|
|
}
|
|
|
return (S4() + S4() + "-" + S4() + "-4" + S4().substr(0,3) + "-" + S4() + "-" + S4() + S4() + S4()).toLowerCase();
|
|
|
}
|
|
|
|
|
|
|
|
|
global.getParameterByName = function(name, url) {
|
|
|
if (!url) {
|
|
|
url = window.location.href;
|
|
|
}
|
|
|
name = name.replace(/[\[\]]/g, "\\$&");
|
|
|
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
|
|
|
results = regex.exec(url);
|
|
|
if (!results) return null;
|
|
|
if (!results[2]) return '';
|
|
|
return decodeURIComponent(results[2]);
|
|
|
// return decodeURIComponent(results[2].replace(/\+/g, " "));
|
|
|
}
|
|
|
|
|
|
global.REPORT = {};
|
|
|
|
|
|
ER.bindVKEvents = function(el) {
|
|
|
// el.removeEventListener('focus')
|
|
|
el.addEventListener('focus', function() {
|
|
|
openVK(el);
|
|
|
});
|
|
|
el.addEventListener('blur', function(e) {
|
|
|
closeVK(e);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
ER.print = function(funcCode, serialNo, mod, printData, variables) {
|
|
|
var params = {
|
|
|
funcCode: funcCode || '*',
|
|
|
serialNo: serialNo,
|
|
|
mode: mod, //0-打印,1-预览,2-设计
|
|
|
printData: printData,
|
|
|
variables: variables,
|
|
|
token: FDP.logOn.token,
|
|
|
host: FDP.host
|
|
|
};
|
|
|
|
|
|
if (window.FdpExt && window.FdpExt.DoPlugin) {
|
|
|
window.FdpExt.DoPlugin('PrintPlugin', 'FastPrint', JSON.stringify(params));
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (window.qt) {
|
|
|
new QWebChannel(qt.webChannelTransport, function(channel) {
|
|
|
// make dialog object accessible globally
|
|
|
var report = channel.objects.report;
|
|
|
report.doPrint(JSON.stringify(params));
|
|
|
});
|
|
|
return true;
|
|
|
} else {
|
|
|
console.log(params);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
//关闭键盘
|
|
|
global.closeVK = function(e) {
|
|
|
if (!ER.useVK) return;
|
|
|
if(ER.Cache.showVitalKeybord === '0') return;
|
|
|
|
|
|
ER.VK.closeVK(e);
|
|
|
}
|
|
|
|
|
|
global.openVK = function(data, args) {
|
|
|
if (!ER.useVK) return;
|
|
|
if(ER.Cache.showVitalKeybord === '0') return;
|
|
|
|
|
|
ER.VK.openVK(data, args);
|
|
|
}
|
|
|
|
|
|
Number.prototype.add = function(value) {
|
|
|
var arg1 = this,
|
|
|
arg2 = value;
|
|
|
|
|
|
var r1, r2, m;
|
|
|
try {
|
|
|
r1 = arg1.toString().split(".")[1].length;
|
|
|
} catch (e) {
|
|
|
r1 = 0;
|
|
|
}
|
|
|
try {
|
|
|
r2 = arg2.toString().split(".")[1].length;
|
|
|
} catch (e) {
|
|
|
r2 = 0;
|
|
|
}
|
|
|
m = Math.pow(10, Math.max(r1, r2));
|
|
|
arg1 = Math.round(arg1 * m);
|
|
|
arg2 = Math.round(arg2 * m);
|
|
|
return (arg1 + arg2) / m;
|
|
|
};
|
|
|
|
|
|
function preventDefault(e) {
|
|
|
e = e || window.event;
|
|
|
if (e.preventDefault)
|
|
|
e.preventDefault();
|
|
|
e.returnValue = false;
|
|
|
}
|
|
|
|
|
|
function preventDefaultForScrollKeys(e) {
|
|
|
var keys = {37: 1, 38: 1, 39: 1, 40: 1};
|
|
|
if (keys[e.keyCode]) {
|
|
|
preventDefault(e);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function disableScroll() {
|
|
|
if (window.addEventListener) // older FF
|
|
|
window.addEventListener('DOMMouseScroll', preventDefault, false);
|
|
|
window.onwheel = preventDefault; // modern standard
|
|
|
window.onmousewheel = document.onmousewheel = preventDefault; // older browsers, IE
|
|
|
window.ontouchmove = preventDefault; // mobile
|
|
|
document.onkeydown = preventDefaultForScrollKeys;
|
|
|
}
|
|
|
|
|
|
function enableScroll() {
|
|
|
if (window.removeEventListener)
|
|
|
window.removeEventListener('DOMMouseScroll', preventDefault, false);
|
|
|
window.onmousewheel = document.onmousewheel = null;
|
|
|
window.onwheel = null;
|
|
|
window.ontouchmove = null;
|
|
|
document.onkeydown = null;
|
|
|
}
|
|
|
})(window)
|