123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- /**
- * Created by Mai on 2017/7/13.
- */
- let rationCalcFields = [
- {
- type: 'baseDirect', code: "1", name: "基价直接工程费",
- dispExpr: "1.1+1.2+1.3+1.4", expression: "@('1.1') + @('1.2') + @('1.3') + @('1.4')", compiledExpr: "",
- statement: "基价人工费+基价材料费+基价机械费+未计价材料费"
- },{
- type: 'baseLabour', code: "1.1", name: "基价人工费",
- dispExpr: "1.1.1+1.1.2", expression: "@('1.1.1') + @('1.1.2')", compiledExpr: "",
- statement: "定额基价人工费+定额人工单价(基价)调整"
- },{
- type: 'rationBaseLabour', code: "1.1.1", name: "定额基价人工费",
- dispExpr: "定额基价人工费", expression: "base('定额基价人工费').toFixed(2)", compiledExpr: "",
- statement: "定额基价人工费"
- },{
- type: 'rationAdjustLabour', code: "1.1.2", name: "定额人工单价(基价)调整",
- dispExpr: "1.1.1*[1.89-1]", expression: "@('1.1.1') * fee('3')", compiledExpr: "",
- statement: "定额基价人工费*[定额人工单价(基价)调整系数-1]"
- },{
- type: 'baseMaterial', code: "1.2", name: "基价材料费",
- dispExpr: "定额基价材料费", expression: "base('定额基价材料费')", compiledExpr: "",
- statement: "定额基价材料费"
- },{
- type: 'baseMachine', code: "1.3", name: "基价机械费",
- dispExpr: "1.3.1+1.3.2", expression: "@('1.3.1') + @('1.3.2')", compiledExpr: "",
- statement: "定额基价机械费+定额机上人工单价(基价)调整"
- },{
- type: 'rationBaseMachine', code: "1.3.1", name: "定额基价机械费",
- dispExpr: "定额基价机械费", expression: "base('定额基价机械费')", compiledExpr: "",
- statement: "定额基价机械费"
- },{
- type: 'rationBaseMachineLabour', code: "1.3.1.1", name: "其中:定额基价机上人工费",
- dispExpr: "定额基价机上人工费", expression: "base('定额基价机上人工费')", compiledExpr: "",
- statement: "定额基价机上人工费"
- },{
- type: 'rationBaseMachineLabourFixed', code: "1.3.2", name: "定额机上人工单价(基价)调整",
- dispExpr: "1.3.1.1*[1.89-1]", expression: "@('1.3.1.1') * fee('30')", compiledExpr: "",
- statement: "定额基价机上人工费*[定额人工单价(基价)调整系数-1]"
- },{
- type: 'unPriceMaterial', code: "1.4", name: "未计价材料费",
- dispExpr: "主材费+设备费", expression: "base('主材费') + base('设备费')", compiledExpr: "",
- statement: "主材费+设备费"
- },{
- type: 'management', code: "2", name: "企业管理费",
- dispExpr: "1.1.1", expression: "@('1.1.1')", compiledExpr: "",
- statement: "定额基价人工费"
- },{
- type: 'profit', code: "3", name: "利润",
- dispExpr: "1.1.1", expression: "@('1.1.1')", compiledExpr: "",
- statement: "定额基价人工费"
- },{
- type: 'risk', code: "4", name: "风险因素",
- dispExpr: "", expression: "0", compiledExpr: "",
- statement: ""
- },{
- type: 'gljDiff', code: "5", name: "人材机价差",
- dispExpr: "5.1+5.2+5.3", expression: "@('5.1') + @('5.2') + @('5.3')", compiledExpr: "",
- statement: "人工费价差+材料费价差+机械费价差"
- },{
- type: 'labourDiff', code: "5.1", name: "人工费价差",
- dispExpr: "信息价或市场价格-调整后的定额人工费(基价)", expression: "base('市场价格人工费') - base('定额基价人工费(调整后)')", compiledExpr: "",
- statement: "市场价格人工费-调整后的定额人工费(基价)"
- },{
- type: 'materialDiff', code: "5.2", name: "材料费价差",
- dispExpr: "信息价或市场价格-定额基价材料费", expression: "base('市场价格材料费') - base('定额基价材料费(调整后)')", compiledExpr: "",
- statement: "市场价格材料费-定额基价材料费"
- },{
- type: 'machineDiff', code: "5.3", name: "机械费价差",
- dispExpr: "信息价或市场价格-调整后的定额基价机械费(基价)", expression: "base('市场价格机械费') - base('定额基价机械费(调整后)')", compiledExpr: "",
- statement: "市场价格机械费-调整后的定额基价机械费(基价)"
- },{
- type: 'common', code: "6", name: "综合单价",
- dispExpr: "1+2+3+4+5", expression: "@('1') + @('2') + @('3') + @('4') + @('5')", compiledExpr: "",
- statement: "基价直接工程费+企业管理费+利润+风险因素+人材机价差"
- }
- ];
- let rationCalcObj = {
- calcGljs: [],
- calcFields: null,
- base: function () {
- },
- adjust: function () {
-
- },
- budget: function () {
- },
- calculate () {
- let result = {};
- }
- };
- class RationCalc {
- constructor (project) {
- this.project = project;
- };
- calculate (ration) {
- rationCalcObj.calcGljs = this.project.ration_glj.getGljArrByRation(ration.ID);
- rationCalcObj.calcFields = rationCalcFields;
- let virData = rationCalcObj.calculate();
- calcFees.checkFields(ration, rationCalcFields);
- for (let field of rationCalcFields) {
- ration.feesIndex[field.type].unitFee = virData[field.type].unitFee;
- ration.feesIndex[field.type].totalFee = virData[field.type].totalFee;
- }
- }
- calculateAll () {
- for (let rationData of project.ration.data) {
- this.calculate(rationData);
- }
- };
- }
|