Chenshilong 7 yıl önce
ebeveyn
işleme
20e5cd6ecb

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

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

+ 4 - 2
web/building_saas/main/js/models/calc_program.js

@@ -386,7 +386,7 @@ let executeObj = {
     },
     HJ: function () {
         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 u = (p / q).toDecimal(decimalObj.decimal('unitPrice', me.treeNode));
         return u;
@@ -739,6 +739,7 @@ class CalcProgram {
         else if (treeNode.calcType == treeNodeCalcType.ctCommonUnitFee){
             delete treeNode.data.gljList;
             if (treeNode.data.calcBase) treeNode.data.calcBase = null;  // 不能直接删除该属性,否则无法冲掉库中已存储的值
+            if (treeNode.data.calcBaseValue) treeNode.data.calcBaseValue = 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;
@@ -764,7 +765,7 @@ class CalcProgram {
 
             let f = treeNode.data.feeRate ? treeNode.data.feeRate : 100;
             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 tuf = uf;
             let tf = (me.project.projSetting.billsCalcMode === leafBillGetFeeType.rationPrice) ? (b * f / 100).toDecimal(decimalObj.bills.totalPrice) : (uf * q).toDecimal(decimalObj.bills.totalPrice);
@@ -906,6 +907,7 @@ class CalcProgram {
                     subType: node.data.subType,
                     quantity: node.data.quantity,
                     calcBase: node.data.calcBase,
+                    calcBaseValue: node.data.calcBaseValue,
                     programID: node.data.programID,
                     marketUnitFee: node.data.marketUnitFee,
                     marketTotalFee: node.data.marketTotalFee,

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

+ 1 - 8
web/building_saas/main/js/views/project_view.js

@@ -643,15 +643,8 @@ $('#property_ok').click(function () {
         labourCoeView.save();
         reCalc = true;
     }
+
     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], [{
             projectID: project.ID(),
             billsCalcMode: project.projSetting.billsCalcMode