/** * Created by zhang on 2018/8/14. */ if(typeof projectGljObject !== 'undefined'){ projectGljObject.displayTypeMap=[ {ID:'LABOUR',text:'人工'}, {ID:'GENERAL_MATERIAL',text:'材料'}, {ID:'GENERAL_MACHINE',text:'施工机具'},//重庆2018定额中去掉了主材,机械的显示改为了施工机具 {ID:'MAIN_MATERIAL',text:'主材'} ]; } if(typeof gljUtil !== 'undefined'){ gljUtil.hasCompMachine = [301,304];//有组成物的机械 gljUtil.machineComposition = [303,305,306,307,308,309,310,311];//可以做为机械组成物的类型 } //允许使用的工料机类型:人工、普通材料、混凝土、砂浆、配合比、商品混凝土、商品砂浆、其他材料费、机械台班、机上人工、仪器仪表、燃料动力费、折旧费、 // 检修费、维护费、安拆费及场外运费、校验费、其他费用、主材、企业管理费、利润、一般风险费 if(typeof allowGljType !== 'undefined'){ allowGljType = [1, 201, 202, 203, 204, 205, 206, 207, 301, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 4, 6, 7, 8]; } if(typeof allowComponent !== 'undefined'){ //允许含有组成物的工料机类型:混凝土、砂浆、配合比、机械台班、仪器仪表、主材 allowComponent = [202, 203, 204, 301, 304, 4]; } if(typeof componentType !== 'undefined'){ //可以作为组成物的工料机类型:普通材料、机上人工、燃料动力费、折旧费、检修费、维护费、安拆费及场外运费、校验费、其他费用、主材 componentType = [201, 303, 305, 306, 307, 308, 309, 310, 311, 4]; } if(typeof machineAllowComponent !== 'undefined'){ //允许含有组成物的机械工料机类型:机械台班、仪器仪表 machineAllowComponent = [301, 304]; } if(typeof machineComponent !== 'undefined'){ //可以作为机械工料机组成物的工料机类型:机械组成物、机上人工、燃料动力费、折旧费、检修费、维护费、安拆费及场外运费、校验费、其他费用 machineComponent = [303, 305, 306, 307, 308, 309, 310, 311]; } if(typeof materialAllowComponent !== 'undefined'){ //允许含有组成物的材料工料机类型:混凝土、砂浆、配合比 materialAllowComponent = [202, 203, 204]; } if(typeof materialComponent !== 'undefined'){ //可以作为材料工料机组成物的工料机类型:普通材料 materialComponent = [201]; } // CSL, 2018-08-21 计算程序、基数 的覆盖。--------------------------------------------------------------------------------- const baseMachineTypes_CQ_2018_JX = [ // 重庆2018新定额施工机具之三大机械类型 gljType.GENERAL_MACHINE, gljType.INSTRUMENT, gljType.OTHER_MACHINE_USED ]; baseMaterialTypes.push(gljType.OTHER_MATERIAL); allMaterialTypes.delete(gljType.EQUIPMENT); baseMachineTypes.delete(gljType.MACHINE_COMPOSITION); baseMachineTypes.push(gljType.INSTRUMENT, gljType.FUEL_POWER_FEE, gljType.DEPRECIATION_FEE, gljType.INSPECTION_FEE, gljType.MAINTENANCE, gljType.DISMANTLING_FREIGHT_FEE, gljType.VERIFICATION_FEE, gljType.OTHER_FEE, gljType.OTHER_MACHINE_USED); baseMachineMasterTypes.push(gljType.INSTRUMENT); if (rationCalcBases){ changePropNames(rationCalcBases, ['定额基价人工费', '定额基价材料费', '甲供定额基价人工费', '甲供定额基价材料费', '甲定定额基价人工费', '甲定定额基价材料费', '分包定额基价人工费','分包定额基价材料费'], ['定额人工费', '定额材料费', '甲供定额人工费', '甲供定额材料费', '甲定定额人工费', '甲定定额材料费', '分包定额人工费','分包定额材料费'] ); deletePropNames(rationCalcBases, [ '定额基价机械费', '定额基价机上人工费', '机械费价差', '主材费价差', '设备费价差','甲供定额基价机械费','甲定定额基价机械费', '设备费', '甲供设备费', '甲定设备费', '分包设备费', '分包定额基价机械费']); rationCalcBases['定额其他材料费'] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.OTHER_MATERIAL], priceTypes.ptBasePrice, isTender); }, rationCalcBases['定额施工机具使用费'] = function (node, isTender) { return calcTools.rationBaseFee(node, baseMachineTypes_CQ_2018_JX, priceTypes.ptBasePrice, isTender); }, rationCalcBases['计价材料价差'] = function (node, isTender) { let baseMaterialTypesWithoutOtherMaterial = [ gljType.GENERAL_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO, gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR ]; return calcTools.rationBaseFee(node, baseMaterialTypesWithoutOtherMaterial, priceTypes.ptDiffPrice, isTender); }, rationCalcBases['机上人工费价差'] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.MACHINE_LABOUR], priceTypes.ptDiffPrice, isTender); }; rationCalcBases['主材费(市场价)'] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender); }; rationCalcBases['机械燃料动力费价差'] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.FUEL_POWER_FEE], priceTypes.ptDiffPrice, isTender); }; rationCalcBases['机械折旧费'] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [], baseMachineMasterTypes, gljType.DEPRECIATION_FEE, isTender); }; rationCalcBases['特大机械检修费'] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [1, 2], baseMachineMasterTypes, gljType.INSPECTION_FEE, isTender); }; rationCalcBases['中小机械检修费'] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [3, 4], baseMachineMasterTypes, gljType.INSPECTION_FEE, isTender); }; rationCalcBases['特大机械维护费'] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [1, 2], baseMachineMasterTypes, gljType.MAINTENANCE, isTender); }; rationCalcBases['中小机械维护费'] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [3, 4], baseMachineMasterTypes, gljType.MAINTENANCE, isTender); }; rationCalcBases['机械安拆费及场外运输费'] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [], baseMachineMasterTypes, gljType.DISMANTLING_FREIGHT_FEE, isTender); }; rationCalcBases['机械燃料动力费'] = function (node, isTender) { return calcTools.machineDetailFee(node, node.data.gljList, [], baseMachineMasterTypes, gljType.FUEL_POWER_FEE, isTender); }; rationCalcBases['定额仪器仪表费'] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.INSTRUMENT], priceTypes.ptBasePrice, isTender); }, rationCalcBases['定额其他施工机具使用费'] = function (node, isTender) { return calcTools.rationBaseFee(node, [gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, isTender); }, rationCalcBases['甲供定额施工机具费'] = function (node, isTender) { return calcTools.partASupplyFee(node, rationCalcBasesNameMap.JGDESGJJF, isTender); }; rationCalcBases['甲定定额施工机具费'] = function (node, isTender) { return calcTools.partASupplyFee(node, rationCalcBasesNameMap.JDDESGJJF, isTender); }; rationCalcBases['分包定额施工机具费'] = function (node, isTender) { if (node.data.isSubcontract) return calcTools.rationBaseFee(node, [gljType.GENERAL_MACHINE, gljType.INSTRUMENT, gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, isTender) else return 0; }; rationCalcBases['建筑面积'] = function (node, isTender) { return calcTools.getProjectFeatureProperty('buildingArea'); }; }; if (rationCalcBasesNameMap) { let str = '基价'; for (let pn in rationCalcBasesNameMap){ if (rationCalcBasesNameMap[pn].includes(str)) rationCalcBasesNameMap[pn] = rationCalcBasesNameMap[pn].replace(new RegExp(str, "g"), ''); }; rationCalcBasesNameMap.DEQTCLF = '定额其他材料费'; rationCalcBasesNameMap.DESGJJSYF = '定额施工机具使用费'; rationCalcBasesNameMap.JJCLJC = '计价材料价差'; rationCalcBasesNameMap.JSRGFJC = '机上人工费价差'; rationCalcBasesNameMap.JXRLDLFJC = '机械燃料动力费价差'; rationCalcBasesNameMap.JXZJF = '机械折旧费'; rationCalcBasesNameMap.TDJXJXF = '特大机械检修费'; rationCalcBasesNameMap.ZXJXJXF = '中小机械检修费'; rationCalcBasesNameMap.TDJXWHF = '特大机械维护费'; rationCalcBasesNameMap.ZXJXWHF = '中小机械维护费'; rationCalcBasesNameMap.XXACJCWYSF = '机械安拆费及场外运输费'; rationCalcBasesNameMap.JXRLDLF = '机械燃料动力费'; rationCalcBasesNameMap.DEYQYBF = '定额仪器仪表费'; rationCalcBasesNameMap.DEQTSGJJSYF = '定额其他施工机具使用费'; rationCalcBasesNameMap.JGDESGJJF = '甲供定额施工机具费'; rationCalcBasesNameMap.JDDESGJJF = '甲定定额施工机具费'; rationCalcBasesNameMap.FGDESGJJF = '分包定额施工机具费'; rationCalcBasesNameMap.ZCF_SCJ = '主材费(市场价)'; rationCalcBasesNameMap.JZMJ = '建筑面积'; }; var cpFeeTypes2018 = [ {type: 'rationUnitPrice', name: '定额综合单价'}, {type: 'labour', name: '人工费'}, {type: 'material', name: '材料费'}, {type: 'machine', name: '施工机具使用费'}, {type: 'mainMaterial', name: '主材费'}, {type: 'manage', name: '企业管理费'}, {type: 'profit', name: '利润'}, {type: 'risk', name: '一般风险费'}, {type: 'labourDiff', name: '人工价差'}, {type: 'materialDiff', name: '材料价差'}, {type: 'machineDiff', name: '施工机具使用价差'}, {type: 'otherRisk', name: '其他风险费'}, {type: 'unratedMaterial', name: '未计价材料费'}, {type: 'organizeMeasures', name: '组织措施费'}, {type: 'safeCivilization', name: '安全文明施工费'}, {type: 'document', name: '建设工程竣工档案编制费'}, {type: 'acceptance', name: '住宅工程质量分户验收费'}, {type: 'forceFee', name: '规费'}, {type: 'tax', name: '税金'}, {type: 'VAT', name: '增值税'}, {type: 'surtax', name: '附加税'}, {type: 'environmentTax', name: '环境保护税'}, {type: 'common', name: '工程造价'} ]; cpFeeTypes.splice(0, cpFeeTypes.length); for (let e of cpFeeTypes2018) cpFeeTypes.push(e);