Browse Source

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

zhangweicheng 7 years ago
parent
commit
46aeee42d1

+ 15 - 11
web/building_saas/main/js/models/calc_program.js

@@ -261,8 +261,10 @@ let calcTools = {
         let price = 0, temp = 0, temp2 = 0;
         let price = 0, temp = 0, temp2 = 0;
         for (let glj of treeNode.data.gljList) {
         for (let glj of treeNode.data.gljList) {
             if (gljTypes.indexOf(glj.type) >= 0) {
             if (gljTypes.indexOf(glj.type) >= 0) {
-                calcTools.calcGLJTenderPrice(glj);
-                calcTools.calcGLJTenderQty(treeNode, glj);
+                if (isTender){
+                    calcTools.calcGLJTenderPrice(glj);
+                    calcTools.calcGLJTenderQty(treeNode, glj);
+                };
                 let qty = isTender ? me.uiGLJQty(glj["tenderQuantity"]) : me.uiGLJQty(glj["quantity"]);
                 let qty = isTender ? me.uiGLJQty(glj["tenderQuantity"]) : me.uiGLJQty(glj["quantity"]);
                 let mprice = isTender ? me.uiGLJPrice(glj["tenderPrice"]) : me.uiGLJPrice(glj["marketPrice"]);
                 let mprice = isTender ? me.uiGLJPrice(glj["tenderPrice"]) : me.uiGLJPrice(glj["marketPrice"]);
                 let aprice = me.uiGLJPrice(glj["adjustPrice"]);
                 let aprice = me.uiGLJPrice(glj["adjustPrice"]);
@@ -284,7 +286,8 @@ let calcTools = {
         };
         };
 
 
         if (priceType == priceTypes.ptDiffPrice){
         if (priceType == priceTypes.ptDiffPrice){
-            result = (temp.toDecimal(decimalObj.ration.unitPrice) - temp2.toDecimal(decimalObj.ration.unitPrice)).toDecimal(decimalObj.ration.unitPrice);
+            // result = (temp.toDecimal(decimalObj.ration.unitPrice) - temp2.toDecimal(decimalObj.ration.unitPrice)).toDecimal(decimalObj.ration.unitPrice);
+            result = (temp - temp2).toDecimal(decimalObj.ration.unitPrice);
         }
         }
         else{
         else{
             result = result.toDecimal(decimalObj.ration.unitPrice);
             result = result.toDecimal(decimalObj.ration.unitPrice);
@@ -709,14 +712,15 @@ let calcTools = {
         glj.tenderQuantity = (glj.quantity * qCoe).toDecimal(decimalObj.glj.quantity);
         glj.tenderQuantity = (glj.quantity * qCoe).toDecimal(decimalObj.glj.quantity);
     },
     },
     calcGLJTenderPrice: function (glj) {
     calcGLJTenderPrice: function (glj) {
-        // let pCoe = 1;
-        // if (projectObj.project.property.tenderSetting && projectObj.project.property.tenderSetting.gljPriceTenderCoe)
-        //     pCoe = projectObj.project.property.tenderSetting.gljPriceTenderCoe;
-        // if (compositionTypes.indexOf(glj.type) >= 0)
-        //
-        // else
-        //     glj.tenderPrice = (glj.marketPrice * pCoe).toDecimal(decimalObj.glj.unitPrice);
-        glj.tenderPrice = projectObj.project.projectGLJ.getTenderMarketPrice(projectObj.project.projectGLJ.getDataByID(glj.projectGLJID));
+        if (!glj.projectGLJID){   // 量价定额虚拟出来的工料机,没有projectGLJID,在项目工料机中查不到。
+            let pCoe = 1;
+            if (projectObj.project.property.tenderSetting && projectObj.project.property.tenderSetting.gljPriceTenderCoe)
+                pCoe = projectObj.project.property.tenderSetting.gljPriceTenderCoe;
+            glj.tenderPrice = (glj.marketPrice * pCoe).toDecimal(decimalObj.glj.unitPrice);
+        }else{
+            let projGLJ = projectObj.project.projectGLJ.getDataByID(glj.projectGLJID);
+            glj.tenderPrice = projectObj.project.projectGLJ.getTenderMarketPrice(projGLJ);
+        };
     },
     },
     // 界面显示的工料机价格,包括定额价、市场价等。参数 price 传入一个普通的价格数值即可。
     // 界面显示的工料机价格,包括定额价、市场价等。参数 price 传入一个普通的价格数值即可。
     uiGLJPrice: function (price){
     uiGLJPrice: function (price){

+ 3 - 0
web/building_saas/main/js/models/ration_glj.js

@@ -85,6 +85,9 @@ var ration_glj = {
                     let glj = JSON.parse(JSON.stringify(ration));
                     let glj = JSON.parse(JSON.stringify(ration));
                     glj.type = glj.subType;
                     glj.type = glj.subType;
                     glj.totalQuantity = parseFloatPlus(ration.quantity);
                     glj.totalQuantity = parseFloatPlus(ration.quantity);
+                    glj.markertPrice = glj.marketUnitFee;
+                    glj.basePrice = glj.marketUnitFee;
+                    glj.adjustPrice = glj.marketUnitFee;
                     result.push(glj);
                     result.push(glj);
                 }
                 }
                 else{
                 else{