fix(theme): 修 hover 颜色不正确 - 干掉硬编码老蓝 + fallback 双重失效

核心问题 (按影响面排序):

1. Login.vue: login-btn hover 是硬编码 Tailwind blue-800 #1e40af
   跟主色 #007A95 青蓝完全不同色系, hover 突变
   - 改成 var(--brand-primary-deep) (#004858 暗青蓝)

2. 14 个页面写了 :deep(.el-button--primary:hover) { background:
   var(--brand-primary-deep, var(--brand-primary)) } — 第二参数
   fallback 让 hover 退化成主色 (不变深), 视觉上'按钮没反应'
   - 删第二参数, 直接 var(--brand-primary-deep)

3. AdminLayout: 菜单激活背景硬编码 #1890ff (Ant 老蓝),
   跟青蓝主题对比突兀
   - 改成 var(--brand-primary)

4. 17 处 .breadcrumb a:hover / .hint-link:hover / el-button.is-link:hover
   同样 fallback 双重失效问题, 删 fallback

5. 其余硬编码老蓝 (#1890ff / #409eff) 在:
   - OssFileUploader / OssImageUploader / IdCardUploader (upload hover border)
   - Login.vue (modal-btn, accent-color, user-type-item hover)
   - doctor/Account.vue (breadcrumb link, 章节左边竖线)
   - ManagerProjectsAssign.vue (合同链接)
   - PublicityDetail.vue (ann-menu hover)
   全部换成 var(--brand-primary) / var(--brand-primary-deep)

6. 修 PublicityDetail.vue 注释错误:
   原: // 深色用品牌主色 (#1890ff), ...
   正: 二维码 dark 是 #1f2937 (深灰), 不是主色

总计 24 个文件
grep '#1890ff|#409eff|#096dd9|#0050b3|#1e40af|#1d4ed8' 已 0 命中
This commit is contained in:
郭庆泰
2026-08-22 21:22:17 +08:00
parent d9316e87d0
commit 3c23222841
25 changed files with 62 additions and 60 deletions
+2 -2
View File
@@ -440,9 +440,9 @@ onMounted(() => { load(); loadPersons() })
.score-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
:deep(.el-button--primary) { background: var(--brand-primary); border-color: var(--brand-primary); border-radius: 4px; }
:deep(.el-button--primary:hover) { background: var(--brand-primary-deep, var(--brand-primary)); border-color: var(--brand-primary-deep, var(--brand-primary)); }
:deep(.el-button--primary:hover) { background: var(--brand-primary-deep); border-color: var(--brand-primary-deep); }
:deep(.el-table .el-button) { border-radius: 4px; }
:deep(.el-table .el-button.is-link) { color: var(--brand-primary); background: transparent; border: none; }
:deep(.el-table .el-button.is-link:hover) { color: var(--brand-primary-deep, var(--brand-primary)); background: transparent; }
:deep(.el-table .el-button.is-link:hover) { color: var(--brand-primary-deep); background: transparent; }
:deep(.el-table .el-button.is-link.is-disabled) { color: #c0c4cc; background: transparent; }
</style>