feat: 清理示例数据并统一空态体验

This commit is contained in:
Cheng Zhou
2026-03-31 11:20:57 +08:00
parent fc74d1e9a9
commit 4bebc64662
38 changed files with 786 additions and 729 deletions
+17 -17
View File
@@ -10,11 +10,9 @@
</div>
<div class="module-content unified-section section--flush">
<div class="module-list">
<div class="module-list-header">
<span class="list-title">{{ listTitle }}</span>
<span class="list-note">{{ TEXT.common.empty.listPlaceholder }}</span>
<div class="module-placeholder-surface">
<div class="module-placeholder-main">{{ emptyDescription || emptyTitle }}</div>
</div>
<StateEmpty :title="emptyTitle" :description="emptyDescription" />
</div>
</div>
</div>
@@ -22,7 +20,6 @@
</template>
<script setup lang="ts">
import StateEmpty from "./StateEmpty.vue";
import { TEXT } from "../locales";
withDefaults(
@@ -69,21 +66,24 @@ withDefaults(
padding: 0;
}
.module-list-header {
.module-placeholder-surface {
min-height: 168px;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 12px;
justify-content: center;
border-radius: 18px;
padding: 24px;
background:
linear-gradient(180deg, rgba(246, 249, 253, 0.96), rgba(251, 253, 255, 0.98));
}
.list-title {
font-size: 14px;
font-weight: 600;
color: var(--ctms-text-main);
}
.list-note {
font-size: 12px;
color: var(--ctms-text-disabled);
.module-placeholder-main {
max-width: 560px;
text-align: center;
font-size: 18px;
font-weight: 700;
line-height: 1.6;
letter-spacing: 0.01em;
color: #243a5a;
}
</style>
+23 -5
View File
@@ -1,8 +1,8 @@
<template>
<section class="ctms-state state state-empty">
<el-icon class="ctms-state-icon state-icon"><Document /></el-icon>
<h3 class="ctms-state-title state-title">{{ title }}</h3>
<p v-if="description" class="ctms-state-desc state-desc">{{ description }}</p>
<el-icon v-if="false" class="ctms-state-icon state-icon"><Document /></el-icon>
<h3 v-if="!description" class="ctms-state-title state-title">{{ title }}</h3>
<p class="ctms-state-desc state-desc">{{ description || title }}</p>
<div v-if="$slots.action" class="ctms-state-action state-action">
<slot name="action" />
</div>
@@ -26,15 +26,33 @@ withDefaults(
</script>
<style scoped>
.state-empty {
padding: 28px 12px;
gap: 8px;
}
.state-icon {
color: var(--ctms-text-disabled);
font-size: 18px;
opacity: 0.35;
}
.state-title {
color: var(--ctms-text-regular);
color: var(--ctms-text-secondary);
font-size: 14px;
font-weight: 600;
line-height: 1.4;
margin: 0;
}
.state-desc {
color: var(--ctms-text-secondary);
color: #8a97ab;
font-size: 14px;
line-height: 1.6;
margin: 0;
}
.state-action {
margin-top: 4px;
}
</style>