From 73cb19d36aa7ac428307f3efc59958fb5a6485a7 Mon Sep 17 00:00:00 2001 From: Nixevol Date: Fri, 26 Jun 2026 14:35:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AE=B9=E9=87=8F?= =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E9=97=AE=E9=A2=98=E6=B8=85=E5=8D=95=E5=9B=BA?= =?UTF-8?q?=E5=AE=9A=E5=88=97=E9=80=8F=E6=98=8E=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E5=88=97=E9=87=8D=E5=8F=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/project_context.md | 7 +++++++ frontend/src/components/CapacityDashboard.vue | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/docs/project_context.md b/docs/project_context.md index 453bfe4..794b37e 100644 --- a/docs/project_context.md +++ b/docs/project_context.md @@ -1015,6 +1015,13 @@ CellData 处理日志细化(`app/services/cell_data.py`): - 准确率(MCP 实测,重叠 66001):网络 100%、制式 97.88%(排除 3DMM 即 100%)、频段 97.6%、带宽 99.75%、站型 99.94%、**物理站 99.59%、扇区 99.20%**;残差为不可还原的人工差异(室分多载波编号、700M 个别人工编号、源数据制表符等)。详见 `docs/sector_inference_research.md`。 - 关键坑:MySQL 字符串字面量会吞掉未知转义的反斜杠,正则字面量需写 `\\(`(.sql 文件)/ JSON 调用需 `\\\\(`;ICU 正则字符类内的 `[ ]` 易误判,统一把名称中的 `[]` 转 `()` 后只处理圆括号。 +## 2026-06-26:修复看板问题清单固定列重叠(透明背景透出下层列) + +- 现象:问题小区清单横向滚动时,右固定列「问题」与滚动区「日均流量」列视觉重叠。 +- 根因:naive DataTable override 把 `tdColor` 设为 `transparent`(为融入玻璃面板),导致固定列(CGI 左固定 / 问题 右固定)背景透明,滚动时透出下层普通列内容。 +- 修复:新增主题变量 `--cap-table-fixed-bg`/`--cap-table-fixed-bg-hover`(深色 #111c2e/#18283f,浅色 #fff/#eaf6fb),用 `:deep` 给 `.n-data-table-th/td--fixed-left/right` 设不透明背景(含 tr:hover)。非固定列仍保持透明融入面板。 +- 校验:vue-tsc 通过。 + ## 2026-06-26:配置导入补全 MetrixEnabled(导出导入字段全对齐) - 问题:`config.py::to_file_dict`(导出)含 12 字段,但 `api/routers/config.py::_apply_config_data`(导入)漏处理 `MetrixEnabled` → 导入后「启用 Metrix 平台」开关不恢复,且可能出现 `SourceType=metrix` 但 `metrix_enabled=false` 的不一致。 diff --git a/frontend/src/components/CapacityDashboard.vue b/frontend/src/components/CapacityDashboard.vue index 20c8e88..6ac7062 100644 --- a/frontend/src/components/CapacityDashboard.vue +++ b/frontend/src/components/CapacityDashboard.vue @@ -732,6 +732,8 @@ onBeforeUnmount(resetPageHeader); --cap-soft-bg: rgba(148, 163, 184, 0.08); --cap-tag-plain-bg: rgba(148, 163, 184, 0.16); --cap-glow-opacity: 0.5; + --cap-table-fixed-bg: #111c2e; + --cap-table-fixed-bg-hover: #18283f; } :global([data-theme='light']) { --cap-bg: @@ -752,6 +754,8 @@ onBeforeUnmount(resetPageHeader); --cap-soft-bg: rgba(15, 23, 42, 0.04); --cap-tag-plain-bg: rgba(15, 23, 42, 0.06); --cap-glow-opacity: 0.32; + --cap-table-fixed-bg: #ffffff; + --cap-table-fixed-bg-hover: #eaf6fb; } .cap-dashboard { @@ -909,6 +913,17 @@ onBeforeUnmount(resetPageHeader); .cap-search { width: 200px; } .cap-table-wrap { flex: 1 1 0; min-height: 0; } .cap-table { height: 100%; background: transparent; } +/* 固定列(CGI 左 / 问题 右)需不透明背景,否则横向滚动时透出下层列造成"重叠" */ +.cap-table :deep(.n-data-table-th--fixed-left), +.cap-table :deep(.n-data-table-th--fixed-right), +.cap-table :deep(.n-data-table-td--fixed-left), +.cap-table :deep(.n-data-table-td--fixed-right) { + background-color: var(--cap-table-fixed-bg) !important; +} +.cap-table :deep(.n-data-table-tr:hover .n-data-table-td--fixed-left), +.cap-table :deep(.n-data-table-tr:hover .n-data-table-td--fixed-right) { + background-color: var(--cap-table-fixed-bg-hover) !important; +} .cap-pager { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; } .cap-pager-total { font-size: 12px; color: var(--cap-text-muted); }