Explorar el Código

feat(weapp): 添加子项目招标统计功能,优化仪表盘数据展示

lanjianrong hace 1 día
padre
commit
aae1dcef85
Se han modificado 1 ficheros con 9 adiciones y 1 borrados
  1. 9 1
      app/controller/weapp_dashboard_controller.js

+ 9 - 1
app/controller/weapp_dashboard_controller.js

@@ -56,8 +56,15 @@ module.exports = app => {
                     },
                     },
                 };
                 };
                 const subProjects = await ctx.service.subProject.getSubProject(ctx.session.sessionUser.project_id, ctx.session.sessionUser.id, ctx.session.sessionUser.is_admin, true);
                 const subProjects = await ctx.service.subProject.getSubProject(ctx.session.sessionUser.project_id, ctx.session.sessionUser.id, ctx.session.sessionUser.is_admin, true);
+                const accountInfo = await ctx.service.projectAccount.getDataById(ctx.session.sessionUser.accountId);
+                const userPermission = accountInfo !== undefined && accountInfo.permission !== '' ? JSON.parse(accountInfo.permission) : null;
+                let tendersCount = 0;
                 for (const subProject of subProjects) {
                 for (const subProject of subProjects) {
                     subProject.page_show = ctx.service.subProject.getPageShow(subProject.page_show);
                     subProject.page_show = ctx.service.subProject.getPageShow(subProject.page_show);
+                    if (tendersCount < 99) {
+                      const subProjectTenders = await ctx.service.tender.getList('', userPermission, ctx.session.sessionUser.is_admin, '', subProject);
+                      tendersCount += subProjectTenders.length;
+                    }
                 }
                 }
 
 
                 const dashboardShenpis = [];
                 const dashboardShenpis = [];
@@ -103,6 +110,7 @@ module.exports = app => {
                       }
                       }
                   }
                   }
                 }
                 }
+
                 const auditAdvance = await DashboardStats.auditSet(ctx, allAuditAdvance, subProjects, dashboardStatus, 'advance');
                 const auditAdvance = await DashboardStats.auditSet(ctx, allAuditAdvance, subProjects, dashboardStatus, 'advance');
                 dashboardShenpis.push(...(auditAdvance.map(item => ({ ...item, type: 'advance', subType: 'advance' }))));
                 dashboardShenpis.push(...(auditAdvance.map(item => ({ ...item, type: 'advance', subType: 'advance' }))));
                 const auditChangeProject = await DashboardStats.auditSet(ctx, allAuditChangeProject, subProjects, dashboardStatus, 'changeProject');
                 const auditChangeProject = await DashboardStats.auditSet(ctx, allAuditChangeProject, subProjects, dashboardStatus, 'changeProject');
@@ -177,7 +185,7 @@ module.exports = app => {
                     data: {
                     data: {
                         dashboardShenpis: ctx.helper._.orderBy(dashboardShenpis, ['start_audit', 'shenpi_time'], ['desc', 'asc']),
                         dashboardShenpis: ctx.helper._.orderBy(dashboardShenpis, ['start_audit', 'shenpi_time'], ['desc', 'asc']),
                         dashboardStatus: {
                         dashboardStatus: {
-                            all: dashboardStatus.all,
+                            all: tendersCount,
                             dashboard: dashboardStatus.dashboard,
                             dashboard: dashboardStatus.dashboard,
                             worry: dashboardStatus.worry,
                             worry: dashboardStatus.worry,
                             early: dashboardStatus.early,
                             early: dashboardStatus.early,