index.vue 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <div class="w-[180px] flex-shrink-0">
  3. <div class="bg-[#fff] pt-[30px] pr-[30px] pb-[21px] pl-[45px]">
  4. <el-collapse v-model="activeNames">
  5. <el-collapse-item name="1" class="!mb-[24px]">
  6. <template #title>
  7. <div class="flex items-center">
  8. <span class="text-[16px]">账户设置</span>
  9. </div>
  10. </template>
  11. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] mb-[24px]" :class="{'!text-primary': appStore.route == '/member/center'}" @click="router.push('/member/center')">个人资料</div>
  12. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/member/address_list'}" @click="router.push('/member/address_list')">地址管理</div>
  13. </el-collapse-item>
  14. <el-collapse-item name="2" class="!mb-[24px]">
  15. <template #title>
  16. <div class="flex items-center">
  17. <span class="text-[16px]">我的账户</span>
  18. </div>
  19. </template>
  20. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] mb-[24px]" :class="{'!text-primary': appStore.route == '/member/point'}" @click="router.push('/member/point')">我的积分</div>
  21. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] mb-[24px]" :class="{'!text-primary': appStore.route == '/member/balance'}" @click="router.push('/member/balance')">我的余额</div>
  22. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/member/my_coupon'}" @click="router.push('/member/my_coupon')">我的优惠劵</div>
  23. </el-collapse-item>
  24. <el-collapse-item name="3" class="!mb-[24px]">
  25. <template #title>
  26. <div class="flex items-center">
  27. <span class="text-[16px]">收藏夹</span>
  28. </div>
  29. </template>
  30. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/member/collect'}" @click="router.push('/member/collect')">我的收藏</div>
  31. </el-collapse-item>
  32. <el-collapse-item name="4" class="!mb-[24px]">
  33. <template #title>
  34. <div class="flex items-center">
  35. <span class="text-[16px]">历史记录</span>
  36. </div>
  37. </template>
  38. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/member/browse'}" @click="router.push('/member/browse')">我的足迹</div>
  39. </el-collapse-item>
  40. <el-collapse-item name="5" class="!mb-[24px]">
  41. <template #title>
  42. <div class="flex items-center">
  43. <span class="text-[16px] oppoSans-M">订单中心</span>
  44. </div>
  45. </template>
  46. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] mb-[24px]" :class="{'!text-primary': appStore.route == '/order/list'}" @click="router.push('/order/list')">我的订单</div>
  47. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] " :class="{'!text-primary': appStore.route == '/member/invoice'}" @click="router.push('/member/invoice')">我的发票</div>
  48. </el-collapse-item>
  49. <el-collapse-item name="6" class="!mb-[24px]">
  50. <template #title>
  51. <div class="flex items-center">
  52. <span class="text-[16px]">售后服务</span>
  53. </div>
  54. </template>
  55. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/refund/list'}" @click="router.push('/refund/list')">售后/退款</div>
  56. </el-collapse-item>
  57. </el-collapse>
  58. </div>
  59. </div>
  60. </template>
  61. <script lang="ts" setup>
  62. import { ref,reactive,computed } from 'vue'
  63. import useAppStore from '@/stores/app'
  64. import useMemberStore from '@/stores/member'
  65. import { useRouter } from 'vue-router'
  66. const appStore = useAppStore()
  67. const memberStore = useMemberStore()
  68. const loading = ref(true)
  69. const info = computed(() =>{
  70. if(memberStore.info) loading.value = false;
  71. return memberStore.info;
  72. })
  73. const router = useRouter()
  74. const activeNames = ref(['1','2','3','4','5','6'])
  75. </script>
  76. <style lang="scss" scoped>
  77. :deep(.el-collapse){
  78. border:none !important;
  79. }
  80. :deep(.el-collapse-item__wrap){
  81. border:none !important;
  82. }
  83. :deep(.el-collapse-item__header){
  84. --el-collapse-header-height: auto !important;
  85. --el-collapse-header-font-size: 16px;
  86. border:none !important;
  87. margin-bottom: 24px;
  88. }
  89. :deep(.el-collapse-item__content){
  90. padding-bottom:0 !important;
  91. }
  92. </style>