chenshilong 6 سال پیش
والد
کامیت
e32da2b5d9
1فایلهای تغییر یافته به همراه16 افزوده شده و 4 حذف شده
  1. 16 4
      web/building_saas/main/js/models/calc_program.js

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

@@ -360,9 +360,17 @@ let calcTools = {
                     if (!mds) mds = [];
                     for (let md of mds){
                         if (gljTypes.includes(md.type)){
-                            let gljQ = isTender ? me.uiGLJQty(glj["tenderQuantity"]) : me.uiGLJQty(glj["quantity"]);
+                            let gljQ = me.uiGLJQty(glj["quantity"]);
+                            let mdMP = md["marketPrice"];
+                            if (isTender){
+                                calcTools.calcGLJTenderPrice(md);
+                                mdMP = md["tenderPrice"];
+
+                                calcTools.calcGLJTenderQty(treeNode, glj);
+                                gljQ = me.uiGLJQty(glj["tenderQuantity"]);
+                            };
                             let mdQ = me.uiGLJQty(md.consumption);
-                            let mdMP = isTender ? md["tenderPrice"] : md["marketPrice"];
+
                             let mdAP = calcTools.hasAdjustPrice() ? md["adjustPrice"] : md["basePrice"];
                             // if (aprice != mprice){
                             temp = (temp + (gljQ * mdQ * mdMP).toDecimal(decimalObj.process)).toDecimal(decimalObj.process);
@@ -965,6 +973,10 @@ let calcTools = {
             return scMathUtil.roundForObj(node.data.feeRate,decimal);
 
         return 100;
+    },
+    isEmptyObject(obj){
+        let arr = Object.keys(obj);
+        return arr.length == 0;
     }
 };
 
@@ -1725,7 +1737,7 @@ class CalcProgram {
                         // 取费方式为子目含量,清单行/列的XX单价应 =ROUND( ∑ROUND(定额XX单价*含量,清单单价精度),清单单价精度)
                         if (me.project.property.billsCalcMode === leafBillGetFeeType.rationContent) {
                             buf = (buf + (ruf * parseFloatPlus(node.data.contain)).toDecimal(decimalObj.bills.unitPrice)).toDecimal(decimalObj.process);
-                            node.data.tenderContaion = (node.data.tenderQuantity / bq).toDecimal(decimalObj.decimal.process);
+                            node.data.tenderContaion = (node.data.tenderQuantity / bq).toDecimal(decimalObj.process);
                             btuf = (btuf + (rtuf * parseFloatPlus(node.data.tenderContaion)).toDecimal(decimalObj.bills.unitPrice)).toDecimal(decimalObj.process);
                         };
                         sum_rtf = (sum_rtf + rtf).toDecimal(decimalObj.process);
@@ -2165,7 +2177,7 @@ class CalcProgram {
         }else if (tender == tenderTypes.ttReverseGLJ){
             treeNode.data.tenderQuantity = treeNode.data.quantity;
             let qcObj = treeNode.data.quantityCoe;
-            if (!qcObj){
+            if (!qcObj || calcTools.isEmptyObject(qcObj)){
                 treeNode.data.quantityCoe = {labour: coe, material: coe, machine: coe, main: coe, equipment: coe};
                 treeNode.changed = true;
             }else{