You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.9 KiB

  1. <template>
  2. <div>
  3. <!-- 这里放置标签切换的按钮 -->
  4. <el-button-group>
  5. <!-- 切换后状态显示 primary 样式否则是默认样式 -->
  6. <el-button
  7. :type="activeTab === 'rechargeAudit' ? 'primary' : 'default'"
  8. @click="goRechargeAudit"
  9. >
  10. 充值审核
  11. </el-button>
  12. <el-button
  13. :type="activeTab === 'refundAudit' ? 'primary' : 'default'"
  14. @click="goRefundAudit"
  15. >
  16. 退款审核
  17. </el-button>
  18. </el-button-group>
  19. <!-- 渲染子路由组件 -->
  20. <router-view></router-view>
  21. </div>
  22. </template>
  23. <script setup >
  24. import {onMounted, ref, watch} from 'vue';
  25. import { useRouter, useRoute } from 'vue-router';
  26. const router = useRouter();// 获取路由实例
  27. const route = useRoute();// 获取当前路由信息
  28. // 定义响应式变量 activeTab 来跟踪当前激活的标签
  29. const activeTab = ref(route.name === 'rechargeAudit' ? 'rechargeAudit' : 'refundAudit');
  30. //也就是说如果当前在clientCountBalance页面,那么就是balance,否则默认情况都展示detail页面
  31. //此时获取到的路由信息是clientCountDetail,所以默认是detail
  32. const goRechargeAudit = () => {
  33. // 点击按钮时更新 activeTab 为 detail
  34. activeTab.value = 'rechargeAudit';
  35. router.push({ name: 'rechargeAudit' });
  36. };
  37. const goRefundAudit = () => {
  38. // 点击按钮时更新 activeTab 为balance
  39. activeTab.value = 'refundAudit';
  40. router.push({ name: 'refundAudit' });
  41. };
  42. // 监听路由变化,更新 activeTab
  43. watch(() => route.name, (newName) => {
  44. if (newName === 'rechargeAudit') {
  45. activeTab.value = 'rechargeAudit';
  46. } else if (newName === 'refundAudit') {
  47. activeTab.value = 'refundAudit';
  48. }});
  49. // 当进入父路由时,默认跳转到金币明细页面
  50. // if (route.name === 'usergold') {
  51. // router.push({ name: 'clientCountDetail' });
  52. // }
  53. onMounted(async function () {
  54. console.log("@@@@@@@@@@@@",route.name)
  55. });
  56. </script>