Compare commits

3 Commits

Author SHA1 Message Date
qiaoxinjiu
793a8e1b84 fix(case): AI 用例详情弹窗深浅色主题可读性
为 append-to-body 详情弹窗增加独立样式,修复标题、标签与描述列表在浅色/服务器环境下的对比度。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 17:05:45 +08:00
qiaoxinjiu
971967b791 fix(layout): 左侧菜单栏支持纵向滚动
菜单项过多时可在侧栏内滚动查看,品牌区保持固定。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 16:55:56 +08:00
qiaoxinjiu
5cafab7534 fix(case): 用例管理 Tab、自动化弹窗与日期筛选主题样式
- Tab 未选中项在深色/浅色下可读性修复
- 生成自动化用例弹窗独立深色样式(append-to-body)
- 创建时间日期范围与主题一致

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 16:50:27 +08:00
2 changed files with 275 additions and 10 deletions

View File

@@ -9,6 +9,7 @@
<div class="brand-subtitle">Quality Workspace</div>
</div>
</div>
<div class="aside-menu-scroll">
<el-menu
:default-active="$route.path"
class="el-menu-vertical-demo"
@@ -48,6 +49,7 @@
</el-menu-item>
</template>
</el-menu>
</div>
</aside>
<el-container class="workspace-shell">
<el-header class="header">
@@ -391,18 +393,43 @@ export default {
}
.aside {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background: linear-gradient(180deg, #07111f 0%, #081426 46%, #050914 100%);
box-shadow: 12px 0 38px rgba(0, 0, 0, 0.42), inset -1px 0 0 rgba(56, 189, 248, 0.14);
transition: width 0.25s ease;
}
.aside-menu-scroll {
flex: 1;
min-height: 0;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.aside-menu-scroll::-webkit-scrollbar {
width: 6px;
}
.aside-menu-scroll::-webkit-scrollbar-thumb {
border-radius: 3px;
background: rgba(148, 163, 184, 0.35);
}
.aside-menu-scroll::-webkit-scrollbar-track {
background: transparent;
}
.aside--collapse .brand-panel {
justify-content: center;
padding: 18px 8px;
}
.brand-panel {
flex-shrink: 0;
height: 72px;
box-sizing: border-box;
display: flex;
@@ -447,7 +474,6 @@ export default {
}
.el-menu-vertical-demo {
height: calc(100% - 72px);
border-right: none;
}

View File

@@ -36,7 +36,7 @@
</el-form-item>
</el-form>
<el-tabs v-model="activeTab" style="margin-top: 8px;">
<el-tabs v-model="activeTab" class="case-list-tabs" style="margin-top: 8px;">
<el-tab-pane label="模块列表" name="modules">
<div class="module-list-toolbar">
<el-button
@@ -588,6 +588,7 @@
width="760px"
top="6vh"
append-to-body
custom-class="case-ai-detail-dialog"
@closed="resetAiCaseDetailDialog">
<div v-loading="aiCaseDetailLoading" class="ai-case-detail-wrap">
<template v-if="!aiCaseDetailLoading && aiCaseDetailRowPresent">
@@ -641,6 +642,7 @@
:visible.sync="autoGenDialogVisible"
width="560px"
append-to-body
custom-class="case-auto-gen-dialog"
@closed="resetAutoGenDialog">
<el-form ref="autoGenFormRef" :model="autoGenForm" :rules="autoGenRules" label-width="120px" size="small">
<el-form-item label="当前用例">
@@ -2538,7 +2540,6 @@ export default {
.ai-case-detail-title {
font-size: 16px;
font-weight: 600;
color: #f8fafc;
line-height: 1.4;
margin-bottom: 14px;
}
@@ -2554,20 +2555,16 @@ export default {
.ai-case-detail-label {
font-size: 13px;
font-weight: 600;
color: #cbd5e1;
margin-bottom: 6px;
}
.ai-case-detail-text {
font-size: 13px;
color: #e5e7eb;
line-height: 1.6;
white-space: pre-wrap;
word-break: break-word;
padding: 10px 12px;
background: #0f172a;
border-radius: 4px;
border: 1px solid rgba(148, 163, 184, 0.2);
}
.ai-case-detail-empty {
@@ -2578,7 +2575,6 @@ export default {
}
.auto-gen-case-title {
color: #f8fafc;
font-weight: 500;
line-height: 1.5;
word-break: break-word;
@@ -2596,8 +2592,7 @@ body.theme-light .ai-gen-params-bar {
body.theme-light .ai-gen-params-label,
body.theme-light .ai-doc-block-title,
body.theme-light .ai-case-table-title,
body.theme-light .auto-gen-case-title {
body.theme-light .ai-case-table-title {
color: #0f172a;
}
@@ -2665,3 +2660,247 @@ body.theme-light .mindmap-empty {
color: #64748b;
}
</style>
<!-- scopedTab / append-to-body 弹窗 / 日期范围在深浅色下与整站一致 -->
<style>
.case-list-tabs .el-tabs__item {
color: #94a3b8;
}
.case-list-tabs .el-tabs__item:hover {
color: #cbd5e1;
}
.case-list-tabs .el-tabs__item.is-active {
color: #38bdf8;
}
.case-list-tabs .el-tabs__nav-wrap::after {
background-color: rgba(148, 163, 184, 0.18);
}
body.theme-light .case-list-tabs .el-tabs__item {
color: #64748b;
}
body.theme-light .case-list-tabs .el-tabs__item:hover {
color: #334155;
}
body.theme-light .case-list-tabs .el-tabs__item.is-active {
color: #2563eb;
}
body.theme-light .case-list-tabs .el-tabs__nav-wrap::after {
background-color: #e2e8f0;
}
.el-dialog.case-auto-gen-dialog {
background: #111827;
border: 1px solid rgba(148, 163, 184, 0.2);
}
.el-dialog.case-auto-gen-dialog .el-dialog__header {
border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}
.el-dialog.case-auto-gen-dialog .el-dialog__title,
.el-dialog.case-auto-gen-dialog .el-dialog__body,
.el-dialog.case-auto-gen-dialog .el-form-item__label {
color: #e5e7eb;
}
.el-dialog.case-auto-gen-dialog .auto-gen-case-title {
color: #f1f5f9;
}
.el-dialog.case-auto-gen-dialog .el-input__inner,
.el-dialog.case-auto-gen-dialog .el-textarea__inner,
.el-dialog.case-auto-gen-dialog .el-select .el-input__inner {
background-color: #0f172a;
border-color: rgba(148, 163, 184, 0.28);
color: #f8fafc;
}
.el-dialog.case-auto-gen-dialog .el-input__inner::placeholder,
.el-dialog.case-auto-gen-dialog .el-textarea__inner::placeholder {
color: #64748b;
}
body.theme-light .el-dialog.case-auto-gen-dialog {
background: #ffffff;
border-color: #e5e7eb;
}
body.theme-light .el-dialog.case-auto-gen-dialog .el-dialog__header {
border-bottom-color: #ebeef5;
}
body.theme-light .el-dialog.case-auto-gen-dialog .el-dialog__title,
body.theme-light .el-dialog.case-auto-gen-dialog .el-dialog__body,
body.theme-light .el-dialog.case-auto-gen-dialog .el-form-item__label {
color: #303133;
}
body.theme-light .el-dialog.case-auto-gen-dialog .auto-gen-case-title {
color: #0f172a;
}
body.theme-light .el-dialog.case-auto-gen-dialog .el-input__inner,
body.theme-light .el-dialog.case-auto-gen-dialog .el-textarea__inner,
body.theme-light .el-dialog.case-auto-gen-dialog .el-select .el-input__inner {
background-color: #ffffff;
border-color: #dcdfe6;
color: #606266;
}
.page-wrap .el-date-editor .el-input__inner {
background-color: #0f172a;
border-color: rgba(148, 163, 184, 0.28);
color: #f8fafc;
}
.page-wrap .el-date-editor .el-range-input {
background-color: transparent;
color: #f8fafc;
}
.page-wrap .el-date-editor .el-range-separator {
color: #94a3b8;
}
.page-wrap .el-date-editor .el-range-input::placeholder {
color: #64748b;
}
body.theme-light .page-wrap .el-date-editor .el-input__inner {
background-color: #ffffff;
border-color: #dcdfe6;
color: #606266;
}
body.theme-light .page-wrap .el-date-editor .el-range-input {
color: #606266;
}
body.theme-light .page-wrap .el-date-editor .el-range-separator {
color: #909399;
}
/* AI 用例详情弹窗append-to-body */
.el-dialog.case-ai-detail-dialog {
background: #111827;
border: 1px solid rgba(148, 163, 184, 0.2);
}
.el-dialog.case-ai-detail-dialog .el-dialog__header {
border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}
.el-dialog.case-ai-detail-dialog .el-dialog__title {
color: #f8fafc;
}
.el-dialog.case-ai-detail-dialog .el-dialog__body {
color: #e5e7eb;
}
.el-dialog.case-ai-detail-dialog .ai-case-detail-title {
color: #f8fafc;
}
.el-dialog.case-ai-detail-dialog .ai-case-detail-label {
color: #dbeafe;
}
.el-dialog.case-ai-detail-dialog .ai-case-detail-text {
color: #e5e7eb;
background: #0f172a;
border: 1px solid rgba(148, 163, 184, 0.2);
}
.el-dialog.case-ai-detail-dialog .ai-case-detail-empty {
color: #94a3b8;
}
.el-dialog.case-ai-detail-dialog .el-descriptions__body {
background-color: #111827;
color: #e5e7eb;
}
.el-dialog.case-ai-detail-dialog .el-descriptions-item__label {
color: #94a3b8;
background: #1f2937;
}
.el-dialog.case-ai-detail-dialog .el-descriptions-item__content {
color: #e5e7eb;
background: #111827;
}
.el-dialog.case-ai-detail-dialog .el-descriptions__body .el-descriptions__table {
border-color: rgba(148, 163, 184, 0.2);
}
.el-dialog.case-ai-detail-dialog .el-descriptions__body .el-descriptions-item__cell {
border-color: rgba(148, 163, 184, 0.2);
}
body.theme-light .el-dialog.case-ai-detail-dialog {
background: #ffffff;
border-color: #e5e7eb;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-dialog__header {
border-bottom-color: #ebeef5;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-dialog__title {
color: #303133;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-dialog__body {
color: #303133;
}
body.theme-light .el-dialog.case-ai-detail-dialog .ai-case-detail-title {
color: #0f172a;
}
body.theme-light .el-dialog.case-ai-detail-dialog .ai-case-detail-label {
color: #303133;
}
body.theme-light .el-dialog.case-ai-detail-dialog .ai-case-detail-text {
color: #334155;
background: #f8fafc;
border: 1px solid #e5e7eb;
}
body.theme-light .el-dialog.case-ai-detail-dialog .ai-case-detail-empty {
color: #909399;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-descriptions__body {
background-color: #ffffff;
color: #303133;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-descriptions-item__label {
color: #606266;
background: #fafafa;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-descriptions-item__content {
color: #303133;
background: #ffffff;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-descriptions__body .el-descriptions__table {
border-color: #ebeef5;
}
body.theme-light .el-dialog.case-ai-detail-dialog .el-descriptions__body .el-descriptions-item__cell {
border-color: #ebeef5;
}
</style>