/** * Created by CSL on 2017-07-19. */ // dispExpr: F8*(L-1); expression: "@('8') * (L-1)"; // 说明:F后跟行号,L替换人工系数值,@后跟ID。用到L的规则必须有labourCoeID属性(反过来不要求), // 用到费率的规则必须有feeRateID属性,当有该属性时,会自动显示费率值。 let calcTemplates = [ { ID: 1, name: "重庆2015", compiledSeq: [], calcItems: [ { ID: "1", code: "1", name: "基价直接工程费", fieldName: "baseDirect", dispExpr: "F2+F5+F6+F10", expression: "@('2') + @('5') + @('6') + @('10')", compiledExpr: "", statement: "基价人工费+基价材料费+基价机械费+未计价材料费" }, { ID: "2", code: "1.1", name: "基价人工费", fieldName: "baseLabour", dispExpr: "F3+F4", expression: "@('3') + @('4')", compiledExpr: "", statement: "定额基价人工费+定额人工单价(基价)调整" }, { ID: "3", code: "1.1.1", name: "定额基价人工费", fieldName: "rationBaseLabour", dispExpr: "[定额基价人工费]", expression: "base('定额基价人工费').toFixed(2)", compiledExpr: "", statement: "定额基价人工费" }, { ID: "4", code: "1.1.2", name: "定额人工单价(基价)调整", fieldName: "rationLabourFixed", dispExpr: "F3*(L-1)", expression: "@('3') * (L-1)", labourCoeID: 2, compiledExpr: "", statement: "定额基价人工费*[定额人工单价(基价)调整系数-1]", memo: "渝建发(2013)51" }, { ID: "5", code: "1.2", name: "基价材料费", fieldName: "baseMaterial", dispExpr: "[定额基价材料费]", expression: "base('定额基价材料费')", compiledExpr: "", statement: "定额基价材料费" }, { ID: "6", code: "1.3", name: "基价机械费", fieldName: "baseMachine", dispExpr: "F7+F9", expression: "@('7') + @('9')", compiledExpr: "", statement: "定额基价机械费+定额机上人工单价(基价)调整" }, { ID: "7", code: "1.3.1", name: "定额基价机械费", fieldName: "rationBaseMachine", dispExpr: "[定额基价机械费]", expression: "base('定额基价机械费')", compiledExpr: "", statement: "定额基价机械费" }, { ID: "8", code: "1.3.1.1", name: "其中:定额基价机上人工费", fieldName: "rationBaseMachineLabour", dispExpr: "[定额基价机上人工费]", expression: "base('定额基价机上人工费')", compiledExpr: "", statement: "定额基价机上人工费" }, { ID: "9", code: "1.3.2", name: "定额机上人工单价(基价)调整", fieldName: "rationBaseMachineLabourFixed", dispExpr: "F8*(L-1)", expression: "@('8') * (L-1)", labourCoeID: 11, compiledExpr: "", statement: "定额基价机上人工费*[定额机上人工单价(基价)调整系数-1]" }, { ID: "10", code: "1.4", name: "未计价材料费", fieldName: "unPriceMaterial", dispExpr: "[主材费]+[设备费]", expression: "base('主材费') + base('设备费')", compiledExpr: "", statement: "主材费+设备费" }, { ID: "11", code: "2", name: "企业管理费", fieldName: "manageFee", dispExpr: "F3", feeRateID: 3, expression: "@('3')", compiledExpr: "", statement: "定额基价人工费", memo: "渝建发[2014]27号" }, { ID: "12", code: "3", name: "利润", fieldName: "profit", dispExpr: "F3", feeRateID: 4, expression: "@('3')", compiledExpr: "", statement: "定额基价人工费" }, { ID: "13", code: "4", name: "风险因素", fieldName: "risk", dispExpr: "F3", feeRateID: 5, expression: "@('3')", compiledExpr: "", statement: "定额基价人工费", memo: "同定额包干费" }, { ID: "14", code: "5", name: "人材机价差", fieldName: "lmmDiff", dispExpr: "F15+F16+F17", expression: "@('15') + @('16') + @('17')", compiledExpr: "", statement: "人工费价差+材料费价差+机械费价差" }, { ID: "15", code: "5.1", name: "人工费价差", fieldName: "labourDiff", dispExpr: "[人工费价差]", expression: "base('市场价格人工费') - base('定额基价人工费(调整后)')", compiledExpr: "", statement: "市场价格人工费-调整后的定额人工费(基价)" }, { ID: "16", code: "5.2", name: "材料费价差", fieldName: "materialDiff", dispExpr: "[材料费价差]", expression: "base('市场价格材料费') - base('定额基价材料费(调整后)')", compiledExpr: "", statement: "市场价格材料费-定额基价材料费" }, { ID: "17", code: "5.3", name: "机械费价差", fieldName: "machineDiff", dispExpr: "[机械费价差]", expression: "base('市场价格机械费') - base('定额基价机械费(调整后)')", compiledExpr: "", statement: "市场价格机械费-调整后的定额基价机械费(基价)" }, { ID: "18", code: "6", name: "综合单价", fieldName: "common", dispExpr: "F1+F11+F12+F13+F14", expression: "@('1') + @('11') + @('12') + @('13') + @('14')", compiledExpr: "", statement: "基价直接工程费+企业管理费+利润+风险因素+人材机价差" } ] } ]; let calcFeeRates = [ { "ID" : 1, "ParentID" : null, "name" : "企业管理费", "rate" : null, "memo" : null }, { "ID" : 2, "ParentID" : 1, "name" : "建筑工程", "rate" : null, "memo" : null }, { "ID" : 3, "ParentID" : 2, "name" : "一类工程", "rate" : 16.03, "memo" : null }, { "ID" : 4, "ParentID" : 2, "name" : "二类工程", "rate" : 14.95, "memo" : null }, { "ID" : 5, "ParentID" : 2, "name" : "三类工程", "rate" : 12.47, "memo" : null }, { "ID" : 6, "ParentID" : 2, "name" : "四类工程", "rate" : 9.3, "memo" : null }, { "ID" : 7, "ParentID" : 1, "name" : "市政工程", "rate" : null, "memo" : null }, { "ID" : 8, "ParentID" : 7, "name" : "一类工程", "rate" : 16.33, "memo" : null }, { "ID" : 9, "ParentID" : 7, "name" : "二类工程", "rate" : 15, "memo" : null }, { "ID" : 10, "ParentID" : 7, "name" : "三类工程", "rate" : 12.5, "memo" : null }, { "ID" : 11, "ParentID" : 7, "name" : "四类工程", "rate" : 9.5, "memo" : null }, { "ID" : 12, "ParentID" : 1, "name" : "机械土石方", "rate" : 15.5, "memo" : null }, { "ID" : 13, "ParentID" : 1, "name" : "仿古建筑工程", "rate" : 12, "memo" : null }, { "ID" : 14, "ParentID" : 1, "name" : "建筑修缮工程", "rate" : 12.47, "memo" : null }, { "ID" : 15, "ParentID" : 1, "name" : "炉窑砌筑工程", "rate" : null, "memo" : null }, { "ID" : 16, "ParentID" : 15, "name" : "一类工程", "rate" : 14.25, "memo" : null }, { "ID" : 17, "ParentID" : 15, "name" : "二类工程", "rate" : 12.47, "memo" : null }, { "ID" : 18, "ParentID" : 15, "name" : "三类工程", "rate" : 10.8, "memo" : null }, { "ID" : 19, "ParentID" : 15, "name" : "四类工程", "rate" : null, "memo" : null }, { "ID" : 20, "ParentID" : null, "name" : "规费", "rate" : null, "memo" : null }, { "ID" : 21, "ParentID" : 20, "name" : "建筑工程", "rate" : 4.87, "memo" : null }, { "ID" : 22, "ParentID" : 20, "name" : "市政工程", "rate" : 3.61, "memo" : null }, { "ID" : 23, "ParentID" : 20, "name" : "机械土石方", "rate" : 2.15, "memo" : null }, { "ID" : 24, "ParentID" : 20, "name" : "仿古建筑工程", "rate" : 2.84, "memo" : null }, { "ID" : 25, "ParentID" : 20, "name" : "建筑修缮工程", "rate" : 2.84, "memo" : null }, { "ID" : 26, "ParentID" : 20, "name" : "炉窑砌筑工程", "rate" : 3.61, "memo" : null }, { "ID" : 27, "ParentID" : null, "name" : "利润", "rate" : null, "memo" : null }, { "ID" : 28, "ParentID" : 27, "name" : "建筑工程", "rate" : null, "memo" : null }, { "ID" : 29, "ParentID" : 28, "name" : "一类工程", "rate" : 8.73, "memo" : null }, { "ID" : 30, "ParentID" : 28, "name" : "二类工程", "rate" : 6.94, "memo" : null } ]; let calcLabourCoes = [ { "ID" : 1, "ParentID" : null, "name" : "2006概算定额", "coe" : null }, { "ID" : 2, "ParentID" : 1, "name" : "土石方人工", "coe" : 2.94 }, { "ID" : 3, "ParentID" : 1, "name" : "建筑、市政、维修人工", "coe" : 2.84 }, { "ID" : 4, "ParentID" : 1, "name" : "装饰人工", "coe" : 1 }, { "ID" : 5, "ParentID" : 1, "name" : "安装、机械人工", "coe" :2.58 }, { "ID" : 6, "ParentID" : 1, "name" : "仿古、园林绿化人工", "coe" :1 }, { "ID" : 7, "ParentID" : 1, "name" : "盾构用工", "coe" :1 }, { "ID" : 8, "ParentID" : null, "name" : "2008计价定额", "coe" :null }, { "ID" : 9, "ParentID" : 8, "name" : "土石方人工", "coe" : 2.41 }, { "ID" : 10, "ParentID" : 8, "name" : "建筑、市政、维修人工", "coe" : 2.48 }, { "ID" : 11, "ParentID" : 8, "name" : "装饰人工", "coe" : 3.04 }, { "ID" : 12, "ParentID" : 8, "name" : "安装、机械人工", "coe" :2.39 }, { "ID" : 13, "ParentID" : 8, "name" : "仿古、园林绿化人工", "coe" :2.39 }, { "ID" : 14, "ParentID" : 8, "name" : "盾构用工", "coe" :1 }, { "ID" : 15, "ParentID" : null, "name" : "2011轨道定额", "coe" :null }, { "ID" : 16, "ParentID" : 15, "name" : "土石方人工", "coe" : 1.51 }, { "ID" : 17, "ParentID" : 15, "name" : "建筑、市政、维修人工", "coe" : 1.55 }, { "ID" : 18, "ParentID" : 15, "name" : "装饰人工", "coe" : 1 }, { "ID" : 19, "ParentID" : 15, "name" : "安装、机械人工", "coe" :1.49 }, { "ID" : 20, "ParentID" : 15, "name" : "仿古、园林绿化人工", "coe" :1 }, { "ID" : 21, "ParentID" : 15, "name" : "盾构用工", "coe" :1.49 } ]; class RationProgram { constructor(project){ this.project = project; this.calc = new Calculation(); }; compileAllTemps(){ for (let calcTemplate of calcTemplates){ this.calc.compile(calcTemplate, calcFeeRates, calcLabourCoes); }; }; compile(calcTemplate){ this.calc.compile(calcTemplate, calcFeeRates, calcLabourCoes); }; calculate(ration){ ration.data.gljList = this.project.ration_glj.getGljArrByRation(ration.data.ID); this.calc.calculate(ration); }; }