Przeglądaj źródła

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

zhangweicheng 7 lat temu
rodzic
commit
c1f150f2a0

+ 1 - 0
modules/main/models/bills.js

@@ -31,6 +31,7 @@ let billsSchema = new Schema({
     isFromDetail:{type: Number,default:0},//1 true 0 false
     isFromDetail:{type: Number,default:0},//1 true 0 false
     programID: Number,
     programID: Number,
     calcBase: String,
     calcBase: String,
+    calcBaseValue: String,     // 计算基数表达式的值
     // 工程量计算规则
     // 工程量计算规则
     ruleText: String,
     ruleText: String,
     // 说明
     // 说明

+ 4 - 3
modules/main/models/proj_setting_model.js

@@ -3,7 +3,8 @@
  */
  */
 
 
 let baseModel = require('./base_model');
 let baseModel = require('./base_model');
-import {default as projSettingSchema, collectionName as collectionName, settingConst as settingConst} from "./schemas/proj_setting";
+// import {default as projSettingSchema, collectionName as collectionName, settingConst as settingConst} from "./schemas/proj_setting";
+import {default as projSettingSchema, collectionName as collectionName} from "./schemas/proj_setting";
 
 
 class projSettingModel extends baseModel {
 class projSettingModel extends baseModel {
 
 
@@ -16,13 +17,13 @@ class projSettingModel extends baseModel {
         this.model.findOne({"projectID": projectID}, '-_id', function (err, result) {
         this.model.findOne({"projectID": projectID}, '-_id', function (err, result) {
             if (!err) {
             if (!err) {
                 let data = JSON.parse(JSON.stringify(result));
                 let data = JSON.parse(JSON.stringify(result));
-                if (!data.billsCalcMode) {
+/*                if (!data.billsCalcMode) {
                     data.billsCalcMode = settingConst.billsCalcMode.rationContent;
                     data.billsCalcMode = settingConst.billsCalcMode.rationContent;
                 }
                 }
                 if (!data.zanguCalcMode) {
                 if (!data.zanguCalcMode) {
                     data.zanguCalcMode = settingConst.zanguCalcMode.common;
                     data.zanguCalcMode = settingConst.zanguCalcMode.common;
                 }
                 }
-                data.settingConst = settingConst;
+                data.settingConst = settingConst;*/
                 callback(0, collectionName, data);
                 callback(0, collectionName, data);
             } else {
             } else {
                 callback(1, '查询数据失败。', null);
                 callback(1, '查询数据失败。', null);

+ 8 - 7
modules/main/models/schemas/proj_setting.js

@@ -5,24 +5,24 @@
 let mongoose = require("mongoose");
 let mongoose = require("mongoose");
 let Schema = mongoose.Schema;
 let Schema = mongoose.Schema;
 let collectionName = 'proj_setting';
 let collectionName = 'proj_setting';
-let settingConst = {
+/*let settingConst = {
     billsCalcMode: {
     billsCalcMode: {
         rationContent: 0, rationPriceConverse: 1, rationPrice: 2, billsPrice: 3
         rationContent: 0, rationPriceConverse: 1, rationPrice: 2, billsPrice: 3
     },
     },
     zanguCalcMode: {
     zanguCalcMode: {
         common: 0, gatherMaterial: 1
         common: 0, gatherMaterial: 1
     }
     }
-}
-let billsCalcModeConst = {
+}*/
+/*let billsCalcModeConst = {
     
     
-};
+};*/
 let projSettingSchema = {
 let projSettingSchema = {
     projectID: Number,
     projectID: Number,
     // 列设置
     // 列设置
     main_tree_col: {
     main_tree_col: {
         type: Schema.Types.Mixed,
         type: Schema.Types.Mixed,
         default: {}
         default: {}
-    },
+    }/*,
     billsCalcMode: {
     billsCalcMode: {
         type: Number,
         type: Number,
         default: settingConst.billsCalcMode.rationContent
         default: settingConst.billsCalcMode.rationContent
@@ -30,7 +30,8 @@ let projSettingSchema = {
     zanguCalcMode: {
     zanguCalcMode: {
         type: Number,
         type: Number,
         default: settingConst.zanguCalcMode.common
         default: settingConst.zanguCalcMode.common
-    }
+    }*/
 };
 };
 let model = mongoose.model(collectionName, new Schema(projSettingSchema, {versionKey: false, collection: collectionName}));
 let model = mongoose.model(collectionName, new Schema(projSettingSchema, {versionKey: false, collection: collectionName}));
-export {model as default, collectionName as collectionName, settingConst as settingConst};
+// export {model as default, collectionName as collectionName, settingConst as settingConst};
+export {model as default, collectionName as collectionName};

+ 4 - 1
modules/pm/models/project_model.js

@@ -105,7 +105,10 @@ ProjectsDAO.prototype.updateUserProjects = async function(userId, datas, callbac
                     //工程特征
                     //工程特征
                     data.updateData.property.projectFeature = projectFeature;
                     data.updateData.property.projectFeature = projectFeature;
                     //呈现选项
                     //呈现选项
-                    data.updateData.property.displaySetting = displaySetting;
+		    data.updateData.property.displaySetting = displaySetting;
+		    
+                    data.updateData.property.billsCalcMode = 0;
+		    data.updateData.property.zanguCalcMode = 0;
                 }
                 }
                 newProject = new Projects(data.updateData);
                 newProject = new Projects(data.updateData);
                 // 查找同级是否存在同名数据
                 // 查找同级是否存在同名数据

+ 2 - 2
web/building_saas/main/js/calc/bills_calc.js

@@ -268,8 +268,8 @@ class BillsCalcHelper {
         let nodeCalc = nodeCalcObj, virData= null, decimal = this.project.Decimal;
         let nodeCalc = nodeCalcObj, virData= null, decimal = this.project.Decimal;
 
 
         // 清单单价:套用定额计算程序
         // 清单单价:套用定额计算程序
-        // if (this.project.calcFlag === billsPrice) {
-        if (this.project.projSetting.billsCalcMode === billsPrice) {
+        // if (this.project.projSetting.billsCalcMode === billsPrice) {
+        if (this.project.property.billsCalcMode === leafBillGetFeeType.billsPrice) {
             rationCalcObj.calcGljs = this.getBillsGLjs(node);
             rationCalcObj.calcGljs = this.getBillsGLjs(node);
             console.log(rationCalcObj.calcGljs);
             console.log(rationCalcObj.calcGljs);
             rationCalcObj.calcFields = rationCalcFields;
             rationCalcObj.calcFields = rationCalcFields;

+ 9 - 7
web/building_saas/main/js/models/calc_program.js

@@ -386,7 +386,7 @@ let executeObj = {
     },
     },
     HJ: function () {
     HJ: function () {
         let me = this;
         let me = this;
-        let p = me.treeNode.data.calcBase ? me.treeNode.data.calcBase : 0;
+        let p = me.treeNode.data.calcBaseValue ? me.treeNode.data.calcBaseValue : 0;
         let q = me.treeNode.data.quantity ? me.treeNode.data.quantity : 1;
         let q = me.treeNode.data.quantity ? me.treeNode.data.quantity : 1;
         let u = (p / q).toDecimal(decimalObj.decimal('unitPrice', me.treeNode));
         let u = (p / q).toDecimal(decimalObj.decimal('unitPrice', me.treeNode));
         return u;
         return u;
@@ -702,7 +702,7 @@ class CalcProgram {
                             rttf = parseFloat(data.feesIndex[ft.type].tenderTotalFee);
                             rttf = parseFloat(data.feesIndex[ft.type].tenderTotalFee);
                         };
                         };
 
 
-                        if (me.project.projSetting.billsCalcMode === leafBillGetFeeType.rationContent) {
+                        if (me.project.property.billsCalcMode === leafBillGetFeeType.rationContent) {
                             buf = (buf + (ruf * rq / bq).toDecimal(decimalObj.process)).toDecimal(decimalObj.process);
                             buf = (buf + (ruf * rq / bq).toDecimal(decimalObj.process)).toDecimal(decimalObj.process);
                             btuf = (btuf + (rtuf * rq / bq).toDecimal(decimalObj.process)).toDecimal(decimalObj.process);
                             btuf = (btuf + (rtuf * rq / bq).toDecimal(decimalObj.process)).toDecimal(decimalObj.process);
                         };
                         };
@@ -711,11 +711,11 @@ class CalcProgram {
                         sum_rttf = (sum_rttf + rttf).toDecimal(decimalObj.process);
                         sum_rttf = (sum_rttf + rttf).toDecimal(decimalObj.process);
                     };
                     };
 
 
-                    if (me.project.projSetting.billsCalcMode === leafBillGetFeeType.rationPriceConverse || me.project.projSetting.billsCalcMode === leafBillGetFeeType.rationPrice) {
+                    if (me.project.property.billsCalcMode === leafBillGetFeeType.rationPriceConverse || me.project.property.billsCalcMode === leafBillGetFeeType.rationPrice) {
                         buf = (sum_rtf / bq).toDecimal(decimalObj.process);
                         buf = (sum_rtf / bq).toDecimal(decimalObj.process);
                         btuf = (sum_rttf / bq).toDecimal(decimalObj.process);
                         btuf = (sum_rttf / bq).toDecimal(decimalObj.process);
                     };
                     };
-                    if (isBaseFeeType(ft.type) || (me.project.projSetting.billsCalcMode === leafBillGetFeeType.rationPrice && ft.type == "common")){
+                    if (isBaseFeeType(ft.type) || (me.project.property.billsCalcMode === leafBillGetFeeType.rationPrice && ft.type == "common")){
                         btf = sum_rtf;
                         btf = sum_rtf;
                         bttf = sum_rttf;
                         bttf = sum_rttf;
                     }
                     }
@@ -739,6 +739,7 @@ class CalcProgram {
         else if (treeNode.calcType == treeNodeCalcType.ctCommonUnitFee){
         else if (treeNode.calcType == treeNodeCalcType.ctCommonUnitFee){
             delete treeNode.data.gljList;
             delete treeNode.data.gljList;
             if (treeNode.data.calcBase) treeNode.data.calcBase = null;  // 不能直接删除该属性,否则无法冲掉库中已存储的值
             if (treeNode.data.calcBase) treeNode.data.calcBase = null;  // 不能直接删除该属性,否则无法冲掉库中已存储的值
+            if (treeNode.data.calcBaseValue) treeNode.data.calcBaseValue = null;  // 不能直接删除该属性,否则无法冲掉库中已存储的值
             if (treeNode.data.programID) treeNode.data.programID = null;
             if (treeNode.data.programID) treeNode.data.programID = null;
 
 
             let uf = (treeNode.data.feesIndex && treeNode.data.feesIndex.common && treeNode.data.feesIndex.common.unitFee) ? treeNode.data.feesIndex.common.unitFee : 0;
             let uf = (treeNode.data.feesIndex && treeNode.data.feesIndex.common && treeNode.data.feesIndex.common.unitFee) ? treeNode.data.feesIndex.common.unitFee : 0;
@@ -764,10 +765,10 @@ class CalcProgram {
 
 
             let f = treeNode.data.feeRate ? treeNode.data.feeRate : 100;
             let f = treeNode.data.feeRate ? treeNode.data.feeRate : 100;
             let q = treeNode.data.quantity ? treeNode.data.quantity : 0;
             let q = treeNode.data.quantity ? treeNode.data.quantity : 0;
-            let b = treeNode.data.calcBaseValue;
+            let b = treeNode.data.calcBaseValue ? treeNode.data.calcBaseValue : 0;
             let uf = (b * f * q / 100).toDecimal(decimalObj.bills.unitPrice);
             let uf = (b * f * q / 100).toDecimal(decimalObj.bills.unitPrice);
             let tuf = uf;
             let tuf = uf;
-            let tf = (me.project.projSetting.billsCalcMode === leafBillGetFeeType.rationPrice) ? (b * f / 100).toDecimal(decimalObj.bills.totalPrice) : (uf * q).toDecimal(decimalObj.bills.totalPrice);
+            let tf = (me.project.property.billsCalcMode === leafBillGetFeeType.rationPrice) ? (b * f / 100).toDecimal(decimalObj.bills.totalPrice) : (uf * q).toDecimal(decimalObj.bills.totalPrice);
             let ttf = tf;
             let ttf = tf;
 
 
             delete treeNode.data.fees;    // 直接删掉再新增,不用一个个费判断更新,效率更高。
             delete treeNode.data.fees;    // 直接删掉再新增,不用一个个费判断更新,效率更高。
@@ -855,7 +856,7 @@ class CalcProgram {
                 // me.calcLeafBillChildren(treeNode);
                 // me.calcLeafBillChildren(treeNode);
 
 
                 // 清单单价计算模式下的叶子清单:取自己的计算程序ID,找到自己的计算程序计算。(汇总清单所有定额的工料机)
                 // 清单单价计算模式下的叶子清单:取自己的计算程序ID,找到自己的计算程序计算。(汇总清单所有定额的工料机)
-                if (me.project.projSetting.billsCalcMode === leafBillGetFeeType.billsPrice)
+                if (me.project.property.billsCalcMode === leafBillGetFeeType.billsPrice)
                     treeNode.calcType = treeNodeCalcType.ctBillCalcProgram;
                     treeNode.calcType = treeNodeCalcType.ctBillCalcProgram;
                 else                                        // 前三种计算模式下的叶子清单:汇总定额的计算程序的费用类别
                 else                                        // 前三种计算模式下的叶子清单:汇总定额的计算程序的费用类别
                     treeNode.calcType = treeNodeCalcType.ctGatherRationsFees;
                     treeNode.calcType = treeNodeCalcType.ctGatherRationsFees;
@@ -906,6 +907,7 @@ class CalcProgram {
                     subType: node.data.subType,
                     subType: node.data.subType,
                     quantity: node.data.quantity,
                     quantity: node.data.quantity,
                     calcBase: node.data.calcBase,
                     calcBase: node.data.calcBase,
+                    calcBaseValue: node.data.calcBaseValue,
                     programID: node.data.programID,
                     programID: node.data.programID,
                     marketUnitFee: node.data.marketUnitFee,
                     marketUnitFee: node.data.marketUnitFee,
                     marketTotalFee: node.data.marketTotalFee,
                     marketTotalFee: node.data.marketTotalFee,

+ 4 - 0
web/building_saas/main/js/models/main_consts.js

@@ -121,3 +121,7 @@ const leafBillGetFeeType = {
     billsPrice: 3
     billsPrice: 3
 };
 };
 
 
+const zanguCalcMode = {
+    common: 0,
+    gatherMaterial: 1
+};

+ 8 - 5
web/building_saas/main/js/models/project.js

@@ -290,21 +290,23 @@ var PROJECT = {
         };
         };
 
 
         project.prototype.setBillsCalcMode = function (calcMode) {
         project.prototype.setBillsCalcMode = function (calcMode) {
-            this.projSetting.billsCalcMode = calcMode;
+            this.property.billsCalcMode = calcMode;
             this.initCalcFields();
             this.initCalcFields();
         };
         };
 
 
         project.prototype.initCalcFields = function () {
         project.prototype.initCalcFields = function () {
-            let settingConst = this.projSetting.settingConst;
+            // let settingConst = this.projSetting.settingConst;
             if (this.calcFields) {
             if (this.calcFields) {
                 for (let field of this.calcFields) {
                 for (let field of this.calcFields) {
                     // unitFeeCalcFlag
                     // unitFeeCalcFlag
                     if (field.type === 'zangu') {
                     if (field.type === 'zangu') {
                         field.unitFeeFlag = converseUnitFeeFlag;
                         field.unitFeeFlag = converseUnitFeeFlag;
                     } else {   
                     } else {   
-                        if (this.projSetting.billsCalcMode === settingConst.billsCalcMode.rationContent) {
+                        // if (this.projSetting.billsCalcMode === settingConst.billsCalcMode.rationContent) {
+                        if (this.property.billsCalcMode === leafBillGetFeeType.rationContent) {
                             field.unitFeeFlag = rationContentUnitFeeFlag;
                             field.unitFeeFlag = rationContentUnitFeeFlag;
-                        } else if ( this.projSetting.billsCalcMode === settingConst.billsCalcMode.billsPrice) {
+                        // } else if ( this.projSetting.billsCalcMode === settingConst.billsCalcMode.billsPrice) {
+                        } else if ( this.property.billsCalcMode === leafBillGetFeeType.billsPrice) {
                             field.unitFeeFlag = billsPriceUnitFeeFlag;
                             field.unitFeeFlag = billsPriceUnitFeeFlag;
                         } else {
                         } else {
                             field.unitFeeFlag = averageQtyUnitFeeFlag;
                             field.unitFeeFlag = averageQtyUnitFeeFlag;
@@ -312,7 +314,8 @@ var PROJECT = {
                     }
                     }
                     // totalFeeCalcFlag
                     // totalFeeCalcFlag
                     if (field.type === 'common') {
                     if (field.type === 'common') {
-                        if (this.projSetting.billsCalcMode === settingConst.billsCalcMode.rationPriceConverse) {
+                        // if (this.projSetting.billsCalcMode === settingConst.billsCalcMode.rationPriceConverse) {
+                        if (this.property.billsCalcMode === leafBillGetFeeType.rationPriceConverse) {
                             field.totalFeeFlag = sumTotalFeeFlag;
                             field.totalFeeFlag = sumTotalFeeFlag;
                         } else {
                         } else {
                             field.totalFeeFlag = totalFeeFlag;
                             field.totalFeeFlag = totalFeeFlag;

+ 2 - 2
web/building_saas/main/js/views/main_tree_col.js

@@ -37,7 +37,7 @@ let MainTreeCol = {
         calcProgramName: function (node) {
         calcProgramName: function (node) {
             if (
             if (
                 node.sourceType === projectObj.project.Ration.getSourceType() ||
                 node.sourceType === projectObj.project.Ration.getSourceType() ||
-                (projectObj.project.calcProgram.isLeafBill(node) && projectObj.project.projSetting.billsCalcMode === leafBillGetFeeType.billsPrice)
+                (projectObj.project.calcProgram.isLeafBill(node) && projectObj.project.property.billsCalcMode === leafBillGetFeeType.billsPrice)
             ) return false
             ) return false
             else return true;
             else return true;
         },
         },
@@ -135,7 +135,7 @@ let MainTreeCol = {
         calcProgramName: function (node) {
         calcProgramName: function (node) {
             if (
             if (
                 node.sourceType === projectObj.project.Ration.getSourceType() ||
                 node.sourceType === projectObj.project.Ration.getSourceType() ||
-                (projectObj.project.calcProgram.isLeafBill(node) && projectObj.project.projSetting.billsCalcMode === leafBillGetFeeType.billsPrice)
+                (projectObj.project.calcProgram.isLeafBill(node) && projectObj.project.property.billsCalcMode === leafBillGetFeeType.billsPrice)
             ) {
             ) {
                 var names = new GC.Spread.Sheets.CellTypes.ComboBox();
                 var names = new GC.Spread.Sheets.CellTypes.ComboBox();
                 names.items(projectObj.project.calcProgram.compiledTemplateNames);
                 names.items(projectObj.project.calcProgram.compiledTemplateNames);

+ 2 - 1
web/building_saas/main/js/views/project_property_labour_coe_view.js

@@ -114,6 +114,7 @@ let labourCoeView = {
                         let cell = me.sheet.getCell(r, c+ 1);
                         let cell = me.sheet.getCell(r, c+ 1);
                         cell.value(v.coe);
                         cell.value(v.coe);
                         cell.tag(v.ID);
                         cell.tag(v.ID);
+                        cell.hAlign(GC.Spread.Sheets.HorizontalAlign.center);
                         break;
                         break;
                     };
                     };
                 };
                 };
@@ -141,7 +142,7 @@ let labourCoeView = {
                 projectObj.project.labourCoe.refreshData(data);
                 projectObj.project.labourCoe.refreshData(data);
                 me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
                 me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
                 projectObj.project.calcProgram.compileAllTemps();
                 projectObj.project.calcProgram.compileAllTemps();
-                projectObj.project.ration.calcAll();
+                projectObj.project.calcProgram.calcAllNodes(calcAllType.catRations);
                 rationPM.buildSheet();
                 rationPM.buildSheet();
                 $("#std_labour_coe_files").val('');
                 $("#std_labour_coe_files").val('');
             });
             });

+ 28 - 29
web/building_saas/main/js/views/project_view.js

@@ -375,10 +375,11 @@ var projectObj = {
         this.project.loadDatas(function (err) {
         this.project.loadDatas(function (err) {
 
 
             if (!err) {
             if (!err) {
+                that.project.property = projectInfoObj.projectInfo.property;
                 that.project.calcProgram.compileAllTemps();
                 that.project.calcProgram.compileAllTemps();
                 that.project.calcBase.init(that.project);
                 that.project.calcBase.init(that.project);
                 that.project.calcFields = JSON.parse(JSON.stringify(feeType));
                 that.project.calcFields = JSON.parse(JSON.stringify(feeType));
-                that.project.initCalcFields();
+                // that.project.initCalcFields();
                 let str = JSON.stringify(that.project.projSetting.main_tree_col);
                 let str = JSON.stringify(that.project.projSetting.main_tree_col);
                 that.project.projSetting.mainGridSetting = JSON.parse(str);
                 that.project.projSetting.mainGridSetting = JSON.parse(str);
                 that.project.projSetting.mainGridSetting.frozenCols = 4;
                 that.project.projSetting.mainGridSetting.frozenCols = 4;
@@ -644,47 +645,45 @@ $('#poj-set').on('show.bs.modal', function () {
         }
         }
     }
     }
     if (projectObj.project) {
     if (projectObj.project) {
-        let mode = projectObj.project.projSetting.billsCalcMode;
-        let settingConst = projectObj.project.projSetting.settingConst;
-        setCalcFlag($('#rationContent'), settingConst.billsCalcMode.rationContent, mode);
-        setCalcFlag($('#rationPriceConverse'), settingConst.billsCalcMode.rationPriceConverse, mode);
-        setCalcFlag($('#rationPrice'), settingConst.billsCalcMode.rationPrice, mode);
-        setCalcFlag($('#billsPrice'), settingConst.billsCalcMode.billsPrice, mode);
+        // let mode = projectObj.project.projSetting.billsCalcMode;
+        // let settingConst = projectObj.project.projSetting.settingConst;
+        let mode = projectObj.project.property.billsCalcMode ? projectObj.project.property.billsCalcMode : leafBillGetFeeType.rationContent;
+        setCalcFlag($('#rationContent'), leafBillGetFeeType.rationContent, mode);
+        setCalcFlag($('#rationPriceConverse'), leafBillGetFeeType.rationPriceConverse, mode);
+        setCalcFlag($('#rationPrice'), leafBillGetFeeType.rationPrice, mode);
+        setCalcFlag($('#billsPrice'), leafBillGetFeeType.billsPrice, mode);
 
 
-        mode = projectObj.project.projSetting.zanguCalcMode;
-        setCalcFlag($('#zangu_common'), settingConst.zanguCalcMode.common, mode);
-        setCalcFlag($('#zangu_gatherMatherial'), settingConst.zanguCalcMode.gatherMaterial, mode);
+        // mode = projectObj.project.projSetting.zanguCalcMode;
+        mode = projectObj.project.property.zanguCalcMode ? projectObj.project.property.zanguCalcMode : zanguCalcMode.common;
+        setCalcFlag($('#zangu_common'), zanguCalcMode.common, mode);
+        setCalcFlag($('#zangu_gatherMatherial'), zanguCalcMode.gatherMaterial, mode);
     }
     }
 });
 });
 $('#property_ok').click(function () {
 $('#property_ok').click(function () {
     let project = projectObj.project, reCalc= false;
     let project = projectObj.project, reCalc= false;
-    let mode = parseInt($("input[name='calcFlag']:checked").val());
-    let zanguMode = parseInt($("input[name='zangu']:checked").val());
-    if (mode !== project.projSetting.billsCalcMode) {
-        project.setBillsCalcMode(mode);
+    let billMode = parseInt($("input[name='calcFlag']:checked").val());
+    if (billMode !== project.property.billsCalcMode) {
+        // project.setBillsCalcMode(mode);
+        project.property.billsCalcMode = billMode;
         reCalc = true;
         reCalc = true;
-    }
-    if (zanguMode !== project.projSetting.zanguCalcMode) {
-        project.projSetting.zanguCalcMode = zanguMode;
+    };
+
+    let zanguMode = parseInt($("input[name='zangu']:checked").val());
+    if (zanguMode !== project.property.zanguCalcMode) {
+        project.property.zanguCalcMode = zanguMode;
         reCalc = true;
         reCalc = true;
-    }
+    };
+
     if (labourCoeView.needSave()){
     if (labourCoeView.needSave()){
         labourCoeView.save();
         labourCoeView.save();
         reCalc = true;
         reCalc = true;
     }
     }
+
     if (reCalc) {
     if (reCalc) {
-        // projectObj.calculateAll();
-/*        project.pushNow('editBillsCalcMode',
-            [project.projSetting.moduleName, project.Bills.getSourceType()],
-            [{
-                projectID: project.ID(),
-                billsCalcMode: project.projSetting.billsCalcMode
-            }, project.Bills.getUpdateAllData()]
-        );*/
-        project.pushNow('', [project.projSetting.moduleName], [{
+/*        project.pushNow('', [project.projSetting.moduleName], [{
             projectID: project.ID(),
             projectID: project.ID(),
-            billsCalcMode: project.projSetting.billsCalcMode
-        }]);
+            billsCalcMode: project.property.billsCalcMode
+        }]);*/
         project.calcProgram.calcAllNodes(calcAllType.catBills);
         project.calcProgram.calcAllNodes(calcAllType.catBills);
     }
     }
 });
 });