From c923dae619f67942e248d0143bfa448eea69eb06 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 21 Jul 2019 15:24:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=BB=E7=BB=93=E5=88=97=E9=80=82=E9=85=8D?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysDeptController.java | 4 +- .../columns/bootstrap-table-fixed-columns.js | 44 ++++++++++++++----- .../main/resources/static/ruoyi/css/ry-ui.css | 21 ++++++++- .../resources/templates/demo/form/wizard.html | 2 +- 4 files changed, 54 insertions(+), 17 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java index c54a2b46d..bb17d9f3b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java @@ -108,12 +108,10 @@ public class SysDeptController extends BaseController { return error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在"); } - - if(dept.getParentId().equals(dept.getDeptId())) + else if (dept.getParentId().equals(dept.getDeptId())) { return error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己"); } - dept.setUpdateBy(ShiroUtils.getLoginName()); return toAjax(deptService.updateDept(dept)); } diff --git a/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js b/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js index ef3209194..017566ff9 100644 --- a/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js +++ b/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js @@ -1,6 +1,6 @@ /** * 基于bootstrap-table-fixed-columns修改 - * 支持左右列冻结 + * 支持左右列冻结、支持固定高度 * Copyright (c) 2019 ruoyi */ (function ($) { @@ -22,17 +22,25 @@ this.timeoutHeaderColumns_ = 0; this.timeoutBodyColumns_ = 0; if (this.options.fixedColumns) { - this.$fixedBody = $([ + this.$fixedHeader = $([ '
', '', '', - '', '
', '
'].join('')); + + this.$fixedHeader.find('table').attr('class', this.$el.attr('class')); + this.$fixedHeaderColumns = this.$fixedHeader.find('thead'); + this.$tableHeader.before(this.$fixedHeader); + this.$fixedBody = $([ + '
', + '', + '', + '
', + '
'].join('')); this.$fixedBody.find('table').attr('class', this.$el.attr('class')); - this.$fixedHeaderColumns = this.$fixedBody.find('thead'); this.$fixedBodyColumns = this.$fixedBody.find('tbody'); this.$tableBody.before(this.$fixedBody); } @@ -167,12 +175,11 @@ if (that.options.detailView && !that.options.cardView) { index = i - 1; } - - that.$fixedBody.find('thead th[data-field="' + visibleFields[index] + '"]') - .find('.fht-cell').width($this.innerWidth() - 1); + that.$fixedHeader.find('thead th[data-field="' + visibleFields[index] + '"]') + .find('.fht-cell').width($this.innerWidth()); headerWidth += $this.outerWidth(); }); - this.$fixedBody.width(headerWidth - 1).show(); + this.$fixedHeader.width(headerWidth + 2).show(); } if (that.options.rightFixedColumns) { this.$body.find('tr:first-child:not(.no-records-found) > *').each(function (i) { @@ -197,17 +204,32 @@ BootstrapTable.prototype.fitBodyColumns = function () { var that = this, - top = -(parseInt(this.$el.css('margin-top')) - 2), - height = this.$tableBody.height() - 2; + top = -(parseInt(this.$el.css('margin-top'))), + height = this.$tableBody.height(); if (that.options.fixedColumns) { if (!this.$body.find('> tr[data-index]').length) { this.$fixedBody.hide(); return; } + + if (!this.options.height) { + top = this.$fixedHeader.height()- 1; + height = height - top; + } + + this.$fixedBody.css({ + width: this.$fixedHeader.width(), + height: height, + top: top + 1 + }).show(); this.$body.find('> tr').each(function (i) { - that.$fixedBody.find('tbody tr:eq(' + i + ')').height($(this).height()); + that.$fixedBody.find('tr:eq(' + i + ')').height($(this).height() - 0.5); + var thattds = this; + that.$fixedBody.find('tr:eq(' + i + ')').find('td').each(function (j) { + $(this).width($($(thattds).find('td')[j]).width() + 1); + }); }); $.btTable.on("check.bs.table uncheck.bs.table", function (e, rows, $element) { diff --git a/ruoyi-admin/src/main/resources/static/ruoyi/css/ry-ui.css b/ruoyi-admin/src/main/resources/static/ruoyi/css/ry-ui.css index 17443e275..1ce5fe881 100644 --- a/ruoyi-admin/src/main/resources/static/ruoyi/css/ry-ui.css +++ b/ruoyi-admin/src/main/resources/static/ruoyi/css/ry-ui.css @@ -816,14 +816,31 @@ label { } /** 表格冻结列样式 **/ -.left-fixed-table-columns{ +.left-fixed-table-columns, .left-fixed-body-columns { position: absolute; background-color: #fff; display: none; - border-right:1px solid #ddd; + box-sizing: border-box; overflow: hidden; } +.left-fixed-table-columns .table, .left-fixed-body-columns .table { + border-right: 1px solid #ddd; +} + +.left-fixed-table-columns .table.table-no-bordered, .left-fixed-body-columns .table.table-no-bordered { + border-right: 1px solid transparent; +} + +.left-fixed-body-columns table { + position: absolute; + animation: none; +} + +.bootstrap-table .table-hover > tbody > tr.hover > td { + background-color: #f5f5f5; +} + .right-fixed-table-columns{ position: absolute; right:63px; diff --git a/ruoyi-admin/src/main/resources/templates/demo/form/wizard.html b/ruoyi-admin/src/main/resources/templates/demo/form/wizard.html index ac70ed2e3..428f330ec 100644 --- a/ruoyi-admin/src/main/resources/templates/demo/form/wizard.html +++ b/ruoyi-admin/src/main/resources/templates/demo/form/wizard.html @@ -74,7 +74,7 @@ 下面这个示例展示了如何在表单向导中使用 jQuery Validation 插件

-
+

账户

账户信息