430 lines
52 KiB
HTML
430 lines
52 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<script src="./support.js"></script>
|
||
</head>
|
||
<body>
|
||
<x-dc>
|
||
<helmet>
|
||
<link rel="stylesheet" href="_ds/industry-22c874fd-9888-4e99-8234-d60d39b3d719/styles.css">
|
||
<script src="_ds/industry-22c874fd-9888-4e99-8234-d60d39b3d719/_ds_bundle.js"></script>
|
||
<style>
|
||
body{margin:0;background:#f2f2f3;min-width:1280px}
|
||
*{scrollbar-width:thin;scrollbar-color:var(--color-accent-300) transparent}
|
||
a{color:#5980a6}a:hover{color:#416180}
|
||
@keyframes omIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
|
||
@keyframes omScan{to{background-position:28px 0}}
|
||
@keyframes omDraw{to{stroke-dashoffset:0}}
|
||
@keyframes omGrow{from{width:0}}
|
||
@keyframes omPulse{0%,100%{opacity:1}50%{opacity:.3}}
|
||
</style>
|
||
</helmet>
|
||
<dc-import name="ConsoleNav" active="dashboard" hint-size="100%,92px"></dc-import>
|
||
<div data-screen-label="总览 Dashboard" style="max-width:1400px;margin:0 auto;padding:22px 24px 64px;font-family:var(--font-body);animation:omIn .5s cubic-bezier(.2,.7,.2,1) both">
|
||
<div style="display:flex;align-items:flex-end;gap:16px;margin-bottom:20px">
|
||
<div>
|
||
<div style="font-size:10px;letter-spacing:.18em;color:var(--color-accent-700);font-weight:500">01 · OVERVIEW</div>
|
||
<h2 style="margin:2px 0 0;font-size:30px">总览</h2>
|
||
<div class="text-muted" style="font-size:12.5px;margin-top:2px">深圳一号实验室 · 6 工位 · 遥测每 2s 刷新 · 2026-07-27</div>
|
||
</div>
|
||
<span style="margin-left:auto"></span>
|
||
<div class="seg" style="background:var(--color-bg)">
|
||
<label class="seg-opt"><input type="radio" name="dashv" checked="{{ vA }}" onChange="{{ setA }}"><span>A · 工位网格</span></label>
|
||
<label class="seg-opt"><input type="radio" name="dashv" checked="{{ vB }}" onChange="{{ setB }}"><span>B · 指标墙</span></label>
|
||
<label class="seg-opt"><input type="radio" name="dashv" checked="{{ vC }}" onChange="{{ setC }}"><span>C · 作战板</span></label>
|
||
</div>
|
||
</div>
|
||
|
||
<sc-if value="{{ vA }}" hint-placeholder-val="{{ true }}">
|
||
<div data-screen-label="总览 · 变体A 工位网格" style="animation:omIn .35s cubic-bezier(.2,.7,.2,1) both">
|
||
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px">
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px 16px;gap:6px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<span class="card-kicker">UCR · 无人值守完成率(7D)</span>
|
||
<div style="display:flex;align-items:flex-end;gap:10px">
|
||
<span style="font-family:var(--font-heading);font-weight:600;font-size:44px;line-height:.95">96.8<span style="font-size:22px">%</span></span>
|
||
<svg width="60" height="18" viewBox="0 0 60 18" style="margin-bottom:4px"><polyline stroke-linejoin="round" stroke-linecap="round" points="0,10 10,8 20,12 30,5 40,6 50,2 60,7" fill="none" stroke="var(--color-accent)" stroke-width="1.5" style="stroke-dasharray:90 90;stroke-dashoffset:90;animation:omDraw 1s ease .2s both"></polyline><circle cx="60" cy="7" r="2.5" fill="var(--color-accent)" style="animation:omPulse 2.4s infinite"></circle></svg>
|
||
</div>
|
||
<span style="font-size:11.5px;color:var(--color-accent-700)">▲ 0.6pp vs 上周 · 目标 98%</span>
|
||
</div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px 16px;gap:6px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<span class="card-kicker">释放工时 · HOURS FREED</span>
|
||
<div style="display:flex;align-items:flex-end;gap:10px">
|
||
<span style="font-family:var(--font-heading);font-weight:600;font-size:44px;line-height:.95">41.5<span style="font-size:20px"> h/周</span></span>
|
||
<svg width="60" height="18" viewBox="0 0 60 18" style="margin-bottom:4px"><polyline stroke-linejoin="round" stroke-linecap="round" points="0,14 10,12 20,11 30,9 40,8 50,6 60,4" fill="none" stroke="var(--color-accent)" stroke-width="1.5" style="stroke-dasharray:90 90;stroke-dashoffset:90;animation:omDraw 1s ease .2s both"></polyline><circle cx="60" cy="4" r="2.5" fill="var(--color-accent)" style="animation:omPulse 2.4s infinite"></circle></svg>
|
||
</div>
|
||
<span style="font-size:11.5px;color:var(--color-neutral-700)">≈ 0.9 工程师 · ¥32万/年等值</span>
|
||
</div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px 16px;gap:6px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<span class="card-kicker">介入密度 · TOUCHES /100H · 主指标</span>
|
||
<div style="display:flex;align-items:flex-end;gap:10px">
|
||
<span style="font-family:var(--font-heading);font-weight:600;font-size:44px;line-height:.95">1.8</span>
|
||
<svg width="60" height="18" viewBox="0 0 60 18" style="margin-bottom:4px"><polyline stroke-linejoin="round" stroke-linecap="round" points="0,4 10,6 20,5 30,9 40,10 50,12 60,13" fill="none" stroke="var(--color-accent)" stroke-width="1.5" style="stroke-dasharray:90 90;stroke-dashoffset:90;animation:omDraw 1s ease .2s both"></polyline><circle cx="60" cy="13" r="2.5" fill="var(--color-accent)" style="animation:omPulse 2.4s infinite"></circle></svg>
|
||
</div>
|
||
<span style="font-size:11.5px;color:var(--color-accent-700)">▼ 0.4 vs 上周 · 口径:任何人工触碰</span>
|
||
</div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px 16px;gap:6px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<span class="card-kicker">自动恢复成功率 · RECOVERY</span>
|
||
<div style="display:flex;align-items:flex-end;gap:10px">
|
||
<span style="font-family:var(--font-heading);font-weight:600;font-size:44px;line-height:.95">87.5<span style="font-size:22px">%</span></span>
|
||
<svg width="60" height="18" viewBox="0 0 60 18" style="margin-bottom:4px"><polyline stroke-linejoin="round" stroke-linecap="round" points="0,12 10,9 20,11 30,7 40,8 50,5 60,6" fill="none" stroke="var(--color-accent)" stroke-width="1.5" style="stroke-dasharray:90 90;stroke-dashoffset:90;animation:omDraw 1s ease .2s both"></polyline><circle cx="60" cy="6" r="2.5" fill="var(--color-accent)" style="animation:omPulse 2.4s infinite"></circle></svg>
|
||
</div>
|
||
<span style="font-size:11.5px;color:var(--color-neutral-700)">28/32 · L1 62% · L2 21% · L3 17%</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div style="display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start">
|
||
<div>
|
||
<h6 style="color:var(--color-neutral-700);margin-bottom:12px">工位状态 · WORKSTATIONS 6</h6>
|
||
<div style="display:grid;grid-template-columns:repeat(2,1fr);gap:16px">
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700">WS-01</span>
|
||
<span class="text-muted" style="font-size:11.5px">HOST-A01 · Win11 22631</span>
|
||
<span style="margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--color-accent);color:#f2f2f3;font-size:10.5px;letter-spacing:.06em;padding:3px 9px"><span style="width:5px;height:5px;border-radius:50%;background:#f2f2f3;animation:omPulse 1.6s infinite"></span>RUNNING</span>
|
||
</div>
|
||
<div>
|
||
<div style="font-family:var(--font-heading);font-weight:600;font-size:16.5px">fw_ab_powerstate_regression</div>
|
||
<div style="font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--color-neutral-600)"><a href="LiveRun.dc.html" style="text-decoration:none">run-20260727-0001</a> · FW_3.3.0-rc2(B) · 休眠恢复循环</div>
|
||
</div>
|
||
<div>
|
||
<div style="display:flex;justify-content:space-between;font-size:11px;color:var(--color-neutral-700);margin-bottom:4px"><span>轮次 67 / 100</span><span>预计完成 23:40</span></div>
|
||
<div style="height:6px;border:1px solid var(--color-divider);position:relative"><div style="position:absolute;inset:0;width:67%;background-color:var(--color-accent);background-image:repeating-linear-gradient(90deg,rgba(242,242,243,.3) 0 6px,transparent 6px 14px);animation:omScan 1.1s linear infinite"></div><div style="position:absolute;top:-2px;bottom:-2px;left:25%;width:1px;background:var(--color-divider)"></div><div style="position:absolute;top:-2px;bottom:-2px;left:50%;width:1px;background:var(--color-divider)"></div><div style="position:absolute;top:-2px;bottom:-2px;left:75%;width:1px;background:var(--color-divider)"></div></div>
|
||
</div>
|
||
<div style="display:flex;gap:14px;font-size:11px;color:var(--color-neutral-700);font-family:ui-monospace,Menlo,monospace"><span>DUT SAMPLE-001</span><span>{{ t01 }}°C</span><span style="color:var(--color-accent-700)">心跳 {{ hb01 }}</span></div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700">WS-02</span>
|
||
<span class="text-muted" style="font-size:11.5px">HOST-A02 · Win11 22631</span>
|
||
<span style="margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--color-accent);color:#f2f2f3;font-size:10.5px;letter-spacing:.06em;padding:3px 9px"><span style="width:5px;height:5px;border-radius:50%;background:#f2f2f3;animation:omPulse 1.6s infinite"></span>RUNNING</span>
|
||
</div>
|
||
<div>
|
||
<div style="font-family:var(--font-heading);font-weight:600;font-size:16.5px">fw_retention_72h</div>
|
||
<div style="font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--color-neutral-600)">run-20260727-0002 · FW_3.2.1(A) · 高温数据保持</div>
|
||
</div>
|
||
<div>
|
||
<div style="display:flex;justify-content:space-between;font-size:11px;color:var(--color-neutral-700);margin-bottom:4px"><span>51.2 / 72 h</span><span>预计完成 07-29 09:10</span></div>
|
||
<div style="height:6px;border:1px solid var(--color-divider);position:relative"><div style="position:absolute;inset:0;width:71%;background-color:var(--color-accent);background-image:repeating-linear-gradient(90deg,rgba(242,242,243,.3) 0 6px,transparent 6px 14px);animation:omScan 1.1s linear infinite"></div><div style="position:absolute;top:-2px;bottom:-2px;left:25%;width:1px;background:var(--color-divider)"></div><div style="position:absolute;top:-2px;bottom:-2px;left:50%;width:1px;background:var(--color-divider)"></div><div style="position:absolute;top:-2px;bottom:-2px;left:75%;width:1px;background:var(--color-divider)"></div></div>
|
||
</div>
|
||
<div style="display:flex;gap:14px;font-size:11px;color:var(--color-neutral-700);font-family:ui-monospace,Menlo,monospace"><span>DUT SAMPLE-004</span><span>{{ t02 }}°C</span><span style="color:var(--color-accent-700)">心跳 {{ hb02 }}</span></div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px;border-color:var(--color-accent-600)">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700">WS-03</span>
|
||
<span class="text-muted" style="font-size:11.5px">HOST-L02 · Ubuntu 22.04</span>
|
||
<span style="margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--color-accent-200);color:var(--color-accent-800);font-size:10.5px;letter-spacing:.06em;padding:3px 9px;animation:omPulse 1.2s infinite">RECOVERING · L3</span>
|
||
</div>
|
||
<div>
|
||
<div style="font-family:var(--font-heading);font-weight:600;font-size:16.5px">fw_ab_powerstate_regression</div>
|
||
<div style="font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--color-neutral-600)"><a href="Evidence.dc.html" style="text-decoration:none">run-20260726-0007</a> · FW_3.3.0-rc2(B) · 轮次 41/100 冻结</div>
|
||
</div>
|
||
<div style="display:flex;align-items:center;gap:6px;font-size:10.5px;font-family:ui-monospace,Menlo,monospace">
|
||
<span style="padding:2px 7px;border:1px solid var(--color-divider);color:var(--color-neutral-500);text-decoration:line-through">L1 软恢复</span>
|
||
<span style="color:var(--color-neutral-400)">→</span>
|
||
<span style="padding:2px 7px;border:1px solid var(--color-divider);color:var(--color-neutral-500);text-decoration:line-through">L2 OS重启</span>
|
||
<span style="color:var(--color-neutral-400)">→</span>
|
||
<span style="padding:2px 7px;background:var(--color-accent-800);color:#f2f2f3;animation:omPulse 1.2s infinite">L3 带外RESET</span>
|
||
<span style="color:var(--color-neutral-400)">→</span>
|
||
<span style="padding:2px 7px;border:1px dashed var(--color-divider);color:var(--color-neutral-500)">L4 AC断电</span>
|
||
</div>
|
||
<div style="display:flex;gap:14px;font-size:11px;color:var(--color-neutral-700);font-family:ui-monospace,Menlo,monospace"><span>DUT SAMPLE-002</span><span>43.8°C</span><span style="color:#8a2e22">心跳丢失 {{ lost03 }}</span></div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700">WS-04</span>
|
||
<span class="text-muted" style="font-size:11.5px">HOST-L01 · Ubuntu 22.04</span>
|
||
<span class="tag tag-outline" style="margin-left:auto;font-size:10.5px;letter-spacing:.06em">IDLE</span>
|
||
</div>
|
||
<div class="text-muted" style="font-size:13px;line-height:1.6">空闲,可接受调度。<br>上一任务 <a href="Compare.dc.html" style="text-decoration:none;font-family:ui-monospace,Menlo,monospace;font-size:11.5px">run-20260725-0003</a> · PASSED · 100/100 循环</div>
|
||
<div style="display:flex;gap:14px;font-size:11px;color:var(--color-neutral-700);font-family:ui-monospace,Menlo,monospace"><span>DUT 未绑定</span><span>36.2°C</span><span style="color:var(--color-accent-700)">心跳 {{ hb04 }}</span></div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700">WS-05</span>
|
||
<span class="text-muted" style="font-size:11.5px">HOST-A03 · Win11 22631</span>
|
||
<span class="tag tag-accent" style="margin-left:auto;font-size:10.5px;letter-spacing:.06em">QUEUED</span>
|
||
</div>
|
||
<div>
|
||
<div style="font-family:var(--font-heading);font-weight:600;font-size:16.5px">fw_coldboot_matrix</div>
|
||
<div style="font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--color-neutral-600)">预约 今日 22:00 · 500 次冷启动 · FW_3.3.0-rc2(B)</div>
|
||
</div>
|
||
<div style="display:flex;gap:14px;font-size:11px;color:var(--color-neutral-700);font-family:ui-monospace,Menlo,monospace"><span>DUT SAMPLE-006</span><span>35.9°C</span><span style="color:var(--color-accent-700)">心跳 {{ hb05 }}</span></div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px;background:repeating-linear-gradient(135deg,rgba(29,31,32,.05) 0 2px,transparent 2px 7px)">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700;color:var(--color-neutral-600)">WS-06</span>
|
||
<span class="text-muted" style="font-size:11.5px">HOST-W02 · Win10 19045</span>
|
||
<span style="margin-left:auto;font-size:10.5px;letter-spacing:.06em;padding:3px 9px;border:1px solid var(--color-divider);color:var(--color-neutral-600);background:repeating-linear-gradient(135deg,rgba(29,31,32,.12) 0 2px,transparent 2px 5px)">OFFLINE</span>
|
||
</div>
|
||
<div class="text-muted" style="font-size:13px;line-height:1.6">维护窗口至 07-28 09:00<br>带外控制器 OOB-06 固件升级中</div>
|
||
<div style="display:flex;gap:14px;font-size:11px;color:var(--color-neutral-500);font-family:ui-monospace,Menlo,monospace"><span>DUT 已下线</span><span>—</span><span>心跳 —</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div style="display:flex;flex-direction:column;gap:18px">
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">需要人工处理</h6>
|
||
<span style="margin-left:auto;font-family:var(--font-heading);font-weight:600;font-size:18px;color:#8a2e22">3</span>
|
||
</div>
|
||
<div style="display:flex;flex-direction:column;gap:9px">
|
||
<div style="transition:background .15s ease,border-color .15s ease;display:flex;gap:9px;align-items:flex-start;border:1px solid var(--color-divider);padding:9px 10px" style-hover="background:var(--color-accent-100);border-color:var(--color-accent-400)">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:10px;padding:2px 6px;border:1px dashed var(--color-neutral-500);color:var(--color-neutral-700);white-space:nowrap">UNKNOWN</span>
|
||
<div style="font-size:12.5px;line-height:1.5">run-20260726-0011 证据不足待分类<div><a href="Failures.dc.html" style="font-size:11.5px">FS-0102 去分类 →</a></div></div>
|
||
</div>
|
||
<div style="transition:background .15s ease,border-color .15s ease;display:flex;gap:9px;align-items:flex-start;border:1px solid var(--color-divider);padding:9px 10px" style-hover="background:var(--color-accent-100);border-color:var(--color-accent-400)">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:10px;padding:2px 6px;background:#b03d2e;color:#f7f4f2;white-space:nowrap">阻断</span>
|
||
<div style="font-size:12.5px;line-height:1.5">FW_3.3.0-rc2 存在阻断问题,需研发确认<div><a href="Compare.dc.html" style="font-size:11.5px">FS-0074 查看对比 →</a></div></div>
|
||
</div>
|
||
<div style="transition:background .15s ease,border-color .15s ease;display:flex;gap:9px;align-items:flex-start;border:1px solid var(--color-divider);padding:9px 10px" style-hover="background:var(--color-accent-100);border-color:var(--color-accent-400)">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:10px;padding:2px 6px;background:repeating-linear-gradient(135deg,rgba(29,31,32,.12) 0 2px,transparent 2px 5px);border:1px solid var(--color-divider);color:var(--color-neutral-800);white-space:nowrap">维护</span>
|
||
<div style="font-size:12.5px;line-height:1.5">WS-06 维护窗口今日到期,确认恢复排产<div><a href="Assets.dc.html" style="font-size:11.5px">资产中心 →</a></div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">最近恢复动作</h6>
|
||
<div style="display:flex;flex-direction:column;font-family:ui-monospace,Menlo,monospace;font-size:11px">
|
||
<div style="display:flex;gap:8px;padding:7px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:35</span><span>WS-03 L3 带外 Reset 已触发</span><span style="margin-left:auto;color:var(--color-accent-700);animation:omPulse 1.4s infinite">进行中</span></div>
|
||
<div style="display:flex;gap:8px;padding:7px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:33</span><span>WS-03 L2 OS 重启超时(120s)</span><span style="margin-left:auto;color:#8a2e22">失败</span></div>
|
||
<div style="display:flex;gap:8px;padding:7px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:32</span><span>WS-03 L1 Agent 软恢复无响应</span><span style="margin-left:auto;color:#8a2e22">失败</span></div>
|
||
<div style="display:flex;gap:8px;padding:7px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">02:31</span><span>WS-03 心跳丢失 → L3 Reset · 4m12s</span><span style="margin-left:auto;color:var(--color-accent-700)">成功</span></div>
|
||
<div style="display:flex;gap:8px;padding:7px 0"><span style="color:var(--color-neutral-500)">昨 23:04</span><span>WS-01 L1 进程清理 · 38s</span><span style="margin-left:auto;color:var(--color-accent-700)">成功</span></div>
|
||
</div>
|
||
<a href="Evidence.dc.html" style="font-size:11.5px">全部恢复记录 →</a>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">今日队列</h6>
|
||
<div style="display:flex;flex-direction:column;font-size:12.5px">
|
||
<div style="display:flex;gap:8px;padding:7px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="font-family:ui-monospace,Menlo,monospace;color:var(--color-neutral-500)">22:00</span><span>fw_coldboot_matrix · WS-05</span><span class="tag tag-accent" style="margin-left:auto">P1</span></div>
|
||
<div style="display:flex;gap:8px;padding:7px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="font-family:ui-monospace,Menlo,monospace;color:var(--color-neutral-500)">23:45</span><span>fw_ab 续跑 cycle 41 · WS-03</span><span class="tag tag-neutral" style="margin-left:auto">P2</span></div>
|
||
<div style="display:flex;gap:8px;padding:7px 0"><span style="font-family:ui-monospace,Menlo,monospace;color:var(--color-neutral-500)">明 06:00</span><span>incoming_qc_quick · WS-04</span><span class="tag tag-neutral" style="margin-left:auto">P3</span></div>
|
||
</div>
|
||
<a href="Tasks.dc.html" style="font-size:11.5px">任务中心 →</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</sc-if>
|
||
|
||
<sc-if value="{{ vB }}" hint-placeholder-val="{{ false }}">
|
||
<div data-screen-label="总览 · 变体B 指标墙" style="animation:omIn .35s cubic-bezier(.2,.7,.2,1) both">
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:20px 24px;margin-bottom:20px;flex-direction:row;gap:36px;align-items:stretch">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="min-width:250px;display:flex;flex-direction:column;justify-content:center">
|
||
<span class="card-kicker">北极星 · NORTH STAR</span>
|
||
<div style="font-family:var(--font-heading);font-weight:600;font-size:84px;line-height:.95;margin:6px 0 4px">96.8<span style="font-size:36px">%</span></div>
|
||
<div style="font-size:14px;color:var(--color-neutral-800)">无人值守完成率 UCR · 近 7 天</div>
|
||
<div style="font-size:12px;color:var(--color-accent-700);margin-top:6px">▲ 0.6pp vs 上周 · 产品化目标 98%+</div>
|
||
</div>
|
||
<div style="flex:1;border-left:1px solid var(--color-divider);padding-left:32px">
|
||
<div style="display:flex;justify-content:space-between;font-size:11px;color:var(--color-neutral-600);margin-bottom:6px"><span>UCR 趋势 · 07-21 → 07-27</span><span style="font-family:ui-monospace,Menlo,monospace">计划任务 214 · 无人完成 207</span></div>
|
||
<svg width="100%" height="170" viewBox="0 0 700 170" preserveAspectRatio="none" style="display:block">
|
||
<line x1="40" y1="150" x2="660" y2="150" stroke="rgba(29,31,32,.16)" stroke-width="1"></line>
|
||
<line x1="40" y1="90" x2="660" y2="90" stroke="rgba(29,31,32,.10)" stroke-width="1"></line>
|
||
<line x1="40" y1="30" x2="660" y2="30" stroke="rgba(29,31,32,.10)" stroke-width="1"></line>
|
||
<text x="32" y="153" font-size="9" fill="#7a7a7d" text-anchor="end" font-family="Menlo,monospace">94</text>
|
||
<text x="32" y="93" font-size="9" fill="#7a7a7d" text-anchor="end" font-family="Menlo,monospace">96</text>
|
||
<text x="32" y="33" font-size="9" fill="#7a7a7d" text-anchor="end" font-family="Menlo,monospace">98</text>
|
||
<path d="M40,117 L143,78 L246,126 L349,54 L452,63 L555,27 L658,66 L658,150 L40,150 Z" fill="rgba(89,128,166,.13)"></path>
|
||
<polyline stroke-linejoin="round" stroke-linecap="round" points="40,117 143,78 246,126 349,54 452,63 555,27 658,66" fill="none" stroke="#5980a6" stroke-width="1.8" style="stroke-dasharray:700 700;stroke-dashoffset:700;animation:omDraw 1.2s ease .15s both"></polyline>
|
||
<g fill="#f2f2f3" stroke="#416180" stroke-width="1.5"><circle cx="40" cy="117" r="3"></circle><circle cx="143" cy="78" r="3"></circle><circle cx="246" cy="126" r="3"></circle><circle cx="349" cy="54" r="3"></circle><circle cx="452" cy="63" r="3"></circle><circle cx="555" cy="27" r="3"></circle><circle cx="658" cy="66" r="3.5" style="animation:omPulse 2.4s infinite"></circle></g>
|
||
<text x="40" y="166" font-size="9" fill="#7a7a7d" text-anchor="middle" font-family="Menlo,monospace">07-21</text>
|
||
<text x="246" y="166" font-size="9" fill="#7a7a7d" text-anchor="middle" font-family="Menlo,monospace">07-23</text>
|
||
<text x="452" y="166" font-size="9" fill="#7a7a7d" text-anchor="middle" font-family="Menlo,monospace">07-25</text>
|
||
<text x="658" y="166" font-size="9" fill="#7a7a7d" text-anchor="middle" font-family="Menlo,monospace">07-27</text>
|
||
</svg>
|
||
</div>
|
||
</div>
|
||
|
||
<div style="display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px">
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:12px 14px;gap:4px"><i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i><span class="card-kicker">释放工时</span><span style="font-family:var(--font-heading);font-weight:600;font-size:32px;line-height:1">41.5 h/周</span><span style="font-size:11px;color:var(--color-neutral-700)">≈ 0.9 工程师 · ¥32万/年</span></div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:12px 14px;gap:4px"><i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i><span class="card-kicker">介入密度</span><span style="font-family:var(--font-heading);font-weight:600;font-size:32px;line-height:1">1.8 /百h</span><span style="font-size:11px;color:var(--color-accent-700)">主指标 · 任何触碰计 1 次</span></div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:12px 14px;gap:4px"><i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i><span class="card-kicker">自动恢复成功率</span><span style="font-family:var(--font-heading);font-weight:600;font-size:32px;line-height:1">87.5%</span><span style="font-size:11px;color:var(--color-neutral-700)">28/32 次失联</span></div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:12px 14px;gap:4px"><i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i><span class="card-kicker">证据完整率</span><span style="font-family:var(--font-heading);font-weight:600;font-size:32px;line-height:1">100%</span><span style="font-size:11px;color:var(--color-neutral-700)">关键字段零丢失</span></div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:12px 14px;gap:4px"><i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i><span class="card-kicker">基础设施误报率</span><span style="font-family:var(--font-heading);font-weight:600;font-size:32px;line-height:1">3.1%</span><span style="font-size:11px;color:var(--color-accent-700)">▼ 护栏指标,单独监控</span></div>
|
||
</div>
|
||
|
||
<div style="display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px">
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:12px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">版本风险 · FIRMWARE GATE</h6>
|
||
<div style="border:1px solid var(--color-divider);padding:12px">
|
||
<div style="display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700">FW_3.3.0-rc2</span>
|
||
<span class="text-muted" style="font-size:11px">候选(B)</span>
|
||
<span style="margin-left:auto;font-size:10.5px;padding:3px 9px;background:#b03d2e;color:#f7f4f2;letter-spacing:.06em">暂缓发布</span>
|
||
</div>
|
||
<div style="display:flex;gap:8px;margin-top:10px;font-size:11px;font-family:ui-monospace,Menlo,monospace">
|
||
<span style="padding:3px 8px;background:#b03d2e;color:#f7f4f2">阻断 1</span>
|
||
<span style="padding:3px 8px;background:var(--color-accent-800);color:#f2f2f3">新增 2</span>
|
||
<span style="padding:3px 8px;border:1px solid var(--color-accent-400);color:var(--color-accent-700)">已修复 5</span>
|
||
<span style="padding:3px 8px;border:1px solid var(--color-divider);color:var(--color-neutral-700)">仍存在 3</span>
|
||
</div>
|
||
<div style="font-size:12px;margin-top:10px;color:var(--color-neutral-800)">阻断:FS-0074 数据校验失败(LBA 0x2E41xxxx) · <a href="Compare.dc.html" style="font-size:11.5px">查看 A/B 对比 →</a></div>
|
||
</div>
|
||
<div style="border:1px solid var(--color-divider);padding:12px;display:flex;align-items:center;gap:8px">
|
||
<span style="font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700">FW_3.2.1</span>
|
||
<span class="text-muted" style="font-size:11px">基线(A)</span>
|
||
<span class="tag tag-outline" style="margin-left:auto">稳定基线</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">介入原因分布 · 30D</h6>
|
||
<div style="display:flex;flex-direction:column;gap:8px;font-family:ui-monospace,Menlo,monospace;font-size:10.5px">
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>DUT_ENUMERATION_FAILURE</span><span>8</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:100%;background:var(--color-accent-800)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>TEST_SCRIPT_FAILURE</span><span>7</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:87%;background:var(--color-neutral-400)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>INFRA_NETWORK_FAILURE</span><span>6</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:75%;background:repeating-linear-gradient(135deg,rgba(29,31,32,.35) 0 2px,transparent 2px 5px)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>INFRA_HOST_OS_FAILURE</span><span>5</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:62%;background:repeating-linear-gradient(135deg,rgba(29,31,32,.35) 0 2px,transparent 2px 5px)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>INFRA_AGENT_FAILURE</span><span>4</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:50%;background:repeating-linear-gradient(135deg,rgba(29,31,32,.35) 0 2px,transparent 2px 5px)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>UNKNOWN</span><span>2</span></div><div style="height:8px;border:1px dashed var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:25%;background:var(--color-neutral-200)"></div></div></div>
|
||
</div>
|
||
<div style="display:flex;gap:12px;font-size:10px;color:var(--color-neutral-600);border-top:1px solid var(--color-divider);padding-top:8px"><span><span style="display:inline-block;width:10px;height:8px;background:var(--color-accent-800);vertical-align:-1px"></span> DUT 信号</span><span><span style="display:inline-block;width:10px;height:8px;background:repeating-linear-gradient(135deg,rgba(29,31,32,.35) 0 2px,transparent 2px 5px);border:1px solid var(--color-divider);vertical-align:-1px"></span> INFRA 噪声</span></div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">工位利用率 · 7D</h6>
|
||
<div style="display:flex;flex-direction:column;gap:8px;font-family:ui-monospace,Menlo,monospace;font-size:10.5px">
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>WS-01</span><span>92%</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:92%;background:var(--color-accent)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>WS-02</span><span>88%</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:88%;background:var(--color-accent)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>WS-03</span><span>61%</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:61%;background:var(--color-accent)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>WS-04</span><span>34%</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:34%;background:var(--color-accent)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>WS-05</span><span>12%</span></div><div style="height:8px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:12%;background:var(--color-accent)"></div></div></div>
|
||
<div><div style="display:flex;justify-content:space-between;margin-bottom:3px"><span>WS-06</span><span>0% 维护</span></div><div style="height:8px;border:1px solid var(--color-divider);background:repeating-linear-gradient(135deg,rgba(29,31,32,.10) 0 2px,transparent 2px 5px)"></div></div>
|
||
</div>
|
||
<div style="font-size:11px;color:var(--color-neutral-700);border-top:1px solid var(--color-divider);padding-top:8px">夜间(22:00–08:00)利用率 74% · 无人值守时段占比 63%</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</sc-if>
|
||
|
||
<sc-if value="{{ vC }}" hint-placeholder-val="{{ false }}">
|
||
<div data-screen-label="总览 · 变体C 作战板" style="animation:omIn .35s cubic-bezier(.2,.7,.2,1) both;display:grid;grid-template-columns:216px 1fr 320px;gap:18px;align-items:start">
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:12px;gap:0">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0 0 8px;color:var(--color-neutral-700)">工位 RAIL</h6>
|
||
<div style="display:flex;gap:9px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(29,31,32,.08)"><span style="width:7px;height:7px;border-radius:50%;background:var(--color-accent);animation:omPulse 1.6s infinite"></span><span style="font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:700">WS-01</span><span style="font-size:10.5px;color:var(--color-neutral-600)">cycle 67/100</span><span style="margin-left:auto;font-size:9.5px;color:var(--color-accent-700)">RUN</span></div>
|
||
<div style="display:flex;gap:9px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(29,31,32,.08)"><span style="width:7px;height:7px;border-radius:50%;background:var(--color-accent);animation:omPulse 1.6s infinite"></span><span style="font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:700">WS-02</span><span style="font-size:10.5px;color:var(--color-neutral-600)">51.2/72h</span><span style="margin-left:auto;font-size:9.5px;color:var(--color-accent-700)">RUN</span></div>
|
||
<div style="display:flex;gap:9px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(29,31,32,.08)"><span style="width:7px;height:7px;border-radius:50%;border:1.5px solid var(--color-accent-700);background:var(--color-accent-200);animation:omPulse 1s infinite"></span><span style="font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:700">WS-03</span><span style="font-size:10.5px;color:var(--color-neutral-600)">L3 RESET</span><span style="margin-left:auto;font-size:9.5px;color:var(--color-accent-800)">RCVR</span></div>
|
||
<div style="display:flex;gap:9px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(29,31,32,.08)"><span style="width:7px;height:7px;border-radius:50%;border:1px solid var(--color-neutral-500)"></span><span style="font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:700">WS-04</span><span style="font-size:10.5px;color:var(--color-neutral-600)">空闲</span><span style="margin-left:auto;font-size:9.5px;color:var(--color-neutral-600)">IDLE</span></div>
|
||
<div style="display:flex;gap:9px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(29,31,32,.08)"><span style="width:7px;height:7px;border-radius:50%;border:1px solid var(--color-accent-600);background:var(--color-accent-100)"></span><span style="font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:700">WS-05</span><span style="font-size:10.5px;color:var(--color-neutral-600)">22:00 预约</span><span style="margin-left:auto;font-size:9.5px;color:var(--color-accent-700)">QUE</span></div>
|
||
<div style="display:flex;gap:9px;align-items:center;padding:8px 2px"><span style="width:7px;height:7px;background:repeating-linear-gradient(135deg,rgba(29,31,32,.35) 0 1px,transparent 1px 3px);border:1px solid var(--color-neutral-500)"></span><span style="font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:700;color:var(--color-neutral-600)">WS-06</span><span style="font-size:10.5px;color:var(--color-neutral-600)">维护</span><span style="margin-left:auto;font-size:9.5px;color:var(--color-neutral-500)">OFF</span></div>
|
||
<div style="border-top:1px solid var(--color-divider);margin-top:8px;padding-top:8px;font-size:10.5px;color:var(--color-neutral-600);font-family:ui-monospace,Menlo,monospace">UCR 96.8% · 介入 1.8/百h</div>
|
||
</div>
|
||
|
||
<div style="display:flex;flex-direction:column;gap:16px">
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:8px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">运行中任务 · 2</h6>
|
||
<table class="table">
|
||
<thead><tr><th>RUN</th><th>工位</th><th>模板 / 固件</th><th style="width:150px">进度</th><th>心跳</th><th>ETA</th><th></th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:12px"><a href="LiveRun.dc.html" style="text-decoration:none">run-…0727-0001</a></td>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:12px">WS-01</td>
|
||
<td><div style="font-size:12.5px">fw_ab_powerstate_regression</div><div style="font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--color-neutral-600)">FW_3.3.0-rc2(B)</div></td>
|
||
<td><div style="display:flex;align-items:center;gap:7px"><div style="flex:1;height:5px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:67%;background-color:var(--color-accent);background-image:repeating-linear-gradient(90deg,rgba(242,242,243,.3) 0 6px,transparent 6px 14px);animation:omScan 1.1s linear infinite"></div></div><span style="font-family:ui-monospace,Menlo,monospace;font-size:10.5px">67/100</span></div></td>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--color-accent-700)">{{ hb01 }}</td>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:11px">23:40</td>
|
||
<td><a class="btn btn-ghost" href="LiveRun.dc.html" style="font-size:12px">监视</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:12px">run-…0727-0002</td>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:12px">WS-02</td>
|
||
<td><div style="font-size:12.5px">fw_retention_72h</div><div style="font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--color-neutral-600)">FW_3.2.1(A)</div></td>
|
||
<td><div style="display:flex;align-items:center;gap:7px"><div style="flex:1;height:5px;border:1px solid var(--color-divider)"><div style="animation:omGrow .9s cubic-bezier(.2,.7,.2,1) both;height:100%;width:71%;background-color:var(--color-accent);background-image:repeating-linear-gradient(90deg,rgba(242,242,243,.3) 0 6px,transparent 6px 14px);animation:omScan 1.1s linear infinite"></div></div><span style="font-family:ui-monospace,Menlo,monospace;font-size:10.5px">51/72h</span></div></td>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--color-accent-700)">{{ hb02 }}</td>
|
||
<td style="font-family:ui-monospace,Menlo,monospace;font-size:11px">07-29</td>
|
||
<td><a class="btn btn-ghost" href="LiveRun.dc.html" style="font-size:12px">监视</a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:8px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<div style="display:flex;align-items:center"><h6 style="margin:0;color:var(--color-neutral-700)">队列与恢复 · 3</h6><a href="Tasks.dc.html" style="margin-left:auto;font-size:11.5px">任务中心 →</a></div>
|
||
<table class="table">
|
||
<thead><tr><th>优先级</th><th>任务</th><th>工位</th><th>计划时间</th><th>状态</th></tr></thead>
|
||
<tbody>
|
||
<tr><td><span class="tag tag-accent">P1</span></td><td style="font-size:12.5px">fw_coldboot_matrix · 500 次冷启动</td><td style="font-family:ui-monospace,Menlo,monospace;font-size:12px">WS-05</td><td style="font-family:ui-monospace,Menlo,monospace;font-size:11px">今日 22:00</td><td><span class="tag tag-outline">已预约</span></td></tr>
|
||
<tr><td><span class="tag tag-neutral">P2</span></td><td style="font-size:12.5px">fw_ab 从检查点 cycle 41 续跑</td><td style="font-family:ui-monospace,Menlo,monospace;font-size:12px">WS-03</td><td style="font-family:ui-monospace,Menlo,monospace;font-size:11px">恢复后自动</td><td><span style="font-size:10.5px;padding:3px 9px;background:var(--color-accent-200);color:var(--color-accent-800);animation:omPulse 1.4s infinite">等待恢复</span></td></tr>
|
||
<tr><td><span class="tag tag-neutral">P3</span></td><td style="font-size:12.5px">incoming_qc_quick · 来料抽检 12 盘</td><td style="font-family:ui-monospace,Menlo,monospace;font-size:12px">WS-04</td><td style="font-family:ui-monospace,Menlo,monospace;font-size:11px">明日 06:00</td><td><span class="tag tag-outline">已预约</span></td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card blueprint" style-hover="border-color:var(--color-accent-400);box-shadow:var(--shadow-sm)" style="transition:border-color .15s ease,box-shadow .15s ease;padding:14px;gap:10px">
|
||
<i class="corner tl"></i><i class="corner tr"></i><i class="corner bl"></i><i class="corner br"></i>
|
||
<h6 style="margin:0;color:var(--color-neutral-700)">事件流 · EVENT BUS</h6>
|
||
<div style="display:flex;flex-direction:column;font-family:ui-monospace,Menlo,monospace;font-size:10.5px;line-height:1.5">
|
||
<div style="display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:35:12</span><span style="color:var(--color-accent-800);white-space:nowrap">[OOB]</span><span>WS-03 RESET_SENT · 光耦通道 CH2 · 脉冲 250ms</span></div>
|
||
<div style="display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:33:40</span><span style="color:#8a2e22;white-space:nowrap">[RCVR]</span><span>WS-03 L2 超时,升级 L3(策略 esc-default-v2)</span></div>
|
||
<div style="display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:32:29</span><span style="color:var(--color-neutral-600);white-space:nowrap">[EVID]</span><span>WS-03 死机快照已抓取:HDMI 帧 + 串口尾部 2KB</span></div>
|
||
<div style="display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:32:07</span><span style="color:#8a2e22;white-space:nowrap">[HB]</span><span>WS-03 心跳丢失 >30s,判定 HOST_UNREACHABLE</span></div>
|
||
<div style="display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:28:51</span><span style="color:var(--color-accent-700);white-space:nowrap">[TEST]</span><span>WS-01 cycle 67 数据校验 PASS · 4k_mixed 300s</span></div>
|
||
<div style="display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:25:03</span><span style="color:var(--color-accent-700);white-space:nowrap">[TEST]</span><span>WS-01 hibernate → resume 成功 · 唤醒耗时 11.2s</span></div>
|
||
<div style="display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(29,31,32,.08)"><span style="color:var(--color-neutral-500)">14:20:44</span><span style="color:var(--color-neutral-600);white-space:nowrap">[SYS]</span><span>WS-05 预检通过:磁盘/网络/OOB/工具版本/时钟同步</span></div>
|
||
<div style="display:flex;gap:8px;padding:6px 0"><span style="color:var(--color-neutral-500)">14:18:02</span><span style="color:var(--color-neutral-600);white-space:nowrap">[SYS]</span><span>FW_3.3.0-rc3.bin 已登记 · SHA256 9f2c…41aa · 待审批</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</sc-if>
|
||
</div>
|
||
</x-dc>
|
||
<script type="text/x-dc" data-dc-script data-props="{"$preview":{"width":1440,"height":900},"defaultVariant":{"editor":"enum","options":["a","b","c"],"default":"a","tsType":"string","section":"布局"},"liveTicker":{"editor":"boolean","default":true,"tsType":"boolean","section":"演示"}}">
|
||
class Component extends DCLogic {
|
||
state = { variant: null, tick: 0 };
|
||
componentDidMount() {
|
||
this._t = setInterval(() => {
|
||
if (this.props.liveTicker ?? true) this.setState(s => ({ tick: s.tick + 1 }));
|
||
}, 2000);
|
||
}
|
||
componentWillUnmount() { clearInterval(this._t); }
|
||
renderVals() {
|
||
const v = this.state.variant ?? (this.props.defaultVariant ?? 'a');
|
||
const k = this.state.tick;
|
||
const hb = i => ((k * 2 + i * 3) % 7 + 1) + 's 前';
|
||
return {
|
||
vA: v === 'a', vB: v === 'b', vC: v === 'c',
|
||
setA: () => this.setState({ variant: 'a' }),
|
||
setB: () => this.setState({ variant: 'b' }),
|
||
setC: () => this.setState({ variant: 'c' }),
|
||
hb01: hb(0), hb02: hb(1), hb04: hb(2), hb05: hb(3),
|
||
lost03: (47 + k * 2) + 's',
|
||
t01: (42.5 + Math.sin(k / 2) * 0.4).toFixed(1),
|
||
t02: (45.1 + Math.cos(k / 3) * 0.3).toFixed(1)
|
||
};
|
||
}
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|