refactor: 优化数据处理向导配置面板布局

数据集划分编辑器调整宽屏与窄屏布局,结构化预处理选项修正 flex 占满,非结构化智能预处理由开关改为复选卡片并补充可访问性标签。
This commit is contained in:
caoxiaozhu
2026-07-13 16:16:50 +08:00
parent aea0d51b44
commit 0917206191
3 changed files with 90 additions and 30 deletions

View File

@@ -131,35 +131,28 @@ defineExpose({ revealValidation })
<p>默认使用推荐策略只需决定是否需要脱敏</p>
</div>
</div>
<div class="generation-option-list compact-option-list">
<div class="generation-option-row">
<div class="generation-option-copy">
<strong>智能预处理</strong>
<small>自动完成内容清理结构解析短段合并质量过滤去重及上下文保留</small>
</div>
<el-switch
<div class="preprocess-option-grid">
<label class="preprocess-option" :class="{ 'is-checked': smartPreprocessEnabled }">
<el-checkbox
:model-value="smartPreprocessEnabled"
aria-label="智能预处理"
inline-prompt
active-text=""
inactive-text=""
@update:model-value="updateSmartPreprocess"
/>
</div>
<div class="generation-option-row">
<div class="generation-option-copy">
<strong>敏感信息脱敏</strong>
<small>处理姓名手机号邮箱和证件号等信息</small>
</div>
<el-switch
<span class="preprocess-option-copy">
<strong>智能预处理</strong>
<small>自动清理解析去重及保留上下文</small>
</span>
</label>
<label class="preprocess-option" :class="{ 'is-checked': desensitizeEnabled }">
<el-checkbox
:model-value="desensitizeEnabled"
aria-label="敏感信息脱敏"
inline-prompt
active-text=""
inactive-text=""
@update:model-value="updateDesensitize"
/>
</div>
<span class="preprocess-option-copy">
<strong>敏感信息脱敏</strong>
<small>处理姓名手机号等隐私信息</small>
</span>
</label>
</div>
</div>
@@ -419,11 +412,59 @@ defineExpose({ revealValidation })
margin-top: 16px;
}
.compact-option-list {
gap: 8px;
.preprocess-option-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
margin-top: 16px;
}
.generation-option-row {
min-height: 58px;
.preprocess-option {
display: flex;
width: 100%;
min-height: 64px;
margin-right: 0;
padding: 12px 14px;
box-sizing: border-box;
align-items: flex-start;
border: 1px solid #e2e5ec;
border-radius: 8px;
transition: border-color 0.18s ease, background-color 0.18s ease;
&:hover {
border-color: #b7b2f7;
}
&.is-checked {
background: #fafaff;
border-color: #8b82f4;
}
:deep(.el-checkbox__input) {
margin-top: 3px;
}
:deep(.el-checkbox__label) {
min-width: 0;
padding-left: 10px;
white-space: normal;
}
}
.preprocess-option-copy {
display: grid;
gap: 4px;
strong {
color: #344054;
font-size: 13px;
font-weight: 600;
}
small {
color: #8a93a3;
font-size: 12px;
line-height: 1.5;
}
}
@@ -600,5 +641,14 @@ defineExpose({ revealValidation })
align-items: center;
flex-direction: row;
}
.advanced-protection-row {
align-items: flex-start;
flex-direction: column;
}
.preprocess-option-grid {
grid-template-columns: minmax(0, 1fr);
}
}
</style>