Files
yuanshuai c91a64fddb
CI / Python 3.12 (push) Waiting to run
CI / Python 3.9 (push) Waiting to run
chore(repo): initialize team collaboration repository
2026-07-27 20:40:12 +08:00

430 lines
52 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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:0008: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 心跳丢失 &gt;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="{&quot;$preview&quot;:{&quot;width&quot;:1440,&quot;height&quot;:900},&quot;defaultVariant&quot;:{&quot;editor&quot;:&quot;enum&quot;,&quot;options&quot;:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],&quot;default&quot;:&quot;a&quot;,&quot;tsType&quot;:&quot;string&quot;,&quot;section&quot;:&quot;布局&quot;},&quot;liveTicker&quot;:{&quot;editor&quot;:&quot;boolean&quot;,&quot;default&quot;:true,&quot;tsType&quot;:&quot;boolean&quot;,&quot;section&quot;:&quot;演示&quot;}}">
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>