zhangweicheng hace 5 años
padre
commit
7b02453692
Se han modificado 1 ficheros con 14 adiciones y 9 borrados
  1. 14 9
      web/building_saas/main/js/views/divide_view.js

+ 14 - 9
web/building_saas/main/js/views/divide_view.js

@@ -557,7 +557,7 @@ let divideObj = {
       b.dividePrice =0;
       b.originalPrice=0;
       b.totalPrice =0;
-      b.price=0;
+      b.price= b.price?b.price:0;
       b.divideRate = scMathUtil.roundForObj(b.divideRate * 0.01,3);
       b.dividePrice = scMathUtil.roundForObj(item.marketTotalFee * b.divideRate,getDecimal("bills.totalPrice"));  
       b.originalPrice = calcOriginalPrice(bNode);   
@@ -1307,25 +1307,30 @@ let divideObj = {
          }
        }
     }
-
-
-    if(datas.length == 0) return;
+    if(datas.length == 0){//分摊的定额没有变,但是清单的金额可能变了,所以要更新
+      reCalcAfterUpdateNodes(bills);
+      return callback();
+    }  
     //刷新缓存和树节点的插入删除
     let nodes = await projectObj.project.syncUpdateNodesAndRefresh(datas);
     //重新计算
     cbTools.refreshFormulaNodes();
     projectObj.project.calcProgram.calcNodesAndSave(changeNode.concat(nodes),function(){
+      reCalcAfterUpdateNodes(bills);
+      callback();
+    });
+    function reCalcAfterUpdateNodes(bills){
       //反算分摊右边表中的金额
       for(let b of bills){
         let bNode = projectObj.project.mainTree.findNode(b.ID);
         if(bNode.data.feesIndex&&bNode.data.feesIndex.common){
           let totalFee = scMathUtil.roundForObj(bNode.data.feesIndex.common.totalFee,getDecimal("bills.totalPrice"));
-          b.price = totalFee;
+          b.price = totalFee;   
         }
-        callback();
-      }
-      
-    });
+      } 
+    }
+
+
   },
   cancelDivide:async function(divideID){//如果不传ID,相当于取消所有
      let changeNode=[],datas=[],itemDatas=[];