Sfoglia il codice sorgente

bills calculate, update result to Server

MaiXinRong 7 anni fa
parent
commit
c81bbedccb

+ 6 - 3
web/building_saas/main/js/calc/bills_calc.js

@@ -42,8 +42,9 @@ let nodeCalcObj = {
         for (child of this.node.children) {
             let value = this.getFee(child.data, this.field.totalFee);
             if (Object.prototype.toString.apply(value) === "[object String]") {
-                result += parseFloat(this.getFee(child.data, this.field.totalFee));
+                value = parseFloat(value);
             }
+            result += value;
         }
         return result;
     },
@@ -309,10 +310,12 @@ class BillsCalcHelper {
                     node.data.feesIndex[field.type].totalFee = 0;
             }
         }
-        console.log(node.data);
     };
     calcVolumePriceLeaf (node, fields) {
-
+        let total = 0;
+        for (let child of this.node.children) {
+            total += this.getFee(child.data, 'feesIndex.common.totalFee');
+        }
     };
     calcParent (node, fields) {
         nodeCalcObj.node = node;

+ 1 - 0
web/building_saas/main/js/controllers/project_controller.js

@@ -107,6 +107,7 @@ ProjectController = {
         let calc = new BillsCalcHelper(project, CalcType);
         calc.calcAll();
         sheetController.showTreeData();
+        project.Bills.updateAll();
         calc = null;
     }
 }

+ 23 - 0
web/building_saas/main/js/models/bills.js

@@ -74,6 +74,10 @@ var Bills = {
                 data.feesIndex = {};
                 if (data.fees) {
                     data.fees.forEach(function (fee) {
+                        fee.unitFee = parseFloat(fee.unitFee);
+                        fee.totalFee = parseFloat(fee.totalFee);
+                        fee.tenderUnitFee = parseFloat(fee.tenderUnitFee);
+                        fee.tenderTotalFee = parseFloat(fee.tenderTotalFee);
                         data.feesIndex[fee.fieldName] = fee;
                     });
                 }
@@ -236,6 +240,25 @@ var Bills = {
             this.project.pushNow('updateBills', this.getSourceType(), updateData);
         };
 
+        bills.prototype.updateAll = function () {
+            let updateData = [];
+            for (let data of this.datas) {
+                let uData = JSON.parse(JSON.stringify(data));
+                delete uData.feesIndex;
+                delete uData.flagsIndex;
+                if (uData.fees) {
+                    for (let fee of uData.fees) {
+                        fee.unitFee = fee.unitFee.toFixed(2);
+                        fee.totalFee = fee.totalFee.toFixed(2);
+                        fee.tenderUnitFee = fee.tenderUnitFee.toFixed(2);
+                        fee.tenderTotalFee = fee.tenderTotalFee.toFixed(2);
+                    }
+                }
+                updateData.push({'updateType': 'ut_update', 'updateData': data});
+            }
+            this.project.pushNow('updateAllBills', this.getSourceType(), updateData);
+        }
+
         return new bills(project);
     }
 };

+ 0 - 1
web/building_saas/main/js/views/sub_view.js

@@ -133,7 +133,6 @@ let subViewObj = {
             if (node.sourceType === projectObj.project.Bills.getSourceType()) {
                 $('#comments>textarea').val(node.data.comments)
             } else if (node.sourceType === projectObj.project.Ration.getSourceType()) {
-                console.log(node.data);
                 $('#comments>textarea').val(node.data.content);
             }
         }