'use strict'; /** * * * @author Mai * @date 2018/6/20 * @version */ module.exports = app => { class StageController extends app.BaseController { /** * 构造函数 * * @param {Object} ctx - egg全局变量 * @return {void} */ constructor(ctx) { super(ctx); ctx.showProject = true; ctx.showTender = true; ctx.showTitle = true; } /** * 期计量页面 * @param {Object} ctx - egg全局变量 * @returns {Promise} */ async index(ctx) { 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('/stage'); } else { let tenderId = ctx.session.sessionUser.tenderId; const tenderList = await ctx.service.tender.getList(); for (const tender of tenderList) { tender.url = ctx.menuList.stage.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 tender = await ctx.service.tender.getDataById(tenderId); const renderData = { tender, tenderList }; await this.layout('stage/index.ejs', renderData, 'stage/modal.ejs'); } } } return StageController; };