Sfoglia il codice sorgente

非第一部分项目节中直接输入金额,定额建安费不应计算。

chenshilong 6 anni fa
parent
commit
4a92810521
1 ha cambiato i file con 20 aggiunte e 5 eliminazioni
  1. 20 5
      web/building_saas/main/js/models/calc_program.js

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

@@ -93,6 +93,19 @@ let calcTools = {
     isTechMeasure:function(treeNode){
        return projectObj.project.Bills.isTechMeasure(treeNode)
     },
+    isInheritFrom:function(treeNode, flag){
+        let rst = false;
+        let curNode = treeNode;
+        while (curNode){
+            if (curNode.data && curNode.data.flagsIndex && curNode.data.flagsIndex.fixed &&
+                curNode.data.flagsIndex.fixed.flag == flag){
+                rst = true;
+                break;
+            }
+            curNode = curNode.parent;
+        };
+        return rst;
+    },
     getChildrenFormulaNodes: function (self, allFormulaNodesArr, parentNodes){       // 获取结点parentNodes下有公式的子结点
         let nodes = [];
         for (let pn of parentNodes){
@@ -1779,12 +1792,14 @@ class CalcProgram {
                 calcTools.checkFeeField(treeNode, ftObj);
 
                 // 数量、金额时,同步定额建安费
-                let ftObj2 = {
-                    fieldName: 'rationCommon',
-                    unitFee: uf,
-                    totalFee: tf
+                if (calcTools.isInheritFrom(treeNode, 1)){
+                    let ftObj2 = {
+                        fieldName: 'rationCommon',
+                        unitFee: uf,
+                        totalFee: tf
+                    };
+                    calcTools.checkFeeField(treeNode, ftObj2);
                 };
-                calcTools.checkFeeField(treeNode, ftObj2);
             }
 
             treeNode.data.calcTemplate = {"calcItems": []};