feat: 添加收益模块,包含总收益概览、收益趋势和收益来源,更新相关组件和路由
This commit is contained in:
@@ -2,6 +2,13 @@
|
||||
import { calendarOutline, listOutline, timeOutline, walletOutline } from "ionicons/icons";
|
||||
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
const { vibrate } = useHaptics();
|
||||
|
||||
function navigateToTotal() {
|
||||
vibrate();
|
||||
router.push("/income/total");
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -10,26 +17,29 @@ const { t } = useI18n();
|
||||
{{ t("asset.revenue.myRevenue") }}
|
||||
</ion-label>
|
||||
<div class="grid grid-cols-4 mt-5">
|
||||
<div class="col-span-1 flex-col-center gap-2">
|
||||
<ion-icon :icon="walletOutline" />
|
||||
<div
|
||||
class="col-span-1 flex flex-col items-center gap-2 cursor-pointer transition-opacity active:opacity-70"
|
||||
@click="navigateToTotal"
|
||||
>
|
||||
<ion-icon :icon="walletOutline" class="text-2xl text-primary" />
|
||||
<div class="text-xs">
|
||||
{{ t("asset.revenue.totalRevenue") }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-1 flex-col-center gap-2">
|
||||
<ion-icon :icon="calendarOutline" />
|
||||
<div class="col-span-1 flex flex-col items-center gap-2 cursor-pointer transition-opacity active:opacity-70">
|
||||
<ion-icon :icon="calendarOutline" class="text-2xl text-primary" />
|
||||
<div class="text-xs">
|
||||
{{ t("asset.revenue.monthlyRevenue") }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-1 flex-col-center gap-2">
|
||||
<ion-icon :icon="timeOutline" />
|
||||
<div class="col-span-1 flex flex-col items-center gap-2 cursor-pointer transition-opacity active:opacity-70">
|
||||
<ion-icon :icon="timeOutline" class="text-2xl text-primary" />
|
||||
<div class="text-xs">
|
||||
{{ t("asset.revenue.pendingRevenue") }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-1 flex-col-center gap-2">
|
||||
<ion-icon :icon="listOutline" />
|
||||
<div class="col-span-1 flex flex-col items-center gap-2 cursor-pointer transition-opacity active:opacity-70">
|
||||
<ion-icon :icon="listOutline" class="text-2xl text-primary" />
|
||||
<div class="text-xs">
|
||||
{{ t("asset.revenue.revenueDetails") }}
|
||||
</div>
|
||||
@@ -37,10 +47,3 @@ const { t } = useI18n();
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang='css' scoped>
|
||||
ion-icon {
|
||||
font-size: 1.5rem;
|
||||
color: var(--ion-color-primary);
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -39,7 +39,7 @@ async function handleScan() {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<IonPage>
|
||||
<ion-page>
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="ui-toolbar">
|
||||
<div slot="end">
|
||||
@@ -55,7 +55,7 @@ async function handleScan() {
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
<IonContent :fullscreen="true" class="ion-padding">
|
||||
<ion-content :fullscreen="true" class="ion-padding">
|
||||
<ion-refresher slot="fixed" @ion-refresh="handleRefresh($event)">
|
||||
<ion-refresher-content />
|
||||
</ion-refresher>
|
||||
@@ -68,8 +68,8 @@ async function handleScan() {
|
||||
<MyRevenue />
|
||||
<TradeSettings />
|
||||
</div>
|
||||
</IonContent>
|
||||
</IonPage>
|
||||
</ion-content>
|
||||
</ion-page>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
Reference in New Issue
Block a user