'use strict'; const projectScreenConst = require('../const/project_screen'); module.exports = app => { class ProjectScreenController extends app.BaseController { constructor(ctx) { super(ctx); ctx.showProject = true; ctx.showTitle = true; } async index(ctx) { try { if (!ctx.showProjectScreen) throw '项目大屏未开启或没有访问权限'; const pid = ctx.session.sessionProject.id; const screens = await ctx.service.projectScreen.getList(pid); const screen = await ctx.service.projectScreen.getViewScreen(pid, ctx.params.sid || ''); if (!screen) throw '项目尚未添加大屏'; const template = projectScreenConst.getTemplate(screen.template_code); if (!template) throw '大屏模板不存在'; const screenList = screens.map(item => { return Object.assign(item, { template: projectScreenConst.getTemplate(item.template_code), }); }); await this.layout('project_screen/index.ejs', { screens: screenList, screen, template, }); } catch (error) { ctx.log(error); ctx.session.postError = error.toString(); ctx.redirect('/dashboard'); } } } return ProjectScreenController; };