zhuth 6 years ago
parent
commit
0443a43649
2 changed files with 15 additions and 10 deletions
  1. 8 3
      src/models/dashboardDesigner.js
  2. 7 7
      src/utils/exportor.js

+ 8 - 3
src/models/dashboardDesigner.js

@@ -751,11 +751,16 @@ export default {
                     // 处理重名情况
                     let name = itemName || `未命名`;
                     let new_name = name;
-                    let arr = sheets.filter(s => s.name === new_name);
+                    let fidx = sheets.findIndex(s => s.name === new_name);
                     let idx = 1;
-                    while(arr.length > 0){
+                    while(fidx > -1){
                         new_name = `${name}(${idx})`;
-                        arr = sheets.filter(s => s.name === new_name);
+                        fidx = -1;
+                        for(let x = 0; x < sheets.length; x++) {
+                            if(sheets[x].name === new_name) {
+                                fidx = x;
+                            }
+                        }
                         idx++;
                     }
 

+ 7 - 7
src/utils/exportor.js

@@ -97,7 +97,7 @@ const XlsxPopulate = require('xlsx-populate');
                 rows = sheetData.rows,
                 sheet,
                 cell = new Cell('A1'),
-                r, startCell, endCell, columnDatas, sheet_columns; // 当前第一列
+                r, startCell, endCell, columnDatas, sheet_columns, i; // 当前第一列
 
             if(workbook.sheets().length - 1 < index) {
                 sheet = workbook.addSheet(sheetName)
@@ -107,7 +107,7 @@ const XlsxPopulate = require('xlsx-populate');
 
             if(header) {
                 startCell = cell;
-                endCell = new Cell('A1').addCol(clen - 1);
+                endCell = new Cell('A1').addCol(clen - 2);
                 r = sheet.range(startCell + ":" + endCell).merged(true);
                 r.value(header);
                 r.style({ fill: '70AD47', fontColor: 'ffffff', bold: true, horizontalAlignment: 'center', bottomBorder: true, bottomBorderColor: 'EAEAEA' });
@@ -118,21 +118,21 @@ const XlsxPopulate = require('xlsx-populate');
                 columnDatas = [columns.map(function(c) {
                     return c.name;
                 })];
-                r = sheet.range(cell + ":" + new Cell(cell).addCol(clen - 1));
+                r = sheet.range(cell + ":" + new Cell(cell).addCol(clen - 2));
                 r.value(columnDatas);
                 sheet_columns = r.cells()[0].map(function(c) {
                     return c.column();
                 });
-                columns.forEach(function(c, i) {
+                for(i = 0; i < columns.length; i++) {
                     if(sheet_columns[i]) {
-                        sheet_columns[i].width(c.width);
+                        sheet_columns[i].width(columns[i].width);
                     }
-                });
+                }
                 r.style({ fill: '70AD47', fontColor: 'ffffff', bold: true, horizontalAlignment: 'center', rightBorder: true, rightBorderColor: 'EAEAEA' });
                 cell.addRow(1);
             }
             if(rows.length > 0) {
-                r = sheet.range(cell + ":" + new Cell(cell).addRow(rows.length - 1).addCol(clen - 1));
+                r = sheet.range(cell + ":" + new Cell(cell).addRow(rows.length - 1).addCol(clen - 2));
                 r.value(rows);
                 r.style('fill', function(cell, ri, ci, range) {
                     return (ri&1) === 0 ? 'C6E0B4' : 'A9D08E';