From b271298fef6a1175d437fa3ba681c11092d42a7d Mon Sep 17 00:00:00 2001 From: GiveMePast <1248298477@qq.com> Date: Sat, 28 Feb 2026 17:46:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=88=E5=AF=B9=E4=BA=8E=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=EF=BC=8C=E5=B1=95=E7=A4=BA=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=80=9A=E8=BF=87=E5=8D=A1=E7=89=87=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ClientView.vue | 810 +++++++++++++++++++++++++-------------- 1 file changed, 531 insertions(+), 279 deletions(-) diff --git a/src/views/ClientView.vue b/src/views/ClientView.vue index abcb6d0..894f14f 100644 --- a/src/views/ClientView.vue +++ b/src/views/ClientView.vue @@ -1,293 +1,545 @@ - - + + \ No newline at end of file +} + +.s-label { + font-size: 13px; + color: #86868b; + display: block; + margin-bottom: 6px; +} + +.s-value { + font-size: 28px; + font-weight: 800; + color: #1d1d1f; +} + +.stat-icon-wrapper { + font-size: 36px; + color: var(--theme-color); + opacity: 0.1; +} + +/* 列表区域 */ +.data-section { + background: #fff; + padding: 24px; + border-radius: 12px; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02); +} + +.section-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; +} + +.header-left { + display: flex; + align-items: center; + gap: 10px; +} + +.indicator { + width: 3px; + height: 16px; + background: #409eff; + border-radius: 2px; +} + +.section-title { + font-size: 16px; + font-weight: 600; + color: #303133; +} + +.filter-tag { + margin-left: 10px; + border-radius: 4px; +} + +.id-tag { + color: #909399; + font-family: "Consolas", monospace; + font-size: 12px; +} + +.project-cell { + display: flex; + align-items: center; + gap: 8px; +} + +.project-icon { + color: #c0c4cc; + font-size: 16px; +} + +.project-name { + font-weight: 500; + color: #2c3e50; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 240px; +} + +.percent-val { + font-size: 11px; + font-weight: 700; + color: #409eff; +} + +.data-num { + font-size: 16px; + font-weight: 700; + color: #2c3e50; +} + +.status-dot-box { + display: flex; + align-items: center; + gap: 6px; + font-size: 12px; + font-weight: 500; +} + +.dot { + width: 6px; + height: 6px; + border-radius: 50%; +} + +.is-waiting { + color: #909399; +} + +.is-waiting .dot { + background: #909399; +} + +.is-running { + color: #e6a23c; +} + +.is-running .dot { + background: #e6a23c; + box-shadow: 0 0 6px rgba(230, 162, 60, 0.4); +} + +.is-success { + color: #67c23a; +} + +.is-success .dot { + background: #67c23a; +} + +.pagination-footer { + margin-top: 24px; + display: flex; + justify-content: center; +} + +:deep(.el-table) { + --el-table-header-bg-color: #f8f9fb; +} +