Files
2026-08-18 19:05:24 +08:00

83 lines
5.2 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>提交人覆盖率统计</title>
<style>:root{--bg:#f5f6f8;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--primary:#2563eb;--green:#22c55e;--red:#ef4444;--yellow:#eab308}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,'Segoe UI','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--text);padding:24px;max-width:1200px;margin:0 auto;line-height:1.5}
.nav{display:flex;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:16px}
.nav a{color:var(--muted);text-decoration:none;padding:4px 10px;border-radius:6px;font-size:13px}
.nav a:hover{background:#f0f4ff;color:var(--primary)}
.nav a.active{background:var(--primary);color:#fff}
.page-header{margin-bottom:20px}
.page-header h1{font-size:22px;margin-bottom:8px}
.meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:13px}
.meta .badge{font-weight:600;padding:2px 8px;border-radius:20px;font-size:12px}
.badge.ok{background:#dcfce7;color:#15803d}
.badge.bad{background:#fee2e2;color:#b91c1c}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:16px}
.card h2{font-size:16px;margin-bottom:12px}
.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:16px}
.summary-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;text-align:center}
.summary-card .num{font-size:36px;font-weight:700}
.summary-card .label{font-size:14px;color:var(--muted);margin:6px 0}
.summary-card .sub{font-size:12px;color:var(--muted)}
.num.ok{color:var(--green)}.num.warn{color:var(--yellow)}.num.bad{color:var(--red)}
table.grid{width:100%;border-collapse:collapse;font-size:13px}
table.grid th,table.grid td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left}
table.grid th{background:#f9fafb;color:var(--muted);font-weight:600}
table.grid tr:hover td{background:#fafbff}
.mono{font-family:Consolas,'Courier New',monospace;font-size:12px}
.link{color:var(--primary);text-decoration:none}
.link:hover{text-decoration:underline}
.check-list{list-style:none}
.check-list li{padding:6px 0;font-size:14px}
.check-list li.ok{color:var(--green)}
.check-list li.bad{color:var(--red)}
.bar-wrap{position:relative;min-width:120px;background:#f3f4f6;border-radius:4px;height:18px;overflow:hidden}
.bar{height:100%;border-radius:4px}
.bar-txt{position:absolute;top:0;right:6px;font-size:11px;color:#374151;line-height:18px;font-weight:600}
.legend{float:right;font-size:12px;color:var(--muted);font-weight:400}
.lg{display:inline-block;padding:2px 8px;border-radius:4px;margin-left:8px}
.lg.covered{background:#dcfce7;color:#15803d}
.lg.partial{background:#fef9c3;color:#a16207}
.lg.missed{background:#fee2e2;color:#b91c1c}
pre.code{font-family:Consolas,'Courier New',monospace;font-size:12px;line-height:1.55;overflow-x:auto;background:#0f172a;color:#e2e8f0;border-radius:8px;padding:14px}
.code .cl{display:block;padding:0 8px;border-radius:3px;border-left:3px solid transparent}
.code .cl.covered{background:rgba(34,197,94,.12);border-left-color:#22c55e}
.code .cl.partial{background:rgba(234,179,8,.12);border-left-color:#eab308}
.code .cl.missed{background:rgba(239,68,68,.18);border-left-color:#ef4444}
.code .ln{color:#64748b;user-select:none}
.code .mark{color:#94a3b8;user-select:none;width:14px;display:inline-block}
.code .cl.missed .mark{color:#ef4444}
.code .cl.covered .mark{color:#22c55e}
.note{color:var(--muted);font-size:13px;padding:8px 0}
.footer{text-align:center;color:var(--muted);font-size:12px;padding:16px 0}
</style>
</head>
<body>
<nav class="nav">
<a class="" href="index.html">总览</a>
<a class="active" href="by-author.html">提交人维度</a>
<a href="summary.json" target="_blank">summary.json</a>
</nav>
<header class="page-header">
<h1>提交人维度覆盖率统计</h1>
<div class="meta"><span>全部提交人</span><span>共 3 位提交人</span></div>
</header>
<section class="card">
<table class="grid">
<thead><tr><th>提交人</th><th>邮箱</th><th>提交数</th><th>文件数</th><th>行覆盖</th><th>行覆盖率</th></tr></thead>
<tbody>
<tr><td><a class="link" href="authors/张三.html">张三</a></td><td class="mono">zhangsan@bestpay.com</td><td>3</td><td>2</td><td>2 / 5</td><td><div class="bar-wrap"><div class="bar" style="width:40.00%;background:#ef4444"></div><span class="bar-txt">40.00%</span></div></td></tr>
<tr><td><a class="link" href="authors/李四.html">李四</a></td><td class="mono">lisi@bestpay.com</td><td>2</td><td>2</td><td>1 / 4</td><td><div class="bar-wrap"><div class="bar" style="width:25.00%;background:#ef4444"></div><span class="bar-txt">25.00%</span></div></td></tr>
<tr><td><a class="link" href="authors/王五.html">王五</a></td><td class="mono">wangwu@bestpay.com</td><td>1</td><td>2</td><td>0 / 2</td><td><div class="bar-wrap"><div class="bar" style="width:0.00%;background:#ef4444"></div><span class="bar-txt">0.00%</span></div></td></tr>
</tbody>
</table>
</section>
<footer class="footer">由 coverage-report-plugin 生成</footer>
</body>
</html>