2023-05-05 12:04:46 +08:00
|
|
|
|
layui.define(['jquery', 'element', 'table'], function (exports) {
|
|
|
|
|
"use strict";
|
2023-03-16 22:40:15 +08:00
|
|
|
|
|
2023-05-05 12:04:46 +08:00
|
|
|
|
/**
|
|
|
|
|
* 常用封装类
|
|
|
|
|
* */
|
|
|
|
|
var MOD_NAME = 'common',
|
|
|
|
|
$ = layui.jquery,
|
|
|
|
|
table = layui.table,
|
|
|
|
|
element = layui.element;
|
2023-03-16 22:40:15 +08:00
|
|
|
|
|
2023-05-05 12:04:46 +08:00
|
|
|
|
var common = new function () {
|
2023-03-16 22:40:15 +08:00
|
|
|
|
|
2023-05-05 12:04:46 +08:00
|
|
|
|
/**
|
|
|
|
|
* 获取当前表格选中字段
|
|
|
|
|
* @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.substring(0, ids.length - 1);
|
|
|
|
|
return ids;
|
|
|
|
|
}
|
2023-03-16 22:40:15 +08:00
|
|
|
|
|
2023-05-05 12:04:46 +08:00
|
|
|
|
/**
|
|
|
|
|
* 当前是否为与移动端
|
|
|
|
|
* */
|
|
|
|
|
this.isModile = function () {
|
|
|
|
|
return $(window).width() <= 768;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 提交 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 (data !== undefined) {
|
|
|
|
|
$.ajaxSetup({data: JSON.stringify(data)});
|
|
|
|
|
} else {
|
|
|
|
|
$.ajaxSetup({data: ''});
|
|
|
|
|
}
|
|
|
|
|
if (dataType !== 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 || 'get',
|
|
|
|
|
success: callback != null ? callback : function (result) {
|
|
|
|
|
if (result.code === 1) {
|
|
|
|
|
layer.msg(result.msg, {icon: 1, time: 1000}, function () {
|
|
|
|
|
let frameIndex = parent.layer.getFrameIndex(window.name);
|
|
|
|
|
if (frameIndex) {
|
|
|
|
|
parent.layer.close(frameIndex);//关闭当前页
|
|
|
|
|
}
|
|
|
|
|
table && parent.layui.table.reload(table);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
layer.msg(result.msg, {icon: 2, time: 1000});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error: function (xhr) {
|
|
|
|
|
if (xhr.status === 401) {
|
|
|
|
|
layer.msg('权限不足,您无法访问受限资源或数据', {icon: 5});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (xhr.status === 404) {
|
|
|
|
|
layer.msg('请求url地址错误,请确认后刷新重试', {icon: 5});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (xhr.status === 419) {
|
|
|
|
|
layer.msg('长时间未操作,自动刷新后重试!', {icon: 5});
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
window.location.reload();
|
|
|
|
|
}, 2000);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (xhr.status === 429) {
|
|
|
|
|
layer.msg('尝试次数太多,请一分钟后再试', {icon: 5});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (xhr.status === 500) {
|
|
|
|
|
layer.msg(xhr.responseJSON.message, {icon: 5});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
, complete: function (xhr, status) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
exports(MOD_NAME, common);
|
2023-03-16 22:40:15 +08:00
|
|
|
|
});
|