作者 RuoYi

优化固定头部页签滚动条被隐藏的问题

1 package com.ruoyi.common.utils.poi; 1 package com.ruoyi.common.utils.poi;
2 2
  3 +import java.io.File;
  4 +import java.io.FileOutputStream;
  5 +import java.io.IOException;
  6 +import java.io.InputStream;
  7 +import java.io.OutputStream;
  8 +import java.lang.reflect.Field;
  9 +import java.lang.reflect.Method;
  10 +import java.lang.reflect.ParameterizedType;
  11 +import java.math.BigDecimal;
  12 +import java.text.DecimalFormat;
  13 +import java.time.LocalDate;
  14 +import java.time.LocalDateTime;
  15 +import java.util.ArrayList;
  16 +import java.util.Arrays;
  17 +import java.util.Collection;
  18 +import java.util.Comparator;
  19 +import java.util.Date;
  20 +import java.util.HashMap;
  21 +import java.util.List;
  22 +import java.util.Map;
  23 +import java.util.Set;
  24 +import java.util.UUID;
  25 +import java.util.stream.Collectors;
  26 +import javax.servlet.http.HttpServletResponse;
  27 +import org.apache.commons.lang3.ArrayUtils;
  28 +import org.apache.commons.lang3.RegExUtils;
  29 +import org.apache.commons.lang3.reflect.FieldUtils;
  30 +import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
  31 +import org.apache.poi.hssf.usermodel.HSSFPicture;
  32 +import org.apache.poi.hssf.usermodel.HSSFPictureData;
  33 +import org.apache.poi.hssf.usermodel.HSSFShape;
  34 +import org.apache.poi.hssf.usermodel.HSSFSheet;
  35 +import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  36 +import org.apache.poi.ooxml.POIXMLDocumentPart;
  37 +import org.apache.poi.ss.usermodel.BorderStyle;
  38 +import org.apache.poi.ss.usermodel.Cell;
  39 +import org.apache.poi.ss.usermodel.CellStyle;
  40 +import org.apache.poi.ss.usermodel.CellType;
  41 +import org.apache.poi.ss.usermodel.ClientAnchor;
  42 +import org.apache.poi.ss.usermodel.DataValidation;
  43 +import org.apache.poi.ss.usermodel.DataValidationConstraint;
  44 +import org.apache.poi.ss.usermodel.DataValidationHelper;
  45 +import org.apache.poi.ss.usermodel.DateUtil;
  46 +import org.apache.poi.ss.usermodel.Drawing;
  47 +import org.apache.poi.ss.usermodel.FillPatternType;
  48 +import org.apache.poi.ss.usermodel.Font;
  49 +import org.apache.poi.ss.usermodel.HorizontalAlignment;
  50 +import org.apache.poi.ss.usermodel.IndexedColors;
  51 +import org.apache.poi.ss.usermodel.Name;
  52 +import org.apache.poi.ss.usermodel.PictureData;
  53 +import org.apache.poi.ss.usermodel.Row;
  54 +import org.apache.poi.ss.usermodel.Sheet;
  55 +import org.apache.poi.ss.usermodel.VerticalAlignment;
  56 +import org.apache.poi.ss.usermodel.Workbook;
  57 +import org.apache.poi.ss.usermodel.WorkbookFactory;
  58 +import org.apache.poi.ss.util.CellRangeAddress;
  59 +import org.apache.poi.ss.util.CellRangeAddressList;
  60 +import org.apache.poi.util.IOUtils;
  61 +import org.apache.poi.xssf.streaming.SXSSFWorkbook;
  62 +import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
  63 +import org.apache.poi.xssf.usermodel.XSSFDataValidation;
  64 +import org.apache.poi.xssf.usermodel.XSSFDrawing;
  65 +import org.apache.poi.xssf.usermodel.XSSFPicture;
  66 +import org.apache.poi.xssf.usermodel.XSSFShape;
  67 +import org.apache.poi.xssf.usermodel.XSSFSheet;
  68 +import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  69 +import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
  70 +import org.slf4j.Logger;
  71 +import org.slf4j.LoggerFactory;
3 import com.ruoyi.common.annotation.Excel; 72 import com.ruoyi.common.annotation.Excel;
4 import com.ruoyi.common.annotation.Excel.ColumnType; 73 import com.ruoyi.common.annotation.Excel.ColumnType;
5 import com.ruoyi.common.annotation.Excel.Type; 74 import com.ruoyi.common.annotation.Excel.Type;
@@ -15,32 +84,6 @@ import com.ruoyi.common.utils.file.FileTypeUtils; @@ -15,32 +84,6 @@ import com.ruoyi.common.utils.file.FileTypeUtils;
15 import com.ruoyi.common.utils.file.FileUtils; 84 import com.ruoyi.common.utils.file.FileUtils;
16 import com.ruoyi.common.utils.file.ImageUtils; 85 import com.ruoyi.common.utils.file.ImageUtils;
17 import com.ruoyi.common.utils.reflect.ReflectUtils; 86 import com.ruoyi.common.utils.reflect.ReflectUtils;
18 -import org.apache.commons.lang3.ArrayUtils;  
19 -import org.apache.commons.lang3.RegExUtils;  
20 -import org.apache.commons.lang3.reflect.FieldUtils;  
21 -import org.apache.poi.hssf.usermodel.*;  
22 -import org.apache.poi.ooxml.POIXMLDocumentPart;  
23 -import org.apache.poi.ss.usermodel.*;  
24 -import org.apache.poi.ss.util.CellRangeAddress;  
25 -import org.apache.poi.ss.util.CellRangeAddressList;  
26 -import org.apache.poi.util.IOUtils;  
27 -import org.apache.poi.xssf.streaming.SXSSFWorkbook;  
28 -import org.apache.poi.xssf.usermodel.*;  
29 -import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;  
30 -import org.slf4j.Logger;  
31 -import org.slf4j.LoggerFactory;  
32 -  
33 -import javax.servlet.http.HttpServletResponse;  
34 -import java.io.*;  
35 -import java.lang.reflect.Field;  
36 -import java.lang.reflect.Method;  
37 -import java.lang.reflect.ParameterizedType;  
38 -import java.math.BigDecimal;  
39 -import java.text.DecimalFormat;  
40 -import java.time.LocalDate;  
41 -import java.time.LocalDateTime;  
42 -import java.util.*;  
43 -import java.util.stream.Collectors;  
44 87
45 /** 88 /**
46 * Excel相关处理 89 * Excel相关处理
@@ -56,10 +99,9 @@ public class ExcelUtil<T> @@ -56,10 +99,9 @@ public class ExcelUtil<T>
56 public static final String[] FORMULA_STR = { "=", "-", "+", "@" }; 99 public static final String[] FORMULA_STR = { "=", "-", "+", "@" };
57 100
58 /** 101 /**
59 - * 导出Excel时,如果有大量的字典数据,就会有大量的查询redis(打开、关闭),导致特别慢。  
60 - * 于是使用map存储字典数据,相同的key就不需要再次去查询redis 102 + * 用于dictType属性数据存储,避免重复查缓存
61 */ 103 */
62 - public Map<String,String> sysDictMap = new HashMap<String,String>(); 104 + public Map<String, String> sysDictMap = new HashMap<String, String>();
63 105
64 /** 106 /**
65 * Excel sheet最大行数,默认65536 107 * Excel sheet最大行数,默认65536
@@ -997,11 +1039,12 @@ public class ExcelUtil<T> @@ -997,11 +1039,12 @@ public class ExcelUtil<T>
997 } 1039 }
998 else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value)) 1040 else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value))
999 { 1041 {
1000 - if (!sysDictMap.containsKey(dictType+value)){ 1042 + if (!sysDictMap.containsKey(dictType + value))
  1043 + {
1001 String lable = convertDictByExp(Convert.toStr(value), dictType, separator); 1044 String lable = convertDictByExp(Convert.toStr(value), dictType, separator);
1002 - sysDictMap.put(dictType+value,lable); 1045 + sysDictMap.put(dictType + value, lable);
1003 } 1046 }
1004 - cell.setCellValue(sysDictMap.get(dictType+value)); 1047 + cell.setCellValue(sysDictMap.get(dictType + value));
1005 } 1048 }
1006 else if (value instanceof BigDecimal && -1 != attr.scale()) 1049 else if (value instanceof BigDecimal && -1 != attr.scale())
1007 { 1050 {
@@ -78,6 +78,10 @@ export default { @@ -78,6 +78,10 @@ export default {
78 height: 100%; 78 height: 100%;
79 } 79 }
80 80
  81 + ::v-deep .el-scrollbar__bar.is-vertical {
  82 + z-index: 10;
  83 + }
  84 +
81 ::v-deep .el-scrollbar__wrap { 85 ::v-deep .el-scrollbar__wrap {
82 overflow-x: hidden; 86 overflow-x: hidden;
83 } 87 }