feat: 数字员工财务报告体系与定时提醒及看板快照调度
- 新增数字员工财务报告生成、邮件投递与渲染调度器 - 引入员工画像扫描调度与定时提醒任务 - 完善财务看板快照、排行口径与部门人员占比计算 - 优化数字员工工作看板仪表盘与技能目录 - 增强前端总览页图表、工作台摘要与顶部导航栏交互 - 新增差旅申请规划推动提醒与报销创建会话状态管理 - 补充财务报告、看板调度、数字员工工作记录测试覆盖
This commit is contained in:
@@ -142,19 +142,16 @@
|
||||
|
||||
.trend-count-panel,
|
||||
.donut-panel,
|
||||
.rank-panel,
|
||||
.employee-rank-panel,
|
||||
.top-claim-panel,
|
||||
.budget-metrics-panel,
|
||||
.bottleneck-panel,
|
||||
.budget-panel,
|
||||
.model-panel,
|
||||
.feedback-panel {
|
||||
grid-column: span 3;
|
||||
}
|
||||
|
||||
.bottleneck-panel,
|
||||
.rank-panel,
|
||||
.employee-rank-panel,
|
||||
.top-claim-panel,
|
||||
.budget-metrics-panel,
|
||||
.bottleneck-panel,
|
||||
.budget-panel {
|
||||
grid-column: span 6;
|
||||
}
|
||||
@@ -188,6 +185,21 @@
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
.card-range-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 28px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), .18);
|
||||
border-radius: 4px;
|
||||
background: rgba(var(--theme-primary-rgb, 58, 124, 165), .07);
|
||||
color: var(--theme-primary-active);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.panel-note {
|
||||
margin-top: 8px;
|
||||
color: #64748b;
|
||||
@@ -581,6 +593,42 @@
|
||||
.top-claim-list {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
align-content: start;
|
||||
}
|
||||
|
||||
.top-claim-split {
|
||||
flex: 1;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(260px, .92fr) minmax(0, 1.08fr);
|
||||
gap: 18px;
|
||||
align-items: stretch;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.department-employee-mix {
|
||||
min-width: 0;
|
||||
padding-right: 18px;
|
||||
border-right: 1px solid #f1f5f9;
|
||||
}
|
||||
|
||||
.department-employee-mix :deep(.donut-chart) {
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
.department-employee-mix :deep(.donut-body) {
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
.department-employee-mix :deep(.donut-legend) {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 7px;
|
||||
}
|
||||
|
||||
.department-employee-mix :deep(.legend-name) {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.top-claim-row {
|
||||
@@ -873,6 +921,17 @@
|
||||
grid-template-columns: 24px 64px minmax(0, 1fr);
|
||||
}
|
||||
|
||||
.top-claim-split {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.department-employee-mix {
|
||||
padding-right: 0;
|
||||
padding-bottom: 14px;
|
||||
border-right: 0;
|
||||
border-bottom: 1px solid #f1f5f9;
|
||||
}
|
||||
|
||||
.budget-metric-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
@media (max-width: 760px) {
|
||||
.approval-page,
|
||||
.approval-detail,
|
||||
.detail-scroll,
|
||||
.detail-hero,
|
||||
.progress-card,
|
||||
.detail-grid,
|
||||
.detail-left,
|
||||
.detail-card {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.detail-scroll {
|
||||
padding-right: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.detail-scroll > * {
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.hero-banner-main,
|
||||
.hero-fact-grid,
|
||||
.applicant-card,
|
||||
.detail-card-head {
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.progress-card,
|
||||
.progress-block {
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.progress-line {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.detail-expense-table {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.detail-actions {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.approval-action-group {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.back-action,
|
||||
.approval-action-group > button {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
}
|
||||
}
|
||||
@@ -704,6 +704,7 @@
|
||||
.ai-preview-secondary:disabled,
|
||||
.ai-preview-primary:disabled,
|
||||
.approve-action:disabled,
|
||||
.secondary-action:disabled,
|
||||
.return-action:disabled,
|
||||
.ai-send-btn:disabled {
|
||||
opacity: .45;
|
||||
|
||||
@@ -1645,6 +1645,13 @@
|
||||
color: #ef4444;
|
||||
}
|
||||
|
||||
.secondary-action {
|
||||
min-width: 98px;
|
||||
border: 1px solid #bfdbfe;
|
||||
background: #eff6ff;
|
||||
color: #2563eb;
|
||||
}
|
||||
|
||||
.return-action {
|
||||
min-width: 98px;
|
||||
border: 1px solid #fed7aa;
|
||||
|
||||
Reference in New Issue
Block a user