feat: 数字员工财务报告体系与定时提醒及看板快照调度

- 新增数字员工财务报告生成、邮件投递与渲染调度器
- 引入员工画像扫描调度与定时提醒任务
- 完善财务看板快照、排行口径与部门人员占比计算
- 优化数字员工工作看板仪表盘与技能目录
- 增强前端总览页图表、工作台摘要与顶部导航栏交互
- 新增差旅申请规划推动提醒与报销创建会话状态管理
- 补充财务报告、看板调度、数字员工工作记录测试覆盖
This commit is contained in:
caoxiaozhu
2026-06-03 09:25:23 +08:00
parent 0c74b4ab4a
commit 15006a05a7
114 changed files with 7356 additions and 650 deletions

View File

@@ -20,6 +20,7 @@ const FINANCE_DASHBOARD_FALLBACK = {
spendByCategory: null,
exceptionMix: null,
departmentRanking: null,
departmentEmployeeMix: null,
employeeRanking: null,
topClaims: null,
bottlenecks: null,
@@ -69,6 +70,7 @@ function normalizeFinanceDashboardPayload(payload = {}) {
spendByCategory: payload.spend_by_category || payload.spendByCategory || null,
exceptionMix: payload.exception_mix || payload.exceptionMix || null,
departmentRanking: payload.department_ranking || payload.departmentRanking || null,
departmentEmployeeMix: payload.department_employee_mix || payload.departmentEmployeeMix || null,
employeeRanking: payload.employee_ranking || payload.employeeRanking || null,
topClaims: payload.top_claims || payload.topClaims || null,
bottlenecks: payload.bottlenecks || null,
@@ -129,7 +131,7 @@ export async function fetchFinanceDashboard(options = {}) {
if (options.endDate) search.set('end_date', String(options.endDate))
const payload = await apiRequest(`/analytics/finance-dashboard?${search.toString()}`, {
timeoutMs: Number(options.timeoutMs || 3500),
timeoutMs: Number(options.timeoutMs || 10000),
timeoutMessage: '财务看板真实数据加载超时,已保留本地展示数据。'
})