feat: update UI components and add benchmark analysis feature
- Disable close button in Toaster notifications - Add padding to TopNav header and UserDropdown username span - Import vue-sonner CSS for toast notifications - Update Agents page header with gradient background - Add benchmark_analyze business type to Profile view - Replace storage space stat card with redeem code functionality - Reorder profile statistics cards and update their content
This commit is contained in:
@@ -427,7 +427,7 @@ onMounted(() => {
|
||||
.agents-header {
|
||||
position: relative;
|
||||
padding: 48px 0 32px;
|
||||
background: var(--color-bg-page);
|
||||
background: linear-gradient(90deg, rgba(56, 189, 248, 0.12) 0%, rgba(99, 102, 241, 0.14) 100%);
|
||||
border-bottom: 1px solid var(--color-gray-200);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,8 @@ function getBizTypeName(bizType) {
|
||||
'digital_human': '数字人',
|
||||
'voice_tts': '语音克隆',
|
||||
'tikhub_fetch': '数据采集',
|
||||
'forecast_rewrite': '文案改写'
|
||||
'forecast_rewrite': '文案改写',
|
||||
'benchmark_analyze': '对标分析'
|
||||
}
|
||||
return typeMap[bizType] || bizType || '其他'
|
||||
}
|
||||
@@ -228,15 +229,23 @@ onMounted(async () => {
|
||||
<div class="lg:col-span-8">
|
||||
<!-- 资源概览卡片 -->
|
||||
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||
<!-- 存储空间 -->
|
||||
<!-- 兑换码充值 -->
|
||||
<div class="stat-card">
|
||||
<div class="stat-icon-wrapper blue">
|
||||
<Icon icon="lucide:database" class="text-2xl" />
|
||||
<div class="stat-icon-wrapper green">
|
||||
<Icon icon="lucide:gift" class="text-2xl" />
|
||||
</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">存储空间</div>
|
||||
<div class="stat-value">{{ formatStorage(usedStorage) }} <span class="stat-unit">/ {{ formatStorage(totalStorage) }}</span></div>
|
||||
<Progress :value="storagePercent" class="stat-progress h-2" />
|
||||
<div class="stat-label">兑换码充值</div>
|
||||
<div class="stat-value" style="font-size: 16px;">
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
@click="showRedeemDialog = true"
|
||||
>
|
||||
输入兑换码
|
||||
</Button>
|
||||
</div>
|
||||
<div class="stat-desc">使用兑换码获取积分</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -264,23 +273,15 @@ onMounted(async () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 兑换码充值 -->
|
||||
<!-- 存储空间 -->
|
||||
<div class="stat-card">
|
||||
<div class="stat-icon-wrapper green">
|
||||
<Icon icon="lucide:gift" class="text-2xl" />
|
||||
<div class="stat-icon-wrapper blue">
|
||||
<Icon icon="lucide:database" class="text-2xl" />
|
||||
</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">兑换码充值</div>
|
||||
<div class="stat-value" style="font-size: 16px;">
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
@click="showRedeemDialog = true"
|
||||
>
|
||||
输入兑换码
|
||||
</Button>
|
||||
</div>
|
||||
<div class="stat-desc">使用兑换码获取积分</div>
|
||||
<div class="stat-label">存储空间</div>
|
||||
<div class="stat-value">{{ formatStorage(usedStorage) }} <span class="stat-unit">/ {{ formatStorage(totalStorage) }}</span></div>
|
||||
<Progress :value="storagePercent" class="stat-progress h-2" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user