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; +} +