|  | @@ -32,22 +32,38 @@ module.exports = app => {
 | 
	
		
			
				|  |  |           * @return {void}
 | 
	
		
			
				|  |  |           */
 | 
	
		
			
				|  |  |          async explode(ctx) {
 | 
	
		
			
				|  |  | -            let tenderId = ctx.session.sessionUser.tenderId;
 | 
	
		
			
				|  |  | -            if (!tenderId) {
 | 
	
		
			
				|  |  | -                // 根据标段列表获取默认tenderId
 | 
	
		
			
				|  |  | +            if (ctx.request.query.tenderId) {
 | 
	
		
			
				|  |  | +                const tenderId = parseInt(ctx.request.query.tenderId);
 | 
	
		
			
				|  |  | +                const tender = await ctx.service.tender.getDataById(tenderId);
 | 
	
		
			
				|  |  | +                ctx.session.sessionUser.tenderId = tender.id;
 | 
	
		
			
				|  |  | +                ctx.session.sessionUser.tenderName = tender.name;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                ctx.redirect('/ledger/explode');
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                let tenderId = ctx.session.sessionUser.tenderId;
 | 
	
		
			
				|  |  |                  const tenderList = await ctx.service.tender.getList();
 | 
	
		
			
				|  |  | -                if (tenderList && tenderList.length > 0) {
 | 
	
		
			
				|  |  | -                    tenderId = tenderList[0].id;
 | 
	
		
			
				|  |  | -                    ctx.session.sessionUser.tenderId = tenderId;
 | 
	
		
			
				|  |  | -                } else {
 | 
	
		
			
				|  |  | -                    throw '项目无标段数据';
 | 
	
		
			
				|  |  | +                for (const tender of tenderList) {
 | 
	
		
			
				|  |  | +                    tender.url = ctx.menuList.ledger.children.explode.url + '?tenderId=' + tender.id;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                if (!tenderId) {
 | 
	
		
			
				|  |  | +                    // 根据标段列表获取默认tenderId
 | 
	
		
			
				|  |  | +                    if (tenderList && tenderList.length > 0) {
 | 
	
		
			
				|  |  | +                        tenderId = tenderList[0].id;
 | 
	
		
			
				|  |  | +                        ctx.session.sessionUser.tenderId = tenderId;
 | 
	
		
			
				|  |  | +                        ctx.session.sessionUser.tenderName = tenderList[0].name;
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        throw '项目无标段数据';
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                const ledgerData = await ctx.service.ledger.getDataByTenderId(tenderId);
 | 
	
		
			
				|  |  | +                const renderData = {
 | 
	
		
			
				|  |  | +                    ledger: JSON.stringify(ledgerData),
 | 
	
		
			
				|  |  | +                    tenderList: tenderList
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +                await this.layout('ledger/explode.ejs', renderData);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            const ledgerData = await ctx.service.ledger.getDataByTenderId(tenderId);
 | 
	
		
			
				|  |  | -            const renderData = {
 | 
	
		
			
				|  |  | -                ledger: JSON.stringify(ledgerData)
 | 
	
		
			
				|  |  | -            };
 | 
	
		
			
				|  |  | -            await this.layout('ledger/explode.ejs', renderData);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /**
 | 
	
	
		
			
				|  | @@ -132,6 +148,31 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              ctx.body = responseData;
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        async updateInfo(ctx) {
 | 
	
		
			
				|  |  | +            const responseData = {
 | 
	
		
			
				|  |  | +                err: 0,
 | 
	
		
			
				|  |  | +                msg: '',
 | 
	
		
			
				|  |  | +                data: []
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +            try {
 | 
	
		
			
				|  |  | +                const tenderId = ctx.session.sessionUser.tenderId;
 | 
	
		
			
				|  |  | +                if (!tenderId) {
 | 
	
		
			
				|  |  | +                    throw '当前未打开标段';
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                const data = JSON.parse(ctx.request.body.data);
 | 
	
		
			
				|  |  | +                if (data instanceof Array) {
 | 
	
		
			
				|  |  | +                    responseData.data = await ctx.service.ledger.updateInfos(tenderId, data);
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    responseData.data = await ctx.service.ledger.updateInfo(tenderId, data);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            } catch (err) {
 | 
	
		
			
				|  |  | +                responseData.err = 1;
 | 
	
		
			
				|  |  | +                responseData.msg = err;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            ctx.body = responseData;
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          /**
 | 
	
		
			
				|  |  |           * 台账变更页面
 | 
	
		
			
				|  |  |           *
 |