/**
|
通用的工具类
|
@author weidy
|
*/
|
|
/**
|
* 去除前后空格
|
*/
|
String.prototype.trim = function(){
|
try {
|
return this.replace(/(^\s*)|(\s*$)/g, '');
|
}catch (e){
|
return this;
|
}
|
};
|
/**
|
* 数组元素索引,没有该值时返回-1
|
*/
|
Array.prototype.indexOf = function(val) {
|
for (var i = 0; i < this.length; i++) {
|
if (this[i] == val) return i;
|
}
|
return -1;
|
};
|
|
Array.prototype.remove = function(val) {
|
var index = this.indexOf(val);
|
if (index > -1) {
|
this.splice(index, 1);
|
}
|
};
|
window.innerWidth =window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
window.innerHeight =window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
(function($){
|
vciWebUtil=function() {
|
this.sessionInfoKey = {
|
orgsOid: 'orgsOid', //用户所属组织
|
orgsName: 'orgsName',//用户所属组织名称
|
deptOid: 'deptOid',//所属部门
|
deptName: 'deptName',//所属部门名称
|
userOid: 'userOid',//用户主键
|
userId: 'userId',//用户名
|
userName: 'userName',//用户姓名
|
personOid: 'personOid',//用户身份主键
|
personName: 'personName',//真实身份名称
|
workgroupOid: 'workgroupOid',//所属班组--这个是MES208独有的
|
workgroupName: 'workgroupName',//所属班组名称--这个是MES208独有的
|
usertype: 'usertype',//用户的类型
|
usertypeText: 'usertypeText',//用户类型文本
|
sex: 'sex',//性别
|
sextext: 'sextext',//性别名称
|
photoUrl: 'photoUrl',//用户头像
|
isMustChangePassword: 'isMustChangePassword', //是否马上修改密码
|
passwordInfo: 'passwordInfo',
|
token: 'token',
|
userSecret: 'userSecret',
|
userSecretText: 'userSecretText'
|
};
|
this.systemValueKey = {
|
currentDateTime: 'curentDateTime',
|
currentDateTimeE: 'curentDateTimeE',
|
currentDateTimeSSS: 'curentDateTimeSSS',
|
currentDate: 'currentDate',
|
currentTime: 'currentTime',
|
uuid: 'uuid',
|
orgsOid: 'orgsOid',
|
orgsName: 'orgsName',
|
deptOid: 'deptOid',
|
deptName: 'deptName',
|
userOid: 'userOid',
|
userId: 'userId',
|
userName: 'userName',
|
personOid: 'personOid',
|
personName: 'personName',
|
workgroupOid: 'workgroupOid',
|
workgroupName: 'workgroupName',
|
usertype: 'usertype',
|
usertypeText: 'usertypeText',
|
sex: 'sex',
|
sextext: 'sextext',
|
photoUrl: 'photoUrl',
|
isMustChangePassword: 'isMustChangePassword',
|
passwordInfo: 'passwordInfo',
|
ip: 'ip',
|
language: 'language',
|
userSecret: 'userSecret',
|
userSecretText: 'userSecretText'
|
};
|
this.deptOid = ''; // 登录时保存用户部门
|
this.uuid = function () {
|
var s = [];
|
var hexDigits = "0123456789ABCDEF";
|
for (var i = 0; i < 36; i++) {
|
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
|
}
|
s[14] = "4";
|
s[19] = hexDigits.substr(s[19] & 0x3 | 0x8, 1);
|
s[8] = s[13] = s[18] = s[23] = "-";
|
return s.join('');
|
};
|
|
this.isNotNull = function (v) {//不为空
|
if (v != undefined && v != null && v.toString().length > 0)
|
return true;
|
else
|
return false;
|
};
|
this.objIsNull = function (v) {
|
var result = true;
|
for (var key in v) {
|
if (v[key]) {
|
result = false;
|
break;
|
}
|
}
|
return result;
|
};
|
this.isNull = function (v) {//为空
|
var me = this;
|
return !me.isNotNull(v);
|
};
|
this.endWith = function (string, subStr) {//以什么结尾
|
string=string.toString();
|
var me = this;
|
if (me.isNull(string) || me.isNull(subStr))
|
return false;
|
if (string.length < subStr.length)
|
return false;
|
if (string.substring(string.length - subStr.length) == subStr)
|
return true;
|
else
|
return false;
|
};
|
this.startWith = function (string, subStr) {//以什么开头
|
string=string.toString();
|
var me = this;
|
if (me.isNull(string) || me.isNull(subStr))
|
return false;
|
if (string.length < subStr.length)
|
return false;
|
if (string.substring(0, subStr.length) == subStr)
|
return true;
|
else
|
return false;
|
};
|
this.isArray = function (array) {
|
if (!array) {
|
return false;
|
} else {
|
if (Object.prototype.toString.call(array) == '[object Array]') {
|
return true;
|
} else {
|
return false;
|
}
|
}
|
};
|
this.inArray = function (array, v) {//是否在数组中
|
try {
|
for (var i = 0; i < array.length; i++) {
|
if (v == array[i])
|
return true;
|
}
|
} catch (e) {
|
|
}
|
return false;
|
};
|
this.removeFormArray = function (array, v, attr) {
|
try {
|
for (var i = 0; i < array.length; i++) {
|
if (v == array[i] || (attr && array[i][attr] == v[attr])) {
|
array.splice(i, 1);
|
return true;
|
}
|
}
|
} catch (e) {
|
|
}
|
};
|
this.showMsgFromResult = function (result, defaultMsg, callback) {
|
if (!result) {
|
result = {
|
msg: defaultMsg
|
};
|
}
|
if (result && this.isNull(result.msg)) {
|
result.msg = defaultMsg;
|
}
|
this.showMsg(result.msg, callback);
|
};
|
this.showMsg = function (msg, callBack) {//显示信息
|
if (!msg) {
|
msg = "";
|
}
|
if (callBack) {
|
top.layer.msg(msg, callBack);
|
} else {
|
top.layer.msg(msg);
|
}
|
};
|
this.showDebugMsg = function (msg) {
|
if (!msg) {
|
msg = "";
|
}
|
if (top.isDebug) {
|
try {
|
console.log(msg);
|
} catch (e) {
|
|
}
|
}
|
};
|
this.showConfirmMsg = function (title, callback, cancleCallback) {
|
var lastCallback = function (index) {
|
if (callback) {
|
callback(index);
|
}
|
top.layer.close(index);
|
};
|
top.layer.confirm(title, {icon: 3, title: '需要您确认'}, lastCallback, cancleCallback);
|
};
|
this.showErrorMsg = function (msg, callback) {
|
if (!msg) {
|
msg = "";
|
}
|
var lastCallback = function (index) {
|
if (callback) {
|
callback(index);
|
}
|
top.layer.close(index);
|
};
|
top.layer.alert(msg, lastCallback);
|
if (top.isDebug && console) {//调试的时候把引用方法的信息打印出来
|
try {
|
throw msg;
|
} catch (e) {
|
var caller = arguments.callee;
|
//console.log(caller.caller);
|
}
|
}
|
};
|
this.showAutoMsg = function (msg, timeout, callback) {
|
if (!msg) {
|
msg = "";
|
}
|
top.layer.msg(msg, {icon: 1, time: timeout}, callback);
|
};
|
this.showProgress = function (text) {
|
if (top.progressIndex) {
|
|
}else {
|
//this.closeProgress();
|
try {
|
if (this.isNotNull(text)) {
|
top.progressIndex = top.layer.load(2, {content: text, area: ['350px', 'auto']});
|
$(".layui-layer-loading2").css("width", "100%");
|
$(".layui-layer-loading2").css("background-positionX", "30px");
|
$(".layui-layer-loading2").css("background-positionY", "center");
|
$(".layui-layer-loading2").css("background-color", "#fff");
|
$(".layui-layer-loading2").css("line-height", "30px");
|
$(".layui-layer-loading2").css("font-size", "20px");
|
$(".layui-layer-loading2").css("font-weight", "bold")
|
$(".layui-layer-loading2").css("display", "table")
|
$(".layui-layer-loading2 .layui-layer-content-pane").css("display", "table-cell")
|
$(".layui-layer-loading2 .layui-layer-content-pane").css("vertical-align", "middle")
|
$(".layui-layer-loading2 .layui-layer-content-pane").css("padding", "30px 30px 30px 85px");
|
}
|
} catch (e) {
|
|
}
|
}
|
|
};
|
this.closeProgress = function () {
|
try {
|
if (top.progressIndex) {
|
top.layer.close(top.progressIndex);
|
top.progressIndex = null;
|
}
|
} catch (e) {
|
|
}
|
};
|
this.checkResult = function (result) {//检查结果,异步请求的时候使用这个
|
var me = this;
|
try {
|
if (!result) {
|
me.showMsg("没有返回结果");
|
return false;
|
}
|
if (result && result.isNoLogin) {
|
me.showLoginDialog();
|
return false;
|
}
|
if (result && result.isNoRigh) {
|
me.showMsg("你没有权限做此操作");
|
return false;
|
}
|
if (!result.success) {
|
me.showMsg(result.msg);
|
return false;
|
}
|
return true;
|
} catch (e) {
|
|
}
|
return false;
|
};
|
this.processNullForObject = function (obj) {//处理空值
|
var me = this;
|
if (obj && typeof obj == "object") {
|
for (var key in obj) {
|
var value = obj[key];
|
if (me.isNull(value))
|
value = "";
|
}
|
}
|
};
|
this.getIEVersion = function () {
|
var IEVersion = {};
|
if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
|
IEVersion['isIE'] = true;
|
var version = $.browser.version;
|
version = parseInt(version.substring(0, version.indexOf('.')));
|
if (version <= 8) {
|
IEVersion['isIE8'] = true;
|
}
|
} else {
|
IEVersion['isIE'] = false;
|
}
|
return IEVersion;
|
};
|
/**
|
* 支持系统参数包括:
|
*/
|
this.getSystemVar = function (code) {
|
var me = this;
|
if (me.isNull(code))
|
return "";
|
if (me.systemValueKey.currentDateTime == code) {
|
return me.getSystemVar(me.systemValueKey.currentDate) + " " + me.getSystemVar(me.systemValueKey.currentTime);
|
}
|
if (me.systemValueKey.currentDateTimeSSS == code) {
|
var date = new Date();
|
return me.getSystemVar(me.systemValueKey.currentDateTime) + "." + date.getMilliseconds();
|
}
|
if (me.systemValueKey.currentDate == code) {
|
var date = new Date();
|
var month = date.getMonth() + 1;
|
if (month >= 1 && month <= 9)
|
month = "0" + month;
|
var day = date.getDate();
|
if (day >= 0 && day <= 9)
|
day = "0" + day;
|
return date.getFullYear() + "-" + month + "-" + day;
|
}
|
if (me.systemValueKey.currentDateTimeE == code) {//含有星期几
|
var date = new Date();
|
var week = date.getDay();
|
var weekName = ['日', '一', '二', '三', '四', '五', '六'];
|
dateStr += " 星期" + weekName[week];
|
return me.getSystemVar(me.systemValueKey.currentDateTime) + dateStr;
|
}
|
if (me.systemValueKey.currentTime == code) {
|
var date = new Date();
|
var hours = date.getHours();
|
if (hours >= 0 && hours <= 9)
|
hours = "0" + hours;
|
var minutes = date.getMinutes();
|
if (minutes >= 0 && minutes <= 9)
|
minutes = "0" + minutes;
|
var secends = date.getSeconds();
|
if (secends >= 0 && secends <= 9)
|
secends = "0" + secends;
|
return hours + ":" + minutes + ":" + secends;
|
}
|
if (me.systemValueKey.uuid == code) {
|
return me.uuid();
|
}
|
var value = top.mySessionInfo[code];
|
if (value == undefined || value == null)
|
return "";
|
else
|
return value;
|
};
|
this.isSso = function () {
|
var me = this;
|
return me.getSystemVar('sso');
|
};
|
this.getSsoinfo = function () {
|
var me = this;
|
return me.getSystemVar('ssoInfo');
|
};
|
this.getToken = function () {
|
var me = this;
|
var token = me.getSystemVar(me.sessionInfoKey.token);
|
if (!token) {
|
token = $.cookie(TOKEN_KEY);
|
}
|
return token;
|
};
|
this.getWorkGroupName = function () {
|
var me = this;
|
return me.getSystemVar(me.sessionInfoKey.workgroupName);
|
};
|
this.getRolesName = function () {
|
var me = this;
|
return me.getSystemVar("rolesname")
|
};
|
this.isNumber = function (value) {
|
var reg = new RegExp("^[0-9]+$");
|
if (reg.test(value)) {
|
return true;
|
} else {
|
return false;
|
}
|
};
|
this.isValidCharactor = function (value) {
|
var reg = new RegExp("^[0-9A-Za-z_]*$");
|
if (reg.test(value)) {
|
return true;
|
} else {
|
return false;
|
}
|
};
|
this.dateFormate = {
|
dateTime: 'yyyy-MM-dd HH:mm:ss',
|
date: 'yyyy-MM-dd',
|
dateNoSecond: 'yyyy-MM-dd HH:mm'
|
};
|
this.formateDateTime = function (value) {
|
return this.formateDateByFormate(value, 'yyyy-MM-dd HH:mm:ss');
|
};
|
this.formateDateTimeNoSecond = function (value) {
|
var that = this;
|
return this.formateDateByFormate(value, 'yyyy-MM-dd HH:mm');
|
};
|
this.formateDate = function (value) {
|
return this.formateDateByFormate(value, 'yyyy-MM-dd');
|
};
|
this.formateDateByFormate = function (value, formate) {
|
if (value != null && formate != null) {
|
//验证value
|
var valueType = typeof value;
|
if (valueType == 'number') {
|
value = value.toString();
|
}
|
if (value.substring(0, 4).indexOf("-") != -1 || value.substring(0, 4).indexOf("/") != -1) {
|
value = "20" + value
|
}
|
return layui.util.toDateString(value, formate);
|
} else {
|
return "";
|
}
|
};
|
this.formateUserSecret = function (value) {
|
if (value * 1 == 30) {
|
return "重要";
|
} else if (value * 1 == 20) {
|
return "一般";
|
} else if (value * 1 == 10) {
|
return "内部";
|
} else {
|
return "默认[内部]"
|
}
|
};
|
this.formateDataSecret = function (value) {
|
if (value * 1 == 30) {
|
return "机密";
|
} else if (value * 1 == 20) {
|
return "秘密";
|
} else if (value * 1 == 10) {
|
return "非密";
|
} else {
|
return "默认[非密]"
|
}
|
};
|
this.formateBoolean = function (value) {
|
if (!value) {
|
return '否';
|
}
|
if (value == true || (value != null && 'true' == value.toLowerCase())) {
|
return "是";
|
}
|
return "否";
|
};
|
this.displayButton = function (buttonInfo) {//显示/隐藏按钮
|
for (var buttonId in buttonInfo) {
|
if (buttonInfo[buttonId]) {
|
$(buttonId).show();
|
} else {
|
$(buttonId).hide();
|
}
|
}
|
};
|
this.getObjectLength = function (obj) {//获取对象里的属性个数
|
if (!obj) {
|
return 0;
|
} else {
|
var l = 0;
|
for (var key in obj) {
|
l++;
|
}
|
return l;
|
}
|
};
|
this.getOidFromGrid = function (gridId, checkEmpty, checkOne, pk) {
|
if (!pk) {
|
pk = "oid";
|
}
|
var checkData = layui.table.checkStatus(gridId);
|
var oids = "";
|
if (checkData && checkData.data && checkData.data.length > 0) {
|
var rows = checkData.data;
|
for (var i = 0; i < rows.length; i++) {
|
var value = rows[i][pk];
|
if (!value || value == "undefined") {
|
value = "";
|
}
|
if (i == rows.length - 1) {
|
oids += value;
|
} else {
|
oids += value + ",";
|
}
|
}
|
}
|
var me = this;
|
if (checkEmpty && me.isNull(oids)) {
|
me.showErrorMsg("没有选择数据");
|
return false;
|
}
|
if (checkOne && oids.indexOf(",") > -1) {
|
me.showErrorMsg("每次只能选择一条数据");
|
return false;
|
}
|
return oids;
|
};
|
//格式如jsPath#methodName?param=aaa¶m1=bbb
|
this.getUrlParams = function (url, urlobj, splitMethod, splitParams) {
|
if (!urlobj) {
|
urlobj = {
|
jsPath: '',
|
methodName: '',
|
params: {}
|
}
|
}
|
if (!urlobj['params']) {
|
urlobj['params'] = {}
|
}
|
if (!splitMethod) {
|
splitMethod = '#'
|
}
|
if (!splitParams) {
|
splitParams = '&'
|
}
|
if (url && url != 'null') {
|
urlobj['jsPath'] = url.split('?')[0].split(splitMethod)[0];
|
if (url.indexOf(splitMethod) > -1) {
|
urlobj['methodName'] = url.split('?')[0].split(splitMethod)[1];
|
} else {
|
urlobj['methodName'] = 'doAction'
|
}
|
if (url.indexOf('?') > -1) {
|
var params = url.split('?')[1].split(splitParams);
|
layui.each(params, function (i, item) {
|
urlobj['params'][item.split('=')[0]] = item.split('=')[1]
|
})
|
}
|
}
|
return urlobj
|
}
|
|
this.postJsonP = function (ip, funcName, data, callback, failcallback) {
|
if (!ip || this.isNull(ip)) {
|
alert("这个页面没有传递ip地址");
|
return;
|
}
|
var url = "http://" + ip + funcName;
|
$.ajax({
|
type: 'post',
|
url: url,
|
dataType: 'jsonp',
|
data: data,
|
cache: false,
|
async: false,
|
success: function (json) {
|
if (json && callback) {
|
callback(json);
|
}
|
},
|
error: function (result) {
|
if (failcallback) {
|
failcallback(result);
|
}
|
}
|
});
|
};
|
this.post = function (url, data, callback, errorCallback, newPath, noprogress, isasync) {
|
var that = this;
|
if (isasync) {
|
that.async("post", url, data, callback, errorCallback, newPath, noprogress);
|
} else {
|
that.ajax("post", url, data, callback, errorCallback, newPath, noprogress);
|
}
|
};
|
this.ajax = function (requestType, url, data, callback, errorCallback, newPath, noprogres) {
|
var that = this;
|
url = newPath ? newPath + url : (that.startWith(url, "http:") ? url : (path + url));
|
if (!noprogres) {
|
that.showProgress("执行中,请稍候...");
|
}
|
var header = {};
|
header[TOKEN_KEY] = that.getToken();
|
$.ajax({
|
type: requestType,
|
headers: header,
|
url: url,
|
data: data,
|
cache: false,
|
contentType: "application/x-www-form-urlencoded",
|
success: function (data) {
|
that.closeProgress();
|
var result = {};
|
if (typeof (data) == 'string') {
|
if (data && data.length > 0)
|
result = eval("(" + data + ")");
|
} else {
|
result = data;
|
}
|
if (callback) {
|
callback(result);
|
}
|
},
|
error: function (xhr, error) {
|
that.closeProgress();
|
if (errorCallback) {
|
errorCallback(xhr, error);
|
}
|
}
|
});
|
};
|
this.manualAjax = function (requestType, url, data, callback, errorCallback, newPath, noprogres) {
|
var that = this;
|
jQuery.support.cors = true;
|
url = newPath ? newPath + url : (that.startWith(url, "http:") ? url : (path + url));
|
if (!noprogres) {
|
that.showProgress("执行中,请稍候...");
|
}
|
var header = {};
|
header[TOKEN_KEY] = that.getToken();
|
$.ajax({
|
type: requestType,
|
headers: header,
|
url: url,
|
data: data,
|
cache: false,
|
contentType: "application/json",
|
success: function (data) {
|
that.closeProgress();
|
var result = {};
|
if (typeof (data) == 'string') {
|
if (data && data.length > 0)
|
result = eval("(" + data + ")");
|
} else {
|
result = data;
|
}
|
if (callback) {
|
callback(result);
|
}
|
},
|
error: function (xhr, error) {
|
that.closeProgress();
|
if (errorCallback) {
|
errorCallback(xhr, error);
|
}
|
}
|
});
|
};
|
this.async = function (requestType, url, data, callback, errorCallback, newPath, noprogres) {
|
var that = this;
|
jQuery.support.cors = true;
|
url = newPath ? newPath + url : (that.startWith(url, "http:") ? url : (path + url));
|
if (!noprogres) {
|
that.showProgress("执行中,请稍候...");
|
}
|
var header = {};
|
header[TOKEN_KEY] = that.getToken();
|
$.ajax({
|
type: requestType,
|
async: true,
|
headers: header,
|
//crossDomain: true == !(document.all),
|
url: url,
|
data: data,
|
success: function (data) {
|
that.closeProgress();
|
var result = {};
|
if (typeof (data) == 'string') {
|
if (data && data.length > 0)
|
result = eval("(" + data + ")");
|
} else {
|
result = data;
|
}
|
if (callback) {
|
callback(result);
|
}
|
},
|
error: function (xhr, error) {
|
that.closeProgress();
|
if (errorCallback) {
|
errorCallback(xhr, error);
|
}
|
}
|
});
|
};
|
// 同步
|
this.synchro = function (url, data, callback, errorCallback, newPath, noprogres) {
|
var that = this;
|
jQuery.support.cors = true;
|
url = newPath ? newPath + url : (that.startWith(url, "http:") ? url : (path + url));
|
if (!noprogres) {
|
that.showProgress("执行中,请稍候...");
|
}
|
var header = {};
|
header[TOKEN_KEY] = that.getToken();
|
$.ajax({
|
type: 'get',
|
async: false,
|
headers: header,
|
url: url,
|
data: data,
|
success: function (data) {
|
that.closeProgress();
|
var result = {};
|
if (typeof (data) == 'string') {
|
if (data && data.length > 0)
|
result = eval("(" + data + ")");
|
} else {
|
result = data;
|
}
|
if (callback) {
|
callback(result);
|
}
|
},
|
error: function (xhr, error) {
|
that.closeProgress();
|
if (errorCallback) {
|
errorCallback(xhr, error);
|
}
|
}
|
});
|
};
|
// 同步
|
this.syncpost = function (url, data, callback, errorCallback, newPath, noprogres) {
|
var that = this;
|
jQuery.support.cors = true;
|
url = newPath ? newPath + url : (that.startWith(url, "http:") ? url : (path + url));
|
if (!noprogres) {
|
that.showProgress("执行中,请稍候...");
|
}
|
var header = {};
|
header[TOKEN_KEY] = that.getToken();
|
$.ajax({
|
type: 'post',
|
async: false,
|
headers: header,
|
url: url,
|
data: data,
|
success: function (data) {
|
that.closeProgress();
|
var result = {};
|
if (typeof (data) == 'string') {
|
if (data && data.length > 0)
|
result = eval("(" + data + ")");
|
} else {
|
result = data;
|
}
|
if (callback) {
|
callback(result);
|
}
|
},
|
error: function (xhr, error) {
|
that.closeProgress();
|
if (errorCallback) {
|
errorCallback(xhr, error);
|
}
|
}
|
});
|
};
|
this.get = function (url, data, callback, errorCallback, newPath, noProgress, isAsync) {
|
var that = this;
|
if (isAsync) {
|
that.async("get", url, data, callback, errorCallback, newPath, noProgress);
|
} else {
|
that.ajax("get", url, data, callback, errorCallback, newPath, noProgress);
|
}
|
};
|
this.put = function (url, data, callback, errorCallback, newPath, noProgress, isAsync) {
|
var that = this;
|
if (isAsync) {
|
that.async("put", url, data, callback, errorCallback, newPath, noProgress);
|
} else {
|
that.ajax("put", url, data, callback, errorCallback, newPath, noProgress);
|
}
|
};
|
this.deleteRequest = function (url, data, callback, errorCallback, newPath, noProgress, isAsync) {
|
var that = this;
|
if (isAsync) {
|
that.async("delete", url, data, callback, errorCallback, newPath, noProgress);
|
} else {
|
that.ajax("delete", url, data, callback, errorCallback, newPath, noProgress);
|
}
|
};
|
this.postForCheckId = function (url, data, callback, errorCallback, newPath, showProgress, isasync, noprogress) {
|
var that = this;
|
jQuery.support.cors = true;
|
url = newPath ? newPath + url : (that.startWith(url, "http:") ? url : (path + url));
|
var header = {};
|
header[TOKEN_KEY] = that.getToken();
|
$.ajax({
|
type: 'post',
|
async: !isasync,
|
headers: header,
|
url: url,
|
data: data,
|
success: function (data) {
|
var result = {};
|
if (typeof (data) == 'string') {
|
if (data && data.length > 0)
|
result = eval("(" + data + ")");
|
} else {
|
result = data;
|
}
|
if (callback) {
|
callback(result);
|
}
|
},
|
error: function (xhr, error) {
|
//that.closeProgress();
|
if (errorCallback) {
|
errorCallback(xhr, error);
|
}
|
}
|
});
|
};
|
this.postSetHeader = function (url, data, callback, errorCallback, newPath) {
|
var that = this;
|
jQuery.support.cors = true;
|
url = newPath ? newPath + url : (that.startWith(url, "http:") ? url : (path + url));
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: url,
|
data: data,
|
headers: {TOKEN_KEY: that.getToken(), 'appCode': '123', 'userId': that.getCurrentUserId()},
|
success: function (data) {
|
var result = {};
|
if (typeof (data) == 'string') {
|
if (data && data.length > 0)
|
result = eval("(" + data + ")");
|
} else {
|
result = data;
|
}
|
if (callback) {
|
callback(result);
|
}
|
},
|
error: function (xhr, error) {
|
//that.closeProgress();
|
if (errorCallback) {
|
errorCallback(xhr, error);
|
}
|
}
|
});
|
};
|
/**
|
* 根据源数据来获取按钮
|
*/
|
this.getButtionsBySourceData = function (sourceData, callback, backPath) {
|
var me = this;
|
if (sourceData) {
|
me.getButtionsByFunctionId(sourceData['functionId'], callback, backPath);
|
} else {
|
me.showDebugMsg("来源数据中没有functionId参数的值");
|
if (callback) {
|
callback([]);
|
}
|
}
|
};
|
/**
|
* 根据菜单的编号获取按钮
|
*/
|
this.getButtionsByFunctionId = function (functionId, callback, backPath) {
|
var me = this;
|
if (me.isNull(functionId)) {
|
if (callback) {
|
callback([]);
|
}
|
} else {
|
me.post("/webMenuController/getButtonsByFunctionId", {functionId: functionId}, function (result) {
|
if (callback) {
|
callback(result);
|
}
|
}, function (xhr, error) {
|
if (callback) {
|
callback([]);
|
}
|
}, backPath);
|
}
|
};
|
/**
|
* 创建按钮的html
|
* @param sourceData 来源数据
|
* @param buttonIconMap 按钮的图标映射,
|
* @param buttonDivHtml 按钮所在div的元素对象
|
* @param appendButtons 不受权限控制的按钮
|
* @param callback 回调事件
|
* @param backPath 后台路径,常空
|
*/
|
this.createButtonHtml = function (sourceData, buttonIconMap, buttonDivHtml, buttonIdPrefix, appendButtons, callback, backPath) {
|
var me = this;
|
me.createButtonHtmlEx(sourceData, buttonIconMap, buttonDivHtml, buttonIdPrefix, appendButtons, null, callback, backPath);
|
};
|
this.createButtonHtmlEx = function (sourceData, buttonIconMap, buttonDivHtml, buttonIdPrefix, appendButtons, unDisplayButtons, callback, backPath) {
|
var me = this;
|
if (me.isNull(buttonIdPrefix)) {
|
buttonIdPrefix = "";
|
}
|
me.getButtionsBySourceData(sourceData, function (result) {
|
/**
|
* 功能的主键 functionOid
|
* 功能的编号 moduleNo
|
* 功能和按钮关联的主键 oid
|
* 唯一标识符 uniqueFlag;
|
* 描述 description;
|
* 在功能中的排序号 orderNo;
|
* 按钮名称 name
|
* 按钮昵称,是在功能和按钮的关联中的昵称,前端使用这个来显示按钮 alias;
|
* */
|
var buttons = result.obj;
|
if (!buttons) {
|
buttons = [];
|
}
|
if (appendButtons && appendButtons.length > 0) {//把不受权限控制的按钮也添加进去
|
layui.each(appendButtons, function (_index, item) {
|
buttons.push(item);
|
});
|
}
|
var buttonHtml = [];
|
var hasViewRight = false;
|
var hasQueryRight = false;
|
layui.each(buttons, function (_index, _item) {
|
if (_item.uniqueFlag != 'VIEW' && _item.uniqueFlag != 'SEARCH' //TODO 暂时不显示所有的高级查询按钮
|
&& (!unDisplayButtons || unDisplayButtons == null || !me.inArray(unDisplayButtons, _item.uniqueFlag))) {//VIEW是显示这个页面
|
buttonHtml.push(me.getButtonHtmlFromBtnObject(_item, buttonIdPrefix, buttonIconMap));
|
} else {
|
if (_item.uniqueFlag == 'VIEW') {
|
hasViewRight = true;
|
}
|
if (_item.uniqueFlag == 'SEARCH') {
|
hasQueryRight = true;
|
}
|
}
|
});
|
buttonDivHtml.prepend(buttonHtml.join(''));//添加到前面
|
if (callback) {
|
callback(buttons, hasViewRight, hasQueryRight);
|
}
|
}, backPath);
|
};
|
this.getButtonHtmlFromBtnObject = function (button, buttonIdPrefix, buttonIconMap) {
|
var me = this;
|
var buttonHtml = [];
|
var executeJs = "";
|
if(me.isNotNull(button.executeJs)){
|
executeJs = " execute-js='" + button.executeJs + "' ";
|
}
|
buttonHtml.push('<button type="button" class="layui-btn layui-btn-sm" layui-filter="toolbar_');
|
buttonHtml.push(buttonIdPrefix);
|
buttonHtml.push('_');
|
buttonHtml.push(button.uniqueFlag);
|
buttonHtml.push('" ');
|
buttonHtml.push(executeJs);
|
buttonHtml.push('>');
|
buttonHtml.push('<i class="layui-icon ');
|
var thisButtonIcon = "";
|
if (buttonIconMap && button.uniqueFlag in buttonIconMap) {
|
thisButtonIcon = buttonIconMap[button.uniqueFlag];
|
}
|
if (me.isNull(thisButtonIcon)) {
|
if (button.uniqueFlag == 'SENIORSEARCH') {
|
thisButtonIcon = 'layui-icon-search';
|
} else if (button.uniqueFlag == 'refresh') {
|
thisButtonIcon = 'layui-icon-refresh';
|
} else {
|
thisButtonIcon = 'layui-icon-util';
|
}
|
}
|
buttonHtml.push(thisButtonIcon);
|
buttonHtml.push('"></i>');
|
buttonHtml.push(button.alias);
|
buttonHtml.push('</button>');
|
return buttonHtml.join("");
|
};
|
/**
|
* 创建默认的查询区域,如果传递了tableId,则会自动自动进行查询
|
*/
|
this.createSearchHtml = function (searchNameMap, searchDiv, tableId) {
|
var me = this;
|
var ieVersion = me.getIEVersion();
|
var isShow = "none";
|
if (ieVersion.isIE) {
|
isShow = "block";
|
}
|
var html = ['<div class="layui-input-inline" style="position: relative;"><div id="selectWrapForIE" style="display:' + isShow + '"></div><select class="layui-btn layui-btn-sm layui-btn-primary" style="border:2px solid #C9C9C9;line-height: 18px;display: block" name="fast_search_select">'];
|
if (searchNameMap) {
|
for (var name in searchNameMap) {
|
if (me.isNotNull(name) && me.isNotNull(searchNameMap[name])) {
|
html.push('<option value="' + name + '">' + searchNameMap[name] + '</option>');
|
}
|
}
|
}
|
html.push('</select></div>');
|
html.push('<input class="layui-btn layui-btn-sm layui-btn-primary" type="text" name="fast_search_select_value" lay-verify="fast_search_select_value" placeholder="请输入内容按回车查询"/>');
|
html.push('<input name="fast_search_last_selectt_value" type="hidden" />');
|
searchDiv.append(html.join(''));
|
if (me.isNotNull(tableId)) {
|
//添加监听
|
searchDiv.find('.layui-input-inline').on('click', function () {//点击DIV下拉框展开 只限于ie
|
if (ieVersion.isIE) {
|
searchDiv.find('select[name="fast_search_select"]').focus();
|
var WshShell = new ActiveXObject("Wscript.Shell");
|
try {
|
WshShell.SendKeys("%{DOWN}")
|
} catch (e) {
|
WshShell.Quit
|
}
|
}
|
});
|
searchDiv.find('input[name="fast_search_select_value"]').keydown(function (e) {
|
if (e && e.keyCode == 13) {
|
var queryValue = $(this).val();
|
var queryKey = $(this).prev().find('select[name="fast_search_select"]').val();
|
var lastQueryKeyInput = $(this).next();
|
var lastQueryKey = lastQueryKeyInput.val();
|
if (me.isNotNull(queryKey)) {
|
var tableConfig = layui.table.getConfig(tableId)
|
if (tableConfig.page) {
|
tableConfig.page['curr'] = 1
|
} else {
|
tableConfig.page = {
|
curr: 1 //重新加载当前页
|
}
|
}
|
tableConfig.queryParams={}
|
tableConfig.queryParams['conditionMap["' + queryKey + '"]'] = (me.isNull(queryValue) ? "" : ("*" + queryValue + "*"));
|
|
lastQueryKeyInput.val(queryKey);
|
layui.table.setConfig(tableConfig);
|
layui.table.reload(tableId);
|
}
|
return false;
|
}
|
layui.stope(e);
|
});
|
}
|
};
|
this.showSearchHtml = function (queryColumns, tableId, filter, name, requestData) {
|
//设置查询区域
|
var that = this;
|
var table = layui.table;
|
var toolbarElem = $('[layui-filter="hisTable_' + filter + '"]');
|
//console.log('[layui-filter="hisTable_' + filter +'"]')
|
if (queryColumns) {
|
var toolbarHtml = '<div class="layui-form-item hisTable_dvi" style="height:24px;float:left;display:inline-block"> '
|
+ '<div class="layui-input-inline" style="height:24px;line-height:24px;width:150px"><select name="referGrid_search_' + filter + '_' + name + '" style="height:24px;width:120px;padding-right: 30px;">';
|
layui.each(queryColumns, function (_index, queryRecord) {
|
toolbarHtml += '<option value="' + queryRecord.field + '" >' + queryRecord.title + '</option>';
|
});
|
toolbarHtml += '</select></div>';
|
toolbarHtml += '<div class="layui-input-inline"><input type="text" style="height:24px" name="referGrid_searchvalue_' + filter + '_' + name + '" placeholder="输入值后进行模糊查询" class="layui-input" ></div>';
|
toolbarHtml += '<div class="layui-input-inline" ><button class="layui-btn" style="height:24px;line-height:24px" name="referGrid_searchbtn_' + filter + '_' + name + '" >查询</button></div>';
|
toolbarHtml += '</div>';
|
toolbarElem.html(toolbarHtml);
|
layui.form.render('select');
|
$('[name="referGrid_searchbtn_' + filter + '_' + name + '"]').click(function () {
|
var searchField = $(this).parent().parent().find('select').val();
|
var searchValue = $(this).parent().parent().find('[name="referGrid_searchvalue_' + filter + '_' + name + '"]').val();
|
if ($webUtil.isNotNull(searchValue)) {
|
searchValue = "*" + searchValue + "*";
|
}
|
requestData['conditionMap["' + searchField + '"]'] = searchValue;
|
requestData['page'] = 1;
|
table.reload(
|
tableId, {
|
where: requestData
|
}
|
);
|
});
|
}
|
};
|
this.fastSearch = function (tableId) {
|
var that = this;
|
var thatid = tableId.substring(tableId.lastIndexOf("_") + 1);
|
var searchDiv = $('[layui-filter="toolbar_' + thatid + '"]').find('input[name="fast_search_select_value"]');
|
var queryValue = searchDiv.val();
|
var queryKey = searchDiv.prev().find('select[name="fast_search_select"]').val();
|
var lastQueryKeyInput = searchDiv.next();
|
var lastQueryKey = lastQueryKeyInput.val();
|
if (that.isNotNull(queryKey)) {
|
var options = {
|
where: {}
|
};
|
options.where['conditionMap["' + queryKey + '"]'] = (that.isNull(queryValue) ? "" : ("*" + queryValue + "*"));
|
if (that.isNotNull(lastQueryKey) && lastQueryKey != queryKey) {
|
options.where['conditionMap["' + lastQueryKey + '"]'] = "";
|
}
|
lastQueryKeyInput.val(queryKey);
|
layui.table.reload(tableId, options);
|
}
|
};
|
this.wrapperSourceDataByUrl = function(trueUrl,sourceData){
|
if(trueUrl.indexOf("?") > -1){//说明有参数
|
var params = trueUrl.substring(trueUrl.indexOf("?")+1);
|
var paramsArray = params.split("&");
|
for(var i = 0 ; i < paramsArray.length ; i ++){
|
var preParam =paramsArray[i].split("=");
|
sourceData[preParam[0]] = preParam[1];
|
}
|
}
|
};
|
/**
|
* 创建默认的按钮事件
|
*/
|
this.bindDefultButtonLisenter = function (obj, buttonIdPrefix) {
|
var me = this;
|
$('[layui-filter^="toolbar_' + buttonIdPrefix + '_"]').unbind('click').click(function (e) {
|
var event = $(this).attr("layui-filter");
|
var executeJs = $(this).attr("execute-js");
|
var buttonThis = this;
|
if(executeJs){
|
var urlUp = executeJs.toUpperCase();
|
if($webUtil.startWith(urlUp,"USEJS:")) {
|
//说明是使用js组件
|
var trueUrl = executeJs.substring(6);
|
if ($webUtil.startWith(trueUrl, "//")) {
|
trueUrl = trueUrl.substring(2);
|
}
|
var sourceData = {};
|
me.wrapperSourceDataByUrl(trueUrl, sourceData);
|
if (trueUrl.indexOf("?") > -1) {
|
trueUrl = trueUrl.substring(0, trueUrl.indexOf("?"));
|
}
|
trueUrl = trueUrl.replace(/^\/+/, '');
|
layui.use([trueUrl], function () {
|
var buttonClass = layui[trueUrl];
|
buttonClass.id = event;
|
buttonClass.sourceData = sourceData;
|
buttonClass.buttonThis = buttonThis;
|
buttonClass.buttonThat = obj;
|
try {
|
buttonClass.executeButton();
|
}catch (ex) {
|
me.showDebugMsg(ex);
|
}
|
});
|
}
|
}else {
|
if (me.isNotNull(event) && event.indexOf("_") > -1) {
|
event = event.substring(event.lastIndexOf("_") + 1);
|
if (me.isNotNull(event)) {
|
if (event in obj) {
|
try {
|
obj[event](event, this);//在其中执行相应的内容
|
} catch (ex) {
|
me.showDebugMsg(ex);
|
}
|
} else {
|
if (event == 'SENIORSEARCH' && "serinorQueryInstance" in obj) {
|
obj.serinorQueryInstance.open();
|
}
|
|
}
|
}
|
}
|
}
|
layui.stope(e);
|
});
|
};
|
/**
|
* 创建下拉框
|
* @selectNameMap 格式[{attributes: {}, key: "web", value: "web服务"}]
|
*/
|
this.createSelectHtml = function (selectNameMap, selectDiv,selecId,selectcallback) {
|
var me = this;
|
if(typeof selecId !='string'){
|
selecId='fast_select'
|
}
|
function initHtml(selectNameMap, selectDiv,selectcallback){
|
var html = ['<select class="layui-btn layui-btn-sm layui-btn-primary" style="border:2px solid #C9C9C9;line-height: 18px;display: block" name="fast_select" id="'+selecId+'">'];
|
if (selectNameMap) {
|
for (var i=0;i<selectNameMap.length;i++){
|
html.push('<option value="' + selectNameMap[i].key + '" data="'+JSON.stringify(selectNameMap[i].attributes)+'">' + selectNameMap[i].value + '</option>');
|
}
|
}
|
html.push('</select>');
|
html.push('<input name="fast_select_value" type="hidden" />');
|
selectDiv.append(html.join(''));
|
if(selectcallback){
|
$('select[name="fast_select"]',selectDiv).on('change',function (){
|
var data= $(this).val();
|
selectcallback(data)
|
})
|
}
|
}
|
if(typeof selectNameMap =="string"){
|
$webUtil.ajax('get',selectNameMap,{},function (res) {
|
if(res.success){
|
initHtml(res.obj, selectDiv,selectcallback)
|
}else{
|
$webUtil.showErrorMsg(res.msg);
|
}
|
},function (xhr,error) {
|
$webUtil.showDebugMsg(error);
|
});
|
}else{
|
initHtml(selectNameMap, selectDiv,selectcallback)
|
}
|
|
};
|
//url转码方法 汉字转unicode
|
this.GB2312ToUnicode = function (str) {
|
return escape(str).toLocaleLowerCase().replace(/%u/gi, '\\u');
|
};
|
//url转码方法 unicode转汉字
|
this.unicodeToGB2312 = function (str) {
|
return unescape(str.replace(/\\u/gi, '%u'));
|
};
|
this.addEnterListener = function (key, funcs) {
|
var me = this;
|
if (!me.enterListeners) {
|
me.enterListeners = {};
|
}
|
me.enterListeners[key] = funcs;
|
};
|
this.clearEnterListener = function (key) {
|
var me = this;
|
if (!me.enterListeners) {
|
me.enterListeners = {};
|
}
|
if (key in me.enterListeners) {
|
delete me.enterListeners.key;
|
}
|
};
|
this.getDefaultValue = function (value, sourceData) {
|
var me = this;
|
if (value && me.startWith(value, "${") && me.endWith(value, "}")) {
|
//说明是系统内置的
|
return me.getSystemVar(value.replace("${", "").replace("}", ""));
|
} else if (value && me.startWith(value, "sourcedata.")) {// TODO 需要跟平台的整合到一起 weidy
|
var attr = sourceData.replace("sourcedata.", '');
|
if (sourceData && attr in sourceData) {
|
return sourceDara[attr];
|
}
|
} else {
|
return value;
|
}
|
};
|
this.getCurrentUserId = function () {
|
var me = this;
|
var userid = me.getSystemVar(me.sessionInfoKey.userId);
|
return userid;
|
};
|
this.getCurrentUserOid = function () {
|
var me = this;
|
return me.getSystemVar(me.sessionInfoKey.userOid);
|
};
|
this.getCurrentUserName = function () {
|
var me = this;
|
return me.getSystemVar(me.sessionInfoKey.userName);
|
};
|
this.showLoginDialog = function () {
|
return portal.relogin();
|
};
|
this.formateDateValueForObj = function (obj, fields, dateFormate) {
|
var me = this;
|
if (obj) {
|
if (!dateFormate) {
|
dateFormate = "yyyy-MM-dd HH:mm:ss";//日期控件不支持毫秒,凡是显示日期的,基本不需要毫秒内容
|
}
|
if (!me.isArray(fields)) {
|
fields = [fields];
|
}
|
layui.each(fields, function (_index, _item) {
|
if (_item in obj) {
|
var value = obj[_item];
|
if (me.isNotNull(value)) {
|
value = layui.util.toDateString(value, dateFormate);
|
}
|
obj[_item] = value;
|
}
|
});
|
}
|
return obj;
|
};
|
this.getValueFromObj = function (obj, fields, defaultValue) {
|
var me = this;
|
if (!me.isArray(fields)) {
|
fields = [fields];
|
}
|
for (var i = 0; i < fields.length; i++) {
|
var field = fields[i];
|
if (field in obj) {
|
return obj[field];
|
}
|
}
|
if (defaultValue) {
|
return defaultValue;
|
}
|
return "";
|
};
|
this.getBoolean = function (v) {
|
if (v == true || 'true' == v) {
|
return true;
|
} else {
|
return false;
|
}
|
};
|
this.copyConfig = function (tartObject, moduleKey) {
|
var that = this;
|
if (!moduleKey && tartObject) {
|
moduleKey = tartObject.moduleKey;
|
}
|
if (tartObject && configData && configData[moduleKey]) {
|
var configObject = configData[moduleKey];
|
for (var key in configObject) {
|
var item = configObject[key];
|
if (item && typeof (item) == 'object') {
|
//说明还是对象
|
if (!tartObject[key]) {
|
tartObject[key] = {};
|
}
|
for (var childKey in item) {
|
var childItem = item[childKey];
|
if (childItem && that.isNotNull(childItem)) {
|
tartObject[key][childKey] = childItem;
|
}
|
}
|
} else if (item && that.isNotNull(item)) {
|
tartObject[key] = item;
|
}
|
}
|
}
|
};
|
/* 获取json中Key对应的值 */
|
this.getValueByKey = function (data, field) {
|
var that = this;
|
for (var key in data) {
|
if (key === field) {
|
return data[key];
|
} else {
|
return that.getValueByKey(data[key], field);
|
}
|
}
|
};
|
this.unableSubmit = function (id, btnname) {//禁用按钮 防止多次提交
|
$('[layui-filter="toolbar_' + id + '_' + btnname + '"]').addClass('layui-disabled');
|
$('[layui-filter="toolbar_' + id + '_' + btnname + '"]').attr('disabled', 'disabled');
|
};
|
this.allowSubmit = function (id, btnname) {//恢复
|
$('[layui-filter="toolbar_' + id + '_' + btnname + '"]').removeClass('layui-disabled');
|
$('[layui-filter="toolbar_' + id + '_' + btnname + '"]').attr('disabled', false);
|
};
|
this.getTime = function () { //获取时间
|
var date = new Date();
|
var year = date.getFullYear();
|
var month = date.getMonth() + 1;
|
var day = date.getDate();
|
|
var hour = date.getHours();
|
var minute = date.getMinutes();
|
var second = date.getSeconds();
|
|
//这样写显示时间在1~9会挤占空间;所以要在1~9的数字前补零;
|
if (hour < 10) {
|
hour = '0' + hour;
|
}
|
if (minute < 10) {
|
minute = '0' + minute;
|
}
|
if (second < 10) {
|
second = '0' + second;
|
}
|
var x = date.getDay();//获取星期
|
var time = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
|
return time;
|
};
|
this.getDialogScreenSize = function (options) {
|
//获取全屏的尺寸
|
var that = this;
|
return [that.getDialogScreenWidth(options) + 'px', that.getDialogScreenHeight(options) + 'px'];
|
};
|
this.getDialogScreenHeight = function (options) {
|
//获取高度
|
var that = this;
|
var height = (that.isNotNull(options.height) || options.height * 1 > 1) ? options.height * 1 : 600;
|
var windowHeight = 0;
|
if (window.innerHeight) {
|
windowHeight = window.innerHeight;
|
} else {
|
windowHeight = document.documentElement.clientHeight;
|
}
|
if (options.fullScreen) {
|
return windowHeight - 50;
|
}
|
if ((height + 50) > windowHeight) {
|
return windowHeight - 50;
|
}
|
return height;
|
};
|
this.getDialogScreenWidth = function (options) {
|
//获取宽度
|
var that = this;
|
var width = (that.isNotNull(options.width) || options.width * 1 > 1) ? options.width * 1 : 950;
|
var windowWidth = 0;
|
if (window.innerWidth) {
|
windowWidth = window.innerWidth;
|
} else {
|
windowWidth = document.documentElement.clientWidth;
|
}
|
if (options.fullScreen) {
|
return windowWidth - 50;
|
}
|
if ((width + 50) > windowWidth) {
|
return windowWidth - 50;
|
}
|
return width;
|
};
|
this.fileDownload = function (url, successCallback,successMsg) {
|
//GET方式下载文件
|
var that = this;
|
//weidy@2020-07-27
|
//添加token
|
if (url.indexOf("?") > -1) {
|
url = url + "&";
|
} else {
|
url = url + "?";
|
}
|
url = url + TOKEN_KEY + "=" + that.getToken();
|
$.fileDownload(url, {
|
httpMethod: 'GET',
|
prepareCallback: function (url) {
|
//console.log(url)
|
that.showProgress("文件下载中。如果下载完成,进度条依然没有关闭,请点击页面空白处");
|
setTimeout(function (){
|
that.closeProgress();
|
},60000*2)
|
},
|
abortCallback: function (url) {
|
// 异常终止
|
that.closeProgress();
|
that.showErrorMsg("文件下载异常!!");
|
},
|
successCallback: function (url) {
|
that.showMsg(successMsg||"执行下载成功!!请耐心等待文件下载完成");
|
that.closeProgress();
|
if (successCallback) {
|
successCallback();
|
}
|
},
|
failCallback: function (html, url) {
|
that.showErrorMsg("文件下载失败!!");
|
that.closeProgress();
|
}
|
});
|
};
|
this.fileDownloadPost = function (url, data, successCallback) {
|
//POST方式下载文件
|
var that = this;
|
if (!data) {
|
data = {};
|
}
|
data[TOKEN_KEY] = that.getToken();
|
$.fileDownload(url, {
|
httpMethod: 'post',
|
data: data,
|
prepareCallback: function (url) {
|
that.showProgress("文件下载中。如果下载完成,进度条依然没有关闭,请点击页面空白处");
|
setTimeout(function (){
|
that.closeProgress();
|
},60000*2)
|
},
|
abortCallback: function (url) {
|
// 异常终止
|
that.closeProgress();
|
that.showErrorMsg("文件下载异常!!");
|
},
|
successCallback: function (url) {
|
that.showMsg("执行下载成功!!请耐心等待文件下载完成");
|
that.closeProgress();
|
if (successCallback) {
|
successCallback();
|
}
|
},
|
failCallback: function (html, url) {
|
that.showErrorMsg("文件下载失败!!");
|
that.closeProgress();
|
}
|
});
|
};
|
this.paramLow = function (paramsVOs) {
|
//参数转换为小写
|
if (!paramsVOs) {
|
paramsVOs = {};
|
}
|
var params = {};
|
for (var key in paramsVOs) {
|
params[key.toLowerCase()] = paramsVOs[key];
|
}
|
return params;
|
};
|
this.replaceFreeMarker = function (text, dataStore, sourceData) {
|
//替换表达式
|
if (!sourceData) {
|
sourceData = {};
|
}
|
if (!dataStore) {
|
dataStore = [];
|
}
|
var replaceData = dataStore.length > 0 ? dataStore[0] : {};
|
if (text && text.indexOf("${") > -1 && text.indexOf("}")) {
|
//js只能使用${xxx}这种的方式
|
var reg = "root.${";
|
while (text.indexOf(reg) > -1) {
|
var temp = text.substring(0, text.indexOf(reg));
|
var field = text.substring(text.indexOf(reg) + reg.length, text.indexOf("}"));
|
var end = text.substring(text.indexOf("}") + 1);
|
field = replaceData[field] || sourceData[field] || '';
|
text = temp + field + end;
|
}
|
reg = "sourceData.${";
|
while (text.indexOf(reg) > -1) {
|
var temp = text.substring(0, text.indexOf(reg));
|
var field = text.substring(text.indexOf(reg) + reg.length, text.indexOf("}"));
|
var end = text.substring(text.indexOf("}") + 1);
|
field = replaceData[field] || sourceData[field] || '';
|
text = temp + field + end;
|
}
|
reg = "${";
|
while (text.indexOf(reg) > -1) {
|
var temp = text.substring(0, text.indexOf(reg));
|
var field = text.substring(text.indexOf(reg) + reg.length, text.indexOf("}"));
|
var end = text.substring(text.indexOf("}") + 1);
|
field = replaceData[field] || sourceData[field] || '';
|
text = temp + field + end;
|
}
|
}
|
return text;
|
};
|
|
this.setDataTableRowColor = function (TabDivId, RowIndex, ColorString, FontColor) {//table 行变色
|
var div = $(TabDivId).next();
|
if (div != null) {
|
var table_main = div.find('.layui-table-main ');
|
if (table_main != null && table_main.length > 0) {
|
var table = table_main[0].getElementsByTagName('table')//getElementsByClassName('layui-table');
|
if (table != null && table.length > 0) {
|
var trs = table[0].querySelectorAll("tr");
|
if (trs != null && trs.length > 0) {
|
trs[RowIndex].style.background = ColorString;
|
trs[RowIndex].style.color = FontColor;
|
}
|
}
|
}
|
|
}
|
|
};
|
this.getTrueId = function (btn) {//同一个页面打开多个 之前的页面按钮不起作用
|
//需要配置页面时传参数 并在渲染时把参数加到页面id里 使页面中使用id的元素唯一 也就是每个页面的getContent中 需要让this.id=this.sourceData.参数名 + this.id (这里是个例子) 保证页面打开多次是所有元素id不同
|
//这个方法通过按钮的属性 获取当前页面的id
|
//每个按钮方法里第一个参数是名称 第二个参数就是btn 例如 this.refresh(event,btn){} btn就是要传的参数
|
//需要重复使用的页面 按钮事件中的 that.id 都应该替换成 $webUtil.getTrueId(btn)
|
var target = $(btn).attr("layui-filter");
|
var name = target.substring(target.indexOf("_") + 1);
|
var trueId = name.substring(0, name.lastIndexOf("_"));
|
return trueId
|
};
|
this.dialog = function (options) {
|
if (!options) {
|
options = {};
|
}
|
//把传递进来的参数和默认的参数合并
|
var diaglogIndex;
|
options = $.extend({
|
type: 1,
|
//skin: 'layui-layer-lan',
|
//area: ['900px', '500px'],
|
closeBtn: 1,
|
shade: true,
|
shadeClose: true,
|
resize: true
|
}, options);
|
if (options.btn && options.btn[1] && options.btn[1] == '取消' && !('btn2' in options)) {
|
options.btn2 = function (layero) {
|
layer.close(diaglogIndex);
|
if (options.targetObject) {
|
options.targetObject.refresh();
|
}
|
};
|
}
|
diaglogIndex = layer.open(options);
|
return diaglogIndex;
|
};
|
|
this.userIsDep = function (tab) {
|
var that = this;
|
$("#tab_" + tab).remove();
|
that.showErrorMsg('此用户没有设置部门、不可展现页面!');
|
return false
|
};
|
|
this.starORstop = function (lcStatus) {
|
if (lcStatus == 'Enabled') {
|
return '已经为启用状态!';
|
} else {
|
return '已经为停用状态!';
|
}
|
};
|
|
this.createScript = function (src, callback) {
|
var head = document.getElementsByTagName('head')[0];
|
var script = document.createElement('script');
|
script.type = 'text/javascript';
|
script.onreadystatechange = function () {
|
if (this.readyState == 'loaded' || this.readyState == 'complete')
|
if (callback)
|
callback();
|
}
|
script.onload = function () {
|
if (callback)
|
callback();
|
}
|
script.src = src;
|
head.appendChild(script);
|
}
|
|
//弹窗内容加载完后重新定位弹窗居中
|
this.relocationOpen=function (classP){
|
!(/^\d+%$/.test(classP.config.area[0]) || /^\d+%$/.test(classP.config.area[1])) && classP.auto(classP.index);
|
classP.offset();
|
classP.config.type == 4 && classP.tips();
|
}
|
};
|
})(jQuery);
|