添加查看调度运行结果

This commit is contained in:
Winnie
2026-08-05 16:34:35 +08:00
parent c263ae6a5f
commit 30cde4a56c
8 changed files with 1140 additions and 36 deletions
+362 -12
View File
@@ -700,7 +700,7 @@
.schedule-right {
display: grid;
overflow: hidden;
grid-template-rows: minmax(0, 1fr) 236px;
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.schedule-inspector-scroll {
@@ -978,35 +978,53 @@
}
.schedule-run-card {
display: grid;
align-items: start;
gap: 7px;
padding: 8px;
flex: 0 0 auto;
overflow: hidden;
border: 1px solid #e1e8ef;
border-radius: 6px;
background: #fff;
grid-template-columns: 8px minmax(0, 1fr) auto;
}
.schedule-run-card > div {
.schedule-run-card.is-expanded {
border-color: #b9d6f1;
box-shadow: 0 3px 10px rgb(38 117 185 / 8%);
}
.schedule-run-summary {
display: grid;
width: 100%;
align-items: center;
gap: 7px;
padding: 8px;
border: 0;
color: inherit;
background: #fff;
grid-template-columns: 8px minmax(0, 1fr) auto auto;
text-align: left;
}
.schedule-run-summary:hover {
background: #f7fbff;
}
.schedule-run-summary-copy {
display: flex;
min-width: 0;
flex-direction: column;
gap: 2px;
}
.schedule-run-card strong {
.schedule-run-summary-copy strong {
color: #425970;
font-size: 10px;
}
.schedule-run-card small {
.schedule-run-summary-copy small {
color: #8b99a8;
font-size: 8px;
}
.schedule-run-card p {
margin: 2px 0 0;
.schedule-run-summary-copy > span {
overflow: hidden;
color: #b65353;
font-size: 8px;
@@ -1015,12 +1033,340 @@
white-space: nowrap;
}
.schedule-run-card code {
.schedule-run-summary code {
color: #8b9bad;
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
font-size: 8px;
}
.schedule-run-result-button {
min-height: 27px;
padding: 0 9px;
border: 1px solid #bcd4e9;
border-radius: 5px;
color: #2374ba;
background: #f5faff;
cursor: pointer;
font-size: 9px;
font-weight: 650;
white-space: nowrap;
}
.schedule-run-result-button:hover {
border-color: #7eafe0;
background: #eaf5ff;
}
.schedule-run-chevron {
display: grid;
margin-top: 1px;
place-items: center;
color: #8092a5;
transition: transform .16s ease;
}
.schedule-run-chevron.is-open {
transform: rotate(90deg);
}
.schedule-run-detail {
min-height: 0;
padding: 18px;
overflow: auto;
background: #f8fbfe;
}
.schedule-run-result-backdrop {
position: fixed;
z-index: 40;
inset: 0;
border: 0;
background: rgb(10 27 45 / 46%);
cursor: default;
backdrop-filter: blur(2px);
}
.schedule-run-result-modal {
position: fixed;
z-index: 41;
top: 50%;
left: 50%;
display: grid;
width: min(780px, calc(100vw - 48px));
max-height: min(760px, calc(100vh - 64px));
overflow: hidden;
border: 1px solid #d8e2eb;
border-radius: 12px;
background: #fff;
box-shadow: 0 24px 80px rgb(8 27 48 / 30%);
grid-template-rows: auto minmax(0, 1fr);
transform: translate(-50%, -50%);
animation: modal-in .18s ease-out;
}
.schedule-run-result-modal__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
padding: 17px 20px;
border-bottom: 1px solid #e3eaf0;
background: #fff;
}
.schedule-run-result-modal__header > div {
display: grid;
min-width: 0;
align-items: center;
gap: 5px 10px;
grid-template-columns: auto auto;
}
.schedule-run-result-modal__header span {
color: #1f344a;
font-size: 17px;
font-weight: 700;
}
.schedule-run-result-modal__header strong {
justify-self: start;
padding: 3px 8px;
border-radius: 11px;
color: #17805a;
background: #e8f7f1;
font-size: 10px;
}
.schedule-run-result-modal__header code {
overflow: hidden;
color: #8291a1;
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
font-size: 10px;
grid-column: 1 / -1;
text-overflow: ellipsis;
white-space: nowrap;
}
.schedule-run-result-modal .schedule-run-meta {
margin-bottom: 14px;
gap: 10px 18px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.schedule-run-result-modal .schedule-run-meta dt {
margin-bottom: 4px;
font-size: 10px;
}
.schedule-run-result-modal .schedule-run-meta dd {
font-size: 12px;
}
.schedule-run-result-modal .schedule-node-run-list {
gap: 10px;
}
.schedule-run-result-modal .schedule-node-run {
padding: 12px;
border-radius: 7px;
}
.schedule-run-result-modal .schedule-node-run > header strong {
font-size: 13px;
}
.schedule-run-result-modal .schedule-node-run > header > span:last-child,
.schedule-run-result-modal .schedule-node-run-meta,
.schedule-run-result-modal .schedule-node-run > p {
font-size: 10px;
}
.schedule-run-result-modal .schedule-node-run-actions button {
padding: 6px 10px;
font-size: 10px;
}
.schedule-run-result-modal .schedule-node-log > header {
padding: 8px 10px;
font-size: 10px;
}
.schedule-run-result-modal .schedule-node-log pre,
.schedule-run-result-modal .schedule-node-log > p {
max-height: 260px;
padding: 11px;
font-size: 11px;
}
.run-detail-message {
margin: 0;
padding: 8px 4px;
color: #8796a6;
font-size: 9px;
line-height: 1.5;
text-align: center;
}
.run-detail-message.is-error {
color: #bf5656;
}
.schedule-run-meta {
display: grid;
margin: 0 0 8px;
gap: 6px 10px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.schedule-run-meta > div {
min-width: 0;
}
.schedule-run-meta dt {
margin-bottom: 1px;
color: #95a2af;
font-size: 8px;
}
.schedule-run-meta dd {
margin: 0;
overflow: hidden;
color: #41566c;
font-size: 9px;
text-overflow: ellipsis;
white-space: nowrap;
}
.schedule-run-error {
margin-bottom: 8px;
padding: 7px;
border: 1px solid #f0cece;
border-radius: 5px;
color: #a94f4f;
background: #fff6f6;
}
.schedule-run-error code {
font-size: 8px;
font-weight: 700;
}
.schedule-run-error p {
margin: 3px 0 0;
font-size: 8px;
line-height: 1.45;
}
.schedule-node-run-list {
display: flex;
flex-direction: column;
gap: 7px;
}
.schedule-node-run {
padding: 7px;
border: 1px solid #dde7f0;
border-radius: 5px;
background: #fff;
}
.schedule-node-run > header {
display: grid;
align-items: start;
gap: 6px;
grid-template-columns: 8px minmax(0, 1fr) auto;
}
.schedule-node-run > header strong {
overflow: hidden;
color: #40566c;
font-size: 9px;
text-overflow: ellipsis;
white-space: nowrap;
}
.schedule-node-run > header > span:last-child {
color: #71869a;
font-size: 8px;
}
.schedule-node-run-meta {
display: flex;
flex-wrap: wrap;
gap: 3px 8px;
margin: 5px 0 0 14px;
color: #8a98a7;
font-size: 8px;
}
.schedule-node-run > p {
margin: 5px 0 0 14px;
color: #6c7e90;
font-size: 8px;
line-height: 1.45;
}
.schedule-node-run-actions {
display: flex;
gap: 6px;
margin: 7px 0 0 14px;
}
.schedule-node-run-actions button {
padding: 4px 7px;
border: 1px solid #cbddeb;
border-radius: 4px;
color: #2878bd;
background: #f5faff;
cursor: pointer;
font-size: 8px;
}
.schedule-node-run-actions button:disabled {
cursor: not-allowed;
opacity: .45;
}
.schedule-artifact-error {
color: #b65353 !important;
}
.schedule-node-log {
margin: 7px 0 0 14px;
overflow: hidden;
border: 1px solid #dce5ed;
border-radius: 4px;
background: #17212b;
}
.schedule-node-log > header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 5px 7px;
border-bottom: 1px solid #33414e;
color: #c8d2dc;
font-size: 8px;
}
.schedule-node-log > header small {
color: #8292a1;
}
.schedule-node-log pre,
.schedule-node-log > p {
max-height: 210px;
margin: 0;
padding: 7px;
overflow: auto;
color: #d9e2ea;
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
font-size: 8px;
line-height: 1.55;
white-space: pre-wrap;
word-break: break-word;
}
.run-status-dot {
width: 7px;
height: 7px;
@@ -1048,6 +1394,10 @@
background: #d75b5b;
}
.run-status-dot.is-skipped {
background: #a9b4bf;
}
.node-inspector-title {
flex-direction: row !important;
align-items: center;