/** * 工具函数 * @author [chenjy] * @date 2018-05-11 */ define(['constant'], function (constant) { /** * 解析url返回对应参数 * @author [刘耀填] * @date 2018/09/11 * @param url 页面url * @returns {Object} url后参数 */ function getUrlParams(url) { var params = {}; if (url.indexOf("?") !== -1) { var str = url.substr(url.indexOf("?") + 1); strs = str.split("&"); for (var i = 0; i < strs.length; i++) { params[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]); } } return params; } /** * @desc 页面路径跳转 * @param [url] 跳转路径 * @param [parameterList] 参数对象集合 {name value} * @author [张君培] * @date 2018/08/13 */ function goUrlModule(url, parameterList) { var parameter = ''; for (var i = 0; i < parameterList.length; i++) { var symbol = i === 0 ? '?' : '&'; var o = parameterList[i]; parameter += symbol + o.name + '=' + o.value; } mui.openWindow({ id: 'newW', url: url + parameter }); } /** * @author 徐尚华 * @date 2018/5/14 * @Description: ajax请求 支持get和post,异步和同步 */ function ajax(option) { var type = option.type || 'get'; var url = option.url; var contentType = option.contentType || 'application/x-www-form-urlencoded;charset=UTF-8'; var data = option.data || ''; var dataType = option.dataType || 'json'; // 默认异步 var async = true; if (option.async === false) { async = false; } var cache = false; if (option.cache === true) { cache = true; } var timeout = option.timeout || 20000; jQuery.support.cors = true; // 允许跨域请求 $.ajax({ type: type, url: url, contentType: contentType, data: data, dataType: dataType, async: async, cache: cache, timeout: timeout, xhrFields: {withCredentials: true}, success: function (res) { switch (res.code) { case 401: // 未登录 if (window != top) { top.location.href = location.href; } else { window.location.href = constant.URL.PATH_LOGIN; } break; case 7001: // 权限不足 layer.msg(res.msg, {icon: 2}); break; default: if (typeof option.success == 'function') { option.success(res); } } }, error: function (jqXHR) { // console.log(jqXHR); if (jqXHR.status === 401 ) { layer.msg(jqXHR.responseJSON.msg, {icon: 2}); return; } if (typeof option.error == 'function') { option.error(jqXHR); } } }) } function addToken(targetUrl, token) { var successUrl = ''; if (targetUrl.indexOf('?') !== -1) { // 原路径已经存在查询参数 if (targetUrl.indexOf('token') !== -1) { // 且存在旧token,要先移除 successUrl = targetUrl.substring(0, targetUrl.indexOf('token')) + 'token=' + token; } else { successUrl = targetUrl + '&token=' + token; } } else { // 原路径不存在查询参数 successUrl = targetUrl + '?token=' + token; } return successUrl; } String.format = function() { if (arguments.length == 0) return null; var str = arguments[0]; for ( var i = 1; i < arguments.length; i++) { var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm'); str = str.replace(re, arguments[i]); } return str; /* 调用方式: var info = "我喜欢吃{0},也喜欢吃{1},但是最喜欢的还是{0},偶尔再买点{2}。"; var msg=String.format(info , "苹果","香蕉","香梨") alert(msg); 输出:我喜欢吃苹果,也喜欢吃香蕉,但是最喜欢的还是苹果,偶尔再买点香梨。 */ }; // 下横线 转 驼峰 /*console.log(toCamel('test_to_camel')); //testToCamel*/ function toCamel(str) { str = str.replace(/([^_])(?:_+([^_]))/g, function ($0, $1, $2) { return $1 + $2.toUpperCase(); }); // 首字母大写 return str.slice(0,1).toUpperCase() + str.slice(1); } // 驼峰 转 下横线 /*console.log(toLowerLine("TestToLowerLine")); //test_to_lower_line*/ function toLowerLine(str) { var temp = str.replace(/[A-Z]/g, function (match) { return "_" + match.toLowerCase(); }); if(temp.slice(0,1) === '_'){ //如果首字母是大写,执行replace时会多一个_,这里需要去掉 temp = temp.slice(1); } return temp; }; // 初始化表单值 function initFormData(formId, data, notReset) { if(!notReset){ $(formId)[0].reset(); } $.each(data, function (key, value) { $(formId).find("[name='" + key +"']").val(value); }) } // 获取form表单数据 function getFormData($form) { var arrayData = $form.serializeArray(); var formData = {}; // 去除两边空格 $.map(arrayData, function (item, i) { if(item['name'].indexOf("Check") > 0 && item['value'] =="on"){ formData[item['name']] = true; } else { formData[item['name']] = $.trim(item['value']); } }); return formData; } function checkFormData($form){ var bl = true; $form.find(".require").each(function (index, item) { if($.trim($(item).val()) === ''){ layer.msg("请填写必填项", {icon: 2}); $(item).focus(); bl = false; return false; } }); return bl; } /** * 导出Excel * @param api 请求接口 * @param params 请求参数 */ function exportData(api, params) { var form = $('