浏览代码

新增表格参数(导出方式&导出文件类型)

RuoYi 4 年之前
父节点
当前提交
1b7c5258f5

+ 0 - 119
ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js

@@ -1,119 +0,0 @@
-/**
- * @author zhixin wen <wenzhixin2010@gmail.com>
- * extensions: https://github.com/kayalshri/tableExport.jquery.plugin
- */
-
-(function ($) {
-    'use strict';
-    var sprintf = $.fn.bootstrapTable.utils.sprintf;
-
-    var TYPE_NAME = {
-        csv: 'CSV',
-        txt: 'TXT',
-        doc: 'Word',
-        excel: 'Excel'
-    };
-
-    $.extend($.fn.bootstrapTable.defaults, {
-        showExport: false,
-        exportDataType: 'all', // basic, all, selected
-        exportTypes: ['csv', 'txt', 'doc', 'excel'],
-        exportOptions: {
-        	ignoreColumn: [0]  //忽略列索引
-        }
-    });
-
-    $.extend($.fn.bootstrapTable.defaults.icons, {
-        export: 'glyphicon glyphicon-save'
-    });
-
-    $.extend($.fn.bootstrapTable.locales, {
-        formatExport: function () {
-            return '导出';
-        }
-    });
-    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
-
-    var BootstrapTable = $.fn.bootstrapTable.Constructor,
-        _initToolbar = BootstrapTable.prototype.initToolbar;
-
-    BootstrapTable.prototype.initToolbar = function () {
-        this.showToolbar = this.options.showExport;
-
-        _initToolbar.apply(this, Array.prototype.slice.apply(arguments));
-
-        if (this.options.showExport) {
-            var that = this,
-                $btnGroup = this.$toolbar.find('>.btn-group'),
-                $export = $btnGroup.find('div.export');
-
-            if (!$export.length) {
-                $export = $([
-                    '<div class="export btn-group">',
-                        '<button class="btn' +
-                            sprintf(' btn-%s', this.options.buttonsClass) +
-                            sprintf(' btn-%s', this.options.iconSize) +
-                            ' dropdown-toggle" ' +
-                            'title="' + this.options.formatExport() + '" ' +
-                            'data-toggle="dropdown" type="button">',
-                            sprintf('<i class="%s %s"></i> ', this.options.iconsPrefix, this.options.icons.export),
-                            '<span class="caret"></span>',
-                        '</button>',
-                        '<ul class="dropdown-menu" role="menu">',
-                        '</ul>',
-                    '</div>'].join('')).appendTo($btnGroup);
-
-                var $menu = $export.find('.dropdown-menu'),
-                    exportTypes = this.options.exportTypes;
-
-                if (typeof this.options.exportTypes === 'string') {
-                    var types = this.options.exportTypes.slice(1, -1).replace(/ /g, '').split(',');
-
-                    exportTypes = [];
-                    $.each(types, function (i, value) {
-                        exportTypes.push(value.slice(1, -1));
-                    });
-                }
-                $.each(exportTypes, function (i, type) {
-                    if (TYPE_NAME.hasOwnProperty(type)) {
-                        $menu.append(['<li data-type="' + type + '">',
-                                '<a href="javascript:void(0)">',
-                                    TYPE_NAME[type],
-                                '</a>',
-                            '</li>'].join(''));
-                    }
-                });
-
-                $menu.find('li').click(function () {
-                    var type = $(this).data('type'),
-                        doExport = function () {
-                            that.$el.tableExport($.extend({}, that.options.exportOptions, {
-                                type: type,
-                                escape: false
-                            }));
-                        };
-
-                    if (that.options.exportDataType === 'all' && that.options.pagination) {
-                        that.$el.one(that.options.sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table', function () {
-                            doExport();
-                            that.togglePagination();
-                        });
-                        that.togglePagination();
-                    } else if (that.options.exportDataType === 'selected') {
-                        //修改sidePagination属性为server无法导出选中数据
-                    	var trs = that.$body.children(); 
-                    	for (var i = 0; i < trs.length; i++) {
-                    	    var $this = $(trs[i]);
-                    	    if(!$this.find(sprintf('[name="%s"]',that.options.selectItemName)).prop('checked')){
-                    	      $this['hide']();
-                    	 }}
-                    	doExport();
-                    	that.getRowsHidden(true);
-                    } else {
-                        doExport();
-                    }
-                });
-            }
-        }
-    };
-})(jQuery);

文件差异内容过多而无法显示
+ 10 - 0
ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.min.js


文件差异内容过多而无法显示
+ 0 - 2257
ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/tableExport.js


文件差异内容过多而无法显示
+ 92 - 0
ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/tableExport.min.js


+ 4 - 0
ruoyi-admin/src/main/resources/static/ruoyi/js/ry-ui.js

@@ -61,6 +61,8 @@ var table = {
                     showColumns: true,
                     showColumns: true,
                     showToggle: true,
                     showToggle: true,
                     showExport: false,
                     showExport: false,
+                    exportDataType: 'all',
+                    exportTypes: ['csv', 'txt', 'doc', 'excel'],
                     clickToSelect: false,
                     clickToSelect: false,
                     singleSelect: false,
                     singleSelect: false,
                     mobileResponsive: true,
                     mobileResponsive: true,
@@ -142,6 +144,8 @@ var table = {
                     responseHandler: $.table.responseHandler,           // 在加载服务器发送来的数据之前处理函数
                     responseHandler: $.table.responseHandler,           // 在加载服务器发送来的数据之前处理函数
                     onLoadSuccess: $.table.onLoadSuccess,               // 当所有数据被加载时触发处理函数
                     onLoadSuccess: $.table.onLoadSuccess,               // 当所有数据被加载时触发处理函数
                     exportOptions: options.exportOptions,               // 前端导出忽略列索引
                     exportOptions: options.exportOptions,               // 前端导出忽略列索引
+                    exportDataType: options.exportDataType,             // 导出方式(默认all:导出所有数据;basic:导出当前页的数据;selected:导出选中的数据)
+                    exportTypes: options.exportTypes,                   // 导出文件类型 (json、xml、png、csv、txt、sql、doc、excel、xlsx、powerpoint、pdf)
                     printPageBuilder: options.printPageBuilder,         // 自定义打印页面模板
                     printPageBuilder: options.printPageBuilder,         // 自定义打印页面模板
                     detailFormatter: options.detailFormatter,           // 在行下面展示其他数据列表
                     detailFormatter: options.detailFormatter,           // 在行下面展示其他数据列表
                 });
                 });

+ 5 - 1
ruoyi-admin/src/main/resources/templates/demo/table/export.html

@@ -25,9 +25,13 @@
 		        showToggle: false,
 		        showToggle: false,
 		        showColumns: false,
 		        showColumns: false,
 		        showExport: true,
 		        showExport: true,
+		        exportDataType: 'selected', // 导出选择数据
+		        exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'], // 导出的文件类型
 		        exportOptions: {
 		        exportOptions: {
-		        	ignoreColumn: [0, 8]  //忽略第一列和最后一列
+		        	fileName: '用户数据',    // 文件名称设置
+		        	ignoreColumn: [0, 8]    // 忽略第一列和最后一列
 		        },
 		        },
+		        clickToSelect: true,
                 columns: [{
                 columns: [{
 		            checkbox: true
 		            checkbox: true
 		        },
 		        },

+ 2 - 2
ruoyi-admin/src/main/resources/templates/include.html

@@ -199,8 +199,8 @@
 
 
 <!-- 表格导出插件 -->
 <!-- 表格导出插件 -->
 <div th:fragment="bootstrap-table-export-js">
 <div th:fragment="bootstrap-table-export-js">
-	<script th:src="@{/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js}"></script>
-	<script th:src="@{/ajax/libs/bootstrap-table/extensions/export/tableExport.js}"></script>
+	<script th:src="@{/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.min.js?v=20210523}"></script>
+	<script th:src="@{/ajax/libs/bootstrap-table/extensions/export/tableExport.min.js?v=20210523}"></script>
 </div>
 </div>
 
 
 <!-- 表格冻结列插件 -->
 <!-- 表格冻结列插件 -->