feat: Dashboard 合同卡片显示有效合同数 + 总合同数

This commit is contained in:
selfrelease
2026-07-29 12:31:09 +08:00
parent 9dbd5b4c87
commit e4a60a985e
2 changed files with 14 additions and 2 deletions
+11 -1
View File
@@ -20,11 +20,20 @@ router.use(authMiddleware, platformAdminMiddleware)
*/
router.get('/dashboard', async (_req: AuthRequest, res, next) => {
try {
const [orgs, users, employees, contracts, payslips] = await Promise.all([
const now = new Date()
const [orgs, users, employees, contracts, activeContracts, payslips] = await Promise.all([
prisma.organization.count(),
prisma.user.count({ where: { role: { not: 'SUPER_ADMIN' } } }),
prisma.employee.count(),
prisma.laborContract.count(),
prisma.laborContract.count({
where: {
OR: [
{ endDate: null },
{ endDate: { gte: now } },
],
},
}),
prisma.payslip.count(),
])
@@ -52,6 +61,7 @@ router.get('/dashboard', async (_req: AuthRequest, res, next) => {
totalUsers: users,
totalEmployees: employees,
totalContracts: contracts,
activeContracts,
totalPayslips: payslips,
orgsByPlan: orgsByPlan.map((g: any) => ({ plan: g.plan, count: g._count })),
recentOrgs: recentOrgs.map((o: any) => ({