图谱四视图切换(全景/技术栈聚类/职级演进/动态时序)+ 标签按需显示 + NEW 脉动标记(CSS/Canvas 实现,无 emoji)+ 时点对比 Git Style Diff 与证据关键词高亮 + 简历加分项改琥珀色 + 学习路径甘特图
This commit is contained in:
+56
-9
@@ -303,6 +303,17 @@ svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width:
|
||||
.graph-title { display: flex; align-items: center; gap: 10px; }
|
||||
.graph-title h2 { font-size: 18px; font-weight: 600; }
|
||||
.graph-actions { display: flex; gap: 8px; }
|
||||
.graph-view-tabs { margin: 0 auto; }
|
||||
|
||||
/* 动态时序视图:画布顶部居中的季度时间轴 */
|
||||
.graph-timeline {
|
||||
position: absolute; top: 12px; left: 50%; transform: translateX(-50%);
|
||||
display: flex; align-items: center; gap: 10px; z-index: 6;
|
||||
background: rgba(255,255,255,0.94); border: 1px solid var(--border); border-radius: 999px;
|
||||
padding: 6px 14px; box-shadow: var(--shadow-pop);
|
||||
}
|
||||
.graph-timeline input[type="range"] { width: 240px; accent-color: var(--primary); }
|
||||
.gt-window { font-size: 12px; color: var(--text-1); font-weight: 600; white-space: nowrap; }
|
||||
|
||||
.graph-body { display: flex; gap: 12px; height: calc(100vh - var(--topbar-h) - 130px); min-height: 520px; }
|
||||
.graph-canvas-wrap { flex: 1; position: relative; overflow: hidden; min-width: 0; }
|
||||
@@ -558,7 +569,7 @@ svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width:
|
||||
}
|
||||
.hl { border-radius: 3px; padding: 1px 4px; font-weight: 500; white-space: nowrap; }
|
||||
.hl-req { background: var(--success-light); color: var(--success); box-shadow: inset 0 0 0 1px #b7eb8f; }
|
||||
.hl-pref { background: var(--primary-light); color: var(--primary); box-shadow: inset 0 0 0 1px #d6e4ff; }
|
||||
.hl-pref { background: #fdf0da; color: #ad6a10; box-shadow: inset 0 0 0 1px #e8c07d; }
|
||||
.hl-other { background: var(--bg-page); color: var(--text-2); box-shadow: inset 0 0 0 1px var(--border); }
|
||||
/* 结构化简历模板(docx 表格风) */
|
||||
.rd-table {
|
||||
@@ -673,6 +684,28 @@ svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width:
|
||||
.stage-check { font-size: 12px; }
|
||||
.path-done { text-align: center; padding: 40px; color: var(--success); font-size: 15px; }
|
||||
|
||||
/* 路线甘特图:横轴周数,每阶段一根横条(已完成绿填充 / 未完成主色描边),纯 CSS */
|
||||
.gantt-wrap { margin-bottom: 18px; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 14px 16px; background: var(--bg-page); }
|
||||
.gantt-title { font-size: 12px; font-weight: 600; color: var(--text-2); margin-bottom: 8px; }
|
||||
.gantt-track { position: relative; height: 30px; }
|
||||
.gantt-bar {
|
||||
position: absolute; top: 0; height: 100%; box-sizing: border-box;
|
||||
border: 1.5px solid var(--primary); border-radius: 4px; background: var(--primary-light);
|
||||
display: flex; align-items: center; overflow: hidden;
|
||||
}
|
||||
.gantt-bar.done { background: var(--success); border-color: var(--success); }
|
||||
.gantt-bar .gb-label {
|
||||
font-size: 11px; color: var(--primary); font-weight: 600;
|
||||
padding: 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
||||
}
|
||||
.gantt-bar.done .gb-label { color: #fff; }
|
||||
.gantt-axis { position: relative; height: 14px; margin-top: 4px; }
|
||||
.gantt-tick {
|
||||
position: absolute; transform: translateX(-50%);
|
||||
font-size: 10px; color: var(--text-3); font-variant-numeric: tabular-nums;
|
||||
}
|
||||
.gantt-tick::before { content: ""; position: absolute; top: -4px; left: 50%; width: 1px; height: 3px; background: var(--border-dark); }
|
||||
|
||||
/* ============ 弹窗 / Toast ============ */
|
||||
.modal-mask {
|
||||
position: fixed; inset: 0; background: rgba(29, 33, 41, 0.45);
|
||||
@@ -767,14 +800,28 @@ svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width:
|
||||
.evo-dates { display: flex; align-items: center; gap: 8px; }
|
||||
.evo-dates .input { width: 150px; }
|
||||
.diff-meta { font-size: 12px; color: var(--text-3); margin-bottom: 10px; }
|
||||
.diff-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
|
||||
@media (max-width: 1100px) { .diff-grid { grid-template-columns: 1fr; } }
|
||||
.diff-col { background: var(--bg-hover); border-radius: var(--radius-sm); padding: 10px 12px; }
|
||||
.diff-title { font-size: 12px; font-weight: 600; color: var(--text-1); margin-bottom: 8px; }
|
||||
.diff-chips { display: flex; flex-wrap: wrap; gap: 6px; }
|
||||
.diff-chip { cursor: pointer; }
|
||||
.diff-chip:hover { filter: brightness(0.92); }
|
||||
.diff-chip i { font-style: normal; margin-left: 3px; color: var(--primary); font-weight: 700; }
|
||||
/* Git 风格行式 diff:+新增(绿) / -退出(红+删除线) / 保留(灰) */
|
||||
.diff-rows { border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
|
||||
.diff-group { font-size: 12px; font-weight: 600; color: var(--text-2); padding: 6px 12px; background: var(--bg-hover); border-top: 1px solid var(--border); }
|
||||
.diff-group:first-child { border-top: none; }
|
||||
.dr-head-add { color: var(--success); }
|
||||
.dr-head-del { color: #cf1322; }
|
||||
.diff-row {
|
||||
display: flex; align-items: center; gap: 10px; padding: 5px 12px;
|
||||
font-size: 13px; cursor: pointer; border-top: 1px solid var(--border);
|
||||
}
|
||||
.diff-row:hover { filter: brightness(0.97); }
|
||||
.diff-row .dr-sign { width: 14px; text-align: center; font-family: Consolas, monospace; font-weight: 700; flex: none; }
|
||||
.diff-row .dr-imp { margin-left: auto; font-size: 11px; color: var(--text-3); flex: none; }
|
||||
.diff-row .dr-up { font-style: normal; color: var(--primary); font-weight: 700; margin-left: 3px; }
|
||||
.diff-row.dr-add { background: var(--success-light); }
|
||||
.diff-row.dr-add .dr-sign, .diff-row.dr-add .dr-name { color: var(--success); }
|
||||
.diff-row.dr-del { background: #fff1f0; }
|
||||
.diff-row.dr-del .dr-sign, .diff-row.dr-del .dr-name { color: #cf1322; }
|
||||
.diff-row.dr-del .dr-name { text-decoration: line-through; }
|
||||
.diff-row.dr-keep { background: var(--bg-page); color: var(--text-2); }
|
||||
.diff-row.dr-none { color: var(--text-3); cursor: default; background: #fff; font-size: 12px; }
|
||||
.jd-evidence mark { background: #ffe58f; color: inherit; border-radius: 2px; padding: 0 1px; }
|
||||
.evo-heat-wrap { max-height: 260px; max-width: 920px; margin: 0 auto 16px; }
|
||||
.evo-heat-wrap canvas { max-height: 260px; }
|
||||
.timeline { max-height: 420px; overflow-y: auto; }
|
||||
|
||||
Reference in New Issue
Block a user