Browse Source

费率末定义和费率为0,计算时要区分。
机上人工费精度相差0.004问题。

chenshilong 7 years ago
parent
commit
8bf776b70d
1 changed files with 7 additions and 5 deletions
  1. 7 5
      web/building_saas/main/js/models/calc_program.js

+ 7 - 5
web/building_saas/main/js/models/calc_program.js

@@ -251,12 +251,12 @@ let calcTools = {
                     if (md.type == gljType.MACHINE_LABOUR) {
                         let q = md["consumption"] ? md["consumption"] : 0;
                         let p = md["basePrice"] ? md["basePrice"] : 0;
-                        mdSum = mdSum + (q * p).toDecimal(decimalObj.ration.unitFee);
-                        mdSum = (mdSum).toDecimal(decimalObj.ration.unitFee);
+                        mdSum = mdSum + (q * p).toDecimal(decimalObj.ration.unitPrice);
+                        mdSum = (mdSum).toDecimal(decimalObj.ration.unitPrice);
                     }
                 }
-                result = result + (glj["quantity"] * mdSum).toDecimal(decimalObj.ration.unitFee);
-                result = (result).toDecimal(decimalObj.ration.unitFee);
+                result = result + (glj["quantity"] * mdSum).toDecimal(decimalObj.ration.unitPrice);
+                result = (result).toDecimal(decimalObj.ration.unitPrice);
             }
         }
         return result;
@@ -1540,7 +1540,9 @@ class CalcProgram {
                 for (let idx of template.compiledSeq) {
                     let calcItem = template.calcItems[idx];
                     $CE.tempCalcItem = calcItem;
-                    let feeRate = parseFloatPlus(calcItem.feeRate) ? parseFloatPlus(calcItem.feeRate).toDecimal(decimalObj.feeRate) : 100;  // 100%
+                    let feeRate = 100;  // 100%
+                    if (calcItem.feeRate != undefined)
+                        feeRate = parseFloat(calcItem.feeRate).toDecimal(decimalObj.feeRate);
                     // console.log(`[${calcItem.ID}]: ${calcItem.compiledExpr}`);   // for test.
                     calcItem.unitFee = (eval(calcItem.compiledExpr) * feeRate * 0.01).toDecimal(decimalObj.decimal('unitPrice', treeNode));   // 如果eval()对清单树有影响,就换成小麦的Expression对象再试