123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date 2018/6/20
- * @version
- */
- const moment = require('moment');
- const audit = require('../const/audit');
- 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<void>}
- */
- async index(ctx) {
- try {
- const tenderId = ctx.params.id;
- const tender = await this.service.tender.getDataById(tenderId);
- const tenderList = await this.service.tender.getList();
- const stages = await ctx.service.stage.getAllDataByCondition({
- where: {tid: tender.id},
- order: ['order'],
- });
- const renderData = {
- moment,
- tender,
- tenderList,
- stages,
- auditConst: audit.flow,
- };
- 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<void>}
- */
- async add(ctx) {
- try {
- const tenderId = ctx.params.id;
- if (!tenderId) {
- throw '当前未打开标段';
- }
- const data = JSON.parse(ctx.request.body.data);
- const stage = await ctx.service.stage.add(tenderId, data.name, moment(data.time).toDate());
- console.log(stage);
- ctx.body = { err: 0, msg: '', data: stage };
- } catch (err) {
- console.log(err);
- ctx.body = { err: 1, msg: err.toString(), data: null};
- }
- }
- /**
- * 期 -- 本期计量台账 页面 (Get)
- *
- * @param {Object} ctx - egg全局变量
- * @returns {Promise<void>}
- */
- async stageMeasure(ctx) {
- try {
- const tender = ctx.tenderData;
- const tenderList = ctx.tenderList;
- const order = parseInt(ctx.params.order);
- const stage = await ctx.service.stage.getDataByCondition({
- tid: tender.id,
- order: order,
- });
- const renderData = {
- tender,
- tenderList,
- stage,
- auditConst: audit.flow,
- }
- await this.layout('stage/measure.ejs', renderData, 'stage/measure_modal.ejs');
- } catch (err) {
- console.log(err);
- ctx.redirect('/stage');
- }
- }
- /**
- * 期 -- 合同支付 页面 (Get)
- *
- * @param {Object} ctx - egg全局变量
- * @returns {Promise<void>}
- */
- async stageDeal(ctx) {
- try {
- const tender = ctx.tenderData;
- const tenderList = ctx.tenderList;
- const order = parseInt(ctx.params.order);
- const stage = await ctx.service.stage.getDataByCondition({
- tid: tender.id,
- order: order,
- });
- const renderData = {
- tender,
- tenderList,
- stage,
- auditConst: audit.flow,
- };
- await this.layout('stage/deal.ejs', renderData, 'stage/deal_modal.ejs');
- } catch (err) {
- console.log(err);
- ctx.redirect('/stage');
- }
- }
- /**
- * 期 -- 报表 页面 (Get)
- *
- * @param {Object} ctx - egg全局变量
- * @returns {Promise<void>}
- */
- async stageReport(ctx) {
- try {
- const tender = ctx.tenderData;
- const tenderList = ctx.tenderList;
- const order = parseInt(ctx.params.order);
- const stage = await ctx.service.stage.getDataByCondition({
- tid: tender.id,
- order: order,
- });
- const renderData = {
- tender,
- tenderList,
- stage,
- auditConst: audit.flow,
- };
- await this.layout('stage/report.ejs', renderData, 'stage/report_modal.ejs');
- } catch (err) {
- console.log(err);
- ctx.redirect('/stage');
- }
- }
- }
- return StageController;
- };
|