|  | @@ -242,6 +242,72 @@ class StageIm {
 | 
	
		
			
				|  |  |              return result;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 获取 单位工程
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param xmj - 计量单元(最底层项目节)
 | 
	
		
			
				|  |  | +     * @returns {string}
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    _getDwgc(peg, xmj) {
 | 
	
		
			
				|  |  | +        if (peg) {
 | 
	
		
			
				|  |  | +            return peg.name;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            const node = this._getNodeByLevel(xmj, 2);
 | 
	
		
			
				|  |  | +            return node ? node.name : '';
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 获取 分部工程
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param peg - 桩号节点
 | 
	
		
			
				|  |  | +     * @param xmj - 计量单元(最底层项目节)
 | 
	
		
			
				|  |  | +     * @returns {string}
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    _getFbgc(peg, xmj) {
 | 
	
		
			
				|  |  | +        if (peg && peg.id !== xmj.id) {
 | 
	
		
			
				|  |  | +            const node = this._getNodeByLevel(xmj, peg.level + 1);
 | 
	
		
			
				|  |  | +            return node ? node.name : '';
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            const node = this._getNodeByLevel(xmj, 3);
 | 
	
		
			
				|  |  | +            return node ? node.name : '';
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 获取 分项工程
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param peg - 桩号节点
 | 
	
		
			
				|  |  | +     * @param xmj - 计量单元(最底层项目节)
 | 
	
		
			
				|  |  | +     * @returns {string}
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    _getFxgc(peg, xmj) {
 | 
	
		
			
				|  |  | +        if (!peg) {
 | 
	
		
			
				|  |  | +            const node = this._getNodeByLevel(xmj, 4);
 | 
	
		
			
				|  |  | +            return node ? node.name : '';
 | 
	
		
			
				|  |  | +        } else if (peg.id === xmj.id) {
 | 
	
		
			
				|  |  | +            if (xmj.level > 4) {
 | 
	
		
			
				|  |  | +                let value = '';
 | 
	
		
			
				|  |  | +                for (let level = 4; level < xmj.level; level++) {
 | 
	
		
			
				|  |  | +                    const node = this._getNodeByLevel(xmj, level);
 | 
	
		
			
				|  |  | +                    value = value === '' ? node.name : value + mergeChar + node.name;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return value;
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                return '';
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            if (peg.level + 2 < xmj.level) {
 | 
	
		
			
				|  |  | +                let value = '';
 | 
	
		
			
				|  |  | +                for (let level = peg.level + 2; level < xmj.level; level++) {
 | 
	
		
			
				|  |  | +                    const node = this._getNodeByLevel(xmj, level);
 | 
	
		
			
				|  |  | +                    value = value === '' ? node.name : value + mergeChar + node.name;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return value;
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                return '';
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      _checkCustomDetail(im) {
 | 
	
		
			
				|  |  |          const self = this;
 | 
	
	
		
			
				|  | @@ -457,6 +523,7 @@ class StageIm {
 | 
	
		
			
				|  |  |              pre_jl: node.pre_gather_tp, pre_contract_jl: node.pre_contract_tp, pre_qc_jl: node.pre_qc_tp,
 | 
	
		
			
				|  |  |              end_jl: node.end_gather_tp, end_contract_jl: node.end_contract_tp, end_qc_jl: node.end_qc_tp,
 | 
	
		
			
				|  |  |              peg: peg ? this._getPegStr(peg.name) : '', drawing_code: this._getDrawingCode(node),
 | 
	
		
			
				|  |  | +            dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
 | 
	
		
			
				|  |  |              position: '',
 | 
	
		
			
				|  |  |              lIndex: nodeIndex,
 | 
	
		
			
				|  |  |          };
 | 
	
	
		
			
				|  | @@ -564,6 +631,7 @@ class StageIm {
 | 
	
		
			
				|  |  |              lIndex: index,
 | 
	
		
			
				|  |  |              bw: bw, jldy: node.name,
 | 
	
		
			
				|  |  |              changes: [], gclBills: [],
 | 
	
		
			
				|  |  | +            dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |          this._checkCustomDetail(im);
 | 
	
		
			
				|  |  |          return im;
 | 
	
	
		
			
				|  | @@ -746,6 +814,7 @@ class StageIm {
 | 
	
		
			
				|  |  |                      peg: peg ? this._getPegStr(peg.name) : '',
 | 
	
		
			
				|  |  |                      position: '',
 | 
	
		
			
				|  |  |                      lIndex: nodeIndex,
 | 
	
		
			
				|  |  | +                    dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
 | 
	
		
			
				|  |  |                  };
 | 
	
		
			
				|  |  |                  if (this.ctx.stage.im_gather && node.check) {
 | 
	
		
			
				|  |  |                      im.check = true;
 | 
	
	
		
			
				|  | @@ -817,6 +886,7 @@ class StageIm {
 | 
	
		
			
				|  |  |                          end_jl: pp.end_gather_qty, end_contract_jl: pp.end_contract_qty, end_qc_jl: pp.end_qc_qty,
 | 
	
		
			
				|  |  |                          bw,
 | 
	
		
			
				|  |  |                          peg: this._checkPeg(pp.name) ? this._getPegStr(pp.name) : (peg ? this._getPegStr(peg.name) : ''),
 | 
	
		
			
				|  |  | +                        dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
 | 
	
		
			
				|  |  |                          xm: pp.name, jldy: pp.name,
 | 
	
		
			
				|  |  |                          drawing_code: pp.drawing_code,
 | 
	
		
			
				|  |  |                          changes: [],
 | 
	
	
		
			
				|  | @@ -859,6 +929,7 @@ class StageIm {
 | 
	
		
			
				|  |  |                      end_tp: p.end_gather_tp, end_contract_tp: p.end_contract_tp, end_qc_tp: p.end_qc_tp,
 | 
	
		
			
				|  |  |                      bw,
 | 
	
		
			
				|  |  |                      peg: peg ? this._getPegStr(peg.name) : '',
 | 
	
		
			
				|  |  | +                    dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
 | 
	
		
			
				|  |  |                      xm: node.name,
 | 
	
		
			
				|  |  |                      drawing_code: this._getDrawingCode(p),
 | 
	
		
			
				|  |  |                      changes: [],
 |