|  | @@ -203,13 +203,14 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                  const parts = ctx.multipart({ autoFields: true });
 | 
	
		
			
				|  |  |                  let index = 0;
 | 
	
		
			
				|  |  |                  const create_time = Date.parse(new Date()) / 1000;
 | 
	
		
			
				|  |  | -                let bonus;
 | 
	
		
			
				|  |  | -                while ((stream = await parts()) !== undefined) {
 | 
	
		
			
				|  |  | +                let stream = await parts();
 | 
	
		
			
				|  |  | +                const bonus = await ctx.service.stageBonus.getStageDataById(parts.field.bonus_id);
 | 
	
		
			
				|  |  | +                if (!bonus || bonus.sid !== ctx.stage.id) throw '该奖罚金,当前不允许上传附件';
 | 
	
		
			
				|  |  | +                const size = parts.field.size;
 | 
	
		
			
				|  |  | +                while (stream !== undefined) {
 | 
	
		
			
				|  |  |                      if (!stream.filename) {
 | 
	
		
			
				|  |  |                          throw '未发现上传文件!';
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    if (!bonus) bonus = await ctx.service.stageBonus.getStageDataById(parts.field.bonus_id);
 | 
	
		
			
				|  |  | -                    if (!bonus || bonus.sid !== ctx.stage.id) throw '该奖罚金,当前不允许上传附件';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      const fileInfo = path.parse(stream.filename);
 | 
	
		
			
				|  |  |                      const dirName = 'app/public/upload/extra/' + moment().format('YYYYMMDD');
 | 
	
	
		
			
				|  | @@ -223,12 +224,17 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                      bonus.proof_file.push({
 | 
	
		
			
				|  |  |                          filename: fileInfo.name,
 | 
	
		
			
				|  |  |                          fileext: fileInfo.ext,
 | 
	
		
			
				|  |  | -                        filesize: Array.isArray(parts.field.size) ? parts.field.size[index] : parts.field.size,
 | 
	
		
			
				|  |  | +                        filesize: Array.isArray(size) ? size[index] : size,
 | 
	
		
			
				|  |  |                          filepath: path.join(dirName, fileName),
 | 
	
		
			
				|  |  |                          uid: ctx.session.sessionUser.accountId,
 | 
	
		
			
				|  |  |                          in_time: moment(create_time * 1000).format('YYYY-MM-DD'),
 | 
	
		
			
				|  |  |                      });
 | 
	
		
			
				|  |  |                      ++index;
 | 
	
		
			
				|  |  | +                    if (Array.isArray(size) && index < size.length) {
 | 
	
		
			
				|  |  | +                        stream = await parts();
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        stream = undefined;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  const result = await ctx.service.stageBonus.updateDatas({
 | 
	
		
			
				|  |  |                      update: [
 | 
	
	
		
			
				|  | @@ -315,4 +321,4 @@ module.exports = app => {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      return StageExtraController;
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | +};
 |