123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- /**
- * 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){
- for (let key in rationCalcBases) {
- delete rationCalcBases[key];
- };
- 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, [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) {
- return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender);
- };
- rationCalcBases['人工工日'] = function (node, isTender) {
- return calcTools.labourDays(node, isTender);
- };
- rationCalcBases['人工费价差'] = function (node, isTender) {
- return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptDiffPrice, isTender);
- };
- rationCalcBases['材料费价差'] = function (node, isTender) {
- return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptDiffPrice, 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.FUEL_POWER_FEE], priceTypes.ptDiffPrice, isTender);
- };
- rationCalcBases['定额其他施工机具使用费'] = function (node, isTender) {
- return calcTools.rationBaseFee(node, [gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, 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.getProjectFeatureProperty('buildingArea');
- };
- rationCalcBases['甲供定额人工费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲供定额人工费', isTender);
- };
- rationCalcBases['甲供定额材料费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲供定额材料费', isTender);
- };
- rationCalcBases['甲供定额施工机具费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲供定额施工机具费', isTender);
- };
- rationCalcBases['甲供主材费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲供主材费', isTender);
- };
- rationCalcBases['甲定定额人工费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲定定额人工费', isTender);
- };
- rationCalcBases['甲定定额材料费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲定定额材料费', isTender);
- };
- rationCalcBases['甲定定额施工机具费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲定定额施工机具费', isTender);
- };
- rationCalcBases['甲定主材费'] = function (node, isTender) {
- return calcTools.partASupplyFee(node, '甲定主材费', isTender);
- };
- rationCalcBases['暂估材料费'] = function (node, isTender) {
- return calcTools.estimateFee(node, true, 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;
- // };
- };
- 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);
- //清单计算基数相关
- if(typeof baseFigureMap !== 'undefined'){
- baseFigureMap = {
- //与清单直接关联=======
- '分部分项工程费': {base: 'FBFXGCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
- '分部分项定额人工费': {base: 'FBFXDEJJRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
- '分部分项定额材料费': {base: 'FBFXDEJJCLF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
- '分部分项定额施工机具使用费': {base: 'FBFXDEJJJXF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
- '分部分项主材费': {base: 'FBFXZCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
- '分部分项人工工日': {base: 'FBFXRGGR', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
- '措施项目费': {base: 'CSXMF', fixedFlag: fixedFlag.MEASURE, class: 'CSXM'},
- '组织措施项目费': {base: 'ZZCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
- '组织措施项目定额人工费': {base: 'ZZCSXMDEJJRGF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
- '组织措施项目定额材料费': {base: 'ZZCSXMDEJJCLF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
- '组织措施项目定额施工机具使用费': {base: 'ZZCSXMDEJJJXF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
- '安全文明施工专项费': {base: 'AQWMSGZXF', fixedFlag: fixedFlag.SAFETY_CONSTRUCTION, class: 'CSXM'},
- '技术措施项目费': {base: 'JSCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
- '技术措施项目定额人工费': {base: 'JSCSXMDEJJRGF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
- '技术措施项目定额材料费': {base: 'JSCSXMDEJJCLF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
- '技术措施项目定额施工机具使用费': {base: 'JSCSXMDEJJJXF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
- '技术措施项目主材费': {base: 'JSCSXMZCF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
- '技术措施项目人工工日': {base: 'JSCSXMRGGR', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
- '其他项目费': {base: 'QTXMF', fixedFlag: fixedFlag.OTHER, class: 'QTXM'},
- '规费': {base: 'GF', fixedFlag: fixedFlag.CHARGE, class: 'GF'},
- '税金': {base: 'SJ', fixedFlag: fixedFlag.TAX, class: 'SJ'},
- '增值税': {base: 'ZZS', class: 'SJ', fixedFlag: fixedFlag.ADDED_VALUE_TAX},
- //不于清单直接关联==========
- '建筑面积': {base: 'JZMJ', class: 'FBFX'},
- '人材机价差': {base: 'RCJJC', class: 'RCJ'},
- '人工价差': {base: 'RGJC', class: 'RCJ'},
- '材料价差': {base: 'CLJC', class: 'RCJ'},
- '施工机具使用费价差': {base: 'JXJC', class: 'RCJ'},
- '分部分项人材机价差': {base: 'FBFXRCJJC', class: 'RCJ'},
- '分部分项人工价差': {base: 'FBFXRGJC', class: 'RCJ'},
- '分部分项材料价差': {base: 'FBFXCLJC', class: 'RCJ'},
- '分部分项施工机具使用费价差': {base: 'FBFXJXJC', class: 'RCJ'},
- '技术措施项目人材机价差': {base: 'JSCSXMRCJJC', class: 'RCJ'},
- '技术措施项目人工价差': {base: 'JSCSXMRGJC', class: 'RCJ'},
- '技术措施项目材料价差': {base: 'JSCSXMCLJC', class: 'RCJ'},
- '技术措施项目施工机具使用费价差': {base: 'JSCSXMJXJC', class: 'RCJ'},
- '甲供定额人工费': {base: 'JGDEJJRGF', class: 'RCJ'},
- '甲供定额材料费': {base: 'JGDEJJCLF', class: 'RCJ'},
- '甲供定额施工机具使用费': {base: 'JGDEJJJXF', class: 'RCJ'},
- '甲供人工费': {base: 'JGRGF', class: 'RCJ'},
- '甲供材料费': {base: 'JGCLF', class: 'RCJ'},
- '甲供施工机具使用费费': {base: 'JGJXF', class: 'RCJ'},
- '甲供主材费': {base: 'JGZCF', class: 'RCJ'},
- '甲定定额人工费': {base: 'JDDEJJRGF', class: 'RCJ'},
- '甲定定额材料费': {base: 'JDDEJJCLF', class: 'RCJ'},
- '甲定定额施工机具使用费': {base: 'JDDEJJJXF', class: 'RCJ'},
- '甲定人工费': {base: 'JDRGF', class: 'RCJ'},
- '甲定材料费': {base: 'JDCLF', class: 'RCJ'},
- '甲定施工机具使用费': {base: 'JDJXF', class: 'RCJ'},
- '甲定主材费': {base: 'JDZCF', class: 'RCJ'},
- '暂估材料费(从子目汇总)': {base: 'ZGCLFFZM', class: 'RCJ'},
- '税前工程造价': {base: 'SQGCZJ', class: 'SQGCZJ', multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE]},//安全文明施工专项费用使用
- };
- }
- if(typeof baseFigureTemplate !== 'undefined'){
- baseFigureTemplate['ZZS'] = function (tender) {//增值税
- if(cbTools.isUnDef(calcBase.fixedBills[fixedFlag.ADDED_VALUE_TAX])){
- return 0;
- }
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
- let bill = calcBase.fixedBills[fixedFlag.ADDED_VALUE_TAX]['bill'];
- if(cbTools.isUnDef(bill)) return 0;
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
- };
- }
- if(typeof figureClassTemplate !== 'undefined'){
- figureClassTemplate['ADDED_VALUE_TAX'] = {flag: fixedFlag.ADDED_VALUE_TAX, filter: ['SJ', 'ZZS', 'SQGCZJ']}
- };
- //去除分类分包费
- if($('#cbClassList')){
- $('#cbClassList').find('li:eq(5)').remove();
- }
|