index.vue 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. <template>
  2. <div class="white-bgc pa-3">
  3. <v-tabs v-model="tab" align-tabs="start" color="primary" bg-color="#f7f8fa" @update:model-value="handleChangeTab">
  4. <v-tab v-for="k in items" :key="k.value" :value="k.value">{{ k.label }}</v-tab>
  5. </v-tabs>
  6. <component :is="items[tab].path" />
  7. </div>
  8. </template>
  9. <script setup>
  10. defineOptions({name: 'tradingOrder'})
  11. import { ref, shallowRef } from 'vue'
  12. import RechargeVipOrder from './dynamic/rechargeVip.vue'
  13. import MallOrder from './dynamic/mallOrder.vue'
  14. import PointExchangeRecord from './dynamic/pointExchangeRecord.vue'
  15. import { useRoute } from 'vue-router'
  16. const tab = ref(0)
  17. const items = shallowRef([
  18. { label: '余额充值、购买会员订单', value: 0, path: RechargeVipOrder },
  19. { label: '商城交易订单', value: 1, path: MallOrder },
  20. { label: '积分兑换记录', value: 2, path: PointExchangeRecord }
  21. ])
  22. const route = useRoute()
  23. const { key } = route.query
  24. if (key) tab.value = Number(key)
  25. // 切换
  26. const handleChangeTab = () => {
  27. }
  28. </script>
  29. <style lang="scss" scoped>
  30. </style>