Просмотр исходного кода

fix: 自定义分析超过行数的选区处理

Karsa 11 месяцев назад
Родитель
Сommit
a3484ae10d

+ 20 - 1
src/views/datasheet_manage/customAnalysis/components/createTargetForm.vue

@@ -205,7 +205,26 @@ export default {
         rangeArr = [this.splitFormula(range)]
       }
       order!==null && luckysheet.setSheetActive(order)
-      luckysheet.setRangeShow(rangeArr)
+      console.log(rangeArr)
+      
+      let rowLen = luckysheet.getSheet().data.length;
+      let filterRangeArr = []
+      rangeArr.forEach(item =>{
+        filterRangeArr.push(this.filterFormula(item,rowLen))
+      })
+      console.log(filterRangeArr)
+      luckysheet.setRangeShow(filterRangeArr)
+    },
+
+    /* 处理超过表格行无法显示选区的问题 超过后截止到最后一行 */
+    filterFormula(item,rowLen) {
+      let celArr = item.split(':');
+      let numStr = celArr[1].replace(/[^0-9]/ig,""); 
+      let letterStr = celArr[1].replace(/[^a-z]+/ig,"");
+      
+      let lastNum = Number(numStr) > rowLen ? rowLen : Number(numStr);
+      
+      return `${celArr[0]}:${letterStr}${lastNum}`
     },
 
     /* 解析公式 */