瀏覽代碼

允许输入数值计算式

MaiXinRong 7 年之前
父節點
當前提交
b315c26d92
共有 2 個文件被更改,包括 6 次插入28 次删除
  1. 2 2
      web/building_saas/main/js/calc/bills_calc.js
  2. 4 26
      web/building_saas/main/js/views/project_view.js

+ 2 - 2
web/building_saas/main/js/calc/bills_calc.js

@@ -292,8 +292,8 @@ class BillsCalcHelper {
     };
     calcVolumePriceLeaf (node, fields, isIncre) {
         let total = 0;
-        for (let child of this.node.children) {
-            total += this.getFee(child.data, 'feesIndex.common.totalFee');
+        for (let child of node.children) {
+            total += calcFees.getFee(child.data, 'feesIndex.common.totalFee');
         }
     };
     calcParent (node, fields, isIncre) {

+ 4 - 26
web/building_saas/main/js/views/project_view.js

@@ -99,7 +99,7 @@ var projectObj = {
         }
         return value;
     },
-    checkQuantityField: function (editingText, colSetting) {
+    checkFormulaValidField: function (editingText, colSetting) {
         let value = Number(editingText);
         if (!value) {
             try {
@@ -119,34 +119,12 @@ var projectObj = {
         return value;
     },
     checkSpreadEditingText: function (editingText, colSetting) {
-        if (colSetting.data.field === 'quantity') {
-            return this.checkQuantityField(editingText, colSetting);
+        if (colSetting.data.field === 'quantity' || colSetting.data.field === 'feesIndex.common.unitFee') {
+            return this.checkFormulaValidField(editingText, colSetting);
         } else {
             return this.checkCommonField(editingText, colSetting);
         }
     },
-    checkBusinessValidate: function (value, node, fieldName) {
-        let project = projectObj.project;
-        if (!project) {
-            return false;
-        }
-        if (node.sourceType !== project.VolumePrice.getSourceType() && fieldName === 'quantity') {
-            return project.quantity_detail.quantityEditChecking(value,node,fieldName);
-        } else if (fieldName === 'code') {
-            if (node.sourceType === project.Bills.getSourceType()) {
-                return project.Bills.CodeChecking(value, node);
-            } else if (node.sourceType === project.Ration.getSourceType()) {
-                return project.Ration.CodeChecking(value, node);
-            } else {
-                return true;
-            }
-        } else {
-            return true;
-        }
-    },
-    billsCodeEdited: function (value, node) {
-
-    },
     updateAndReCalculate: function (node, fieldName, value) {
         let project = projectObj.project, calc = new BillsCalcHelper(project), nodes = [];
         let getNodes = function (node) {
@@ -196,7 +174,7 @@ var projectObj = {
         if (value && value !== calcFees.getFee(node.data, fieldName)) {
             if (fieldName === 'code') {
 
-            } else if (fieldName === 'quantity' && projectObj.checkBusinessValidate(value, node, fieldName)) {
+            } else if (fieldName === 'quantity' && project.quantity_detail.quantityEditChecking(value,node,fieldName)) {
                 projectObj.updateAndReCalculate(node, fieldName, value);
             } else {
                 if (node.sourceType === project.Bills.getSourceType()) {