Add files via upload

This commit is contained in:
公明
2026-06-09 21:05:29 +08:00
committed by GitHub
parent 9e0525abc1
commit 849c644a86
2 changed files with 119 additions and 41 deletions
+89
View File
@@ -15998,6 +15998,95 @@ tr.mcp-stats-tool-row[data-tool-name]:focus-visible {
gap: 24px;
}
/* 侧栏:批量任务队列(窄栏专用布局) */
.dashboard-section-batch-side .dashboard-section-header {
margin-bottom: 12px;
}
.dashboard-batch-side-body {
display: flex;
flex-direction: column;
gap: 12px;
cursor: pointer;
border-radius: 10px;
transition: background 0.2s ease;
}
.dashboard-batch-side-body:hover {
background: rgba(0, 102, 255, 0.03);
}
.dashboard-batch-side-body:focus-visible {
outline: 2px solid rgba(0, 102, 255, 0.45);
outline-offset: 2px;
}
.dashboard-batch-side-total {
font-size: 0.8125rem;
font-weight: 600;
color: var(--text-secondary);
text-align: center;
}
.dashboard-batch-side-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
}
.dashboard-batch-side-stat {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding: 10px 6px;
border-radius: 8px;
background: #f8fafc;
border: 1px solid rgba(0, 0, 0, 0.05);
border-top-width: 3px;
}
.dashboard-batch-side-stat--pending { border-top-color: #f59e0b; }
.dashboard-batch-side-stat--running { border-top-color: #3b82f6; }
.dashboard-batch-side-stat--done { border-top-color: #10b981; }
.dashboard-batch-side-stat-value {
font-size: 1.25rem;
font-weight: 700;
line-height: 1.1;
color: var(--text-primary);
font-variant-numeric: tabular-nums;
}
.dashboard-batch-side-stat-label {
font-size: 0.6875rem;
color: var(--text-secondary);
white-space: nowrap;
}
.dashboard-batch-side-progress-bar {
height: 8px;
background: #e2e8f0;
border-radius: 4px;
overflow: hidden;
display: flex;
}
.dashboard-batch-side-progress-segment {
height: 100%;
transition: width 0.4s ease;
min-width: 0;
}
.dashboard-batch-side-progress-pending { background: #f59e0b; }
.dashboard-batch-side-progress-running { background: #3b82f6; }
.dashboard-batch-side-progress-done { background: #10b981; }
.dashboard-side .dashboard-section-tools .dashboard-tools-chart-wrap {
max-height: 280px;
overflow-y: auto;
}
.dashboard-grid .dashboard-section {
margin-bottom: 0;
background: rgba(255, 255, 255, 0.95);
+30 -41
View File
@@ -627,47 +627,6 @@
<div class="dashboard-webshell-recent" id="dashboard-webshell-recent" hidden></div>
</div>
</section>
<section class="dashboard-section dashboard-section-overview">
<div class="dashboard-section-header">
<h3 class="dashboard-section-title" data-i18n="dashboard.batchQueues">批量任务队列</h3>
<a class="dashboard-section-link" onclick="switchPage('tasks')" data-i18n="dashboard.viewAll">查看全部 →</a>
</div>
<div class="dashboard-overview-list">
<div class="dashboard-overview-item dashboard-overview-item-batch" role="button" tabindex="0" onclick="switchPage('tasks')" onkeydown="if(event.key==='Enter'||event.key===' ') { event.preventDefault(); switchPage('tasks'); }">
<span class="dashboard-overview-icon dashboard-overview-icon-batch" aria-hidden="true"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg></span>
<div class="dashboard-overview-content">
<div class="dashboard-overview-header">
<span class="dashboard-overview-label" data-i18n="dashboard.batchQueues">批量任务队列</span>
<span class="dashboard-overview-total" id="dashboard-batch-total">-</span>
</div>
<div class="dashboard-overview-stats">
<span class="dashboard-overview-stat dashboard-overview-stat-pending">
<span class="dashboard-overview-stat-badge badge-pending"></span>
<span class="dashboard-overview-stat-value" id="dashboard-batch-pending">-</span>
<span class="dashboard-overview-stat-label" data-i18n="dashboard.pending">待执行</span>
</span>
<span class="dashboard-overview-stat dashboard-overview-stat-running">
<span class="dashboard-overview-stat-badge badge-running"></span>
<span class="dashboard-overview-stat-value" id="dashboard-batch-running">-</span>
<span class="dashboard-overview-stat-label" data-i18n="dashboard.executing">执行中</span>
</span>
<span class="dashboard-overview-stat dashboard-overview-stat-done">
<span class="dashboard-overview-stat-badge badge-done"></span>
<span class="dashboard-overview-stat-value" id="dashboard-batch-done">-</span>
<span class="dashboard-overview-stat-label" data-i18n="dashboard.completed">已完成</span>
</span>
</div>
<div class="dashboard-overview-progress">
<div class="dashboard-overview-progress-bar">
<div class="dashboard-overview-progress-segment dashboard-overview-progress-pending" id="dashboard-batch-progress-pending" style="width: 0%"></div>
<div class="dashboard-overview-progress-segment dashboard-overview-progress-running" id="dashboard-batch-progress-running" style="width: 0%"></div>
<div class="dashboard-overview-progress-segment dashboard-overview-progress-done" id="dashboard-batch-progress-done" style="width: 0%"></div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- 推荐操作:基于当前数据状态智能生成(如「修复 4 个待处理严重漏洞」「审批 2 个 HITL」),
比纯静态导航更有意义;当没有任何推荐时整个 section 隐藏 -->
<section class="dashboard-section dashboard-section-recommend" id="dashboard-section-recommend" hidden>
@@ -679,6 +638,36 @@
</section>
</div>
<div class="dashboard-side">
<section class="dashboard-section dashboard-section-batch-side">
<div class="dashboard-section-header">
<h3 class="dashboard-section-title" data-i18n="dashboard.batchQueues">批量任务队列</h3>
<a class="dashboard-section-link" onclick="switchPage('tasks')" data-i18n="dashboard.viewAll">查看全部 →</a>
</div>
<div class="dashboard-batch-side-body" role="button" tabindex="0" onclick="switchPage('tasks')" onkeydown="if(event.key==='Enter'||event.key===' ') { event.preventDefault(); switchPage('tasks'); }">
<div class="dashboard-batch-side-total" id="dashboard-batch-total">-</div>
<div class="dashboard-batch-side-stats">
<div class="dashboard-batch-side-stat dashboard-batch-side-stat--pending">
<span class="dashboard-batch-side-stat-value" id="dashboard-batch-pending">-</span>
<span class="dashboard-batch-side-stat-label" data-i18n="dashboard.pending">待执行</span>
</div>
<div class="dashboard-batch-side-stat dashboard-batch-side-stat--running">
<span class="dashboard-batch-side-stat-value" id="dashboard-batch-running">-</span>
<span class="dashboard-batch-side-stat-label" data-i18n="dashboard.executing">执行中</span>
</div>
<div class="dashboard-batch-side-stat dashboard-batch-side-stat--done">
<span class="dashboard-batch-side-stat-value" id="dashboard-batch-done">-</span>
<span class="dashboard-batch-side-stat-label" data-i18n="dashboard.completed">已完成</span>
</div>
</div>
<div class="dashboard-batch-side-progress" aria-hidden="true">
<div class="dashboard-batch-side-progress-bar">
<div class="dashboard-batch-side-progress-segment dashboard-batch-side-progress-pending" id="dashboard-batch-progress-pending" style="width: 0%"></div>
<div class="dashboard-batch-side-progress-segment dashboard-batch-side-progress-running" id="dashboard-batch-progress-running" style="width: 0%"></div>
<div class="dashboard-batch-side-progress-segment dashboard-batch-side-progress-done" id="dashboard-batch-progress-done" style="width: 0%"></div>
</div>
</div>
</div>
</section>
<section class="dashboard-section dashboard-section-tools">
<div class="dashboard-section-header">
<h3 class="dashboard-section-title" data-i18n="dashboard.toolsExecCount">工具执行次数</h3>