79 lines
3.8 KiB
JavaScript
Executable File
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);
|
|
}); |