|
@@ -12,15 +12,14 @@
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
import { memberConfigs } from '@/api/mine'
|
|
import { memberConfigs } from '@/api/mine'
|
|
import { t } from '@/locale'
|
|
import { t } from '@/locale'
|
|
|
|
+import { useUserStore } from '@/store'
|
|
import { formatNumber } from '@/utils'
|
|
import { formatNumber } from '@/utils'
|
|
|
|
|
|
defineOptions({
|
|
defineOptions({
|
|
name: 'VipMembership', // 会员中心
|
|
name: 'VipMembership', // 会员中心
|
|
})
|
|
})
|
|
-
|
|
|
|
-const userInfo = computed(() => {
|
|
|
|
- return getUserInfoHook()
|
|
|
|
-})
|
|
|
|
|
|
+const userStore = useUserStore()
|
|
|
|
+const userInfo = computed(() => getUserInfoHook())
|
|
|
|
|
|
interface TableData {
|
|
interface TableData {
|
|
vipLevel: string
|
|
vipLevel: string
|
|
@@ -37,16 +36,17 @@ interface TableColumn {
|
|
prop: string
|
|
prop: string
|
|
label: string
|
|
label: string
|
|
fixed?: boolean
|
|
fixed?: boolean
|
|
|
|
+ slot?: boolean
|
|
align: AlignType
|
|
align: AlignType
|
|
width: string
|
|
width: string
|
|
}
|
|
}
|
|
|
|
|
|
// 表格列配置
|
|
// 表格列配置
|
|
const tableColumns = ref<TableColumn[]>([
|
|
const tableColumns = ref<TableColumn[]>([
|
|
- { prop: 'level', label: t('vipMembership.table.vipLevel'), fixed: true, align: 'center', width: '125rpx' },
|
|
|
|
- { prop: 'invitedNo', label: t('vipMembership.table.invitedNo'), align: 'center', width: '150rpx' },
|
|
|
|
- { prop: 'directReferralReward', label: t('vipMembership.table.directReferralReward'), align: 'center', width: '240rpx' },
|
|
|
|
- { prop: 'indirectReferralReward', label: t('vipMembership.table.indirectReferralReward'), align: 'center', width: '240rpx' },
|
|
|
|
|
|
+ { prop: 'level', label: t('vipMembership.table.vipLevel'), fixed: true, align: 'center', width: '100rpx' },
|
|
|
|
+ { prop: 'invitedNo', label: t('vipMembership.table.invitedNo'), align: 'center', width: '120rpx' },
|
|
|
|
+ { prop: 'directReferralReward', slot: true, label: t('vipMembership.table.directReferralReward'), align: 'center', width: '210rpx' },
|
|
|
|
+ { prop: 'indirectReferralReward', slot: true, label: t('vipMembership.table.indirectReferralReward'), align: 'center', width: '220rpx' },
|
|
{ prop: 'joinedGroupsNo', label: t('vipMembership.table.joinedGroupsNo'), align: 'center', width: '220rpx' },
|
|
{ prop: 'joinedGroupsNo', label: t('vipMembership.table.joinedGroupsNo'), align: 'center', width: '220rpx' },
|
|
])
|
|
])
|
|
|
|
|
|
@@ -58,6 +58,7 @@ async function getConfigTable() {
|
|
dataList.value = res.data
|
|
dataList.value = res.data
|
|
}
|
|
}
|
|
onLoad(() => {
|
|
onLoad(() => {
|
|
|
|
+ userStore.getUserInfo()
|
|
getConfigTable()
|
|
getConfigTable()
|
|
})
|
|
})
|
|
</script>
|
|
</script>
|
|
@@ -116,15 +117,33 @@ onLoad(() => {
|
|
</view>
|
|
</view>
|
|
<view class="rounded-16rpx bg-white p-24rpx">
|
|
<view class="rounded-16rpx bg-white p-24rpx">
|
|
<wd-table :data="dataList" :border="false" :stripe="false" :fixed-header="false">
|
|
<wd-table :data="dataList" :border="false" :stripe="false" :fixed-header="false">
|
|
- <wd-table-col
|
|
|
|
|
|
+ <template
|
|
v-for="(column, index) in tableColumns"
|
|
v-for="(column, index) in tableColumns"
|
|
:key="index"
|
|
:key="index"
|
|
- :prop="column.prop"
|
|
|
|
- :label="column.label"
|
|
|
|
- :fixed="column.fixed"
|
|
|
|
- :align="column.align"
|
|
|
|
- :width="column.width"
|
|
|
|
- />
|
|
|
|
|
|
+ >
|
|
|
|
+ <wd-table-col
|
|
|
|
+ v-if="!column.slot"
|
|
|
|
+ :prop="column.prop"
|
|
|
|
+ :label="column.label"
|
|
|
|
+ :fixed="column.fixed"
|
|
|
|
+ :align="column.align"
|
|
|
|
+ :width="column.width"
|
|
|
|
+ />
|
|
|
|
+ <wd-table-col
|
|
|
|
+ v-else
|
|
|
|
+ :prop="column.prop"
|
|
|
|
+ :label="column.label"
|
|
|
|
+ :fixed="column.fixed"
|
|
|
|
+ :align="column.align"
|
|
|
|
+ :width="column.width"
|
|
|
|
+ >
|
|
|
|
+ <template #value="{ row }">
|
|
|
|
+ <view class="custom-class">
|
|
|
|
+ <text>{{ column.prop === 'directReferralReward' ? row.directReferralReward : row.indirectReferralReward }}%</text>
|
|
|
|
+ </view>
|
|
|
|
+ </template>
|
|
|
|
+ </wd-table-col>
|
|
|
|
+ </template>
|
|
</wd-table>
|
|
</wd-table>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|