|
|
@@ -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);
|
|
|
|