feat(platform): add realtime time-window monitoring

This commit is contained in:
lingniu
2026-07-05 13:13:20 +08:00
parent 3cdded42c5
commit c0cc7fc54f
4 changed files with 417 additions and 0 deletions

View File

@@ -1042,6 +1042,144 @@ body {
align-self: end;
}
.vp-time-window-monitor {
margin-bottom: 16px;
overflow: hidden;
}
.vp-time-window-monitor .semi-card-body {
display: grid;
grid-template-columns: minmax(280px, 0.44fr) minmax(0, 1fr);
padding: 0;
}
.vp-time-window-summary {
padding: 18px;
border-right: 1px solid var(--vp-border);
background: #f9fbff;
display: grid;
gap: 12px;
align-content: start;
}
.vp-time-window-main {
padding: 16px;
display: grid;
gap: 14px;
background: #fff;
}
.vp-time-window-controls {
display: grid;
grid-template-columns: minmax(180px, 1.1fr) minmax(190px, 1fr) minmax(190px, 1fr) auto;
gap: 10px;
align-items: end;
}
.vp-time-window-target,
.vp-time-window-controls label {
min-height: 72px;
padding: 10px 12px;
border: 1px solid var(--vp-border);
border-radius: 8px;
background: #fbfcff;
display: grid;
gap: 4px;
align-content: center;
}
.vp-time-window-target span,
.vp-time-window-controls label span {
color: var(--vp-text-muted);
font-size: 12px;
line-height: 16px;
}
.vp-time-window-target strong {
color: var(--vp-text);
font-size: 15px;
line-height: 20px;
}
.vp-time-window-target small {
color: var(--vp-text-tertiary);
font-size: 12px;
}
.vp-time-window-controls input {
width: 100%;
border: 0;
outline: none;
background: transparent;
color: var(--vp-text);
font: inherit;
font-size: 14px;
line-height: 20px;
}
.vp-time-window-controls input:focus {
color: #1664ff;
}
.vp-time-window-presets {
display: flex;
flex-wrap: wrap;
gap: 6px;
justify-content: flex-end;
}
.vp-time-window-actions {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
}
.vp-time-window-action {
min-height: 128px;
padding: 12px;
border: 1px solid var(--vp-border);
border-radius: 8px;
background: #fbfcff;
text-align: left;
cursor: pointer;
font: inherit;
display: grid;
gap: 8px;
align-content: start;
}
.vp-time-window-action:hover,
.vp-time-window-action:focus-visible {
border-color: rgba(22, 100, 255, 0.45);
box-shadow: var(--vp-shadow-sm);
outline: none;
}
.vp-time-window-action:disabled {
cursor: not-allowed;
opacity: 0.62;
}
.vp-time-window-action strong {
color: var(--vp-text);
font-size: 17px;
line-height: 22px;
}
.vp-time-window-action span {
color: var(--vp-text-muted);
font-size: 12px;
line-height: 18px;
}
.vp-time-window-action em {
color: #1664ff;
font-style: normal;
font-size: 12px;
font-weight: 600;
align-self: end;
}
.vp-realtime-command-board {
margin-bottom: 16px;
padding: 14px;
@@ -4917,6 +5055,9 @@ button.vp-realtime-command-item:focus-visible {
.vp-time-audit-grid,
.vp-realtime-customer-board .semi-card-body,
.vp-realtime-customer-steps,
.vp-time-window-monitor .semi-card-body,
.vp-time-window-controls,
.vp-time-window-actions,
.vp-realtime-command-board,
.vp-realtime-command-grid,
.vp-realtime-impact-board,