style: 固定 CellData 映射基础区和添加按钮

This commit is contained in:
2026-06-25 05:23:55 +08:00
parent 5126626718
commit a91b2ccde0
3 changed files with 38 additions and 5 deletions
+6
View File
@@ -808,3 +808,9 @@
- CellData「规则设置」弹窗中的映射规则增加“图形化 / JSON”切换。图形化模式可维护目标表、主键字段、主键表达式、来源目录、CSV 前缀和字段映射;字段映射支持“CSV 字段”和“固定值”两种模式。
- JSON 模式仍使用 Monaco 编辑器,支持格式化、校验、恢复默认;两种模式共用同一份 `CellData.mapping` JSON,切换时自动互转。
- 验证:`frontend` `npm run build` 通过;构建产物已清理。
## 2026-06-25:固定图形化映射基础区与添加来源按钮
- CellData「规则设置」弹窗不再整体滚动;高级匹配、目标表、主键字段和主键表达式固定显示,图形化模式下仅来源列表滚动。
- “添加来源”按钮固定在来源列表下方,始终可见;弹窗底部保存按钮也保持可见。
- 验证:`frontend` `npm run build` 通过;构建产物已清理。
+3 -1
View File
@@ -774,7 +774,9 @@
<n-button size="small" @click="addCellDataMappingField(sourceIndex)">添加字段</n-button>
</div>
</div>
<n-button size="small" @click="addCellDataMappingSource">添加来源</n-button>
<div class="cell-data-mapping-actions">
<n-button size="small" @click="addCellDataMappingSource">添加来源</n-button>
</div>
</div>
</section>
</div>
+29 -4
View File
@@ -1640,16 +1640,24 @@ select {
}
.cell-data-settings-body {
display: grid;
display: flex;
height: min(68vh, 680px);
min-height: 0;
flex-direction: column;
gap: 14px;
max-height: 68vh;
overflow-y: auto;
padding-right: 4px;
overflow: hidden;
}
.cell-data-settings-section {
display: grid;
flex: 0 0 auto;
gap: 8px;
min-height: 0;
}
.cell-data-settings-section:last-child {
flex: 1 1 auto;
}
.cell-data-section-title {
@@ -1668,12 +1676,16 @@ select {
}
.cell-data-mapping-form,
.cell-data-source-list,
.cell-data-source-card {
display: grid;
gap: 10px;
}
.cell-data-mapping-form {
min-height: 0;
grid-template-rows: auto minmax(0, 1fr) auto;
}
.cell-data-mapping-key {
display: grid;
grid-template-columns: minmax(140px, 0.8fr) minmax(120px, 0.6fr) minmax(240px, 1.4fr);
@@ -1687,6 +1699,19 @@ select {
border-radius: var(--td-radius-default);
}
.cell-data-source-list {
display: grid;
gap: 10px;
min-height: 0;
overflow-y: auto;
padding-right: 4px;
}
.cell-data-mapping-actions {
display: flex;
justify-content: flex-start;
}
.cell-data-source-header,
.cell-data-source-meta,
.cell-data-field-row {