|
|
@@ -205,14 +205,23 @@ if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
},
|
|
|
// 定额建筑安装工程费 算法:取清单固定类别是“建筑安装工程费”的定额建安费(其中定额设备费按40%计算)。
|
|
|
DEJZAZGCF(tender) {
|
|
|
+ const engName = projectObj.project.property.engineeringName;
|
|
|
const feeField = 'rationCommon';
|
|
|
- const deductFlags = [fixedFlag.EQUIPMENT_ACQUISITION_FEE];
|
|
|
- //建安费扣除定额设备购置费
|
|
|
- const afterDeductFee = cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, deductFlags, tender, feeField, false);
|
|
|
- //定额设备购置费
|
|
|
- const equipmentAcFee = cbTools.getBaseFee(deductFlags[0], tender, 'equipment');
|
|
|
- const equipmentAcTaxFee = cbTools.getBaseFee(deductFlags[0], tender, 'tax');
|
|
|
- return (afterDeductFee + equipmentAcFee * 0.4 + equipmentAcTaxFee).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ if (/小修/.test(engName)) {
|
|
|
+ // 小修的没有设备购置固定行
|
|
|
+ const baseFee = cbTools.getBaseFee(fixedFlag.CONSTRUCTION_INSTALL_FEE, tender, feeField);
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, 'equipment');
|
|
|
+ return (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
+ } else {
|
|
|
+ const deductFlags = [fixedFlag.EQUIPMENT_ACQUISITION_FEE];
|
|
|
+ //建安费扣除定额设备购置费
|
|
|
+ const afterDeductFee = cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, deductFlags, tender, feeField, false);
|
|
|
+ //定额设备购置费
|
|
|
+ const equipmentAcFee = cbTools.getBaseFee(deductFlags[0], tender, 'equipment');
|
|
|
+ const equipmentAcTaxFee = cbTools.getBaseFee(deductFlags[0], tender, 'tax');
|
|
|
+ return (afterDeductFee + equipmentAcFee * 0.4 + equipmentAcTaxFee).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ }
|
|
|
},
|
|
|
// 设备费 算法:取清单固定类别是“设备购置”的建安费
|
|
|
SBF(tender) {
|
|
|
@@ -228,14 +237,23 @@ if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
},
|
|
|
// 定额养护工程费 算法:取清单固定类别是“养护工程费”的定额建安费(其中定额设备费按40%计算)。
|
|
|
DEYHGCF(tender) {
|
|
|
+ const engName = projectObj.project.property.engineeringName;
|
|
|
const feeField = 'rationCommon';
|
|
|
- const deductFlags = [fixedFlag.EQUIPMENT_ACQUISITION_FEE];
|
|
|
- //建安费扣除定额设备购置费
|
|
|
- const afterDeductFee = cbTools.getFeeWithDeduction(fixedFlag.MAINTENANCE_FEE, deductFlags, tender, feeField, false);
|
|
|
- //定额设备购置费
|
|
|
- const equipmentAcFee = cbTools.getBaseFee(deductFlags[0], tender, 'equipment');
|
|
|
- const equipmentAcTaxFee = cbTools.getBaseFee(deductFlags[0], tender, 'tax');
|
|
|
- return (afterDeductFee + equipmentAcFee * 0.4 + equipmentAcTaxFee).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ if (/小修/.test(engName)) {
|
|
|
+ // 小修的没有设备购置固定行
|
|
|
+ const baseFee = cbTools.getBaseFee(fixedFlag.MAINTENANCE_FEE, tender, feeField);
|
|
|
+ const fixedNode = projectObj.project.mainTree.items.find(node => node.getFlag() === fixedFlag.MAINTENANCE_FEE);
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, 'equipment');
|
|
|
+ return (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
+ } else {
|
|
|
+ const deductFlags = [fixedFlag.EQUIPMENT_ACQUISITION_FEE];
|
|
|
+ //建安费扣除定额设备购置费
|
|
|
+ const afterDeductFee = cbTools.getFeeWithDeduction(fixedFlag.MAINTENANCE_FEE, deductFlags, tender, feeField, false);
|
|
|
+ //定额设备购置费
|
|
|
+ const equipmentAcFee = cbTools.getBaseFee(deductFlags[0], tender, 'equipment');
|
|
|
+ const equipmentAcTaxFee = cbTools.getBaseFee(deductFlags[0], tender, 'tax');
|
|
|
+ return (afterDeductFee + equipmentAcFee * 0.4 + equipmentAcTaxFee).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ }
|
|
|
},
|
|
|
// 养护单位(业主)管理费 算法:以{定额建筑安装工程费}为基数,采用累进办法计算。。
|
|
|
YHDWYZGLF(tender) {
|
|
|
@@ -314,9 +332,15 @@ if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
}
|
|
|
return calculateUtil.getProgressiveFee(baseFee, '养护工程设计费(独立桥梁、隧道工程)', projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency);
|
|
|
},
|
|
|
- // 施工场地建设费 算法:以{定额建筑安装工程费}为基数,采用累进办法计算
|
|
|
+ // 施工场地建设费 算法:以{定额养护工程费}为基数,采用累进办法计算
|
|
|
SGCDJSF(tender) {
|
|
|
+ debugger;
|
|
|
const baseFee = this['DEYHGCF'](tender);
|
|
|
+ // 小修保养类别,施工场地建设费的计算基数定额建筑安装工程费超过30000000元时,不进行累进计算,直接按500000元计取。
|
|
|
+ const engName = projectObj.project.property.engineeringName;
|
|
|
+ if (/小修/.test(engName) && baseFee > 30000000) {
|
|
|
+ return 500000;
|
|
|
+ }
|
|
|
if (!tender) {
|
|
|
calcBase.baseProgressiveFee = baseFee;
|
|
|
}
|
|
|
@@ -404,4 +428,25 @@ if (typeof module !== 'undefined') {
|
|
|
};
|
|
|
}
|
|
|
// 不显示但可的基数
|
|
|
-const invisibleBases = ['设备费', '定额设备费'];
|
|
|
+const invisibleBases = ['设备费', '定额设备费'];
|
|
|
+
|
|
|
+if (typeof projectObj !== 'undefined') {
|
|
|
+ projectObj.isInsertEquipmentVisable = function (selected) {
|
|
|
+ if(projectObj.project.property.valuationType !=='ration' ){//属于预算项目的情况下,在固定清单可见
|
|
|
+ const engName = projectObj.project.property.engineeringName;
|
|
|
+ //属于的固定清单
|
|
|
+ const belongFlag = cbTools.getBelongFlag(selected);
|
|
|
+ if (/小修/.test(engName)) {
|
|
|
+ if (belongFlag && belongFlag === fixedFlag.MAINTENANCE_FEE) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (belongFlag && belongFlag === fixedFlag.EQUIPMENT_ACQUISITION_FEE) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true
|
|
|
+ }
|
|
|
+}
|