feat(platform): customerize realtime map workspace

This commit is contained in:
lingniu
2026-07-05 01:16:45 +08:00
parent 83f033244c
commit 11710ec6fa
4 changed files with 362 additions and 6 deletions

View File

@@ -778,6 +778,195 @@ button.vp-realtime-command-item:focus-visible {
height: 380px;
}
.vp-map-page {
display: grid;
gap: 14px;
}
.vp-map-commandbar {
padding: 14px;
border: 1px solid var(--vp-border);
border-radius: var(--vp-radius);
background: var(--vp-surface);
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
}
.vp-map-refresh-actions {
min-height: 32px;
align-items: center;
}
.vp-map-kpi-strip {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 12px;
}
.vp-map-kpi-item {
min-height: 96px;
padding: 14px;
border: 1px solid var(--vp-border);
border-radius: var(--vp-radius);
background: #fbfcff;
text-align: left;
font: inherit;
cursor: pointer;
display: grid;
align-content: space-between;
gap: 8px;
}
.vp-map-kpi-item:hover,
.vp-map-kpi-item:focus-visible {
border-color: rgba(22, 100, 255, 0.42);
background: #f5f9ff;
outline: none;
}
.vp-map-kpi-item strong {
color: var(--vp-text);
font-size: 26px;
line-height: 32px;
font-weight: 700;
}
.vp-map-kpi-item span {
color: var(--vp-text-muted);
font-size: 12px;
line-height: 18px;
}
.vp-map-workspace {
min-height: 680px;
display: grid;
grid-template-columns: minmax(0, 1fr) 340px;
gap: 14px;
}
.vp-map-canvas-panel {
min-width: 0;
border: 1px solid var(--vp-border);
border-radius: var(--vp-radius);
background: var(--vp-surface);
overflow: hidden;
}
.vp-map-canvas-toolbar {
min-height: 54px;
padding: 12px 14px;
border-bottom: 1px solid var(--vp-border);
background: #fbfcff;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
}
.vp-map-customer-canvas {
height: 626px;
}
.vp-map-customer-side {
min-width: 0;
display: grid;
gap: 12px;
align-content: start;
}
.vp-map-customer-card {
padding: 12px;
border: 1px solid var(--vp-border);
border-radius: var(--vp-radius);
background: var(--vp-surface);
display: grid;
gap: 10px;
}
.vp-map-selected-card {
border-color: rgba(22, 100, 255, 0.28);
background: #f5f9ff;
}
.vp-map-card-title {
color: var(--vp-text);
font-size: 13px;
line-height: 20px;
font-weight: 700;
}
.vp-map-selected-metrics {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 7px 10px;
font-size: 12px;
line-height: 18px;
}
.vp-map-selected-metrics span {
color: var(--vp-text-muted);
}
.vp-map-selected-metrics strong {
color: var(--vp-text);
font-weight: 600;
word-break: break-word;
}
.vp-map-attention-row,
.vp-map-vehicle-row {
width: 100%;
padding: 10px;
border: 1px solid var(--vp-border);
border-radius: var(--vp-radius-sm);
background: #fbfcff;
color: inherit;
text-align: left;
font: inherit;
cursor: pointer;
}
.vp-map-attention-row {
display: grid;
gap: 6px;
}
.vp-map-attention-row > div {
display: grid;
min-width: 0;
}
.vp-map-vehicle-row {
min-height: 42px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.vp-map-vehicle-row span {
min-width: 0;
overflow: hidden;
color: var(--vp-text);
font-weight: 600;
text-overflow: ellipsis;
white-space: nowrap;
}
.vp-map-attention-row:hover,
.vp-map-attention-row:focus-visible,
.vp-map-vehicle-row:hover,
.vp-map-vehicle-row:focus-visible,
.vp-map-vehicle-row-selected {
border-color: rgba(22, 100, 255, 0.5);
background: #f5f9ff;
outline: none;
}
.vp-map-dot {
position: absolute;
width: 10px;
@@ -2577,6 +2766,8 @@ button.vp-realtime-command-item:focus-visible {
.vp-realtime-impact-board,
.vp-realtime-impact-grid,
.vp-source-coverage-grid,
.vp-map-kpi-strip,
.vp-map-workspace,
.vp-runbook-grid,
.vp-workbench-grid,
.vp-focus-service,
@@ -2624,6 +2815,16 @@ button.vp-realtime-command-item:focus-visible {
grid-template-columns: 1fr;
}
.vp-map-commandbar,
.vp-map-canvas-toolbar {
align-items: flex-start;
flex-direction: column;
}
.vp-map-customer-canvas {
height: 460px;
}
.vp-stat-closure-action {
align-items: flex-start;
flex-direction: column;