瀏覽代碼

清单实时计算Bug

MaiXinRong 7 年之前
父節點
當前提交
0e94795e1e
共有 2 個文件被更改,包括 9 次插入13 次删除
  1. 8 13
      web/building_saas/main/js/models/bills.js
  2. 1 0
      web/building_saas/main/js/views/project_view.js

+ 8 - 13
web/building_saas/main/js/models/bills.js

@@ -37,6 +37,9 @@ var Bills = {
                 let uData = JSON.parse(JSON.stringify(data));
                 delete uData.feesIndex;
                 delete uData.flagsIndex;
+                if (uData.quantity) {
+                    uData.quantity = uData.quantity.toFixed(2);
+                }
                 if (uData.fees) {
                     for (let fee of uData.fees) {
                         fee.unitFee = fee.unitFee.toFixed(2);
@@ -85,6 +88,9 @@ var Bills = {
             this.datas = datas;
             // generate Fees & Flags Index, For View & Calculate
             this.datas.forEach(function (data) {
+                if (data.quantity) {
+                    data.quantity = parseFloat(data.quantity);
+                }
                 data.feesIndex = {};
                 if (data.fees) {
                     data.fees.forEach(function (fee) {
@@ -250,25 +256,14 @@ var Bills = {
             } else {
                 data[field] = newValue;
             }
-            updateData.push({'updateType': 'ut_update', 'updateData': data});
+            updateData.push({'updateType': 'ut_update', 'updateData': tools.formatBillsUpdateData(data)});
             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': uData});
+                updateData.push({'updateType': 'ut_update', 'updateData': tools.formatBillsUpdateData(data)});
             }
             this.project.pushNow('updateAllBills', this.getSourceType(), updateData);
         };

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

@@ -139,6 +139,7 @@ var projectObj = {
             calcFees.setFee(node.data, fieldName, value);
             calc.calcNode(node, true);
             nodes = getNodes(node);
+            project.Bills.updateNodes(nodes, true);
         } else if (node.sourceType === projectObj.project.VolumePrice.getSourceType()) {
             project.beginUpdate('VolumePrice_QuantityChange');
             project.VolumePrice.updateField(node.source, fieldName, value, false);