Browse Source

表单计算删除赘余

jbb 2 years ago
parent
commit
db54f5ed94
1 changed files with 20 additions and 33 deletions
  1. 20 33
      src/views/activiti/form/demoForm2.vue

+ 20 - 33
src/views/activiti/form/demoForm2.vue

@@ -529,6 +529,7 @@ export default {
             }
             //特别字段
             this.specialTerms(value,key)
+
             //代码赘余,日后维护
             //保存发生改变字段名对应的key 
             var cc ='',
@@ -539,36 +540,22 @@ export default {
                         type = k.type
                       }})
             //根据数值改变计算
-            this.bv.map(event =>{
-                event.bn.map((item,index) =>{
-                 if(item.label == cc && index!==0){
-                    item.value = value
-                    //保存计算的字段
-                    var gg =[]
-                    gg.push(event.bn[1])
-                    gg.push(event.bn[2])
-                    //判断未改变的是哪个字段                            
-                    var arr = gg.filter(item => item.label !== cc)
-                    //寻找未改变字段的model值
-                    var keyLabel = ''
-                    this.cvarr.map(k =>{  
-                      if(k.key ==arr[0].label){
-                         keyLabel = k.model
-                     }})
-                     //复制给对应字段
-                    event.bn.map(i =>{
-                      if(i.label == arr[0].label){
-                        i.value = this.$refs.KFB.form.getFieldValue(keyLabel)
-                      }
-                    })  
+            var that =this
+            setTimeout(function(){
+              that.bv.map(event =>{
+                 if(event.bn[1].label == cc || event.bn[2].label == cc){
+                    that.cvarr.map(k=>{
+                        if(k.key == event.bn[1].label){
+                                 event.bn[1].value = that.$refs.KFB.form.getFieldValue(k.model)
+                        }else if(k.key == event.bn[2].label){
+                                 event.bn[2].value = that.$refs.KFB.form.getFieldValue(k.model)
+                        }
+                    })
                     if(type == 'date'){
                         if(event.bn[1].value!=='' && event.bn[2].value!==''){
                             var state = ''
                             state = event.bn[3].label
-                            event.bn[0].value = this.timeDifference(event.bn[1].value,event.bn[2].value,state)
-                            // if(event.bn[0].value == 0){
-                            //     event.bn[0].value = 1
-                            // }
+                            event.bn[0].value = that.timeDifference(event.bn[1].value,event.bn[2].value,state)
                         }
                        }else{
                         if(event.bn[3].label =="+"){
@@ -578,13 +565,13 @@ export default {
                         }else if(event.bn[3].label =="*"){
                             event.bn[0].value = Number(event.bn[1].value)*Number(event.bn[2].value)  
                         }
-                    }
-                   
-                    this.$refs.KFB.setData({[event.bn[0].label]:event.bn[0].value})
-                }
-                })
-            })     
-            // // 数据变化时触发
+                    }         
+                    that.$refs.KFB.setData({[event.bn[0].label]:event.bn[0].value})
+                 }
+              })     
+ 
+            },0)
+                     // // 数据变化时触发
             // // 如果开始时间发生变化
             // if (key == 'start_time') {
             //     // 判断结束时间是否存在