|
@@ -0,0 +1,120 @@
|
|
|
+/**
|
|
|
+ * 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);
|
|
|
+ }
|
|
|
+ };
|
|
|
+}
|