|  | @@ -211,7 +211,7 @@ class BudgetFinal {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      async _afterLoad() {
 | 
	
		
			
				|  |  |          const helper = this.ctx.helper;
 | 
	
		
			
				|  |  | -        const checkGaiExist = !!this.finalTree.find(x => {
 | 
	
		
			
				|  |  | +        const checkGaiExist = !!this.finalTree.nodes.find(x => {
 | 
	
		
			
				|  |  |              if (x.gai_tp || x.gai_dgn_qty1 || x.gai_dgn_qty2 || x.gai_dgn_price || x.gai_dgn_qty) return true;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          this.finalTree.afterLoad(node => {
 | 
	
	
		
			
				|  | @@ -271,20 +271,20 @@ class BudgetFinal {
 | 
	
		
			
				|  |  |          this.finalTree.datas.forEach(x => {
 | 
	
		
			
				|  |  |              data.push({
 | 
	
		
			
				|  |  |                  id: ctx.app.uuid.v4(), bid, final_id,
 | 
	
		
			
				|  |  | -                tree_id: x.id, tree_pid: x.pid, order: x.order, level: x.level, full_path: x.full_path, is_leaf: x.is_leaf,
 | 
	
		
			
				|  |  | -                code: x.code, name: x.name, unit: x.unit,
 | 
	
		
			
				|  |  | -                gu_dgn_qty1: x.gu_dgn_qty1 || 0, gu_dgn_qty2: x.gu_dgn_qty2 || 0, gu_dgn_qty: x.gu_dgn_qty, gu_dgn_price: x.gu_dgn_price || 0, gu_tp: x.gu_tp || 0,
 | 
	
		
			
				|  |  | -                gai_dgn_qty1: x.gai_dgn_qty1 || 0, gai_dgn_qty2: x.gai_dgn_qty2 || 0, gai_dgn_qty: x.gai_dgn_qty, gai_dgn_price: x.gai_dgn_price || 0, gai_tp: x.gai_tp || 0,
 | 
	
		
			
				|  |  | -                yu_dgn_qty1: x.yu_dgn_qty1 || 0, yu_dgn_qty2: x.yu_dgn_qty2 || 0, yu_dgn_qty: x.yu_dgn_qty, yu_dgn_price: x.yu_dgn_price || 0, yu_tp: x.yu_tp || 0,
 | 
	
		
			
				|  |  | -                zb_dgn_qty1: x.zb_dgn_qty1 || 0, zb_dgn_qty2: x.zb_dgn_qty2 || 0, zb_dgn_qty: x.zb_dgn_qty, zb_dgn_price: x.zb_dgn_price || 0, zb_tp: x.zb_tp || 0,
 | 
	
		
			
				|  |  | +                tree_id: x.id, tree_pid: x.pid, order: x.order, level: x.level, full_path: x.full_path, is_leaf: x.children && x.children.length > 0 ? 0 : 1,
 | 
	
		
			
				|  |  | +                code: x.code || '', name: x.name || '', unit: x.unit || '',
 | 
	
		
			
				|  |  | +                gu_dgn_qty1: x.gu_dgn_qty1 || 0, gu_dgn_qty2: x.gu_dgn_qty2 || 0, gu_dgn_qty: x.gu_dgn_qty || '', gu_dgn_price: x.gu_dgn_price || 0, gu_tp: x.gu_tp || 0,
 | 
	
		
			
				|  |  | +                gai_dgn_qty1: x.gai_dgn_qty1 || 0, gai_dgn_qty2: x.gai_dgn_qty2 || 0, gai_dgn_qty: x.gai_dgn_qty || '', gai_dgn_price: x.gai_dgn_price || 0, gai_tp: x.gai_tp || 0,
 | 
	
		
			
				|  |  | +                yu_dgn_qty1: x.yu_dgn_qty1 || 0, yu_dgn_qty2: x.yu_dgn_qty2 || 0, yu_dgn_qty: x.yu_dgn_qty || '', yu_dgn_price: x.yu_dgn_price || 0, yu_tp: x.yu_tp || 0,
 | 
	
		
			
				|  |  | +                zb_dgn_qty1: x.zb_dgn_qty1 || 0, zb_dgn_qty2: x.zb_dgn_qty2 || 0, zb_dgn_qty: x.zb_dgn_qty || '', zb_dgn_price: x.zb_dgn_price || 0, zb_tp: x.zb_tp || 0,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  dgn_qty1: x.dgn_qty1 || 0, dgn_qty2: x.dgn_qty2 || 0, total_price: x.total_price || 0,
 | 
	
		
			
				|  |  | -                final_dgn_qty1: x.final_dgn_qty1 || 0, final_dgn_qty2: x.final_dgn_qty2 || 0, final_tp: x.final_tp || 0,
 | 
	
		
			
				|  |  | +                dgn_price: x.dgn_price || 0, dgn_qty: x.dgn_qty || '',
 | 
	
		
			
				|  |  |                  deal_dgn_qty1: x.deal_dgn_qty1 || 0, deal_dgn_qty2: x.deal_dgn_qty2 || 0, c_dgn_qty1: x.c_dgn_qty1 || 0, c_dgn_qty2: x.c_dgn_qty2 || 0,
 | 
	
		
			
				|  |  | +                final_dgn_qty1: x.final_dgn_qty1 || 0, final_dgn_qty2: x.final_dgn_qty2 || 0, final_tp: x.final_tp || 0,
 | 
	
		
			
				|  |  |                  final_contract_tp: x.final_contract_tp || 0, final_qc_tp: x.final_qc_tp || 0,
 | 
	
		
			
				|  |  | -                dgn_price: x.dgn_price || 0, dgn_qty: x.dgn_qty,
 | 
	
		
			
				|  |  | -                final_dgn_price: x.final_dgn_price || 0, final_dgn_qty: x.final_dgn_qty,
 | 
	
		
			
				|  |  | -                grow_dgn_qty1: x.grow_dgn_qty1 || 0, grow_dgn_qty2: x.grow_dgn_qty2 || 0, grow_dgn_qty: x.grow_dgn_qty, grow_tp: x.grow_tp || 0,
 | 
	
		
			
				|  |  | +                final_dgn_price: x.final_dgn_price || 0, final_dgn_qty: x.final_dgn_qty || '',
 | 
	
		
			
				|  |  | +                grow_dgn_qty1: x.grow_dgn_qty1 || 0, grow_dgn_qty2: x.grow_dgn_qty2 || 0, grow_dgn_qty: x.grow_dgn_qty || '', grow_tp: x.grow_tp || 0,
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          return data;
 |