|  | @@ -125,6 +125,11 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                  x.budget_permission = x.budget_permission ? _.map(x.budget_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  |                  x.file_permission = x.file_permission ? _.map(x.file_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  |                  x.manage_permission = x.manage_permission ? _.map(x.manage_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  | +                x.info_permission = x.info_permission ? _.map(x.info_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  | +                x.datacollect_permission = x.datacollect_permission ? _.map(x.datacollect_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  | +                x.contract_permission = x.contract_permission ? _.map(x.contract_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  | +                x.fund_pay_permission = x.fund_pay_permission ? _.map(x.fund_pay_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  | +                x.fund_trans_permission = x.fund_trans_permission ? _.map(x.fund_trans_permission.split(','), _.toInteger) : [];
 | 
	
		
			
				|  |  |                  x.filing_type = x.filing_type ? _.map(x.filing_type.split(','), _.toInteger): [];
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -276,6 +281,23 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |              if (updateData.length > 0) await this.db.updateRows(this.tableName, updateData);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        checkViewPermission(ctx) {
 | 
	
		
			
				|  |  | +            const permissionBlock = ctx.service.subProjPermission.PermissionBlock.find(x => { return x.key === ctx.controllerName; });
 | 
	
		
			
				|  |  | +            if (!permissionBlock) return true;
 | 
	
		
			
				|  |  | +            if (permissionBlock.children) {
 | 
	
		
			
				|  |  | +                let canView = false;
 | 
	
		
			
				|  |  | +                for (const c of permissionBlock.children) {
 | 
	
		
			
				|  |  | +                    const viewPermission = permissionBlock.permission.find(x => { return x.key === 'view'; });
 | 
	
		
			
				|  |  | +                    if (!viewPermission || ctx.subProject.permission[c.field].indexOf(viewPermission.value) >= 0) canView = true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return canView;
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                const viewPermission = permissionBlock.permission.find(x => { return x.key === 'view'; });
 | 
	
		
			
				|  |  | +                if (!viewPermission) return true;
 | 
	
		
			
				|  |  | +                return ctx.subProject.permission[permissionBlock.field].indexOf(viewPermission.value) >= 0;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      return subProjPermission;
 |