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

@@ -97,7 +97,7 @@
.assistant-copy {
position: relative;
z-index: 3;
width: min(1120px, 94%);
width: min(980px, 94%);
display: grid;
gap: var(--hero-copy-gap);
}
@@ -130,6 +130,7 @@
z-index: 5;
display: grid;
gap: 6px;
max-width: 920px;
min-height: var(--composer-min-height);
padding: var(--composer-padding-block) 18px 10px;
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.28);
@@ -416,7 +417,7 @@
.workbench-content-grid {
display: grid;
grid-template-columns: minmax(360px, 0.95fr) minmax(560px, 1.4fr) minmax(320px, 0.82fr);
grid-template-columns: minmax(560px, 1.45fr) minmax(320px, 0.82fr);
gap: 14px;
align-items: stretch;
min-height: 0;
@@ -434,7 +435,6 @@
box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}
.todo-panel,
.progress-panel,
.side-panel {
display: grid;
@@ -493,7 +493,6 @@
color: var(--workbench-muted);
}
.todo-list,
.progress-list {
display: grid;
min-height: 0;
@@ -501,45 +500,11 @@
grid-auto-rows: minmax(0, 1fr);
}
.todo-row {
display: grid;
grid-template-columns: 34px minmax(0, 1fr) auto;
align-items: center;
gap: 9px;
width: 100%;
padding: 2px 0;
border-top: 1px solid var(--workbench-line-soft);
text-align: left;
}
.todo-row:first-child,
.progress-row:first-child {
padding-top: 2px;
border-top: 0;
}
.todo-row :deep(.workbench-list-icon) {
width: 28px;
height: 28px;
}
.todo-row :deep(.workbench-list-icon__panel) {
border-radius: 4px;
}
.todo-row :deep(.workbench-list-icon__art),
.todo-row :deep(.workbench-heroicon) {
width: 16px;
height: 16px;
}
.todo-copy {
min-width: 0;
display: grid;
gap: 2px;
}
.todo-copy strong,
.progress-identity strong,
.progress-result strong {
overflow: hidden;
@@ -551,8 +516,6 @@
white-space: nowrap;
}
.todo-copy small,
.todo-meta small,
.progress-identity small {
overflow: hidden;
color: var(--workbench-muted);
@@ -562,14 +525,6 @@
white-space: nowrap;
}
.todo-meta {
min-width: 96px;
display: grid;
justify-items: end;
gap: 2px;
}
.todo-status,
.progress-status {
display: inline-flex;
align-items: center;
@@ -582,33 +537,16 @@
white-space: nowrap;
}
.todo-status--warning,
.progress-status--warning {
background: var(--warning-soft);
color: var(--warning);
}
.todo-status--success,
.progress-status--success {
background: var(--workbench-primary-soft);
color: var(--workbench-primary-active);
}
.todo-status--danger {
background: var(--danger-soft);
color: var(--danger);
}
.todo-status--info {
background: var(--info-soft);
color: var(--info);
}
.todo-status--orange {
background: var(--warning-soft);
color: var(--warning);
}
.progress-status--muted {
background: var(--info-soft);
color: var(--workbench-muted);
@@ -708,7 +646,6 @@
}
.capability-card:hover,
.todo-row:hover,
.progress-row:hover,
.quick-prompts button:hover,
.composer-icon-button:hover {