|
@@ -159,8 +159,8 @@ if (typeof feeRateObject !== "undefined") {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 清单基数
|
|
// 清单基数
|
|
|
-const progression = ["施工场地建设费", "养护单位(业主)管理费", "建设项目信息化费", "工程监理费", "设计文件审查费", "前期工作费"];
|
|
|
|
|
-const deficiency = {};
|
|
|
|
|
|
|
+const progression = ["施工场地建设费", "养护单位(业主)管理费", "建设项目信息化费", "工程监理费", "设计文件审查费", "前期工作费", "设计文件审查费(两阶段设计)"];
|
|
|
|
|
+const deficiency = { 设计文件审查费: 2000, "设计文件审查费(两阶段设计)": 2000, 工程勘察费: 5000, 设计费: 5000, 招标费: 5000 };
|
|
|
if (typeof baseFigureMap !== "undefined") {
|
|
if (typeof baseFigureMap !== "undefined") {
|
|
|
const { fixedFlag } = commonConstants;
|
|
const { fixedFlag } = commonConstants;
|
|
|
baseFigureMap.boq = {
|
|
baseFigureMap.boq = {
|
|
@@ -229,14 +229,71 @@ if (typeof baseFigureMap !== "undefined") {
|
|
|
filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
pick: true,
|
|
pick: true,
|
|
|
},
|
|
},
|
|
|
- // 显示:仅清单固定类别是“工程建设其他费”部分可显示
|
|
|
|
|
- 前期工作费: {
|
|
|
|
|
|
|
+ "设计文件审查费(两阶段设计)": {
|
|
|
|
|
+ isProgressive: true,
|
|
|
|
|
+ base: "SJWJSCFLJDSJ",
|
|
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ pick: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ 工程勘察费: {
|
|
|
|
|
+ isProgressive: true,
|
|
|
|
|
+ base: "GCKCF",
|
|
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ pick: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ 设计费: {
|
|
|
|
|
+ isProgressive: true,
|
|
|
|
|
+ base: "SJF",
|
|
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ pick: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ 招标费: {
|
|
|
|
|
+ isProgressive: true,
|
|
|
|
|
+ base: "ZBF",
|
|
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ pick: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ "设计费(两阶段)": {
|
|
|
|
|
+ isProgressive: true,
|
|
|
|
|
+ base: "SJFLJD",
|
|
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ pick: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ "设计费(独立立项进行维修、加固的桥隧工程)": {
|
|
|
isProgressive: true,
|
|
isProgressive: true,
|
|
|
- base: "QQGZF",
|
|
|
|
|
|
|
+ base: "SJFDLLX",
|
|
|
fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
pick: true,
|
|
pick: true,
|
|
|
},
|
|
},
|
|
|
|
|
+ "设计费(机电工程)": {
|
|
|
|
|
+ isProgressive: true,
|
|
|
|
|
+ base: "SJFJDGC",
|
|
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ pick: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ "设计费(应急抢险工程)": {
|
|
|
|
|
+ isProgressive: true,
|
|
|
|
|
+ base: "SJFYJQXGC",
|
|
|
|
|
+ fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ pick: true,
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 显示:仅清单固定类别是“工程建设其他费”部分可显示
|
|
|
|
|
+ // 前期工作费: {
|
|
|
|
|
+ // isProgressive: true,
|
|
|
|
|
+ // base: "QQGZF",
|
|
|
|
|
+ // fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
|
|
|
|
|
+ // filter: [fixedFlag.MAINTENANCE_EXPENSES],
|
|
|
|
|
+ // pick: true,
|
|
|
|
|
+ // },
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -358,6 +415,117 @@ if (typeof baseFigureTemplate !== "undefined") {
|
|
|
deficiency
|
|
deficiency
|
|
|
);
|
|
);
|
|
|
},
|
|
},
|
|
|
|
|
+ SJWJSCFLJD(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(
|
|
|
|
|
+ baseFee,
|
|
|
|
|
+ "设计文件审查费(两阶段设计)",
|
|
|
|
|
+ projectObj.project.property.progressiveInterval,
|
|
|
|
|
+ decimalObj.bills.totalPrice,
|
|
|
|
|
+ deficiency
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ GCKCF(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(baseFee, "工程勘察费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency);
|
|
|
|
|
+ },
|
|
|
|
|
+ SJF(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(baseFee, "设计费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency);
|
|
|
|
|
+ },
|
|
|
|
|
+ ZBF(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(baseFee, "招标费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency);
|
|
|
|
|
+ },
|
|
|
|
|
+ SJFLJD(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(
|
|
|
|
|
+ baseFee,
|
|
|
|
|
+ "设计费(两阶段)",
|
|
|
|
|
+ projectObj.project.property.progressiveInterval,
|
|
|
|
|
+ decimalObj.bills.totalPrice,
|
|
|
|
|
+ deficiency
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ SJFDLLX(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(
|
|
|
|
|
+ baseFee,
|
|
|
|
|
+ "设计费(独立立项进行维修、加固的桥隧工程)",
|
|
|
|
|
+ projectObj.project.property.progressiveInterval,
|
|
|
|
|
+ decimalObj.bills.totalPrice,
|
|
|
|
|
+ deficiency
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ SJFJDGC(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(
|
|
|
|
|
+ baseFee,
|
|
|
|
|
+ "设计费(机电工程)",
|
|
|
|
|
+ projectObj.project.property.progressiveInterval,
|
|
|
|
|
+ decimalObj.bills.totalPrice,
|
|
|
|
|
+ deficiency
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ SJFYJQXGC(tender) {
|
|
|
|
|
+ let baseFee = baseFigureTemplate.boq["DEJZAZGCF"](tender);
|
|
|
|
|
+ const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.CONSTRUCTION_INSTALL_FEE);
|
|
|
|
|
+ const equipmentFee = cbTools.getEquipmentFee(fixedNode, tender, "equipment");
|
|
|
|
|
+ baseFee = (baseFee - equipmentFee * 0.6).toDecimal(decimalObj.process);
|
|
|
|
|
+ if (!tender) {
|
|
|
|
|
+ calcBase.baseProgressiveFee = baseFee;
|
|
|
|
|
+ }
|
|
|
|
|
+ return calculateUtil.getProgressiveFee(
|
|
|
|
|
+ baseFee,
|
|
|
|
|
+ "设计费(应急抢险工程)",
|
|
|
|
|
+ projectObj.project.property.progressiveInterval,
|
|
|
|
|
+ decimalObj.bills.totalPrice,
|
|
|
|
|
+ deficiency
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
// 前期工作费 算法:按“定额建筑安装工程费”总和为基数,以累进办法计算
|
|
// 前期工作费 算法:按“定额建筑安装工程费”总和为基数,以累进办法计算
|
|
|
// 变更:【算法】:按【固定类别是“建筑安装工程费”的“定额建安费”,扣除“设备”的“定额设备费”*60%】为基数,以累进办法计算。
|
|
// 变更:【算法】:按【固定类别是“建筑安装工程费”的“定额建安费”,扣除“设备”的“定额设备费”*60%】为基数,以累进办法计算。
|
|
|
QQGZF(tender) {
|
|
QQGZF(tender) {
|