Bladeren bron

进度圈异步问题。

chenshilong 4 jaren geleden
bovenliggende
commit
ae9b76d20f
1 gewijzigde bestanden met toevoegingen van 20 en 16 verwijderingen
  1. 20 16
      web/building_saas/main/js/models/calc_program.js

+ 20 - 16
web/building_saas/main/js/models/calc_program.js

@@ -2843,25 +2843,29 @@
    };
 
    doTenderCalc(callback) {
+
      $.bootstrapLoading.start();
-     let tender = calcTools.getTenderType();
-     if (tender == tenderTypes.ttReverseGLJ || tender == tenderTypes.ttReverseRation) {
-       // 调价计算必须依赖调价树。
-       if (!tender_obj.tenderTree){
-         tender_obj.createTree();
-         tender_obj.createTreeNodes();
+     setTimeout(()=>{
+       let tender = calcTools.getTenderType();
+       if (tender == tenderTypes.ttReverseGLJ || tender == tenderTypes.ttReverseRation) {
+         // 调价计算必须依赖调价树。
+         if (!tender_obj.tenderTree){
+           tender_obj.createTree();
+           tender_obj.createTreeNodes();
+         }
+         // 反向调价+逼近原理:
+         // 清理调价缓存 → 分摊目标金额(从子往父处理满载、从父往子分摊) → 全局反算 → 逼近 → 全局正算、存储
+         this.reverseTenderInitDatas();
+         this.prepareForDistribute(tender_obj.tenderTree.roots[0]);
+         this.distributeTargetTotalFee(tender_obj.tenderTree.roots[0]);
+         this.calcAllNodes(calcAllType.catAll, tender);    // 先全局反算:得到每定额的coe、基础调后金额(误差大,需逼近)
+         this.reverseTenderApproach(callback, tender);     // 逼近上述基础调后金额
        }
-       // 反向调价+逼近原理:
-       // 清理调价缓存 → 分摊目标金额(从子往父处理满载、从父往子分摊) → 全局反算 → 逼近 → 全局正算、存储
-       this.reverseTenderInitDatas();
-       this.prepareForDistribute(tender_obj.tenderTree.roots[0]);
-       this.distributeTargetTotalFee(tender_obj.tenderTree.roots[0]);
-       this.calcAllNodes(calcAllType.catAll, tender);    // 先全局反算:得到每定额的coe、基础调后金额(误差大,需逼近)
-       this.reverseTenderApproach(callback, tender);     // 逼近上述基础调后金额
-     }
 
-     // 全局正算(用的是主树,无需调价树)
-     this.calcAllNodesAndSave(calcAllType.catAll, callback, tenderTypes.ttCalc);
+       // 全局正算(用的是主树,无需调价树)
+       this.calcAllNodesAndSave(calcAllType.catAll, callback, tenderTypes.ttCalc);
+     })
+
    };
  };