/** * Created by CSL on 2022/12/19. 内蒙古高速养护(2022)。 */ function overwriteRationCalcBases() { if (typeof rationCalcBases == "undefined") return; for (let key in rationCalcBases) delete rationCalcBases[key]; rationCalcBases["人工费"] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptMarketPrice, isTender); }; rationCalcBases["材料费"] = function (node, isTender) { return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptMarketPrice, isTender); }; rationCalcBases["施工机械使用费"] = function (node, isTender) { return calcTools.rationBaseFee(node, baseMachineTypes, priceTypes.ptMarketPrice, isTender); }; rationCalcBases["施工机械人工费"] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [], gljType.MACHINE_LABOUR, isTender); }; rationCalcBases["设备购置费"] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptMarketPrice, isTender); }; rationCalcBases["定额人工费"] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptBasePrice, isTender); }; rationCalcBases["定额材料费"] = function (node, isTender) { return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptBasePrice, isTender); }; rationCalcBases["定额施工机械使用费"] = function (node, isTender) { return calcTools.rationBaseFee(node, baseMachineTypes, priceTypes.ptBasePrice, isTender); }; rationCalcBases["定额商品砼费"] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR], priceTypes.ptBasePrice, isTender); }; rationCalcBases["定额设备费"] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptBasePrice, isTender); }; rationCalcBases["定额外购砼构件费"] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.PURCHASE_COMPONENT], priceTypes.ptBasePrice, isTender); }; rationCalcBases["定额绿化苗木费"] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.GREEN_SEEDLING], priceTypes.ptBasePrice, isTender); }; } (function overwriteFeeTypes() { if (typeof cpFeeTypes == "undefined") return; cpFeeTypes = [ { type: "marketDirect", name: "直接费" }, { type: "marketLabour", name: "人工费" }, { type: "marketMaterial", name: "材料费" }, { type: "marketMachine", name: "施工机械使用费" }, { type: "marketMachineLabour", name: "施工机械人工费" }, { type: "marketEquipment", name: "设备购置费" }, { type: "labour", name: "定额人工费" }, { type: "material", name: "定额材料费" }, { type: "machine", name: "定额施工机械使用费" }, { type: "equipment", name: "定额设备购置费" }, { type: "direct", name: "定额直接费" }, { type: "measure", name: "措施费" }, { type: "manage", name: "企业管理费" }, { type: "force", name: "规费" }, { type: "profit", name: "利润" }, { type: "tax", name: "税金" }, { type: "common", name: "建安费" }, { type: "rationCommon", name: "定额建安费" }, ]; })(); // 清单基数 const progression = [ "养护单位项目管理费", "养护项目信息化费", "工程监理费", "工程设计费", "设计文件审查费(一阶段)", "设计文件审查费(二阶段)", "采用一阶段施工图设计的养护工程项目前期工作费", "采用一阶段技术(方案)设计的养护工程项目前期工作费", "独立进行维修、加固的一般桥梁工程设计费", "独立进行维修、加固的技术复杂大桥工程设计费", "独立进行维修、加固的隧道工程设计费", "招标费", ]; const deficiency = { 设计文件审查费: 3000, 工程设计费: 5000, "设计文件审查费(一阶段)": 3000, "设计文件审查费(二阶段)": 3000, 采用一阶段施工图设计的养护工程项目前期工作费: 5000, "采用一阶段技术(方案)设计的养护工程项目前期工作费": 5000, "独立进行维修、加固的一般桥梁工程设计费": 5000, "独立进行维修、加固的技术复杂大桥工程设计费": 5000, "独立进行维修、加固的隧道工程设计费": 5000, 招标费: 5000, }; if (typeof baseFigureMap !== "undefined") { const { fixedFlag } = commonConstants; const budgetMap = { // 清单固定类别是“建筑安装工程费”的以外部分可显示:取清单固定类别是“建筑安装工程”的金额 建筑安装工程费: { base: "JZAZGCF", fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE, filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE], pick: false, }, // 清单固定类别是“建筑安装工程费”的以外部分可显示。(定额设备购置费按40%计) 定额建筑安装工程费: { // base: "DEJZAZGCFSBSS", base: "DEJZAZGCF", 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: "DEJZAZGCFBHZXF", fixedFlag: null, filter: [fixedFlag.SPECIAL_COST], pick: true, }, "建筑安装工程费(不含安全生产费)": { base: "JZAZGCFBHAQSCF", // fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag: null, filter: [fixedFlag.SAFE_COST], pick: true, }, // 取清单固定类别是“养护工程其他费”的金额。“建筑安装工程费”、“养护工程其他费”以外部分可显示。 养护工程其他费: { base: "YHGCQTFY", fixedFlag: fixedFlag.MAINTENANCE_EXPENSES, filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES], pick: false, }, // 养护管理单位项目管理费: 按“定额建筑安装工程费”为基数,以累进办法计算。仅在清单固定类别是“养护工程其他费”的清单显示 养护管理单位项目管理费: { isProgressive: true, base: "YHDWXMGLF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 养护管理单位项目管理费: 按“定额建筑安装工程费”为基数,以累进办法计算。仅在清单固定类别是“养护工程其他费”的清单显示 养护项目信息化费: { isProgressive: true, base: "XXHF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 工程监理费: 按“定额建筑安装工程费”为基数,以累进办法计算。仅在清单固定类别是“养护工程其他费”的清单显示 工程监理费: { isProgressive: true, base: "GCJLF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 工程设计费: 按“定额建筑安装工程费”为基数,以累进办法计算。仅在清单固定类别是“养护工程其他费”的清单显示。不足5000元,按5000元计取。 工程设计费: { isProgressive: true, deficiency: 5000, base: "GCSJF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 设计文件审查费(一阶段): 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足3000元,按3000元计取。 "设计文件审查费(一阶段)": { isProgressive: true, deficiency: 3000, base: "SJWJSCFYJD", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 设计文件审查费(二阶段): 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足3000元,按3000元计取。 "设计文件审查费(二阶段)": { isProgressive: true, deficiency: 3000, base: "SJWJSCFEJD", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 采用一阶段施工图设计的养护工程项目前期工作费: 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足5000元,按5000元计取。 采用一阶段施工图设计的养护工程项目前期工作费: { isProgressive: true, deficiency: 5000, base: "SGTSJQQGZF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 采用一阶段技术(方案)设计的养护工程项目前期工作费: 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足5000元,按5000元计取。 "采用一阶段技术(方案)设计的养护工程项目前期工作费": { isProgressive: true, deficiency: 5000, base: "JSFASJQQGZF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 独立进行维修、加固的一般桥梁工程设计费: 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足5000元,按5000元计取。 "独立进行维修、加固的一般桥梁工程设计费": { isProgressive: true, deficiency: 5000, base: "DLLXJXWXJGDYBQLGCSJF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 独立进行维修、加固的技术复杂大桥工程设计费: 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足5000元,按5000元计取。 "独立进行维修、加固的技术复杂大桥工程设计费": { isProgressive: true, deficiency: 5000, base: "DLLXJXWXJGDJSFZDQGCSJF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 独立进行维修、加固的隧道工程设计费: 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足5000元,按5000元计取。 "独立进行维修、加固的隧道工程设计费": { isProgressive: true, deficiency: 5000, base: "DLLXJXWXJGDSDGCSJF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 招标费: 按“定额建筑安装工程费”为基数,以累进办法计算。只有清单固定类别是“养护工程其他费用”部分可显示。不足5000元,按5000元计取。 招标费: { isProgressive: true, deficiency: 5000, base: "ZBF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, // 工程保险费: 按“定额建筑安装工程费(不含设备费)”为基数,以0.4费率计算。仅清单固定类别是“养护工程其他费”可显示。 工程保险费: { base: "GCBXF", fixedFlag: null, filter: [fixedFlag.MAINTENANCE_EXPENSES], pick: true, }, 价差预备费: { base: "JCYBF", fixedFlag: null, filter: [fixedFlag.SPREAD_BUDGET_FEE], pick: true, }, }; const boqMap = { //仅允许用于固定类别是“第100章至700章清单”以外的清单 各章清单合计: { base: "GZQDHJ", fixedFlag: fixedFlag.ONE_SEVEN_BILLS, filter: [fixedFlag.ONE_SEVEN_BILLS], pick: false, }, //仅允许用于固定类别是“第100章至700章清单”以外的清单 专项暂定合计: { base: "ZXZDHJ", fixedFlag: null, filter: [fixedFlag.ONE_SEVEN_BILLS], pick: false, }, /* * 清单固定行[第100章至700章清单]下的[第100章清单]需要允许清单可使用基数{100章以外合计} * 因此{100章以外合计}不设置关联的清单固定行 * */ //仅允许用于固定类别为“100章清单”引用 "100章以外清单合计": { base: "YBZYHQDHJ", fixedFlag: null, filter: [fixedFlag.ONE_HUNDRED_BILLS], pick: true, }, }; baseFigureMap.budget = budgetMap; baseFigureMap.boq = boqMap; } // 清单基数 if (typeof baseFigureTemplate !== "undefined") { const { fixedFlag } = commonConstants; baseFigureTemplate.budget = { // 建筑安装工程费 JZAZGCF(tender) { return cbTools.getBaseFee(fixedFlag.CONSTRUCTION_INSTALL_FEE, tender, "common"); }, // 定额建筑安装工程费(定额设备购置费按40%计): 算法1:直接减去设备购置的60%,其它全部在(全额设备税金) DEJZAZGCF(tender) { const feeField = "rationCommon"; 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.bills.totalPrice); }, // 定额建筑安装工程费(定额设备购置费按40%计): 算法2:有“定额设备购置费”的清单,取其40% DEJZAZGCFSBSS(tender) { const feeField = "rationCommon"; //建安费扣除定额设备购置费 const afterDeductFee = cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.EQUIPMENT_ACQUISITION_FEE], tender, feeField, false); //定额设备购置费 const equipmentAcFee = cbTools.getBaseFee(fixedFlag.EQUIPMENT_ACQUISITION_FEE, tender, feeField); return (afterDeductFee + equipmentAcFee * 0.4).toDecimal(decimalObj.bills.totalPrice); }, // 建筑安装工程费(不含设备费):取清单固定类别是“建筑安装工程”的金额,但要扣除清单固定类别是“设备购置费”的金额 // JZAZGCFBHSB(tender) { // //建安费扣除设备费 // return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.EQUIPMENT_ACQUISITION_FEE], tender, "common"); // }, JZAZGCFBHSB(tender) { 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); }, // 土地使用及拆迁补偿费:取清单固定类别是“土地使用及拆迁补偿费”的金额 TDSYJCQBCF(tender) { return cbTools.getBaseFee(fixedFlag.LAND_USED_DEMOLITION, tender, "common"); }, // 养护工程其他费用:取清单固定类别是“养护工程其他费用”的金额 YHGCQTFY(tender) { return cbTools.getBaseFee(fixedFlag.MAINTENANCE_EXPENSES, tender, "common"); }, // 预备费:取清单固定类别是“预备费”的金额 YBF(tender) { return cbTools.getBaseFee(fixedFlag.BUDGET_FEE, tender, "common"); }, // 养护单位项目管理费 YHDWXMGLF(tender) { const baseFee = this.DEJZAZGCF(tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "养护单位项目管理费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, // 信息化费 XXHF(tender) { const baseFee = this.DEJZAZGCF(tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee(baseFee, "信息化费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency); }, // 工程监理费 GCJLF(tender) { const baseFee = this.DEJZAZGCF(tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee(baseFee, "工程监理费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency); }, // 价差预备费 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); }, // 定额建筑安装工程费(不含专项费用) // DEJZAZGCFBHZXF(tender) { // const baseFee = this["DEJZAZGCF"](tender); // const zxf = cbTools.getBaseFee(fixedFlag.SPECIAL_COST, tender, "rationCommon"); // return (baseFee - zxf).toDecimal(decimalObj.bills.totalPrice); // }, DEJZAZGCFBHZXF(tender) { // 定额建筑安装工程费(不含专项费用) return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.SPECIAL_COST], tender, "rationCommon", true); }, // {建筑安装工程费(不含安全生产费)} JZAZGCFBHAQSCF(tender) { return cbTools.getFeeWithDeduction(fixedFlag.CONSTRUCTION_INSTALL_FEE, [fixedFlag.SAFE_COST], tender, "common"); }, GCSJF(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee(baseFee, "工程设计费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency); }, SJWJSCFYJD(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "设计文件审查费(一阶段)", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, SJWJSCFEJD(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "设计文件审查费(二阶段)", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, DLLXJXWXJGDYBQLGCSJF(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "独立进行维修、加固的一般桥梁工程设计费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, DLLXJXWXJGDJSFZDQGCSJF(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "独立进行维修、加固的技术复杂大桥工程设计费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, DLLXJXWXJGDSDGCSJF(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "独立进行维修、加固的隧道工程设计费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, ZBF(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee(baseFee, "招标费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency); }, SGTSJQQGZF(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "采用一阶段施工图设计的养护工程项目前期工作费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, JSFASJQQGZF(tender) { const baseFee = this["DEJZAZGCF"](tender); if (!tender) { calcBase.baseProgressiveFee = baseFee; } return calculateUtil.getProgressiveFee( baseFee, "采用一阶段技术(方案)设计的养护工程项目前期工作费", projectObj.project.property.progressiveInterval, decimalObj.bills.totalPrice, deficiency ); }, GCBXF(tender) { return (this.JZAZGCFBHSB(tender) * 0.004).toDecimal(decimalObj.bills.totalPrice); }, }; baseFigureTemplate.boq = { //{各章清单合计} // 取清单固定类别是“第100章至700章清单”的金额 GZQDHJ: function (tender) { return cbTools.getBaseFee(calcBase.fixedFlag.ONE_SEVEN_BILLS, tender, "common"); }, //{专项暂定合计} // 第100章至700章清单行的暂估合价 ZXZDHJ: function (tender) { return cbTools.getBaseFee(calcBase.fixedFlag.ONE_SEVEN_BILLS, tender, "estimate"); }, //{100章以外清单合计} // 取清单固定清单[第100章至700章清单]的金额,但扣除清单100章下的金额。 // 如果是固定清单[第100章至700章清单]下100章以外清单引用此基数,要排除自身(目前只允许100章的清单使用,所以暂时不需要此判断) YBZYHQDHJ: function (tender) { let oneToSeven = cbTools.findNodeByFlag(fixedFlag.ONE_SEVEN_BILLS); if (!oneToSeven) { return 0; } //100-700章固定节点的所有子节点 let allChildren = []; function getChildren(nodes) { allChildren = allChildren.concat(nodes); for (let node of nodes) { if (node.children.length > 0) { getChildren(node.children); } } } getChildren(oneToSeven.children); //扣除的节点:100章的节点[100-200) let deductNodes = allChildren.filter(cbTools.withingOneHundred); //计算金额 let fullFeeField = tender ? "common.tenderTotalFee" : "common.totalFee"; return projectObj.project.calcProgram.getTotalFee([oneToSeven], deductNodes, fullFeeField).toDecimal(decimalObj.bills.totalPrice); }, // 清单项目基数:{定额建筑安装工程费(定额设备购置费按40%计)} 算法:取清单固定类别是“第100章至700章清单”的定额建安费(其中定额设备费+设备税金之和按40%计算)。显示:只有清单固定类别是“第100章清单总则”的部分可显示。 DEJZAZGCF(tender) { const baseFee = cbTools.getBaseFee(fixedFlag.ONE_SEVEN_BILLS, tender, "rationCommon"); const fixedNode = projectObj.project.mainTree.roots.find((node) => node.getFlag() === fixedFlag.ONE_SEVEN_BILLS); const equipmentTaxFee = cbTools.getEquipmentFee(fixedNode, tender, "rationCommon"); return (baseFee - equipmentTaxFee * 0.6).toDecimal(decimalObj.bills.totalPrice); }, }; } if (typeof materialCalcObj !== "undefined" && materialCalcObj.rationSetting) { let h = _.find(materialCalcObj.rationSetting.header, { dataCode: "feeType" }); if (h) h.visible = true; let mt = _.find(materialCalcObj.freightSetting.header, { dataCode: "materialType" }); if (mt) mt.visible = true; } //内蒙施工进出场(km)费率值修改特殊处理 if (typeof feeRateObject !== "undefined") { feeRateObject.feeRateSpecialHandle = function (subRate, value) { let result = {}; if (subRate.name == "施工进出场(km)" && value && value < 5) { result.valueKey = "5"; // 5km 内按 5km 计。 result.value = scMathUtil.roundForObj(value, getDecimal("feeRate")); } return result; }; } if (typeof module !== "undefined") { const defaultDecimal = { bills: { unitPrice: 2, totalPrice: 0 }, ration: { quantity: 3, unitPrice: 2, totalPrice: 0 }, glj: { quantity: 3, unitPriceHasMix: 2, unitPrice: 2 }, feeRate: 4, quantity_detail: 4, material: 5, process: 6, marketPriceProcess: 2, temProcess: 6, }; module.exports = { progression, deficiency, defaultDecimal, }; } if (typeof projectObj !== "undefined") { projectObj.isInsertEquipmentVisable = function (selected) { // if (projectObj.project.property.valuationType !== "ration") { // //预算项目中,右键“插入设备”,仅在第一部分中显示。 // return projectObj.project.Bills.isConstructionInstall(selected); // } return true; }; }