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
+1 -1
View File
@@ -125,7 +125,7 @@ async function onFileChange(e, side) {
cursor: pointer;
}
.ht-image-upload-content:hover {
border-color: #1890ff;
border-color: var(--brand-primary);
}
.ht-image-upload-content.has-file {
border-style: solid;
+3 -3
View File
@@ -150,7 +150,7 @@ function onRemove() {
transition: border-color 0.2s;
min-height: 60px;
}
.ht-file-upload:hover { border-color: #1890ff; }
.ht-file-upload:hover { border-color: var(--brand-primary); }
.ht-file-upload.has-file { border-style: solid; border-color: #52c41a; background: #fff; }
.ht-file-upload.is-block { width: 100%; }
.ht-file-upload.readonly { cursor: default; }
@@ -167,14 +167,14 @@ function onRemove() {
.ht-file-info {
display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0;
}
.file-icon { color: #1890ff; flex-shrink: 0; }
.file-icon { color: var(--brand-primary); flex-shrink: 0; }
.file-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.file-name {
font-size: 14px; color: #1a1a1a; font-weight: 500;
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
cursor: pointer;
}
.file-name:hover { color: #1890ff; text-decoration: underline; }
.file-name:hover { color: var(--brand-primary); text-decoration: underline; }
.file-type { font-size: 12px; color: #909399; }
.remove-btn { flex-shrink: 0; }
+1 -1
View File
@@ -105,7 +105,7 @@ async function onFileChange(e) {
height: 100px;
}
.ht-image-upload-content:hover {
border-color: #1890ff;
border-color: var(--brand-primary);
}
.ht-image-upload-content.has-file {
border-style: solid;
+2 -2
View File
@@ -272,7 +272,7 @@ const onCommand = (cmd) => { if (cmd === 'logout') logout() }
}
/* 子项激活: 蓝底白字 */
:deep(.el-menu-item.is-active) {
background: #1890ff;
background: var(--brand-primary);
color: #fff;
}
/* 父标题在子项激活时高亮 (Element Plus 自动给 el-sub-menu 加 is-active) */
@@ -289,7 +289,7 @@ const onCommand = (cmd) => { if (cmd === 'logout') logout() }
background-color: #1f3a5f;
}
:deep(.el-menu--inline .el-menu-item.is-active) {
background: #1890ff;
background: var(--brand-primary);
}
.topbar { background: #fff; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border-bottom: 1px solid #ebeef5; }
.topbar-left { display: flex; align-items: center; }
+2 -2
View File
@@ -235,7 +235,7 @@ onMounted(loadDetail)
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -243,7 +243,7 @@ onMounted(loadDetail)
.form-actions { margin-top: 16px; display: flex; gap: 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-button) { border-radius: 4px; }
:deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; }
@@ -138,7 +138,7 @@ onMounted(loadDetail)
/* 面包屑带可点击返回 */
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
/* 去掉 el-card 默认的边框/阴影 (跟 ExpertNew.vue 保持一致) */
.form-card.nested { background: transparent; border: none; box-shadow: none; }
@@ -146,7 +146,7 @@ onMounted(loadDetail)
/* 主按钮用项目色变量 (覆盖 el 默认 #409eff) */
: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-button) { border-radius: 4px; }
:deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; }
+6 -6
View File
@@ -755,7 +755,7 @@ onUnmounted(() => {
}
.login-page .login-btn:hover{
background: #1e40af;
background: var(--brand-primary-deep);
}
/* 底部 */
@@ -860,7 +860,7 @@ onUnmounted(() => {
color: #fff;
}
.login-page .modal-btn.primary:hover{ background: #1e40af; }
.login-page .modal-btn.primary:hover{ background: var(--brand-primary-deep); }
.login-page .modal-btn.secondary{
background: #fff;
@@ -924,10 +924,10 @@ onUnmounted(() => {
cursor: pointer;
transition: all 0.2s;
}
.user-type-item:hover { border-color: var(--brand-primary, #1890ff); background: #f7faff; }
.user-type-item:hover { border-color: var(--brand-primary); background: #f7faff; }
.user-type-item input[type="radio"] {
width: 18px; height: 18px;
accent-color: var(--brand-primary, #1890ff);
accent-color: var(--brand-primary);
cursor: pointer;
flex-shrink: 0;
}
@@ -944,8 +944,8 @@ onUnmounted(() => {
}
.modal-btn.secondary { background: #f5f7fa; color: #606266; }
.modal-btn.secondary:hover { background: #ebeef5; }
.modal-btn.primary { background: var(--brand-primary, #1890ff); color: #fff; }
.modal-btn.primary:hover { background: var(--brand-primary-deep, #096dd9); }
.modal-btn.primary { background: var(--brand-primary); color: #fff; }
.modal-btn.primary:hover { background: var(--brand-primary-deep); }
/* ===== 忘记密码弹窗 ===== */
.modal-subtitle {
+2 -2
View File
@@ -460,7 +460,7 @@ onUnmounted(() => {
<style scoped>
.page-card { padding: 16px; background: #fff; border-radius: 4px; border: 1px solid #ebeef5; }
.breadcrumb { font-size: 13px; color: #909399; margin-bottom: 8px; }
.breadcrumb .link { color: #409eff; cursor: pointer; }
.breadcrumb .link { color: var(--brand-primary); cursor: pointer; }
.breadcrumb .link:hover { text-decoration: underline; }
.breadcrumb .sep { margin: 0 6px; }
.page-title { font-size: 20px; font-weight: 600; color: #262626; margin: 0 0 16px; }
@@ -482,7 +482,7 @@ onUnmounted(() => {
color: #262626;
margin: 16px 0 12px;
padding-left: 8px;
border-left: 3px solid #409eff;
border-left: 3px solid var(--brand-primary);
}
.form-grid {
+2 -2
View File
@@ -232,10 +232,10 @@ load()
.filter-form { display: flex; flex-wrap: wrap; gap: 0 16px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0; margin-bottom: 12px; }
.pdf-preview { margin-top: 12px; }
: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>
+2 -2
View File
@@ -142,9 +142,9 @@ load()
.filter-tip { background: #fffbe6; border: 1px solid #ffe58f; color: #ad6800; padding: 8px 12px; border-radius: 4px; font-size: 12px; margin-bottom: 12px; }
.status { font-size: 13px; color: #595959; }
: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>
+2 -2
View File
@@ -194,10 +194,10 @@ onMounted(() => {
.toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.status { font-size: 13px; color: #595959; }
: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>
@@ -119,7 +119,7 @@ onMounted(loadDetail)
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -127,7 +127,7 @@ onMounted(loadDetail)
.form-actions { margin-top: 16px; display: flex; gap: 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-button) { border-radius: 4px; }
:deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; }
@@ -163,7 +163,7 @@ onMounted(() => {
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -171,7 +171,7 @@ onMounted(() => {
.form-actions { margin-top: 16px; display: flex; gap: 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-button) { border-radius: 4px; }
:deep(.el-input__wrapper) { border-radius: 4px; }
</style>
+2 -2
View File
@@ -284,7 +284,7 @@ onMounted(() => {
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -292,7 +292,7 @@ onMounted(() => {
.form-actions { margin-top: 16px; display: flex; gap: 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-button) { border-radius: 4px; }
:deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; }
</style>
+1 -1
View File
@@ -225,7 +225,7 @@ onMounted(loadList)
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 12px; }
.batch-bar { margin-bottom: 12px; display: flex; gap: 8px; align-items: center; }
.hint-link { color: var(--brand-primary); cursor: pointer; font-size: 13px; }
.hint-link:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.hint-link:hover { color: var(--brand-primary-deep); }
.pager { display: flex; justify-content: flex-end; margin-top: 12px; }
.filter-form { margin-bottom: 12px; }
</style>
+1 -1
View File
@@ -126,7 +126,7 @@ onMounted(loadDetail)
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
+2 -2
View File
@@ -327,7 +327,7 @@ onMounted(() => {
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -335,7 +335,7 @@ onMounted(() => {
.form-actions { margin-top: 16px; display: flex; gap: 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-button) { border-radius: 4px; }
:deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; }
</style>
@@ -553,7 +553,7 @@ async function submitAssign() {
display: flex; align-items: center; justify-content: flex-end;
color: #606266; font-size: 14px;
}
.contract-section .file-link { color: #1890ff; cursor: pointer; font-size: 13px; display: flex; align-items: center; }
.contract-section .file-link { color: var(--brand-primary); cursor: pointer; font-size: 13px; display: flex; align-items: center; }
.contract-section .file-link:hover { text-decoration: underline; }
.contract-section .empty-tip { font-size: 13px; color: #c0c4cc; display: flex; align-items: center; }
.hint-text { font-size: 12px; color: #909399; margin: 8px 0; line-height: 1.6; }
+3 -1
View File
@@ -495,7 +495,9 @@ a { color: inherit; text-decoration: none; }
font-size: 14px;
line-height: 1.9;
color: rgba(255, 255, 255, 0.85);
max-width: 70%;
max-width: 100%;
padding-bottom: 50px;
}
.hero-cta {
+11 -11
View File
@@ -268,7 +268,7 @@ watch(showQr, async (v) => {
qrUrl.value = await QRCode.toDataURL(shareUrl.value, {
width: 260,
margin: 2,
// 深色用品牌主色 (#1890ff), 让二维码更精致
// 深色用品牌主色 (#1f2937 深灰), 让二维码更精致
color: { dark: '#1f2937', light: '#ffffff' },
errorCorrectionLevel: 'H'
})
@@ -642,7 +642,7 @@ onBeforeUnmount(() => {
padding: 14px;
border-radius: 6px;
margin-bottom: 16px;
border-left: 3px solid var(--brand-primary, #1890ff);
border-left: 3px solid var(--brand-primary);
}
.card-label { font-size: 12px; color: #909399; margin-bottom: 4px; }
.card-value { font-size: 15px; font-weight: 600; color: #1a1a1a; line-height: 1.4; }
@@ -660,13 +660,13 @@ onBeforeUnmount(() => {
margin-bottom: 4px;
transition: all 0.2s;
}
.ann-menu-item:hover { background: #f5f7fa; color: var(--brand-primary, #1890ff); }
.ann-menu-item.active { background: #e6f4ff; color: var(--brand-primary, #1890ff); font-weight: 600; }
.ann-menu-item:hover { background: #f5f7fa; color: var(--brand-primary); }
.ann-menu-item.active { background: #e6f4ff; color: var(--brand-primary); font-weight: 600; }
.ann-menu-item .dot {
width: 6px; height: 6px; border-radius: 50%;
background: #dcdfe6;
}
.ann-menu-item.active .dot { background: var(--brand-primary, #1890ff); }
.ann-menu-item.active .dot { background: var(--brand-primary); }
.ann-menu-empty { color: #c0c4cc; font-size: 13px; padding: 12px 16px; }
.detail-main { min-height: 480px; min-width: 0; }
@@ -756,13 +756,13 @@ onBeforeUnmount(() => {
/* primary: 实色品牌主蓝 (与页面 filter-btn 同风格) */
.action-btn.primary {
background: var(--brand-primary, #1890ff);
background: var(--brand-primary);
color: #fff;
border-color: var(--brand-primary, #1890ff);
border-color: var(--brand-primary);
}
.action-btn.primary:hover:not(:disabled) {
background: var(--brand-primary-deep, #096dd9);
border-color: var(--brand-primary-deep, #096dd9);
background: var(--brand-primary-deep);
border-color: var(--brand-primary-deep);
}
/* 立即报名 / 分享二维码 都是同款 primary (沉稳商务风, 单色) */
@@ -1285,7 +1285,7 @@ a { color: inherit; text-decoration: none; }
.qr-brand {
text-align: center;
font-size: 12px;
color: var(--brand-primary, #1890ff);
color: var(--brand-primary);
letter-spacing: 2px;
margin-top: 10px;
padding-top: 8px;
@@ -1296,7 +1296,7 @@ a { color: inherit; text-decoration: none; }
position: absolute;
width: 14px;
height: 14px;
border: 2px solid var(--brand-primary, #1890ff);
border: 2px solid var(--brand-primary);
}
.qr-corner-tl { top: 0; left: 0; border-right: 0; border-bottom: 0; border-top-left-radius: 12px; }
.qr-corner-tr { top: 0; right: 0; border-left: 0; border-bottom: 0; border-top-right-radius: 12px; }
@@ -119,7 +119,7 @@ onMounted(loadDetail)
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -127,7 +127,7 @@ onMounted(loadDetail)
.form-actions { margin-top: 16px; display: flex; gap: 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-button) { border-radius: 4px; }
:deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; }
@@ -163,7 +163,7 @@ onMounted(() => {
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -171,7 +171,7 @@ onMounted(() => {
.form-actions { margin-top: 16px; display: flex; gap: 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-button) { border-radius: 4px; }
:deep(.el-input__wrapper) { border-radius: 4px; }
</style>
+2 -2
View File
@@ -288,7 +288,7 @@ onMounted(() => {
.page-card { background: #fff; padding: 16px 20px; border-radius: 6px; border: 1px solid #f0f0f0; }
.breadcrumb { font-size: 13px; color: #8c8c8c; margin-bottom: 16px; }
.breadcrumb a { color: var(--brand-primary); cursor: pointer; text-decoration: none; }
.breadcrumb a:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.breadcrumb a:hover { color: var(--brand-primary-deep); }
.form-card.nested { background: transparent; border: none; box-shadow: none; }
:deep(.form-card .el-card__body) { padding: 24px 28px; }
@@ -297,7 +297,7 @@ onMounted(() => {
.form-hint { font-size: 12px; color: #ff4d4f; line-height: 1.6; margin: 4px 0; }
: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-button) { border-radius: 4px; }
:deep(.el-input__wrapper), :deep(.el-textarea__inner) { border-radius: 4px; }
</style>
+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>
+3 -3
View File
@@ -319,12 +319,12 @@ load()
.toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.hint-link { color: var(--brand-primary); cursor: pointer; font-size: 13px; }
.hint-link:hover { color: var(--brand-primary-deep, var(--brand-primary)); }
.hint-link:hover { color: var(--brand-primary-deep); }
: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>