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.

236 lines
6.9 KiB

4 years ago
(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)