|
|
@@ -18,6 +18,7 @@ if (typeof feeRateObject !== 'undefined') {
|
|
|
}
|
|
|
|
|
|
// 清单基数
|
|
|
+const littleFixNames = ['小修', '养护检查预算', '日常养护预算'];
|
|
|
const progression = ['养护单位(业主)管理费', '养护单位(业主)管理费(未单独设置)', '养护工程监理费', '养护工程监理费(路线工程)', '养护工程监理费(桥梁及隧道工程)', '设计文件审查费', '养护工程设计费(路线工程)', '养护工程设计费(独立桥梁、隧道工程)', '施工场地建设费'];
|
|
|
const deficiency = { '养护工程监理费': 10000, '设计文件审查费': 10000 };
|
|
|
if (typeof baseFigureMap !== 'undefined') {
|
|
|
@@ -93,7 +94,7 @@ if (typeof baseFigureMap !== 'undefined') {
|
|
|
fixedFlag: null,
|
|
|
filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
pick: true,
|
|
|
- engineeringList: ['小修'],
|
|
|
+ engineeringList: littleFixNames,
|
|
|
},
|
|
|
// 显示:仅清单固定类别是“养护工程其他费用”部分可显示。
|
|
|
'养护工程监理费(路线工程)': {
|
|
|
@@ -192,6 +193,11 @@ if (typeof baseFigureMap !== 'undefined') {
|
|
|
baseFigureMap.boq = boqMap;
|
|
|
}
|
|
|
|
|
|
+// 是否是小修
|
|
|
+const isLittleFix = (engName) => {
|
|
|
+ return littleFixNames.some(name => new RegExp(name).test(engName));
|
|
|
+}
|
|
|
+
|
|
|
if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
const { fixedFlag } = commonConstants;
|
|
|
baseFigureTemplate.budget = {
|
|
|
@@ -201,13 +207,22 @@ if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
},
|
|
|
// 建筑安装工程费(不含设备费)算法:取清单固定类别是“建筑安装工程费”的金额 - {设备费}。
|
|
|
JZAZGCFBHSB(tender) {
|
|
|
- return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.EQUIPMENT_ACQUISITION_FEE], tender, 'common');
|
|
|
+ const engName = projectObj.project.property.engineeringName;
|
|
|
+ if (isLittleFix(engName)) {
|
|
|
+ // 小修的没有设备购置固定行
|
|
|
+ const baseFee = cbTools.getBaseFee(fixedFlag.CONSTRUCTION_INSTALL_FEE, tender, 'common');
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find(node => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, 'common');
|
|
|
+ return (baseFee - equipmentFee).toDecimal(decimalObj.bills.totalPrice);
|
|
|
+ } else {
|
|
|
+ return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.EQUIPMENT_ACQUISITION_FEE], tender, 'common');
|
|
|
+ }
|
|
|
},
|
|
|
// 定额建筑安装工程费 算法:取清单固定类别是“建筑安装工程费”的定额建安费(其中定额设备费按40%计算)。
|
|
|
DEJZAZGCF(tender) {
|
|
|
const engName = projectObj.project.property.engineeringName;
|
|
|
const feeField = 'rationCommon';
|
|
|
- if (/小修/.test(engName)) {
|
|
|
+ if (isLittleFix(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);
|
|
|
@@ -239,7 +254,7 @@ if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
DEYHGCF(tender) {
|
|
|
const engName = projectObj.project.property.engineeringName;
|
|
|
const feeField = 'rationCommon';
|
|
|
- if (/小修/.test(engName)) {
|
|
|
+ if (isLittleFix(engName)) {
|
|
|
// 小修的没有设备购置固定行
|
|
|
const baseFee = cbTools.getBaseFee(fixedFlag.MAINTENANCE_FEE, tender, feeField);
|
|
|
const fixedNode = projectObj.project.mainTree.items.find(node => node.getFlag() === fixedFlag.MAINTENANCE_FEE);
|
|
|
@@ -308,7 +323,7 @@ if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
YHXMXXHF(tender) {
|
|
|
const engName = projectObj.project.property.engineeringName;
|
|
|
const baseFee = this['DEJZAZGCF'](tender);
|
|
|
- if (/小修/.test(engName)) {
|
|
|
+ if (isLittleFix(engName)) {
|
|
|
const fee = (baseFee * 0.002).toDecimal(decimalObj.bills.totalPrice);
|
|
|
return fee > 0 && fee < 5000 ? 5000 : fee;
|
|
|
} else {
|
|
|
@@ -337,7 +352,7 @@ if (typeof baseFigureTemplate !== 'undefined') {
|
|
|
const baseFee = this['DEYHGCF'](tender);
|
|
|
// 小修保养类别,施工场地建设费的计算基数定额建筑安装工程费超过30000000元时,不进行累进计算,直接按500000元计取。
|
|
|
const engName = projectObj.project.property.engineeringName;
|
|
|
- if (/小修/.test(engName) && baseFee > 30000000) {
|
|
|
+ if (isLittleFix(engName) && baseFee > 30000000) {
|
|
|
return 500000;
|
|
|
}
|
|
|
if (!tender) {
|
|
|
@@ -435,7 +450,7 @@ if (typeof projectObj !== 'undefined') {
|
|
|
const engName = projectObj.project.property.engineeringName;
|
|
|
//属于的固定清单
|
|
|
const belongFlag = cbTools.getBelongFlag(selected);
|
|
|
- if (/小修/.test(engName)) {
|
|
|
+ if (isLittleFix(engName)) {
|
|
|
if (belongFlag && belongFlag === fixedFlag.MAINTENANCE_FEE) {
|
|
|
return true;
|
|
|
}
|