Browse Source

税前工程造价基数的金额有变化问题

zhongzewei 6 years ago
parent
commit
4ad7d103ee

+ 4 - 28
web/building_saas/main/js/models/calc_base.js

@@ -77,33 +77,9 @@ let cbTools = {
         if(this.isUnDef(exp) || exp === ''){
             return rst;
         }
-       /* if(exp.includes('{税前工程造价}')){
-            let findChildNodes = [];
-            let subEngingeering = this.findBill(fixedFlag.SUB_ENGINERRING) ? this.getNodeByID(this.findBill(fixedFlag.SUB_ENGINERRING).ID) : null,
-                measure = this.findBill(fixedFlag.MEASURE) ? this.getNodeByID(this.findBill(fixedFlag.MEASURE).ID) : null,
-                other = this.findBill(fixedFlag.OTHER) ? this.getNodeByID(this.findBill(fixedFlag.OTHER).ID) : null,
-                charge = this.findBill(fixedFlag.CHARGE) ? this.getNodeByID(this.findBill(fixedFlag.CHARGE).ID) : null;
-            if(subEngingeering){
-                findChildNodes.push(subEngingeering);
-            }
-            if(measure){
-                findChildNodes.push(measure);
-            }
-            if(other){
-                findChildNodes.push(other);
-            }
-            if(charge){
-                findChildNodes.push(charge);
-            }
-            //
-            let childrenNodes = calcTools.getChildrenFormulaNodes(node, formulaNodesArr, findChildNodes);
-            for(let cNode of childrenNodes){
-                ids.push(cNode.data.ID);
-            }
-            rst = rst.concat(childrenNodes);
-        }*/
         //获取表达式中的基数和行引用
         let figureF = cbParser.getFigureF(cbParser.getFigure(exp), cbParser.getUID(cbParser.getFIDArr(exp)));
+        //首先提取出多处引用的进行排序
         for(let i = 0, len = figureF.length; i < len; i++){
             let figure = figureF[i];
             if(figure.type === 'base' && cbTools.isDef(calcBase.baseFigures[figure.value])){
@@ -112,9 +88,9 @@ let cbTools = {
                 if(this.isDef(figureMultiRef)){
                     let findChildNodes = [];
                     for(let flag of figureMultiRef){
-                        let refBill = this.findBill(flag);
-                        if(refBill){
-                            findChildNodes.push(refBill);
+                        let refNode = this.findBill(flag) ? this.getNodeByID(this.findBill(flag).ID) : null;
+                        if(refNode){
+                            findChildNodes.push(refNode);
                         }
                     }
                     let childrenNodes = calcTools.getChildrenFormulaNodes(node, formulaNodesArr, findChildNodes);

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

@@ -173,12 +173,12 @@ let calcTools = {
         for (let pn of parentNodes){
             for (let node of allFormulaNodesArr){
                 let cur = node;
-                while (cur.parent) {
-                    cur = cur.parent;
+                while (cur) {
                     if (cur == pn && node != self){
                         nodes.push(node);
                         break;
                     }
+                    cur = cur.parent;
                 };
             };
         };
@@ -1985,7 +1985,6 @@ class CalcProgram {
     calcFormulaNodes(changedArr, tender){
         let me = this;
         let formulaNodes = cbTools.getFormulaNodes(true);
-
         if (formulaNodes.length == 0) return;
         for (let formulaNode of formulaNodes){
             formulaNode.data.userCalcBase = formulaNode.data.calcBase;    // 这句不该出现,projectObj.project.calcBase中要改进。

+ 1 - 1
web/over_write/js/chongqing_2018.js

@@ -258,7 +258,7 @@ if(typeof baseFigureMap !== 'undefined'){
         '甲定施工机具使用费': {base: 'JDJXF', class: 'RCJ'},
         '甲定主材费': {base: 'JDZCF', class: 'RCJ'},
         '暂估材料费(从子目汇总)': {base: 'ZGCLFFZM', class: 'RCJ'},
-        '税前工程造价': {base: 'SQGCZJ', class: 'SQGCZJ', multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE]},//安全文明施工专项费用使用
+        '税前工程造价': {base: 'SQGCZJ', class: 'SQGCZJ', multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE]},//安全文明施工专项费用使用
     };
 }
 if(typeof baseFigureTemplate !== 'undefined'){