|  | @@ -206,10 +206,10 @@ const stageIm = (function () {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return result;
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -            if (node.level === 2) {
 | 
	
		
			
				|  |  | +            if (node.level === 2 || node.level === 3) {
 | 
	
		
			
				|  |  |                  return node.name;
 | 
	
		
			
				|  |  | -            } else if (node.level >= 3) {
 | 
	
		
			
				|  |  | -                let parent = node, result = parent.name;
 | 
	
		
			
				|  |  | +            } else if (node.level >= 4) {
 | 
	
		
			
				|  |  | +                let parent = gsTree.getParent(node), result = parent.name;
 | 
	
		
			
				|  |  |                  while (parent.level > 3 && parent) {
 | 
	
		
			
				|  |  |                      parent = getNodeByLevel(node, parent.level - 1);
 | 
	
		
			
				|  |  |                      result = parent.name + '-' + result;
 | 
	
	
		
			
				|  | @@ -509,7 +509,7 @@ const stageIm = (function () {
 | 
	
		
			
				|  |  |                      lid: node.id, pid: '', code: p.b_code, name: p.name, unit: p.unit, unit_price: p.unit_price,
 | 
	
		
			
				|  |  |                      jl: 0, contract_jl: 0, qc_jl: 0,
 | 
	
		
			
				|  |  |                      im_code: getNewImCode(),
 | 
	
		
			
				|  |  | -                    peg: peg ? getPegStr(peg.name) : '', drawing_code: getDrawingCode(node),
 | 
	
		
			
				|  |  | +                    peg: peg ? getPegStr(peg.name) : '', drawing_code: getDrawingCode(p),
 | 
	
		
			
				|  |  |                  };
 | 
	
		
			
				|  |  |                  if (stage.im_gather && node.check) {
 | 
	
		
			
				|  |  |                      im.bw = getZlGatherBw(node, peg);
 |