Procházet zdrojové kódy

删光定额后,父清单要清掉所有计算数据。

chenshilong před 3 roky
rodič
revize
37d38b7c26
1 změnil soubory, kde provedl 12 přidání a 2 odebrání
  1. 12 2
      web/building_saas/main/js/models/bills.js

+ 12 - 2
web/building_saas/main/js/models/bills.js

@@ -468,7 +468,7 @@ var Bills = {
             updateData.push({'updateType': 'ut_update', 'updateData': tools.formatBillsUpdateData(node.data)});
 
             this.project.pushNow('replaceBills', this.getSourceType(), updateData);
-            return node;            
+            return node;
         };
         bills.prototype.sameStdCodeBillsData = function (stdCode) {
             let reg = new RegExp('^' + stdCode);
@@ -477,7 +477,7 @@ var Bills = {
                     return data;
                 }
             }
-            return null;            
+            return null;
         };
 
         bills.prototype.getSubdivisionProjectLeavesID=function () {//取所有分部分项工程清单叶子节点ID
@@ -872,6 +872,16 @@ var Bills = {
                 //重新计算
                 project.installation_fee.calcInstallationFee(function (isChange,nodes) {
                     if(nodes && nodes.length > 0)parentNodes = parentNodes.concat(nodes);
+                    // 删光定额后,父清单要清掉fees中的所有数据。
+                    // alert('删光定额后,父清单要清掉fees中的所有数据。');
+                    for (const parent of parentNodes) {
+                        if (parent.children.length == 0) {
+                            delete parent.data.fees;
+                            delete parent.data.feesIndex;
+                            // 直接删掉fees无法更新到库,必须给出不一样的字段值才能更新,所以这里使用初始化成0。
+                            calcTools.initFeeField(parent, "common");
+                        }
+                    }
                     project.calcProgram.calcNodesAndSave(parentNodes);
                     if(isChange) {
                         project.projectGLJ.loadData();