'use strict'; /** * 标段管理控制器 * * @author CaiAoLin * @date 2018/2/5 * @version */ const tenderConst = require('../const/tender'); module.exports = app => { class TenderController extends app.BaseController { /** * 构造函数 * * @param {Object} ctx - egg全局变量 * @return {void} */ constructor(ctx) { super(ctx); ctx.showProject = true; ctx.showTitle = true; } /** * 标段列表页 * * @param {object} ctx - egg全局变量 * @return {void} */ async index(ctx) { // 获取新增标段的规则 const rule = ctx.service.tender.rule('add'); const jsValidator = await this.jsValidator.convert(rule).build(); // 根据项目id获取标段数据 const tenderList = await ctx.service.tender.getList(); const renderData = { tenderList, tenderConst, jsValidator, }; await this.layout('tender/index.ejs', renderData); } /** * 添加标段操作 * * @param {Object} ctx - egg全局变量 * @return {void} */ async add(ctx) { try { const rule = ctx.service.tender.rule('add'); ctx.helper.validate(rule); const result = ctx.service.tender.add(ctx.request.body); if (!result) { throw '新增标段失败'; } } catch (error) { console.log(error); this.setMessage(error.toString(), this.messageType.ERROR); } ctx.redirect(ctx.request.headers.referer); } } return TenderController; };