measure_controller.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. 'use strict';
  2. /**
  3. * 计量相关控制器
  4. *
  5. * @author olym
  6. * @date 2018/2/11
  7. * @version
  8. */
  9. module.exports = app => {
  10. class MeasureController extends app.BaseController {
  11. /**
  12. * 构造函数
  13. *
  14. * @param {Object} ctx - egg全局变量
  15. * @return {void}
  16. */
  17. constructor(ctx) {
  18. super(ctx);
  19. ctx.showProject = true;
  20. ctx.showTender = true;
  21. ctx.showTitle = true;
  22. }
  23. /**
  24. * 中间计量页面
  25. *
  26. * @param {Object} ctx - egg全局变量
  27. * @return {void}
  28. */
  29. async middle(ctx) {
  30. const renderData = {};
  31. await this.layout('measure/middle.ejs', renderData);
  32. }
  33. /**
  34. * 期计量页面
  35. *
  36. * @param {Object} ctx - egg全局变量
  37. * @return {void}
  38. */
  39. async stage(ctx) {
  40. if (ctx.request.query.tenderId) {
  41. const tenderId = parseInt(ctx.request.query.tenderId);
  42. const tender = await ctx.service.tender.getDataById(tenderId);
  43. ctx.session.sessionUser.tenderId = tender.id;
  44. ctx.session.sessionUser.tenderName = tender.name;
  45. ctx.redirect('/measure/stage');
  46. } else {
  47. let tenderId = ctx.session.sessionUser.tenderId;
  48. const tenderInfo = await ctx.service.tender.getDataById(tenderId);
  49. const tenderList = await ctx.service.tender.getList();
  50. for (const tender of tenderList) {
  51. tender.url = ctx.menuList.measure.children.stage.url + '?tenderId=' + tender.id;
  52. }
  53. const renderData = {
  54. tenderInfo,
  55. tenderList
  56. };
  57. await this.layout('measure/stage.ejs', renderData, 'measure/stage-modal.ejs');
  58. }
  59. }
  60. }
  61. return MeasureController;
  62. };