ソースを参照

多条件真假值运算符判断

duy 1 ヶ月 前
コミット
d0a20c51c3

+ 19 - 4
src/views/formula/component/funComponent/ifelse.vue

@@ -448,7 +448,12 @@ export default {
       map:{
         type: String,
         default:''
-      }
+      },
+      remark:{
+        type: String,
+        default:'',
+      },
+    
     
 
   },
@@ -456,6 +461,7 @@ export default {
     return{
       symbol:'>=',
       result:'1',
+     
 
       selectEleFormula:[],
       selectEleFormula2:[],
@@ -575,19 +581,23 @@ export default {
     ){
       this.initTFInput(args1,args2);
     }else if(Array.isArray(args1) || Array.isArray(args2)){
-      this.result = '2';
+      //
+      if(!this.isMore){
+         this.result = '2';
+      }
       this.initTFFormula(args1,args2)
     }
     if(this.isMore){
       this.symbol = 'more';
 
       console.log( this.moreConditions,' this.moreConditions;');
-      const {formula1,formula2}=this.moreConditions[0];
+  
       // if(formula1.length>1 || formula2>1){
       //   this.result = '2';
       // }else{
       //   this.result = '1';
       // }
+      this.result=this.remark||'1'
      
       this.conditionList = this.moreConditions.map(item => this.clearTagsIfHasValue(item));
 
@@ -1649,7 +1659,7 @@ export default {
           this.formulainfo.arguments[0] = arr;
         }
       } else if(this.symbol == 'more'){
-        // this.result='1'
+        this.result=this.remark||'1'
         // 处理多条件情况
         this.formulainfo.arguments[0] = this.conditionList.map(condition => ({
           formulaIfElse: condition.formulaIfElse.map(inner => ({
@@ -1767,6 +1777,11 @@ export default {
           this.formulainfo.arguments[2] = this.selectEleFormula2;
         }
       }
+      if(this.symbol == 'more'){
+        console.log(this.result,'this.result');
+        
+        this.remark=this.result
+      }
       // 多条件情况在setCondition中处理
     },
 

+ 10 - 3
src/views/formula/edit.vue

@@ -218,6 +218,7 @@
                 :dataListGet="dataListGet"
                 :isDataChange="isDataChange"
                 :dataForm="dataForm"
+                :remark="remark"
                 >
               </component>
                 <div class="flex1" v-show="item.showSelectEle" style="margin-top:10px;margin-bottom:30px">
@@ -612,7 +613,8 @@ export default {
       dataListGet:'',
       isGetData:false,//是否获取数据
       isDataChange:false,//是否数据自变
-      dataForm:''
+      dataForm:'',
+      remark:'',//备注
 
 
     };
@@ -1403,6 +1405,9 @@ export default {
         console.log('this.$refs.conditionList[0]',this.$refs.dynamiccomponent[0].conditionList);
         let resMore=formatArrayMore(this.$refs.dynamiccomponent[0].conditionList);
         const resJson=generateResult(this.$refs.dynamiccomponent[0].conditionList);
+        let remark=this.$refs.dynamiccomponent[0].remark;
+console.log(remark,'remark');
+
         console.log(resJson,'resJson');
         
      
@@ -1411,7 +1416,7 @@ export default {
                 id:this.formulaid,
                 formula:'',
                 formulas:resMore,
-                remark:'',
+                remark:remark,
                 nodeId:this.nodeid,
                 elementId:this.eleid,
                 scale:this.isRetain?this.retainNum:'',
@@ -1432,7 +1437,7 @@ export default {
               saveFormula({
                 formula:'',
                 formulas:resMore,
-                remark:'',
+                remark:remark,
                 nodeId:this.nodeid,
                 elementId:this.eleid,
                 scale:this.isRetain?this.retainNum:'',
@@ -1676,6 +1681,8 @@ export default {
     async formulaStringToArray(){
       let detail = (await formulaDetail({elementId:this.eleid,scope:this.globaltype,nodeId:this.nodeid,projectId:this.curProjiect.id||this.pid})).data.data;
       console.log(detail,'detail');
+      this.remark = detail.remark;
+
       if(detail&&detail.formula.includes('FC.ifelseMulti')){
         detail.formula = detail.formula.replace('FC.ifelseMulti','FC.ifelse');
         this.isMore = true;