Browse Source

(部颁2018计价标准),新增及调整清单基数。

chenshilong 2 years ago
parent
commit
d143065a83
1 changed files with 173 additions and 5 deletions
  1. 173 5
      web/over_write/js/sichuan_2018.js

+ 173 - 5
web/over_write/js/sichuan_2018.js

@@ -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") {
   const { fixedFlag } = commonConstants;
   baseFigureMap.boq = {
@@ -229,14 +229,71 @@ if (typeof baseFigureMap !== "undefined") {
       filter: [fixedFlag.MAINTENANCE_EXPENSES],
       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,
-      base: "QQGZF",
+      base: "SJFDLLX",
       fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
       filter: [fixedFlag.MAINTENANCE_EXPENSES],
       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
       );
     },
+    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%】为基数,以累进办法计算。
     QQGZF(tender) {