|
@@ -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);
|