diff --git a/src/api/types.ts b/src/api/types.ts index 6fe9486..42f0b0f 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -90,6 +90,10 @@ export type NewData = Treaty.Data["data"][number]; export type EaringsSummaryData = Treaty.Data; +export type EaringsDetailData = Treaty.Data["data"][number]; + +export type EaringsDetailBody = TreatyBody; + /** * 应用版本信息 */ diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 11440b0..14b9573 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -247,7 +247,18 @@ "totalRevenue": "Total Revenue", "monthlyRevenue": "Monthly Revenue", "pendingRevenue": "Pending Revenue", - "revenueDetails": "Revenue Details" + "revenueDetails": "Revenue Details", + "types": { + "all": "All", + "dividend": "Dividend", + "staking": "Staking", + "new_user_reward": "New User Reward", + "referral_reward": "Referral Reward", + "trading_fee_rebate": "Trading Fee Rebate", + "deposit_rebate": "Deposit Rebate", + "deposit_reward": "Deposit Reward", + "other": "Other" + } } }, "income": { diff --git a/src/locales/zh-CN.json b/src/locales/zh-CN.json index 4677592..f835dc5 100644 --- a/src/locales/zh-CN.json +++ b/src/locales/zh-CN.json @@ -253,7 +253,18 @@ "totalRevenue": "总收益", "monthlyRevenue": "月度收益", "pendingRevenue": "待确认收益", - "revenueDetails": "收益明细" + "revenueDetails": "收益明细", + "types": { + "all": "全部", + "dividend": "分红收益", + "staking": "质押收益", + "new_user_reward": "新用户奖励", + "referral_reward": "推荐奖励", + "trading_fee_rebate": "交易返佣", + "deposit_rebate": "存款返佣", + "deposit_reward": "存款奖励", + "other": "其他" + } } }, "income": { diff --git a/src/ui/tabs/index.vue b/src/ui/tabs/index.vue index 839bd90..686333b 100644 --- a/src/ui/tabs/index.vue +++ b/src/ui/tabs/index.vue @@ -337,7 +337,17 @@ const stickyStyle = computed(() => { /* 导航包装器 */ .ui-tabs__nav-wrapper { - @apply relative w-fit mb-4; + @apply relative w-full mb-4 overflow-x-auto; +} + +/* 隐藏滚动条但保持滚动功能 */ +.ui-tabs__nav-wrapper::-webkit-scrollbar { + display: none; +} + +.ui-tabs__nav-wrapper { + -ms-overflow-style: none; + scrollbar-width: none; } /* Sticky 布局 */ @@ -365,7 +375,9 @@ const stickyStyle = computed(() => { /* 导航容器 */ .ui-tabs__nav { - @apply relative flex; + @apply relative inline-flex; + min-width: min-content; + white-space: nowrap; } .ui-tabs__nav--bar, @@ -395,6 +407,7 @@ const stickyStyle = computed(() => { .ui-tab { @apply relative flex items-center justify-between cursor-pointer transition-all duration-200; color: var(--ion-color-medium, #6b7280); + flex-shrink: 0; } .ui-tab:hover:not(.ui-tab--disabled):not(.ui-tab--active) { diff --git a/src/views/market/components/rwa-orders.vue b/src/views/market/components/rwa-orders.vue index 0c3282f..61509df 100644 --- a/src/views/market/components/rwa-orders.vue +++ b/src/views/market/components/rwa-orders.vue @@ -5,6 +5,7 @@ import CryptocurrencyColorNuls from "~icons/cryptocurrency-color/nuls"; import { client, safeClient } from "@/api"; const { t } = useI18n(); +const { vibrate } = useHaptics(); const holdingsData = ref([]); const isLoading = ref(false); @@ -18,9 +19,11 @@ async function fetchHoldings() { isLoading.value = false; } -async function handleRefresh(event: RefresherCustomEvent) { - await fetchHoldings(); - event.target.complete(); +function handleRefresh(event: RefresherCustomEvent) { + vibrate(); + fetchHoldings().finally(() => { + event.target.complete(); + }); } function getStatusColor(status: string) { diff --git a/src/views/revenue/records/enum.ts b/src/views/revenue/records/enum.ts new file mode 100644 index 0000000..b42961c --- /dev/null +++ b/src/views/revenue/records/enum.ts @@ -0,0 +1,10 @@ +export enum RevenueRecordTypeEnum { + dividend = "dividend", + staking = "staking", + new_user_reward = "new_user_reward", + referral_reward = "referral_reward", + trading_fee_rebate = "trading_fee_rebate", + deposit_rebate = "deposit_rebate", + deposit_reward = "deposit_reward", + other = "other", +} diff --git a/src/views/revenue/records/index.vue b/src/views/revenue/records/index.vue index 05b16fe..ddd1783 100644 --- a/src/views/revenue/records/index.vue +++ b/src/views/revenue/records/index.vue @@ -1,172 +1,78 @@ @@ -180,65 +86,76 @@ onMounted(() => { - - -
- - - + + + - - -
-
-
-
- - {{ item.typeName }} - - - 已完成 - -
-
- {{ item.assetName }} -
-
- {{ item.assetCode }} -
-
- - {{ item.date }} -
+ + + + +
+
+
+
+ + {{ item.type }} + + + 已完成 +
-
-
- +{{ formatAmountWithSplit(item.amount) }} -
+
+ {{ item.relatedAssetName }} +
+
+ {{ item.relatedAssetCode }} +
+
+ + {{ useDateFormat(item.createdAt, 'YYYY/MM/DD HH:mm') }} +
+
+
+
+ +{{ formatAmountWithSplit(item.amount) }}
- - -
+
+
+
+ + + + - +