'use strict'; /** * * * @author Mai * @date 2018/6/20 * @version */ const moment = require('moment'); 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; } /** * 期计量页面 (Get) * @param {Object} ctx - egg全局变量 * @returns {Promise} */ async index(ctx) { try { const tender = ctx.tenderData; const tenderList = ctx.tenderList; const stages = await ctx.service.stage.getAllDataByCondition({ where: {tender_id: tender.id}, order: ['order'], }); const renderData = { moment, tender, tenderList, stages, }; await this.layout('stage/index.ejs', renderData, 'stage/modal.ejs'); } catch (err) { console.log(err); ctx.redirect('/dashboard'); } } /** * 新增期 (Post) * * @param {Object} ctx - egg全局变量 * @returns {Promise} */ async add(ctx) { try { const tenderId = ctx.session.sessionUser.tenderId; if (!tenderId) { throw '当前未打开标段'; } const stages = await ctx.service.stage.getAllDataByCondition({ where: {tender_id: tender.id}, order: ['order'], }); const order = stages.length + 1; const newStage = { sid: this.uuid.v4(), tender_id: tenderId, order: order, name: ctx.body.stageName, in_time: new Date(), s_time: ctx.body.stageTime, times: 1, status: auditConst.status.uncheck, }; const result = await ctx.service.stage.insert(newStage); if (result.affected === 1) { ctx.redirect('/stage/' + newStage.sid); } } catch (err) { console.log(err); ctx.redirect('/stage'); } } async stage(ctx) { try { const tenderId = ctx.session.sessionUser.tenderId; if (!tenderId) { throw '当前未打开标段' } const tenderData = await ctx.service.tender.getDataById(tenderId); } catch (err) { console.log(err); ctx.redirect('/stage'); } } } return StageController; };