Преглед на файлове

运算符号前后都加上一个空格

gangyj преди 2 години
родител
ревизия
2c3b3b4ed3
променени са 2 файла, в които са добавени 10 реда и са изтрити 1 реда
  1. 8 0
      src/views/formula/formulaArrayToString.js
  2. 2 1
      src/views/formula/formulaStringToArray.js

+ 8 - 0
src/views/formula/formulaArrayToString.js

@@ -89,6 +89,10 @@ function transformArguments(children,curEle,eleMap){
                   fcText += `WP[${a.k}]`;
                 }
               }
+            }else if(a && a.type == 'Operator'){
+              //在运算符前后加上空格
+              fcText += ' '+a.name+' ';
+              //console.log(fcText)
             }else if(a && a.type){
               fcText += a.name;
             }else{
@@ -146,6 +150,10 @@ export const formulaArrayToString = (processFormula,resultFormula) => {
       }
     }else if(item.type == 'Element'){
       text += item.template.ft;
+    }else if(item.type == 'Operator'){
+      //在运算符前后加上空格
+      text += ' '+item.name+' ';
+      //console.log(fcText)
     }else{
       text += item.name;
     }

+ 2 - 1
src/views/formula/formulaStringToArray.js

@@ -179,7 +179,7 @@ export const formulaStringToArray = (text,elemap,formulaMap) => {
   const elementReg = /^E\[(.[^\]]+_.[^\]]+)\]/;//元素
   const paramReg = /^WP\[(.[^\]]+)\]/;//节点参数
   const commaReg = /^,/;//逗号
-  const operatorReg = /^(\+|-|\*|%)/;//加减乘除
+  const operatorReg = /^ (\+|-|\*|%) /;//加减乘除
   const wordReg = /^[\u4e00-\u9fa5\w0-9'"-]+/;//文本
   const logicalReg = /^(>=|<=|>|<|=|&&)/;//逻辑符号
 
@@ -380,6 +380,7 @@ export const formulaStringToArray = (text,elemap,formulaMap) => {
       }
 
       strIndex += operator.length;//索引移动
+      //console.log(operator.length)
     }else if(wordReg.test(nuText)){
       //匹配文本
       let word = nuText.match(wordReg)[0];