Browse Source

公式配置修改

duy 2 years ago
parent
commit
c14016b25e
1 changed files with 39 additions and 47 deletions
  1. 39 47
      src/views/formula/edit1.vue

+ 39 - 47
src/views/formula/edit1.vue

@@ -651,7 +651,8 @@ export default {
       rootNodeData: [],
       nodeZero: null,
       resolveZero: null,
-      loading: false
+      loading: false,
+      itemList:[]
 
 
     };
@@ -947,64 +948,55 @@ export default {
     },
 
     eleChang(value,item){
-      console.log(value,'value');
-      console.log(item,'item');
       if(value){
         //简单语法判断
-        if(this.selectEleFormula.length != 0 && this.deleEleIndex < 0){
-          let lastEle = this.selectEleFormula[this.selectEleFormula.length-1];
-          if(lastEle.type == 'Element'){
-            // this.$message({
-            //   type: "warning",
-            //   message: "元素无法连续出现在元素后面"
-            // });
-            // item.checked = false;
-            // return;
-          
-             
-          }
-          if(lastEle.type == 'Text'){
-            this.$message({
-              type: "warning",
-              message: "元素无法连续出现在输入值后面"
-            });
-            item.checked = false;
-            return;
-          }
-          if(lastEle.type == 'Brackets' && lastEle.name == ')'){
-            this.$message({
-              type: "warning",
-              message: "元素无法连续出现在右括号后面"
-            });
-            item.checked = false;
-            return;
-          }
-        }
-
-        this.eleAddFormulaHandle(item);
+         this.itemList.push(item);
+          if(this.itemList.length != 0 && this.deleEleIndex < 0){
+                  let lastEle = this.itemList[this.itemList.length-1];
+                  if(lastEle.type == 'Text'){
+                    this.$message({
+                      type: "warning",
+                      message: "元素无法连续出现在输入值后面"
+                    });
+                item.checked = false;
+                return;
+               }
+              if(lastEle.type == 'Brackets' && lastEle.name == ')'){
+                this.$message({
+                  type: "warning",
+                  message: "元素无法连续出现在右括号后面"
+                });
+                item.checked = false;
+                return;
+              }
+          }  
       }else{
-        let index = -1;
-        for (let i = 0; i < this.selectEleFormula.length; i++) {
-          if(this.selectEleFormula[i].id == item.id){
-            index = i;
-            break;
+           let index = -1;
+            for (let i = 0; i < this.itemList.length; i++) {
+            if(this.itemList[i].id == item.id){
+              index = i;
+              break;
+            }
+          }
+          if(index>-1){
+            this.itemList.splice(index,1);
           }
-        }
-        if(index>-1){
-          this.selectEleFormula.splice(index,1);
-        }
       }
     },
     //快捷添加运算符号
     addOperator(operator){
-      console.log('点击加号');
-      console.log(this.selectEleFormula,'this.selectEleFormula11111111');
-      this.eleAddFormulaHandle(this.formulaMap[operator]);
+      if (this.itemList.length <= 0) {
+         this.eleAddFormulaHandle(this.formulaMap[operator]);
+      }
+      this.itemList.forEach(e => {
+        this.eleAddFormulaHandle(this.formulaMap[operator]);
+        this.eleAddFormulaHandle(e);
+      })
+      this.itemList=[]
     },
 
     //把元素加到公式里
     eleAddFormulaHandle(ele){
-      console.log(ele,'ele.tableElementKey');
       if(ele.tableElementKey){
         //元素
         if(this.deleEleIndex > -1 && this.selectEleFormula.length-1 >= this.deleEleIndex){