TaoLer/public/static/component/pear/module/common.js
2023-05-05 12:04:46 +08:00

115 lines
4.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.substring(0, ids.length - 1);
return ids;
}
/**
* 当前是否为与移动端
* */
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);
});