Files
premium/public/static/component/laytp/module/laytpTable.js
T
2025-05-18 07:42:27 +00:00

79 lines
3.8 KiB
JavaScript
Executable File

/**
* 数据表格处理
* @version: 1.0
* @Author: JunStar
* @Date: 2021-9-8 23:56:21
* @Last Modified by: JunStar
* @Last Modified time: 2021-09-22 17:19:12
*/
layui.define([
],function (exports) {
const MOD_NAME = "laytpTable";
let $ = layui.$;
let laytpTable = {
/**
* 数据表格渲染完成调用的方法
* 主要工作,让layui-table-body的最大高度最多就是当前可见屏幕,超过了当前可见高度,就出现滚动条
* 增加参数reduceHeight的设置,是当底部有浮动的层时,需要把底部浮动层的高度也减去
* 弹窗展示数据表格时,底部可能需要加上操作按钮,reduceHeight的值设置上浮动层高度即可
* @param reduceHeight int 减少的高度,单位px
* @param tableId string 表格的ID
*/
done : function(reduceHeight, tableId){
if(!reduceHeight){
reduceHeight = 0;
}
// 获取屏幕可见高度
var windowHeight = $(window).height();
var maxHeight = parseInt(windowHeight) - (172 + reduceHeight);
// 设置.layui-table-body的最大高度和y轴滚动条自动出现
// 为了防止fixed="left" 固定层也出现滚动条,增加上.layui-table-main类的限制
if(!tableId){
$(".layui-table-body.layui-table-main").css("height", maxHeight + 'px');
$(".layui-table-body.layui-table-main").css("max-height", maxHeight + 'px');
$(".layui-table-body.layui-table-main").css("overflow-y", "auto");
}else{
$("div[lay-id='"+tableId+"'] .layui-table-body.layui-table-main").css("height", maxHeight + 'px');
$("div[lay-id='"+tableId+"'] .layui-table-body.layui-table-main").css("max-height", maxHeight + 'px');
$("div[lay-id='"+tableId+"'] .layui-table-body.layui-table-main").css("overflow-y", "auto");
}
},
/**
* 树形数据表格渲染完成调用的方法
* 主要工作,让layui-table-body的最大高度最多就是当前可见屏幕,超过了当前可见高度,就出现滚动条
* 增加参数reduceHeight的设置,是当底部有浮动的层时,需要把底部浮动层的高度也减去
* 弹窗展示数据表格时,底部可能需要加上操作按钮,reduceHeight的值设置上浮动层高度即可
* @param reduceHeight int 减少的高度,单位px
* @param tableId string 表格的ID
*/
treeDone : function(reduceHeight, tableId){
if(!reduceHeight){
reduceHeight = 0;
}
// 获取屏幕可见高度
var windowHeight = $(window).height();
var maxHeight = parseInt(windowHeight) - (130 + reduceHeight);
// 设置.layui-table-body的最大高度和y轴滚动条自动出现
// 为了防止fixed="left" 固定层也出现滚动条,增加上.layui-table-main类的限制
if(!tableId){
$(".layui-table-body.layui-table-main").css("height", maxHeight + 'px');
$(".layui-table-body.layui-table-main").css("max-height", maxHeight + 'px');
$(".layui-table-body.layui-table-main").css("overflow-y", "auto");
}else{
$("div[lay-id="+tableId+"] .layui-table-body.layui-table-main").css("height", maxHeight + 'px');
$("div[lay-id="+tableId+"] .layui-table-body.layui-table-main").css("max-height", maxHeight + 'px');
$("div[lay-id="+tableId+"] .layui-table-body.layui-table-main").css("overflow-y", "auto");
}
},
setLimit: function(key, limit){
facade.setLimit(key, limit);
}
};
//输出模块
exports(MOD_NAME, laytpTable);
});