Bläddra i källkod

grid excel 加上连续导出按钮,按照分页大小导出成多个文件

yuliang 2 år sedan
förälder
incheckning
7872879411
2 ändrade filer med 49 tillägg och 26 borttagningar
  1. 48 25
      dist/yvan-ext.js
  2. 1 1
      dist/yvan-ext.js.map

+ 48 - 25
dist/yvan-ext.js

@@ -26661,35 +26661,48 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
                 var excelData = me.makeExcelData(rowsAll);
                 LAY_EXCEL.exportExcel(excelData, excelFileName, 'xlsx');
             },
-            exportExcelClick: function (excelExportParams) {
+            /**
+             * excel 导出
+             * excelExportParams 导出参数
+             * isContinue 是否继续导出
+             */
+            exportExcelClick: function (excelExportParams, isContinue) {
+                if (isContinue === void 0) { isContinue = false; }
                 var me = this;
                 var config = me.config;
                 excelExportParams.isExcelExport = true;
                 var scope = lookupScope(me);
                 var dataSource = config.dataSource;
-                scope.setLoading(true);
-                var excelFileName = config.excelFileName || scope.vjson.title || _$2.uniqueId("excel-");
-                gridInvokeBuild(scope, me, config, dataSource, excelExportParams, true, function (responseData) {
-                    var _a, _b, _c, _d;
-                    var page = parseInt((_a = responseData.pagination) === null || _a === void 0 ? void 0 : _a.current) || 1;
-                    var size = parseInt((_b = responseData.pagination) === null || _b === void 0 ? void 0 : _b.size) || me.exportExcelPageSize;
-                    var total = parseInt((_c = responseData.pagination) === null || _c === void 0 ? void 0 : _c.total) || ((_d = responseData.data) === null || _d === void 0 ? void 0 : _d.length) || 0;
-                    me.exportExcelCurrentPage = page;
-                    me.exportExcelPageSize = size;
-                    me.exportExcelTotal = total;
-                    if (excelFileName.endsWith(".xlsx")) {
-                        excelFileName = excelFileName.split(".xlsx")[0];
-                    }
-                    excelFileName += "(第" + me.exportExcelCurrentPage + "页,共" + Math.ceil(total / size) + "页、" + total + "条)";
-                    excelFileName += ".xlsx";
-                    var excelData = me.makeExcelData(responseData.data);
-                    LAY_EXCEL.exportExcel(excelData, excelFileName, 'xlsx');
-                    if (page < total / size) {
-                        page++;
+                var ep = function () {
+                    scope.setLoading(true);
+                    gridInvokeBuild(scope, me, config, dataSource, excelExportParams, true, function (responseData) {
+                        var _a, _b, _c, _d;
+                        var page = parseInt((_a = responseData.pagination) === null || _a === void 0 ? void 0 : _a.current) || me.exportExcelCurrentPage || 1;
+                        var size = parseInt((_b = responseData.pagination) === null || _b === void 0 ? void 0 : _b.size) || me.exportExcelPageSize;
+                        var total = parseInt((_c = responseData.pagination) === null || _c === void 0 ? void 0 : _c.total) || ((_d = responseData.data) === null || _d === void 0 ? void 0 : _d.length) || 0;
                         me.exportExcelCurrentPage = page;
-                    }
-                    scope.setLoading(false);
-                });
+                        me.exportExcelPageSize = size;
+                        me.exportExcelTotal = total;
+                        var excelFileName = config.excelFileName || scope.vjson.title || _$2.uniqueId("excel-");
+                        if (excelFileName.endsWith(".xlsx")) {
+                            excelFileName = excelFileName.split(".xlsx")[0];
+                        }
+                        var pageExcelData = me.makeExcelData(responseData.data);
+                        excelFileName += "(第" + me.exportExcelCurrentPage + "页,共" + Math.ceil(total / size) + "页、" + total + "条)";
+                        excelFileName += ".xlsx";
+                        LAY_EXCEL.exportExcel(pageExcelData, excelFileName, 'xlsx');
+                        scope.setLoading(false);
+                        if (page < total / size) {
+                            page++;
+                            me.exportExcelCurrentPage = page;
+                            if (isContinue === true) {
+                                excelExportParams.exportExcelCurrentPage = page;
+                                ep();
+                            }
+                        }
+                    });
+                };
+                ep();
             },
             exportBigExcelClick: function () {
                 var _a;
@@ -27183,8 +27196,19 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
                                 });
                             }
                         }
+                    }, {
+                        text: '连续导出',
+                        iconCls: 'x-fa fa-download',
+                        listeners: {
+                            click: function (sender, value) {
+                                grid.exportExcelClick({
+                                    exportExcelPageSize: grid.exportExcelPageSize,
+                                    exportExcelCurrentPage: grid.exportExcelCurrentPage
+                                }, true);
+                            }
+                        }
                     });
-                    topOffset += 120;
+                    topOffset += 150;
                 }
                 var treeMenu = new Ext.menu.Menu({
                     xtype: 'menu',
@@ -27324,7 +27348,6 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
         }
         // throw new TypeError('无法识别的调用方法')
     }
-    //# sourceMappingURL=grid.js.map
 
     function initTextfield () {
         var cc = Ext.form.field.Text.prototype.constructor;

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
dist/yvan-ext.js.map