Просмотр исходного кода

1.重庆养护增加基数{定额建安费(不含定额设备购置费)}
2.造价书右侧的定额库,应默认展开至章

vian 5 лет назад
Родитель
Сommit
352bc17e98

+ 34 - 3
web/building_saas/main/js/models/calc_base.js

@@ -173,11 +173,11 @@ let cbTools = {
         }
         for(let baseName in baseFigures) {
             let calcBase = baseFigures[baseName],
-                filter = calcBase.filter,
+                filter = calcBase.filter || Object.values(fixedFlag), // filter为空则全部部分都可用该基数
                 pick = calcBase.pick; //挑选或过滤
-            if (!filter) {
+            /* if (!filter) {
                 continue;
-            }
+            } */
             //pick为true,则filter中的清单固定行可使用此基数(及其子清单固定行),
             //pick为false除去filter中的清单固定行(及其子清单固定行),其他可使用此基数(包括新增的大项费用)
             let allFilter = []; //filter及其子项
@@ -405,6 +405,19 @@ let cbTools = {
                ? bills.feesIndex[feeField][subFeeField]
                : 0;
     },
+    getFee: function (bills, feeField, subFeeField) {
+        if (this.isUnDef(bills)) {
+            return 0;
+        }
+        if (this.isUnDef(bills.feesIndex) || _.isEmpty(bills.feesIndex)) {
+            return 0;
+        }
+        return this.isDef(bills.feesIndex[feeField]) && 
+            this.isDef(bills.feesIndex[feeField][subFeeField]) &&
+            !isNaN(bills.feesIndex[feeField][subFeeField])   
+            ? bills.feesIndex[feeField][subFeeField]
+            : 0;
+    },
     //获取扣除固定项后的金额,扣除其节点后重新汇总
     //@param {Number}fixedFlag(基数取值固定行类别) {Array}deductFlags(扣除的固定类别组) {String}fullFeeField(完整的取费字段: 'rationCommon.totalFee')
     //@return {Number}
@@ -710,6 +723,17 @@ let baseFigureTemplate = {
             //计算金额
             let fullFeeField = tender ? 'common.tenderTotalFee' : 'common.totalFee';
             return projectObj.project.calcProgram.getTotalFee([oneToSeven], deductNodes, fullFeeField).toDecimal(decimalObj.bills.totalPrice);
+        },
+        // {定额建安费(不含定额设备购置费)} 汇总各大项费用清单的“定额建安费”
+        'DEJAFBHDESBGZF': function (tender) {
+            const feeField = 'rationCommon';
+            const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
+            const roots = projectObj.project.mainTree.roots;
+            const summaryFee = roots.reduce((total, node) => {
+                const fee = cbTools.getFee(node.data, feeField, subFeeField);
+                return total += fee;
+            }, 0);
+            return summaryFee.toDecimal(decimalObj.bills.totalPrice);
         }
     }
 };
@@ -883,6 +907,13 @@ let baseFigureMap = {
             filter: [fixedFlag.ONE_HUNDRED_BILLS],
             pick: true
         },
+        // 各部分都能用
+        '定额建安费(不含定额设备购置费)': {
+            base: 'DEJAFBHDESBGZF',
+            fixedFlag: null,
+            filter: null,
+            pick: true
+        }
     }
 };
 

+ 5 - 4
web/building_saas/main/js/views/std_ration_lib.js

@@ -119,11 +119,12 @@ var rationLibObj = {
                 that.tree.setExpandedByState(that.tree.items, currentExpState);
             }
             else {
-                //展开至第
-                for(let root of that.tree.roots){
-                    root.setExpanded(true);
+                //展开至第
+                /* for(let root of that.tree.roots){
+                    root.setExpanded(false);
                     that.tree.setRootExpanded(root.children, false);
-                }
+                } */
+                that.tree.setRootExpanded(that.tree.roots, false);
             }
             rationChapterTreeController.showTreeData();
             rationLibObj.rationChapterSpread.getSheet(0).options.rowHeaderVisible = true;