"use strict"; layui.define(["layer"], function (exprots) { var $ = layui.jquery; var okUtils = { /** * 是否前后端分离 */ isFrontendBackendSeparate: false, /** * 服务器地址 */ baseUrl: "http://localhost:8080", /** * 获取body的总宽度 */ getBodyWidth: function () { return document.body.scrollWidth; }, /** * 主要用于对ECharts视图自动适应宽度 */ echartsResize: function (element) { var element = element || []; window.addEventListener("resize", function () { var isResize = localStorage.getItem("isResize"); // if (isResize == "false") { for (let i = 0; i < element.length; i++) { element[i].resize(); } // } }); }, /** * ajax()函数二次封装 * @param url * @param type * @param params * @param load * @returns {*|never|{always, promise, state, then}} */ ajax: function (url, type, params, load) { var deferred = $.Deferred(); var loadIndex; $.ajax({ url: okUtils.isFrontendBackendSeparate ? okUtils.baseUrl + url : url, type: type || "get", data: params || {}, dataType: "json", beforeSend: function () { if (load) { loadIndex = layer.load(0, {shade: false}); } }, success: function (data) { if (data.state == "success") { // 业务正常 deferred.resolve(data) } else { // 业务异常 layer.msg(data.message, {icon: 7, time: 2000}); deferred.reject("okUtils.ajax warn: " + data.message); } }, complete: function () { if (load) { layer.close(loadIndex); } }, error: function () { layer.close(loadIndex); layer.msg("服务器错误", {icon: 2, time: 2000}); deferred.reject("okUtils.ajax error: 服务器错误"); } }); return deferred.promise(); }, /** * 主要用于针对表格批量操作操作之前的检查 * @param table * @returns {string} */ tableBatchCheck: 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 */ tableSuccessMsg: function (content) { layer.msg(content, {icon: 1, time: 1500}, function () { // 刷新当前页table数据 $(".layui-laypage-btn")[0].click(); }); }, /** * 获取父窗体的okTab * @returns {string} */ getOkTab: function () { return parent.objOkTab; }, /** * 格式化当前日期 * @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; }, 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; } }, } }; exprots("okUtils", okUtils); });