/** * Created by Mai on 2017/7/21. */ "use strict"; const baseCalc = 0, adjustCalc = 1, budgetCalc = 2, diffCalc = 3, offerCalc = 4; const gljType = { // 人工 LABOUR: 1, // ==============材料类型================= // 普通材料 GENERAL_MATERIAL: 201, // 混凝土 CONCRETE: 202, // 砂浆 MORTAR: 203, // 配合比 MIX_RATIO: 204, // 商品混凝土 COMMERCIAL_CONCRETE: 205, // 商品砂浆 COMMERCIAL_MORTAR: 206, // ==============材料类型================= // ==============机械类型================= // 普通机械 GENERAL_MACHINE: 301, // 机械组成物 MACHINE_COMPOSITION: 302, // 机上人工 MACHINE_LABOUR: 303, // ==============机械类型================= // 主材 MAIN_MATERIAL: 4, // 设备 EQUIPMENT: 5 }; let rationCalcBase = [ { 'dispName': '定额基价人工费', 'calcFun': 'base', 'calcType': baseCalc, 'gljTypes': [gljType.LABOUR] },{ 'dispName': '定额基价材料费', 'calcFun': 'base', 'calcType': baseCalc, 'gljTypes': [gljType.GENERAL_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO, gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR] },{ 'dispName': '定额基价机械费', 'calcFun': 'base', 'calcType': baseCalc, 'gljTypes': [gljType.GENERAL_MACHINE] },{ 'dispName': '定额基价机上人工费', 'calcFun': 'base', 'calcType': baseCalc, 'gljTypes': [gljType.MACHINE_LABOUR] },{ 'dispName': '人工费价差', 'calcFun': 'diff', 'calcType': budgetCalc, 'gljTypes': [gljType.LABOUR] },{ 'dispName': '材料费价差', 'calcFun': 'diff', 'calcType': diffCalc, 'gljTypes': [gljType.GENERAL_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO, gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR] },{ 'dispName': '机械费价差', 'calcFun': 'diff', 'calcType': diffCalc, 'gljTypes': [gljType.GENERAL_MACHINE] },{ 'dispName': '主材费', 'calcFun': 'budget', 'calcType': diffCalc, 'gljTypes': [gljType.MAIN_MATERIAL] },{ 'dispName': '设备费', 'calcFun': 'budget', 'calcType': budgetCalc, 'gljTypes': [gljType.EQUIPMENT] } ]; // 该方法暂时不用,已使用中文预编译的方式代替,但可靠性有待验证,若有问题再用回来。 function getRationCalcBase(dispName){ for (let base of rationCalcBase) { if (base.dispName == dispName) { return base; }; } return null; };