fix: 风险中心与工作台数量不一致
风险中心改用 getDashboardData 的 todos 数据源(已按员工+类别去重),确保与工作台待办数量完全一致
This commit is contained in:
@@ -489,14 +489,23 @@ router.get('/performance-stats', authMiddleware, async (req: AuthRequest, res: R
|
||||
}
|
||||
})
|
||||
|
||||
// 风险中心 — 获取所有待处理风险项
|
||||
// 风险中心 — 获取所有待处理风险项(与工作台同口径,使用去重后的 todos)
|
||||
router.get('/risks', authMiddleware, async (req: AuthRequest, res: Response, next: NextFunction) => {
|
||||
try {
|
||||
const risks = await prisma.riskItem.findMany({
|
||||
where: { orgId: req.user!.orgId, status: 'PENDING' },
|
||||
include: { employee: { select: { name: true, department: true } } },
|
||||
orderBy: [{ level: 'desc' }, { createdAt: 'desc' }],
|
||||
})
|
||||
const data = await getDashboardData(req.user!.orgId)
|
||||
// todos 已按员工+类别去重,与工作台待办数量一致
|
||||
const risks = (data.todos || []).map((t: any) => ({
|
||||
id: t.id,
|
||||
type: t.type,
|
||||
level: t.level.toUpperCase(),
|
||||
status: 'PENDING',
|
||||
title: t.title,
|
||||
description: t.description || '',
|
||||
actionUrl: t.actionUrl || '',
|
||||
estimatedLoss: t.estimatedLoss || 0,
|
||||
deadline: t.deadline || null,
|
||||
employee: t.employeeName ? { name: t.employeeName, department: t.employeeDepartment || '' } : null,
|
||||
}))
|
||||
res.json({ success: true, data: risks })
|
||||
} catch (err) {
|
||||
next(err)
|
||||
|
||||
Reference in New Issue
Block a user