Bläddra i källkod

Merge branch 'budget' of http://192.168.1.41:3000/SmartCost/ConstructionCost into budget

vian 4 år sedan
förälder
incheckning
ee4560971e

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

@@ -429,7 +429,7 @@ let cbTools = {
     },
 
     // 获取全部有公式的树节点清单。 CSL, 2018-01-05
-    getFormulaNodes: function (needOrder = false) {
+    getFormulaNodes: function (needOrder = false, tree = projectObj.project.mainTree) {
         // 给公式结点清单换照引用计算顺序排序。
         function orderFormulaNodes(nodesArr) {
             let orderArr = [];
@@ -448,7 +448,7 @@ let cbTools = {
         };
 
         let nodes = [];
-        for (let node of projectObj.project.mainTree.items) {
+        for (let node of tree.items) {
             if (node.sourceType == ModuleNames.bills && node.data.calcBase && node.data.calcBase != '')
                 nodes.push(node);
         };
@@ -1887,4 +1887,4 @@ let calcBase = {
             }
         }
     }
-};
+};

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

@@ -1094,6 +1094,7 @@ let calcTools = {
             if (!arr.includes(tpl))
               arr.push(tpl);
         };
+        arr.sort(function (x, y) {return x.ID - y.ID});
         return arr;
     },
     getRationsByProgramID: function(programID){
@@ -2881,21 +2882,30 @@ class CalcProgram {
                 rst = calcItem.totalFee;
             }
         };
-        return rst;
+
+        let tobj = {
+            ID: template.ID,
+            name: template.name,
+            totalFee: template.totalFee,
+            calcItems: template.calcItems
+        };
+        // let tobj = JSON.parse(JSON.stringify(template));
+        return {value: rst, template: tobj};
     };
 
     //报表用取费类别汇总。调用:let obj = projectObj.project.calcProgram.getGatherFeeData();
     getGatherFeeData(){
       // $.bootstrapLoading.start();
       // setTimeout(()=>{
-        let rst = {};
+        let rst = {totalFee: 0, calcPrograms: []};
         let tpls = calcTools.getUsedTemplates();
 
         let temp = 0;
         for (const t of tpls) {
-            temp = temp + this.gatherFee2(t);
+            let obj = this.gatherFee2(t);
+            rst.calcPrograms.push(obj.template);
+            temp = temp + obj.value;
         }
-        rst.calcPrograms = tpls;
         rst.totalFee = temp.toDecimal(decimalObj.bills.totalPrice);
         projectObj.project.mainTree.items[0].data.totalFee = rst.totalFee;
         console.log(rst);

+ 6 - 10
web/building_saas/main/js/views/gather_fees_view.js

@@ -68,7 +68,7 @@ let gatherFeesView = {
         me.detailSpread = sheetCommonObj.buildSheet($('#gfDetailSpread')[0], me.detailSetting, me.datas[0].calcItems.length);
         me.detailSheet = me.detailSpread.getSheet(0);
         sheetCommonObj.spreadDefaultStyle(me.detailSpread);
-        let arr = projectObj.project.calcProgram.compiledFeeTypeNames.slice();
+        // let arr = projectObj.project.calcProgram.compiledFeeTypeNames.slice();
         // arr.delete('暂估费');
         // let fieldName = new GC.Spread.Sheets.CellTypes.ComboBox();
         // fieldName.items(arr);
@@ -83,7 +83,7 @@ let gatherFeesView = {
         me.mainSheet.setRowCount(me.datas.length);
 
         me.detailSheet.name('gatherfee_detail');
-        feeRateObject.setFeeRateCellCol(me.detailSheet, _.findIndex(me.detailSetting.header,{'dataCode':'feeRate'}));
+        // feeRateObject.setFeeRateCellCol(me.detailSheet, _.findIndex(me.detailSetting.header,{'dataCode':'feeRate'}));
         sheetCommonObj.showData(me.detailSheet, me.detailSetting, me.datas[0].calcItems);
         me.getfeeRateColor(me.datas[0].calcItems);
         customRowHeader(me.detailSheet, me.datas[0].calcItems.length);
@@ -551,10 +551,11 @@ $(document).ready(function(){
     $('#tab_gather_fees').on('shown.bs.tab', function (e) {
         sessionStorage.setItem('mainTab', '#tab_gather_fees');
         $(e.relatedTarget.hash).removeClass('active');
-        if (!gatherFeesView.mainSpread)
+        // 每次进来都要重新计算一次
+        // if (!gatherFeesView.mainSpread)
             gatherFeesView.buildSheet()
-        else
-            gatherFeesView.mainSpread.refresh();
+        // else
+        //     gatherFeesView.mainSpread.refresh();
 
         let count = gatherFeesView.datas[gatherFeesView.mainSheet.getActiveRowIndex()].calcItems.length;
         gatherFeesView.detailSheet.setRowCount(count, GC.Spread.Sheets.SheetArea.viewport);
@@ -581,11 +582,6 @@ $(document).ready(function(){
         });
     });
 
-    // $("#btnGatherFee").bind('click',function () {
-    //   gatherFeesView.buildSheet();
-    //   gatherFeesView.refreshDetailSheet();
-    // });
-
     $("#lblGatherFee").bind('click',function () {
         gatherFeesView.buildSheet();
         gatherFeesView.refreshDetailSheet();