chenshilong 5 năm trước cách đây
mục cha
commit
b57e3858ec

+ 18 - 14
web/building_saas/main/js/models/calc_program.js

@@ -1620,6 +1620,17 @@ class CalcProgram {
         };
     };
 
+    deleteUselessFees(treeNode, reserveArr){
+        treeNode.data.fees = _.filter(treeNode.data.fees, function (item) {
+            if(!reserveArr.includes(item.fieldName)){
+                delete treeNode.data.feesIndex[item.fieldName];
+                treeNode.changed = true;
+                return false;
+            }
+            return true;
+        });
+    };
+
     // 只计算treeNode自身。changedArr: 外部传来的一个数组,专门存储发生变动的节点。
     innerCalc(treeNode, changedArr, tender){
         if (treeNode.sourceType === ModuleNames.ration_glj) return;             // 仅用作树节点显示的工料机不能参与计算。
@@ -1636,16 +1647,6 @@ class CalcProgram {
         /*删掉多余的费用。例如:从其它计算方式(有很多费)切换到公式计算方式(只需要common费),多出来的费要删除。
         reserveArr 值取自:情况①遍历treeNode的计算规则,取有绑定的字段名。这些字段名以外的fee是因旧计算多出来的,需要删除。没有绑定的
         费用类别,不要同步到清单,也需要删除。*/
-        function deleteUselessFees(treeNode, reserveArr){
-            treeNode.data.fees = _.filter(treeNode.data.fees, function (item) {
-                if(!reserveArr.includes(item.fieldName)){
-                    delete treeNode.data.feesIndex[item.fieldName];
-                    treeNode.changed = true;
-                    return false;
-                }
-                return true;
-            });
-        };
 
         let me = this;
         //设置定额工料机映射表
@@ -1735,7 +1736,7 @@ class CalcProgram {
         else if (treeNode.calcType == treeNodeCalcType.ctCalcBaseValue){
             delete treeNode.data.gljList;
             deleteProperties(treeNode, ['programID']);
-            deleteUselessFees(treeNode, ['common', 'rationCommon']);
+            me.deleteUselessFees(treeNode, ['common', 'rationCommon']);
             let tf = treeNode.data.calcBaseValue ? treeNode.data.calcBaseValue : 0;
             let ttf = treeNode.data.tenderCalcBaseValue ? treeNode.data.tenderCalcBaseValue : 0;
             let q = nQ ? nQ : 1;
@@ -1765,7 +1766,7 @@ class CalcProgram {
         else if (treeNode.calcType == treeNodeCalcType.ctNull){
             delete treeNode.data.gljList;
             deleteProperties(treeNode, ['calcBase', 'calcBaseValue', 'tenderCalcBaseValue', 'programID']);
-            deleteUselessFees(treeNode, ['common', 'rationCommon']);
+            me.deleteUselessFees(treeNode, ['common', 'rationCommon']);
 
             if (treeNode.data.feesIndex && treeNode.data.feesIndex.common){
                 let uf, tf;
@@ -1855,7 +1856,7 @@ class CalcProgram {
 
                 if (tender == tenderTypes.ttReverseRation || tender == tenderTypes.ttReverseGLJ)
                     this.calcTenderReverse(treeNode, tender);
-                deleteUselessFees(treeNode, fnArr);
+                me.deleteUselessFees(treeNode, fnArr);
             };
         };
 
@@ -1910,7 +1911,7 @@ class CalcProgram {
 
             if (tender == tenderTypes.ttReverseRation || tender == tenderTypes.ttReverseGLJ)
                 this.calcTenderReverse(treeNode, tender);
-            deleteUselessFees(treeNode, fnArr);
+            me.deleteUselessFees(treeNode, fnArr);
         };
     };
 
@@ -2225,6 +2226,9 @@ class CalcProgram {
         }
     };
     getGljArrByRation(ration){
+        if(ration.itemType=="定额"){//分摊定额
+            return divideObj.getRationGLJDatas();
+        }
         if (ration.type == rationType.gljRation){
             let glj = JSON.parse(JSON.stringify(ration));
             glj.type = glj.subType;

+ 1 - 1
web/building_saas/main/js/views/divide_view.js

@@ -505,7 +505,7 @@ let divideObj = {
                 },
                 callback: function (key, opt) {  
                   let selected = me.getSelectedItem();
-                  projectObj.project.calcProgram.innerCalcForFTRation({data:selected,sourceType:"ration"});
+                  projectObj.project.calcProgram.innerCalcForFTRation({data:selected,sourceType:"ration",updateData:[]});
                   console.log(selected)
                 }
             },