feat: 产品样式调整
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { Clock, Coin, TrophyBase, WarningFilled } from '@element-plus/icons-vue';
|
import { Clock, Coin, TrophyBase, WarningFilled } from '@element-plus/icons-vue';
|
||||||
import { getPremiumTokenPackage } from '@/api/user';
|
import { getPremiumTokenPackage } from '@/api/user';
|
||||||
|
import { showProductPackage } from '@/utils/product-package.ts';
|
||||||
|
|
||||||
// 尊享服务数据
|
// 尊享服务数据
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
@@ -70,7 +71,6 @@ async function fetchPremiumTokenPackage() {
|
|||||||
loading.value = true;
|
loading.value = true;
|
||||||
try {
|
try {
|
||||||
const res = await getPremiumTokenPackage();
|
const res = await getPremiumTokenPackage();
|
||||||
console.log('尊享服务Token包数据:', res);
|
|
||||||
if (res.data) {
|
if (res.data) {
|
||||||
// 适配新的接口字段名
|
// 适配新的接口字段名
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
@@ -109,6 +109,10 @@ function refreshData() {
|
|||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
fetchPremiumTokenPackage();
|
fetchPremiumTokenPackage();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function onProductPackage() {
|
||||||
|
showProductPackage();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -205,7 +209,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
<div class="progress-legend">
|
<div class="progress-legend">
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
<span class="legend-dot used-dot" />
|
<span class="legend-dot " :style="{ background: progressColor }" />
|
||||||
<span class="legend-text">已使用: {{ usagePercent }}%</span>
|
<span class="legend-text">已使用: {{ usagePercent }}%</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
@@ -215,6 +219,25 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 购买提示卡片(额度不足时显示) -->
|
||||||
|
<el-card
|
||||||
|
v-if="remainingPercent < 20"
|
||||||
|
class="warning-card"
|
||||||
|
shadow="hover"
|
||||||
|
>
|
||||||
|
<div class="warning-content">
|
||||||
|
<el-icon class="warning-icon" color="#e6a23c">
|
||||||
|
<WarningFilled />
|
||||||
|
</el-icon>
|
||||||
|
<div class="warning-text">
|
||||||
|
<h3>额度即将用完</h3>
|
||||||
|
<p>您的Token额度已使用{{ usagePercent }}%,剩余额度较少,建议及时充值。</p>
|
||||||
|
</div>
|
||||||
|
<el-button type="warning" @click="onProductPackage()">
|
||||||
|
立即充值
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
<!-- 过期时间 -->
|
<!-- 过期时间 -->
|
||||||
<div v-if="packageData.expireDate" class="expire-info">
|
<div v-if="packageData.expireDate" class="expire-info">
|
||||||
<el-icon><Clock /></el-icon>
|
<el-icon><Clock /></el-icon>
|
||||||
@@ -241,26 +264,6 @@ onMounted(() => {
|
|||||||
</el-alert>
|
</el-alert>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<!-- 购买提示卡片(额度不足时显示) -->
|
|
||||||
<el-card
|
|
||||||
v-if="remainingPercent < 20"
|
|
||||||
class="warning-card"
|
|
||||||
shadow="hover"
|
|
||||||
>
|
|
||||||
<div class="warning-content">
|
|
||||||
<el-icon class="warning-icon" color="#e6a23c">
|
|
||||||
<WarningFilled />
|
|
||||||
</el-icon>
|
|
||||||
<div class="warning-text">
|
|
||||||
<h3>额度即将用完</h3>
|
|
||||||
<p>您的Token额度已使用{{ usagePercent }}%,剩余额度较少,建议及时充值。</p>
|
|
||||||
</div>
|
|
||||||
<el-button type="warning" @click="$router.push('/products')">
|
|
||||||
立即充值
|
|
||||||
</el-button>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -374,7 +374,7 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.recharge-log-container {
|
.recharge-log-container {
|
||||||
padding: 30px;
|
padding: 10px;
|
||||||
background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
|
background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
|
||||||
|
|||||||
Reference in New Issue
Block a user