duy 2 сар өмнө
parent
commit
613c6d7a88

+ 37 - 13
src/views/formula/edit.vue

@@ -846,6 +846,37 @@ export default {
     // addOperator(operator){
     //   this.eleAddFormulaHandle(this.formulaMap[operator]);
     // },
+   randomaddOperator(ele){
+      //type 是true 表示在元素右边插入
+      let item={
+        type:'Operator',
+        name:this.symbolReg.exec(ele.name)[1],
+        selected:false,
+        template:ele.template
+      }
+      let index = Number(this.curSeleEleIndex);
+      let currentName = this.selectEleFormula[index]
+      if (currentName.type === 'Operator') { /* 选择的符号的时候,直接替换 */
+
+        this.selectEleFormula.splice(index,1, item)
+      }
+      else { /* 选择元素的时候,如果下一个是符号则替换,如果下一个是元素则添加 */
+
+        let size = index + 1;
+        let lastName = this.selectEleFormula[size]
+
+        if (lastName.type === 'Operator') { /* 是符号,替换 */
+
+          this.selectEleFormula.splice(size,1, item)
+        }
+        else { /* 是元素,添加 */
+
+          this.selectEleFormula.splice(size,0, item)
+        }
+
+      }
+
+    },
     addOperator(operator){
           if(  this.itemList.length>0){
           this.itemList.forEach(e => {
@@ -1333,20 +1364,13 @@ export default {
       let arr=JSON.parse(JSON.stringify(this.processFormula));
       let filteredArr = arr.filter(item => item.id ===this.checkGsId);
       let obj
-      // if(filteredArr.length === 0){
-      //   obj = formulaArrayToString(this.processFormula,this.resultFormula);
-      // }else{
-      //     obj = formulaArrayToString(filteredArr,this.resultFormula);
-      // }
-      if(this.processFormula.length <=1){
-        obj = formulaArrayToString(this.processFormula,this.resultFormula);
-      }else{
-          obj = formulaArrayToString(filteredArr,this.resultFormula);
+      let obj2
+      obj = formulaArrayToString(this.processFormula,this.resultFormula);
+      obj2 = formulaArrayToString(filteredArr,this.resultFormula);
+        // 判断 obj2.text 是否包含 FC.ifelse
+      if (obj2.text && obj2.text.includes('FC.ifelse')) {
+        obj = obj2; // 如果包含 FC.ifelse,使用 obj2
       }
-      console.log(this.processFormula,'this.processFormula1111111111');
-            console.log(this.resultFormula,'this.resultFormulaa1111111111');
-      console.log(obj,'obj1111111111111111111');
-      
       let deviationRangeText = rangeToString(this.deviationRange.datas,obj.eleMap);
       obj.eleMap.deviationRangeJson = JSON.stringify(this.deviationRange.datas);
 

+ 7 - 11
src/views/formula/edit1.vue

@@ -1428,17 +1428,13 @@ export default {
        let arr=JSON.parse(JSON.stringify(this.processFormula));
       let filteredArr = arr.filter(item => item.id ===this.checkGsId);
       //  let obj = formulaArrayToString(filteredArr,this.resultFormula);
-
-       let obj
-      // if(filteredArr.length === 0){
-      //   obj = formulaArrayToString(this.processFormula,this.resultFormula);
-      // }else{
-      //     obj = formulaArrayToString(filteredArr,this.resultFormula);
-      // }
-       if(this.processFormula.length <=1){
-        obj = formulaArrayToString(this.processFormula,this.resultFormula);
-      }else{
-          obj = formulaArrayToString(filteredArr,this.resultFormula);
+      let obj
+      let obj2
+      obj = formulaArrayToString(this.processFormula,this.resultFormula);
+      obj2 = formulaArrayToString(filteredArr,this.resultFormula);
+        // 判断 obj2.text 是否包含 FC.ifelse
+      if (obj2.text && obj2.text.includes('FC.ifelse')) {
+        obj = obj2; // 如果包含 FC.ifelse,使用 obj2
       }
       let deviationRangeText = rangeToString(this.deviationRange.datas,obj.eleMap);
       obj.eleMap.deviationRangeJson = JSON.stringify(this.deviationRange.datas);