chenshilong 7 years ago
parent
commit
ddbdae0f91

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

@@ -1272,7 +1272,8 @@ class CalcProgram {
             }
             else if (treeNode.calcType == treeNodeCalcType.ctBillCalcProgram) {
                 let rations = me.project.Ration.getBillsSortRation(treeNode.source.getID());
-                treeNode.data.gljList = me.project.ration_glj.getGatherGljArrByRations(rations);
+                let q = calcTools.uiNodeQty(treeNode) ? calcTools.uiNodeQty(treeNode) : 1;
+                treeNode.data.gljList = me.project.ration_glj.getGatherGljArrByRations(rations, q);
 
                 if (treeNode.data.programID == undefined){
                     treeNode.data.programID = projectInfoObj.projectInfo.property.engineering;

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

@@ -47,7 +47,7 @@ var ration_glj = {
             result = gljOprObj.combineWithProjectGlj(result);
             return result;
         };
-        ration_glj.prototype.getGatherGljArrByRations = function (rations) {
+        ration_glj.prototype.getGatherGljArrByRations = function (rations, billQuantity) {
             let result = [];
             let clone = function (obj) {
                 if (obj === null) return null;
@@ -79,10 +79,15 @@ var ration_glj = {
                     }
                 }
             }
-            ;
 
             result = gljOprObj.combineWithProjectGlj(result);
-            return result;
+
+            // 上面取的是清单下所有工料机的总量,我要算清单单价,所以要取单位清单的工料机数量,所以下面要除以清单数量。
+            let oneBill = Array.from(result);
+            for (let glj of oneBill){
+                  glj.quantity = (glj.quantity / billQuantity).toDecimal(decimalObj.glj.quantity);
+            };
+            return oneBill;
         }
 
         // 提交数据后返回数据处理

+ 7 - 6
web/building_saas/main/js/views/project_view.js

@@ -38,18 +38,19 @@ var projectObj = {
         // for test interface.  CSLAAAAA
         // projectObj.testDisplay('前四项累计值排除当前选中项' + projectObj.project.calcProgram.getBeforeTaxTotalFee([node]));
 
+        // 公式结果
+        /*        let t = projectObj.project.calcProgram.compiledTemplates[node.data.programID];
+                let c = t.calcItems[7];
+                c.dispExpr = '[定额基价人工费] + [定额基价材料费]  + F6 + [主材费]';
+                let rst = analyzer.analyzeUserExpr(t, c);
+                projectObj.testDisplay('结果', rst);*/
+
         // 基数
 /*        node.data.isSubcontract = true;
         node.data.gljList = project.ration_glj.getGljArrByRation(node.data.ID);
         let bname = '甲供定额基价材料费';
         projectObj.testDisplay(bname, rationCalcBases[bname](node));*/
 
-        // 公式结果
-/*        let t = projectObj.project.calcProgram.compiledTemplates[node.data.programID];
-        let c = t.calcItems[7];
-        c.dispExpr = '[定额基价人工费] + [定额基价材料费]  + F6 + [主材费]';
-        let rst = analyzer.analyzeUserExpr(t, c);
-        projectObj.testDisplay('结果', rst);*/
     },
     refreshBaseActn: function (tree) {
         let setButtonValid = function (valid, btn) {