|  | @@ -290,7 +290,6 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return validStages;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          async _getOrderZoneStages (tender, zone) {
 | 
	
		
			
				|  |  |              let [iBegin, iEnd] = zone.split(':');
 | 
	
		
			
				|  |  |              iBegin = this.ctx.helper._.toInteger(iBegin) || 0;
 | 
	
	
		
			
				|  | @@ -303,6 +302,25 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return validStages;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        async _getCheckedZoneStages(tender, zone) {
 | 
	
		
			
				|  |  | +            const times = zone.split(' - ');
 | 
	
		
			
				|  |  | +            if (times.length !== 2) throw '选择的汇总周期无效';
 | 
	
		
			
				|  |  | +            const beginTime = moment(times[0], 'YYYY-MM-DD');
 | 
	
		
			
				|  |  | +            const endTime = moment(times[1], 'YYYY-MM-DD');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            const stages = await this._getValidStages(tender.id), validStages = [];
 | 
	
		
			
				|  |  | +            for (const stage of stages) {
 | 
	
		
			
				|  |  | +                if (stage.status !== auditConst.stage.status.checked) continue;
 | 
	
		
			
				|  |  | +                const finalAudit = this.ctx.service.stageAudit.getLastestAuditor(stage.id, stage.times, stage.status);
 | 
	
		
			
				|  |  | +                if (!finalAudit) continue;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                const sTime = moment(finalAudit.end_time);
 | 
	
		
			
				|  |  | +                if (sTime.isBetween(beginTime, endTime, null, '[]')) {
 | 
	
		
			
				|  |  | +                    validStages.push(stage);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return validStages;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /**
 | 
	
		
			
				|  |  |           * 台账数据
 | 
	
	
		
			
				|  | @@ -410,6 +428,14 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              const stages = await this._getTimeZoneStages(tender, zone);
 | 
	
		
			
				|  |  |              await this._gatherStagesData(completeData, tender, stages);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        async _gatherIndexZoneData(tender, completeData, stageZone) {
 | 
	
		
			
				|  |  | +            const stages = await this._getOrderZoneStages(tender, stageZone);
 | 
	
		
			
				|  |  | +            await this._gatherStagesData(completeData, tender, stages);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        async _gatherCheckedZoneData(tender, completeData, zone) {
 | 
	
		
			
				|  |  | +            const stages = await this._getCheckedZoneStages(tender, zone);
 | 
	
		
			
				|  |  | +            await this._gatherStagesData(completeData, tender, stages);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          async _gatherStageData(completeData, tender, stage, hasPre) {
 | 
	
		
			
				|  |  |              const helper = this.ctx.helper;
 | 
	
	
		
			
				|  | @@ -505,10 +531,6 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              const stage = this.ctx.helper._.find(stages, {order: index});
 | 
	
		
			
				|  |  |              await this._gatherStageData(completeData, tender, stage, hasPre);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        async _gatherIndexZoneData(tender, completeData, stageZone) {
 | 
	
		
			
				|  |  | -            const stages = await this._getOrderZoneStages(tender, stageZone);
 | 
	
		
			
				|  |  | -            await this._gatherStagesData(completeData, tender, stages);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |          async _gatherFinalData(tender, completeData, hasPre) {
 | 
	
		
			
				|  |  |              const stages = await this._getValidStages(tender.id);
 | 
	
		
			
				|  |  |              await this._gatherStageData(completeData, tender, stages[0], hasPre);
 | 
	
	
		
			
				|  | @@ -618,6 +640,9 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          case 'stage-zone':
 | 
	
		
			
				|  |  |                              await this._gatherIndexZoneData(tender, completeData, gsCustom.stage_zone);
 | 
	
		
			
				|  |  |                              break;
 | 
	
		
			
				|  |  | +                        case 'checked-zone':
 | 
	
		
			
				|  |  | +                            await this._gatherCheckedZoneData(tender, completeData, gsCustom.check_zone);
 | 
	
		
			
				|  |  | +                            break;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      commonIndex++;
 | 
	
		
			
				|  |  |                  } else {
 |