layui.config({ version: true, closeFooter: true, tabAutoRefresh: false, base: getProjectUrl() + 'assets/module/' }).extend({}).use(['layer', 'admin', 'index', 'table', 'laydate', 'form'], function () { var $ = layui.jquery; var index = layui.index; var admin = layui.admin; var table = layui.table; var laydate = layui.laydate; var form = layui.form; //全局配置table table.set({ page: true, size: 'sm', cellMinWidth: 80, defaultToolbar: ['filter'], limit: 15, limits: [15, 50, 100, 200] }); //关闭当前页面 跳到指定页面 window.closeCurrentPageJumpOne = function (titlex, urlx, refresh, time) { //不传时间 为0 var time = time ? time : 0; setTimeout(function () { index.openTab({ title: titlex, url: urlx }); if (refresh) { admin.refresh(urlx); } }, time) setTimeout(function () { index.closeTab(window.location.pathname + window.location.search); }, (time + 500)) } }); /** * 获取当前项目的根路径,通过获取layui.js全路径截取assets之前的地址 * */ function getProjectUrl() { var layuiDir = layui.cache.dir; if (!layuiDir) { var js = document.scripts, last = js.length - 1, src; for (var i = last; i > 0; i--) { if (js[i].readyState === 'interactive') { src = js[i].src; break; } } var jsPath = src || js[last].src; layuiDir = jsPath.substring(0, jsPath.lastIndexOf('/') + 1); } return layuiDir.substring(0, layuiDir.indexOf('assets')); } /** * 获取参数 * @param variable * @returns {string} */ function getQueryVariable(variable) { let query = window.location.search.substring(1); let vars = query.split("&"); for (let i = 0; i < vars.length; i++) { let pair = vars[i].split("="); if (pair[0] == variable) { return pair[1]; } } return ''; } /** * 获取地址栏参数 * @param value * @returns {*} */ function getRequest(value) { var url = decodeURI(location.search); var object = {}; if (url.indexOf("?") != -1) { var str = url.substr(1); var strs = str.split("&"); for (var i = 0; i < strs.length; i++) { object[strs[i].split("=")[0]] = strs[i].split("=")[1] } } return object[value]; } /** * 判断数组内元素是否全相同 * @param array * @returns {boolean} */ function isAllEqual(array) { if (array.length > 0) { return !array.some(function (value, index) { return value !== array[0]; }); } else { return true; } } /** * * @param url * @param type * @param param * @param callback * @param isload * @constructor */ function Request(url, type, param, callback, isload) { if (isload == undefined) { var index = layer.load(2); } //设置携带cookie $.ajaxSetup({ xhrFields: { withCredentials: true } }); var params = $.extend({}, param); $.ajax({ type: type, url: url, data: params, xhrFields: {withCredentials: true}, timeout: 30000, success: function (data) { typeof callback == 'function' && callback(data); if (isload == undefined) { layer.close(index); } }, error: function () { layer.closeAll('loading'); layer.msg('网络出现问题,请重试!'); } }); } /** * * @param res * @returns {{msg: string, code: number, data: Array, count: number}|{msg: string, code: *, data: *, count: number}} * @constructor */ function LayUiTableParseData(res) { if (res.code == 0) { return { code: res.code, msg: "", count: res.data.total ? res.data.total : 0, data: res.data.list } } else { return { code: 0, msg: "", count: 0, data: [] } } } /** * 判断数组中是否包含某个值 * @param arr 数组 * @param str 值 * @returns {boolean} */ function contains(arr, str) { var i = arr.length; while (i--) { if (arr[i] == str) { return true; } } return false; } /** * 防抖函数 * @param fn * @param delay * @returns {Function} */ function debounce(fn, delay) { // 定时器,用来 setTimeout var timer // 返回一个函数,这个函数会在一个时间区间结束后的 delay 毫秒时执行 fn 函数 return function () { // 保存函数调用时的上下文和参数,传递给 fn var context = this var args = arguments // 每次这个返回的函数被调用,就清除定时器,以保证不执行 fn clearTimeout(timer) // 当返回的函数被最后一次调用后(也就是用户停止了某个连续的操作), // 再过 delay 毫秒就执行 fn timer = setTimeout(function () { fn.apply(context, args) }, delay) } } /** * 获取业务员 * @param id dom对象 * @param data 存入选中数据 * @returns {*} */ function getSales(id, name, data, clickClose, layVerify, layVerType) { var salesChange = xmSelect.render({ el: id, radio: true, searchTips: '请输入搜索', model: { label: { type: 'text' } }, toolbar: { show: true, list: ['CLEAR'] }, layVerify: layVerify || '', layVerType: layVerType || '', filterable: true, data: [], name: name, clickClose: clickClose, on: function (res) { } }) Request('/api/taxinfo/getSales', 'GET', {}, function (res) { let off = res.data.off; //离职 let on = res.data.on; //在职 let arr = []; arr.push({ name: "在职", children: on }) arr.push({ name: "离职", children: off }) salesChange.update({ data: arr, autoRow: true, }) if (data && data.length > 0) { salesChange.setValue(data) } }, false); return salesChange; } /** * 判断文件后缀类型 * @param file_url * @returns {string} */ function getFileExt(file_url) { var file_ext_name = ""; if (file_url) { if (file_url.indexOf("/") != -1) { var file_arr = file_url.split("/"); var file_id = file_arr.pop(); } else { var file_id = file_url; } var file_type = parseInt(file_id.substr(7, 3)) var file_ext_map = { "1": "png", "2": "jpeg", "3": "pdf", "4": "text", "5": "xls", "6": "xlsx", "7": "doc", "8": "docx", "9": "ppt", "10": "zip", "11": "tar", "12": "html", "13": "mp4" }; file_ext_name = file_ext_map[file_type]; } return file_ext_name; }