12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 'use strict';
- /**
- * 控制面板
- *
- * @author CaiAoLin
- * @date 2017/11/23
- * @version
- */
- const auditConst = require('../const/audit');
- const officeList = require('../const/cld_office').list;
- module.exports = app => {
- class DashboardController extends app.BaseController {
- /**
- * 控制面板页面
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- async index(ctx) {
- const auditTenders = await ctx.service.ledgerAudit.getAuditTender(ctx.session.sessionUser.accountId);
- const auditStages = await ctx.service.stageAudit.getAuditStage(ctx.session.sessionUser.accountId);
- const auditChanges = await ctx.service.changeAudit.getAuditChange(ctx.session.sessionUser.accountId);
- const auditRevise = await ctx.service.reviseAudit.getAuditRevise(ctx.session.sessionUser.accountId);
- const pa = await ctx.service.projectAccount.getDataById(ctx.session.sessionUser.accountId);
- const lastNotice = pa.last_notice ? pa.last_notice : (pa.last_notice === 0 ? new Date() : new Date(pa.last_login * 1000));
- const noticeLedger = await ctx.service.ledgerAudit.getNoticeTender(ctx.session.sessionProject.id, pa.id, lastNotice);
- const noticeStage = await ctx.service.stageAudit.getNoticeStage(ctx.session.sessionProject.id, pa.id, lastNotice);
- const noticeChange = await ctx.service.changeAudit.getNoticeChange(ctx.session.sessionProject.id, pa.id, lastNotice);
- const noticeRevise = await ctx.service.reviseAudit.getNoticeRevise(ctx.session.sessionProject.id, pa.id, lastNotice);
- const projectData = await ctx.service.project.getDataById(ctx.session.sessionProject.id);
- // 获取销售人员数据
- const salesmanData = await ctx.service.manager.getDataById(projectData.manager_id);
- const officeName = officeList[salesmanData.office];
- // 获取版本信息
- const versionList = await ctx.service.version.getAllDataByCondition({ orders: [['id', 'desc']], limit: 5, offset: 0 });
- const renderData = {
- auditTenders,
- auditStages,
- auditChanges,
- auditRevise,
- role: pa.role,
- authMobile: pa.auth_mobile,
- acLedger: auditConst.ledger,
- acStage: auditConst.stage,
- acChange: auditConst.flow,
- acRevise: auditConst.revise,
- noticeLedger,
- noticeStage,
- noticeChange,
- noticeRevise,
- projectData,
- salesmanData,
- officeName,
- versionList: JSON.parse(JSON.stringify(versionList).replace(/\\r\\n/g, '<br>'))
- };
- await this.layout('dashboard/index.ejs', renderData, 'dashboard/modal.ejs');
- await ctx.service.projectAccount.defaultUpdate({
- id: this.ctx.session.sessionUser.accountId,
- last_notice: new Date(),
- });
- }
- }
- return DashboardController;
- };
|