feat: 引入 ECharts 统一图表并完善员工画像标签分页
后端优化员工行为画像服务和辅助函数,完善系统设置模型和 配置持久化,前端引入 ECharts 替换所有图表组件实现统一 渲染,新增员工画像标签分页器和数字员工工作记录组件,优 化工作台响应式布局和登录页过渡动画,完善预算中心和数字 员工页面样式细节。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
.approval-page {
|
||||
.approval-page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
@@ -35,17 +35,14 @@
|
||||
gap: 10px;
|
||||
padding: 18px 24px 18px;
|
||||
border: 1px solid #edf2f7;
|
||||
background:
|
||||
radial-gradient(circle at 100% 100%, rgba(45, 212, 191, .18), transparent 18%),
|
||||
radial-gradient(circle at 92% 92%, rgba(125, 211, 252, .14), transparent 24%),
|
||||
linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
|
||||
background: #fff;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.progress-card {
|
||||
padding: 18px 22px 20px;
|
||||
border: 1px solid #edf2f7;
|
||||
background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.hero-banner {
|
||||
@@ -75,7 +72,7 @@
|
||||
overflow: hidden;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 999px;
|
||||
background: linear-gradient(180deg, #eff6ff 0%, #ecfeff 100%);
|
||||
background: #f8fafc;
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
@@ -111,7 +108,7 @@
|
||||
align-items: center;
|
||||
min-height: 24px;
|
||||
padding: 0 9px;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: var(--theme-primary-soft);
|
||||
border: 1px solid rgba(var(--theme-primary-rgb), .16);
|
||||
color: var(--theme-primary-active);
|
||||
@@ -156,7 +153,7 @@
|
||||
}
|
||||
|
||||
.applicant-profile-meta__role .applicant-meta-item + .applicant-meta-item::before {
|
||||
content: "•";
|
||||
content: "/";
|
||||
position: absolute;
|
||||
left: -10px;
|
||||
color: #cbd5e1;
|
||||
@@ -401,7 +398,7 @@
|
||||
justify-content: center;
|
||||
padding: 0 9px;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: #f8fafc;
|
||||
color: #64748b;
|
||||
font-size: 11px;
|
||||
@@ -525,7 +522,7 @@
|
||||
gap: 6px;
|
||||
padding: 0 14px;
|
||||
border: 1px solid #dbe4ee;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: #f8fafc;
|
||||
color: #0f172a;
|
||||
font-size: 13px;
|
||||
@@ -552,7 +549,7 @@
|
||||
min-width: 102px;
|
||||
min-height: 34px;
|
||||
padding: 0 12px;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: var(--theme-primary-soft);
|
||||
color: var(--theme-primary-active);
|
||||
font-size: 14px;
|
||||
@@ -564,7 +561,7 @@
|
||||
min-height: 84px;
|
||||
resize: none;
|
||||
border: 1px solid #d7e0ea;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
padding: 12px;
|
||||
font-size: 13px;
|
||||
line-height: 1.5;
|
||||
@@ -574,8 +571,8 @@
|
||||
min-height: 84px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid #d7e0ea;
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
|
||||
border-radius: 4px;
|
||||
background: #f8fafc;
|
||||
color: #334155;
|
||||
font-size: 13px;
|
||||
line-height: 1.7;
|
||||
@@ -598,7 +595,7 @@
|
||||
margin-top: 4px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
@@ -751,7 +748,7 @@
|
||||
gap: 8px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid #dbe4ee;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
@@ -920,7 +917,7 @@
|
||||
min-height: 34px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid #d7e0ea;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
color: #0f172a;
|
||||
font-size: 12px;
|
||||
@@ -938,7 +935,7 @@
|
||||
display: grid;
|
||||
place-items: center;
|
||||
border: 1px solid #d7e0ea;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: #f8fafc;
|
||||
color: #334155;
|
||||
font-size: 12px;
|
||||
@@ -1008,7 +1005,7 @@
|
||||
align-items: center;
|
||||
margin-top: 6px;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
font-size: 11px;
|
||||
font-weight: 800;
|
||||
white-space: nowrap;
|
||||
@@ -1032,7 +1029,7 @@
|
||||
margin-top: 12px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid rgba(var(--theme-primary-rgb), .22);
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: var(--theme-primary-soft);
|
||||
color: var(--theme-primary-active);
|
||||
}
|
||||
@@ -1090,7 +1087,7 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px 10px;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
@@ -1142,7 +1139,7 @@
|
||||
justify-content: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
font-size: 14px;
|
||||
font-weight: 800;
|
||||
}
|
||||
@@ -1179,7 +1176,7 @@
|
||||
min-height: 28px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid #dbe4ee;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
color: #334155;
|
||||
font-size: 11px;
|
||||
@@ -1232,7 +1229,7 @@
|
||||
gap: 5px;
|
||||
min-height: 28px;
|
||||
padding: 0 9px;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: var(--success-soft);
|
||||
color: var(--success-hover);
|
||||
font-size: 11px;
|
||||
@@ -1247,7 +1244,7 @@
|
||||
gap: 5px;
|
||||
min-height: 28px;
|
||||
padding: 0 9px;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: var(--success-soft);
|
||||
color: var(--success-hover);
|
||||
font-size: 11px;
|
||||
@@ -1339,10 +1336,8 @@
|
||||
gap: 14px;
|
||||
padding: 22px;
|
||||
border: 1px solid rgba(var(--theme-primary-rgb), .14);
|
||||
border-radius: 24px;
|
||||
background:
|
||||
radial-gradient(circle at top left, rgba(var(--theme-primary-rgb), .12), transparent 36%),
|
||||
linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 252, .98));
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
box-shadow: 0 28px 56px rgba(15, 23, 42, .2);
|
||||
}
|
||||
|
||||
@@ -1368,7 +1363,7 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 1px solid #d7e0ea;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: rgba(255, 255, 255, .9);
|
||||
color: #475569;
|
||||
}
|
||||
@@ -1391,7 +1386,7 @@
|
||||
align-items: center;
|
||||
min-height: 28px;
|
||||
padding: 0 10px;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: var(--theme-primary-soft);
|
||||
color: var(--theme-primary-active);
|
||||
font-size: 12px;
|
||||
@@ -1420,9 +1415,9 @@
|
||||
.attachment-insight-pane {
|
||||
min-height: 0;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 20px;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
|
||||
background: #f8fafc;
|
||||
}
|
||||
|
||||
.attachment-source-pane {
|
||||
@@ -1485,7 +1480,7 @@
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
padding: 12px;
|
||||
border-radius: 14px;
|
||||
border-radius: 4px;
|
||||
background: #f8fafc;
|
||||
}
|
||||
|
||||
@@ -1504,7 +1499,7 @@
|
||||
gap: 6px;
|
||||
padding: 10px;
|
||||
border: 1px solid #fee2e2;
|
||||
border-radius: 12px;
|
||||
border-radius: 4px;
|
||||
background: #fff7f7;
|
||||
}
|
||||
|
||||
@@ -1572,7 +1567,7 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
font-size: 13px;
|
||||
font-weight: 760;
|
||||
}
|
||||
@@ -1632,7 +1627,7 @@
|
||||
gap: 8px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 8px;
|
||||
border-radius: 4px;
|
||||
background: #f8fafc;
|
||||
}
|
||||
|
||||
@@ -1681,7 +1676,7 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
color: #475569;
|
||||
}
|
||||
@@ -1696,7 +1691,7 @@
|
||||
gap: 10px;
|
||||
padding: 12px;
|
||||
border: 1px solid #fecaca;
|
||||
border-radius: 10px;
|
||||
border-radius: 4px;
|
||||
background: #fffafa;
|
||||
}
|
||||
|
||||
@@ -1713,7 +1708,7 @@
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 0 8px;
|
||||
border-radius: 999px;
|
||||
border-radius: 4px;
|
||||
background: #fef2f2;
|
||||
color: #dc2626;
|
||||
font-size: 11px;
|
||||
@@ -1759,7 +1754,7 @@
|
||||
gap: 8px;
|
||||
padding: 12px 12px 11px;
|
||||
border: 1px solid #e5e7eb;
|
||||
border-radius: 10px;
|
||||
border-radius: 4px;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 1px 1px rgba(15, 23, 42, 0.03);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user