chenshilong před 6 roky
rodič
revize
4f34be37c5
1 změnil soubory, kde provedl 17 přidání a 24 odebrání
  1. 17 24
      web/building_saas/main/js/models/calc_program.js

+ 17 - 24
web/building_saas/main/js/models/calc_program.js

@@ -652,9 +652,9 @@ let calcTools = {
         else if (this.isLeafBill(treeNode)) {
             if (treeNode.children && treeNode.children.length > 0){
                 // 清单单价计算模式下的叶子清单:取自己的计算程序ID,找到自己的计算程序计算。(汇总清单所有定额的工料机)
-                if (projectObj.project.property.billsCalcMode === leafBillGetFeeType.billsPrice)
-                    return treeNodeCalcType.ctBillCalcProgram;
-                else                                        // 前三种计算模式下的叶子清单:汇总定额的计算程序的费用类别
+                // if (projectObj.project.property.billsCalcMode === leafBillGetFeeType.billsPrice)
+                //     return treeNodeCalcType.ctBillCalcProgram;
+                // else                                        // 前三种计算模式下的叶子清单:汇总定额的计算程序的费用类别
                     return treeNodeCalcType.ctGatherRationsFees;
             }
             else{                                          // 公式计算
@@ -1678,36 +1678,29 @@ class CalcProgram {
                             rtf = parseFloatPlus(node.data.feesIndex[ft.type].totalFee).toDecimal(decimalObj.bills.totalPrice);
                             rttf = parseFloatPlus(node.data.feesIndex[ft.type].tenderTotalFee).toDecimal(decimalObj.bills.totalPrice);
                         };
-                        // 取费方式为子目含量,清单行/列的XX单价应 =ROUND( ∑ROUND(定额XX单价*含量,清单单价精度),清单单价精度)
-                        if (me.project.property.billsCalcMode === leafBillGetFeeType.rationContent) {
-                            buf = (buf + (ruf * parseFloatPlus(node.data.contain)).toDecimal(decimalObj.bills.unitPrice)).toDecimal(decimalObj.process);
-                            node.data.tenderContaion = (node.data.tenderQuantity / bq).toDecimal(decimalObj.decimal.process);
-                            btuf = (btuf + (rtuf * parseFloatPlus(node.data.tenderContaion)).toDecimal(decimalObj.bills.unitPrice)).toDecimal(decimalObj.process);
-                        };
+
                         sum_rtf = (sum_rtf + rtf).toDecimal(decimalObj.process);
                         sum_rttf = (sum_rttf + rttf).toDecimal(decimalObj.process);
                     };
 
-                    if (me.project.property.billsCalcMode == leafBillGetFeeType.rationPriceConverse ||
-                        me.project.property.billsCalcMode == leafBillGetFeeType.rationPrice) {
-                        buf = (sum_rtf / bq).toDecimal(decimalObj.process);
-                        btuf = (sum_rttf / btq).toDecimal(decimalObj.process);
+                    buf = (sum_rtf / bq).toDecimal(decimalObj.process);
+                    btuf = (sum_rttf / btq).toDecimal(decimalObj.process);
+                    btf = sum_rtf;
+                    bttf = sum_rttf;
+
+                    if (projectObj.project.property.valuationType != 'bill') {  // 招投标项目, 还要反算
+                        buf = buf.toDecimal(decimalObj.bills.unitPrice);
+                        btuf = btuf.toDecimal(decimalObj.bills.unitPrice);
+                        btf = (buf * nQ).toDecimal(decimalObj.bills.totalPrice);
+                        bttf = (btuf * nQ).toDecimal(decimalObj.bills.totalPrice);
                     };
-                    // if (isBaseFeeType(ft.type) ||
-                    //     (me.project.property.billsCalcMode === leafBillGetFeeType.rationPrice && ft.type == "common")){
-                        btf = sum_rtf;
-                        bttf = sum_rttf;
-                    // }
-                    // else{
-                    //     btf = (buf.toDecimal(decimalObj.bills.unitPrice) * bq).toDecimal(decimalObj.process);
-                    //     bttf = (btuf.toDecimal(decimalObj.bills.unitPrice) * btq).toDecimal(decimalObj.process);
-                    // };
                 };
 
-                ftObj.totalFee = btf.toDecimal(decimalObj.bills.totalPrice);
-                ftObj.tenderTotalFee = bttf.toDecimal(decimalObj.bills.totalPrice);
                 ftObj.unitFee = buf.toDecimal(decimalObj.bills.unitPrice);
                 ftObj.tenderUnitFee = btuf.toDecimal(decimalObj.bills.unitPrice);
+                ftObj.totalFee = btf.toDecimal(decimalObj.bills.totalPrice);
+                ftObj.tenderTotalFee = bttf.toDecimal(decimalObj.bills.totalPrice);
+
 
                 calcTools.checkFeeField(treeNode, ftObj);