Ver Fonte

fix: vip 个人中心修复

liangan há 3 semanas atrás
pai
commit
0d54812359
2 ficheiros alterados com 35 adições e 16 exclusões
  1. 1 1
      src/pages/income/income.vue
  2. 34 15
      src/pages/vipMembership/vipMembership.vue

+ 1 - 1
src/pages/income/income.vue

@@ -205,7 +205,7 @@ onShow(() => {
             </view>
             <view class="flex items-center justify-between text-22rpx">
               <text class="text-#5B5B5B">
-                {{ item.updateTime }}
+                {{ item.transTime }}
               </text>
               <wd-text :type="item.status === 2 ? 'success' : 'primary'" :text="statusEnum.find(i => i.code === item.status)?.name" />
             </view>

+ 34 - 15
src/pages/vipMembership/vipMembership.vue

@@ -12,15 +12,14 @@
 <script lang="ts" setup>
 import { memberConfigs } from '@/api/mine'
 import { t } from '@/locale'
+import { useUserStore } from '@/store'
 import { formatNumber } from '@/utils'
 
 defineOptions({
   name: 'VipMembership', // 会员中心
 })
-
-const userInfo = computed(() => {
-  return getUserInfoHook()
-})
+const userStore = useUserStore()
+const userInfo = computed(() => getUserInfoHook())
 
 interface TableData {
   vipLevel: string
@@ -37,16 +36,17 @@ interface TableColumn {
   prop: string
   label: string
   fixed?: boolean
+  slot?: boolean
   align: AlignType
   width: string
 }
 
 // 表格列配置
 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' },
 ])
 
@@ -58,6 +58,7 @@ async function getConfigTable() {
   dataList.value = res.data
 }
 onLoad(() => {
+  userStore.getUserInfo()
   getConfigTable()
 })
 </script>
@@ -116,15 +117,33 @@ onLoad(() => {
       </view>
       <view class="rounded-16rpx bg-white p-24rpx">
         <wd-table :data="dataList" :border="false" :stripe="false" :fixed-header="false">
-          <wd-table-col
+          <template
             v-for="(column, index) in tableColumns"
             :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>
       </view>
     </view>