ok-admin/lib/layui/lay/okmodules/okUtils.js

166 lines
5.5 KiB
JavaScript
Raw Normal View History

2019-08-21 07:12:39 +00:00
"use strict";
2019-08-24 15:22:34 +00:00
layui.define(["layer"], function (exprots) {
var $ = layui.jquery;
var okUtils = {
2019-08-22 14:32:03 +00:00
/**
* 是否前后端分离
*/
2019-10-27 13:31:06 +00:00
isFrontendBackendSeparate: true,
2019-08-22 14:32:03 +00:00
/**
* 服务器地址
*/
2019-10-27 13:31:06 +00:00
baseUrl: "http://rap2api.taobao.org/app/mock/233041",
2019-08-24 15:22:34 +00:00
/**
* 获取body的总宽度
*/
getBodyWidth: function () {
return document.body.scrollWidth;
},
/**
* 主要用于对ECharts视图自动适应宽度
*/
echartsResize: function (element) {
2019-08-24 15:27:51 +00:00
var element = element || [];
2019-08-24 15:22:34 +00:00
window.addEventListener("resize", function () {
var isResize = localStorage.getItem("isResize");
2019-08-26 11:28:05 +00:00
// if (isResize == "false") {
2019-09-20 05:54:26 +00:00
for (let i = 0; i < element.length; i++) {
element[i].resize();
}
2019-08-26 11:28:05 +00:00
// }
2019-08-24 15:22:34 +00:00
});
},
/**
2019-08-21 07:12:39 +00:00
* ajax()函数二次封装
* @param url
* @param type
* @param param
2019-08-29 16:11:39 +00:00
* @param load
* @returns {*|never|{always, promise, state, then}}
2019-08-21 07:12:39 +00:00
*/
2019-08-25 17:03:20 +00:00
ajax: function (url, type, param, load) {
2019-08-21 07:12:39 +00:00
var deferred = $.Deferred();
var loadIndex;
$.ajax({
url: okUtils.isFrontendBackendSeparate ? okUtils.baseUrl + url : url,
type: type || "get",
data: param || {},
dataType: "json",
beforeSend: function () {
2019-08-25 17:03:20 +00:00
if (load) {
2019-09-20 05:54:26 +00:00
loadIndex = layer.load(0, {shade: false});
}
2019-08-21 07:12:39 +00:00
},
success: function (data) {
2019-10-27 13:31:06 +00:00
if (data.code == 0) {
2019-08-21 07:12:39 +00:00
// 业务正常
2019-08-22 14:32:03 +00:00
deferred.resolve(data)
2019-08-21 07:12:39 +00:00
} else {
// 业务异常
layer.msg(data.msg, {icon: 7, time: 2000});
deferred.reject("okUtils.ajax warn: " + data.msg);
}
},
complete: function () {
2019-09-20 05:54:26 +00:00
if (load) {
layer.close(loadIndex);
}
2019-08-21 07:12:39 +00:00
},
error: function () {
layer.close(loadIndex);
layer.msg("服务器错误", {icon: 2, time: 2000});
deferred.reject("okUtils.ajax error: 服务器错误");
}
});
return deferred.promise();
},
table: {
/**
* 主要用于针对表格批量操作操作之前的检查
* @param table
* @returns {string}
*/
batchCheck: function (table) {
var checkStatus = table.checkStatus("tableId");
var rows = checkStatus.data.length;
if (rows > 0) {
var idsStr = "";
for (var i = 0; i < checkStatus.data.length; i++) {
idsStr += checkStatus.data[i].id + ",";
}
return idsStr;
} else {
layer.msg("未选择有效数据", {offset: "t", anim: 6});
}
},
/**
* 在表格页面操作成功后弹窗提示
* @param content
*/
successMsg: function (content) {
layer.msg(content, {icon: 1, time: 1000}, function () {
// 刷新当前页table数据
$(".layui-laypage-btn")[0].click();
});
2019-08-05 09:30:25 +00:00
}
2019-08-26 09:22:15 +00:00
},
/**
* 获取父窗体的okTab
* @returns {string}
*/
2019-09-20 05:54:26 +00:00
getOkTab: function () {
2019-08-26 09:22:15 +00:00
return parent.objOkTab;
2019-09-20 05:54:26 +00:00
},
/**
* 格式化当前日期
* @param date
* @param fmt
* @returns {void | string}
*/
dateFormat: function (date, fmt) {
var o = {
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"h+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds(),
"q+": Math.floor((date.getMonth() + 3) / 3),
"S": date.getMilliseconds()
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
2019-10-12 04:43:16 +00:00
},
number: {
/**
* 判断是否为一个正常的数字
* @param num
*/
isNumber: function (num) {
if (num && !isNaN(num)) {
return true;
}
return false;
},
/**
* 判断一个数字是否包括在某个范围
* @param num
* @param begin
* @param end
*/
isNumberWith: function (num, begin, end) {
if (this.isNumber(num)) {
if (num >= begin && num <= end) {
return true;
}
return false;
}
},
2019-08-21 07:12:39 +00:00
}
2019-08-24 15:22:34 +00:00
};
exprots("okUtils", okUtils);
2019-05-27 01:24:17 +00:00
});