From 38c0b414330e31c5260d4f5275e99053dc5871f7 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Sat, 18 Jan 2020 18:21:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=8A=A8=E6=80=81=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E6=95=B0=E6=8D=AE=E8=A1=A8=E6=A0=BC=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wwwroot/lib/longbow/longbow.common.js | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/admin/Bootstrap.Admin/wwwroot/lib/longbow/longbow.common.js b/src/admin/Bootstrap.Admin/wwwroot/lib/longbow/longbow.common.js index 92aa6307..70a93555 100644 --- a/src/admin/Bootstrap.Admin/wwwroot/lib/longbow/longbow.common.js +++ b/src/admin/Bootstrap.Admin/wwwroot/lib/longbow/longbow.common.js @@ -438,16 +438,31 @@ // 判断是否固定表头 var fixHeader = this.attr('data-fixedHeader') === ''; var $tabContainer = $(settings.tableContainer); + var $table = this; if (fixHeader && settings.height === undefined) { if (settings.calcHeight === undefined) { settings.calcHeight = function () { var marginHeight = 0; if ($tabContainer.length === 1) { - marginHeight = $tabContainer.outerHeight() - $tabContainer.height(); - } + marginHeight = ($tabContainer.outerHeight() - $tabContainer.height()) * 2; - // 38: card-header - return Math.max(settings.minHeight, $(window).height() - $('header').height() - $('footer').height() - (marginHeight * 2) - 38 - 32 - 10); + // 计算 table 控件前组件高度 + var $prev = $table.prev(); + while ($prev.length == 1) { + marginHeight += $prev.outerHeight(true); + $prev = $prev.prev(); + } + + // 计算 Card Header 高度 + if ($table.parent().hasClass('card-body')) { + // 判断 card-header 是否显示并计算高度 + var $cardHader = $table.parent().prev(); + if ($cardHader.is(":visible")) { + marginHeight += $cardHader.outerHeight(true); + } + } + } + return Math.max(settings.minHeight, $(window).height() - $('header').outerHeight(true) - $('footer').outerHeight(true) - marginHeight - 15 - 10); }; }