layui.define(['jquery', 'element','table'], function(exports) { "use strict"; /** * 常用封装类 * */ var MOD_NAME = 'common', $ = layui.jquery, table = layui.table, element = layui.element; var common = new function() { /** * 获取当前表格选中字段 * @param obj 表格回调参数 * @param field 要获取的字段 * */ this.checkField = function(obj, field) { let data = table.checkStatus(obj.config.id).data; if (data.length === 0) { return ""; } let ids = ""; for (let i = 0; i < data.length; i++) { ids += data[i][field] + ","; } ids = ids.substr(0, ids.length - 1); return ids; } /** * 当前是否为与移动端 * */ this.isModile = function(){ if ($(window).width() <= 768) { return true; } return false; } /** * 提交 json 数据 * @param href 必选 提交接口 * @param data 可选 提交数据 * @param ajaxtype 可选 提交方式(默认为get) * @param table 可选 刷新父级表 * @param callback 可选 自定义回调函数 * @param dataType 可选 返回数据类型 智能猜测(可以是xml, json, script, 或 html) * @param is_async 可选 请求是否异步处理。默认是 true * @param is_cache 可选 浏览器是否缓存被请求页面。默认是 true * */ this.submit = function(href,data,ajaxtype,table,callback,dataType,is_async,is_cache){ if(ajaxtype=='' || ajaxtype==undefined){ ajaxtype='get';} if(data!==undefined){ $.ajaxSetup({data:JSON.stringify(data)}); }else { $.ajaxSetup({data:''}); } if(is_cache!==undefined){ $.ajaxSetup({dataType:dataType }); } if(is_async!==undefined){ $.ajaxSetup({async:is_async }); } if(is_cache!==undefined){ $.ajaxSetup({cache:is_cache }); } $.ajax({ url:href, contentType:'application/json', type:ajaxtype, success:callback !=null?callback:function(result){ if(result.code==1){ layer.msg(result.msg,{icon:1,time:1000},function(){ if(parent.layer.getFrameIndex(window.name)!=undefined){ parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页 if(table!=null){parent.layui.table.reload(table);} }else { if(table!=null){layui.table.reload(table);} } }); }else{ layer.msg(result.msg,{icon:2,time:1000}); } }, error:function(xhr){ if(xhr.status==401) { layer.msg('权限不足,您无法访问受限资源或数据',{icon: 5}); } if(xhr.status==404) { layer.msg('请求url地址错误,请确认后刷新重试',{icon: 5}); } if(xhr.status==419) { layer.msg('长时间未操作,自动刷新后重试!',{icon: 5}); setTimeout(function () { window.location.reload();}, 2000); } if(xhr.status==429) { layer.msg('尝试次数太多,请一分钟后再试',{icon: 5}); } if(xhr.status==500) { layer.msg(xhr.responseJSON.message,{icon: 5}); } } ,complete:function (xhr,status){ } }) } } exports(MOD_NAME, common); });