|
|
@@ -50,10 +50,177 @@ function overwriteRationCalcBases (){
|
|
|
];
|
|
|
})();
|
|
|
|
|
|
+// 清单基数,工程量清单的基数没有变化,只修改预算的
|
|
|
+if (typeof baseFigureMap !== 'undefined' && baseFigureMap.budget) {
|
|
|
+ baseFigureMap.budget = {
|
|
|
+ // 清单固定类别是“建筑安装工程费”的以外部分可显示
|
|
|
+ '定额建筑安装工程费(定额设备购置费按40%计)': {
|
|
|
+ base: 'DEJZAZGCFSBSS',
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
+ filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
|
|
|
+ pick: false,
|
|
|
+ },
|
|
|
+ // 清单固定类别是“建筑安装工程费”的以外部分可显示
|
|
|
+ '建筑安装工程费(不含设备费)': {
|
|
|
+ base: 'JZAZGCFBHSB',
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
+ filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
|
|
|
+ pick: false,
|
|
|
+ },
|
|
|
+ // 清单固定类别是“建筑安装工程费”的以外部分可显示
|
|
|
+ '建筑安装工程费': {
|
|
|
+ base: 'JZAZGCF',
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
+ filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
|
|
|
+ pick: false,
|
|
|
+ },
|
|
|
+ // “建筑安装工程费”、“土地使用及拆迁补偿费”以外部分可显示
|
|
|
+ '土地使用及拆迁补偿费': {
|
|
|
+ base: 'TDSYJCQBCF',
|
|
|
+ fixedFlag: fixedFlag.LAND_USED_DEMOLITION,
|
|
|
+ filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION],
|
|
|
+ pick: false,
|
|
|
+ },
|
|
|
+ // “建筑安装工程费”、“土地使用及拆迁补偿费”、“养护工程其他费用”以外部分可显示
|
|
|
+ '养护工程其他费用': {
|
|
|
+ base: 'YHGCQTFY',
|
|
|
+ fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
|
|
|
+ filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
+ pick: false,
|
|
|
+ },
|
|
|
+ // “建筑安装工程费”、“土地使用及拆迁补偿费”、“养护工程其他费用”以外部分可显示
|
|
|
+ '预备费': {
|
|
|
+ base: 'YBF',
|
|
|
+ fixedFlag: fixedFlag.BUDGET_FEE,
|
|
|
+ filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES, fixedFlag.BUDGET_FEE],
|
|
|
+ pick: false,
|
|
|
+ },
|
|
|
+ // 仅在清单固定类别是“养护单位项目管理费”的清单显示
|
|
|
+ '养护单位项目管理费': {
|
|
|
+ base: 'YHDWXMGLF',
|
|
|
+ fixedFlag: null,
|
|
|
+ filter: [fixedFlag.MAINTENANCE_MANAGENENT_FEE],
|
|
|
+ pick: true,
|
|
|
+ },
|
|
|
+ // 仅在清单固定类别是“信息化费”的清单显示
|
|
|
+ '信息化费': {
|
|
|
+ base: 'XXHF',
|
|
|
+ fixedFlag: null,
|
|
|
+ filter: [fixedFlag.INFORMATIZATION_FEE],
|
|
|
+ pick: true,
|
|
|
+ },
|
|
|
+ // 仅在清单固定类别是“工程监理费”的清单显示
|
|
|
+ '工程监理费': {
|
|
|
+ base: 'GCJLF',
|
|
|
+ fixedFlag: null,
|
|
|
+ filter: [fixedFlag.ENGINEERING_SUP_FEE],
|
|
|
+ pick: true,
|
|
|
+ },
|
|
|
+ // 仅在清单固定类别是“设计文件审查费”的清单显示
|
|
|
+ '设计文件审查费': {
|
|
|
+ base: 'SJWJSCF',
|
|
|
+ fixedFlag: null,
|
|
|
+ filter: [fixedFlag.DOCUMENT_REVIEW_FEE],
|
|
|
+ pick: true,
|
|
|
+ },
|
|
|
+ '前期工作费': {
|
|
|
+ base: 'QQGZF',
|
|
|
+ fixedFlag: null,
|
|
|
+ filter: [fixedFlag.PRELIMINARY_WORK],
|
|
|
+ pick: true,
|
|
|
+ },
|
|
|
+ '价差预备费': {
|
|
|
+ base: 'JCYBF',
|
|
|
+ fixedFlag: null,
|
|
|
+ filter: [fixedFlag.SPREAD_BUDGET_FEE],
|
|
|
+ pick: true,
|
|
|
+ },
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+// 清单基数,工程量清单的基数没有变化,只修改预算的
|
|
|
+if (typeof baseFigureTemplate !== 'undefined' && baseFigureTemplate.budget) {
|
|
|
+ baseFigureTemplate.budget = {
|
|
|
+ // 定额建筑安装工程费(定额设备购置费按40%计):取清单固定类别是“建筑安装工程”的定额建安费,其中定额设备购置费按40%计算
|
|
|
+ DEJZAZGCFSBSS(tender) {
|
|
|
+ const feeField = 'rCommon';
|
|
|
+ const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ const deductFlags = [fixedFlag.EQUIPMENT_ACQUISITION_FEE];
|
|
|
+ //建安费扣除定额设备购置费
|
|
|
+ const afterDeductFee = cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, deductFlags, `${feeField}.${subFeeField}`);
|
|
|
+ //定额设备购置费
|
|
|
+ const equipmentAcFee = cbTools.getBillsFee(deductFlags[0], feeField, subFeeField);
|
|
|
+ return (afterDeductFee + equipmentAcFee * 0.4).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ },
|
|
|
+ // 建筑安装工程费(不含设备费):取清单固定类别是“建筑安装工程”的金额,但要扣除清单固定类别是“设备购置费”的金额
|
|
|
+ JZAZGCFBHSB(tender) {
|
|
|
+ const fullFeeField = tender ? 'common.tenderTotalFee' : 'common.totalFee';
|
|
|
+ const deductFlags = [fixedFlag.EQUIPMENT_ACQUISITION_FEE];
|
|
|
+ //建安费扣除设备费
|
|
|
+ return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, deductFlags, fullFeeField).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ },
|
|
|
+ // 建筑安装工程费:取清单固定类别是“建筑安装工程”的金额
|
|
|
+ JZAZGCF(tender) {
|
|
|
+ const feeField = 'common';
|
|
|
+ const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_INSTALL_FEE, feeField, subFeeField);
|
|
|
+ },
|
|
|
+ // 土地使用及拆迁补偿费:取清单固定类别是“土地使用及拆迁补偿费”的金额
|
|
|
+ TDSYJCQBCF(tender) {
|
|
|
+ const feeField = 'common';
|
|
|
+ const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.LAND_USED_DEMOLITION, feeField, subFeeField);
|
|
|
+ },
|
|
|
+ // 养护工程其他费用:取清单固定类别是“养护工程其他费用”的金额
|
|
|
+ YHGCQTFY(tender) {
|
|
|
+ const feeField = 'common';
|
|
|
+ const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.MAINTENANCE_EXPENSES, feeField, subFeeField);
|
|
|
+ },
|
|
|
+ // 预备费:取清单固定类别是“预备费”的金额
|
|
|
+ YBF(tender) {
|
|
|
+ const feeField = 'common';
|
|
|
+ const subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.BUDGET_FEE, feeField, subFeeField);
|
|
|
+ },
|
|
|
+ // 养护单位项目管理费:以累进办法计算,计算基数为“定额建筑安装工程费(定额设备购置费按40%计)
|
|
|
+ YHDWXMGLF(tender) {
|
|
|
+ const baseFee = this['DEJZAZGCFSBSS'](tender);
|
|
|
+ return cbTools.getProgressiveFee(baseFee, '养护单位项目管理费');
|
|
|
+ },
|
|
|
+ // 信息化费:以累进办法计算,计算基数为“定额建筑安装工程费(定额设备购置费按40%计)”
|
|
|
+ XXHF(tender) {
|
|
|
+ const baseFee = this['DEJZAZGCFSBSS'](tender);
|
|
|
+ return cbTools.getProgressiveFee(baseFee, '信息化费');
|
|
|
+ },
|
|
|
+ // 工程监理费:以累进办法计算,计算基数为“定额建筑安装工程费(定额设备购置费按40%计)
|
|
|
+ GCJLF(tender) {
|
|
|
+ const baseFee = this['DEJZAZGCFSBSS'](tender);
|
|
|
+ return cbTools.getProgressiveFee(baseFee, '工程监理费');
|
|
|
+ },
|
|
|
+ // 设计文件审查费:以累进办法计算,计算基数为“定额建筑安装工程费(定额设备购置费按40%计)”;设计文件审查费不足3000元的,按3000元计算
|
|
|
+ SJWJSCF(tender) {
|
|
|
+ const baseFee = this['DEJZAZGCFSBSS'](tender);
|
|
|
+ const fee = cbTools.getProgressiveFee(baseFee, '设计文件审查费');
|
|
|
+ return fee > 0 && fee < 3000 ? 3000 : fee;
|
|
|
+ },
|
|
|
+ // 前期工作费:以累进办法计算,计算基数为“定额建筑安装工程费(定额设备购置费按40%计)
|
|
|
+ QQGZF(tender) {
|
|
|
+ const baseFee = this['DEJZAZGCFSBSS'](tender);
|
|
|
+ return cbTools.getProgressiveFee(baseFee, '前期工作费');
|
|
|
+ },
|
|
|
+ // 价差预备费
|
|
|
+ JCYBF(tender) {
|
|
|
+ //建筑安装工程费作为基数
|
|
|
+ const installFee = this['JZAZGCF'](tender);
|
|
|
+ //年造价增涨
|
|
|
+ const costGrowthRate = calcBase.project.property.costGrowthRate ?
|
|
|
+ calcBase.project.property.costGrowthRate : 0;
|
|
|
+ //增涨计费年限
|
|
|
+ const growthPeriod = projectObj.project.property.growthPeriod ?
|
|
|
+ calcBase.project.property.growthPeriod : 0;
|
|
|
+ //= P * [(1+i)^(n-1) -1]
|
|
|
+ return (installFee * (Math.pow(1 + costGrowthRate, growthPeriod - 1) - 1)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ },
|
|
|
+ };
|
|
|
+}
|