index.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <template>
  2. <div class="w-[180px] flex-shrink-0">
  3. <div class="bg-[#fff] pt-[30px] pr-[30px] pb-[21px] pl-[45px] rounded-[var(--rounded-big)]">
  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] mb-[24px]" :class="{'!text-primary': appStore.route == '/member/collect/goods'}" @click="router.push('/member/collect/goods')">收藏的宝贝</div>
  31. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/member/collect/shop'}" @click="router.push('/member/collect/shop')">收藏的店铺</div>
  32. </el-collapse-item>
  33. <el-collapse-item name="4" class="!mb-[24px]">
  34. <template #title>
  35. <div class="flex items-center">
  36. <span class="text-[16px]">历史记录</span>
  37. </div>
  38. </template>
  39. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/member/browse'}" @click="router.push('/member/browse')">我的足迹</div>
  40. </el-collapse-item>
  41. <el-collapse-item name="5" class="!mb-[24px]">
  42. <template #title>
  43. <div class="flex items-center">
  44. <span class="text-[16px] oppoSans-M">订单中心</span>
  45. </div>
  46. </template>
  47. <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>
  48. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] " :class="{'!text-primary': appStore.route == '/member/invoice'}" @click="router.push('/member/invoice')">我的发票</div>
  49. </el-collapse-item>
  50. <el-collapse-item name="6" class="!mb-[24px]">
  51. <template #title>
  52. <div class="flex items-center">
  53. <span class="text-[16px]">售后服务</span>
  54. </div>
  55. </template>
  56. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666]" :class="{'!text-primary': appStore.route == '/refund/list'}" @click="router.push('/refund/list')">售后/退款</div>
  57. </el-collapse-item>
  58. <el-collapse-item name="7" class="!mb-[24px]">
  59. <template #title>
  60. <div class="flex items-center">
  61. <span class="text-[16px] oppoSans-M">平台协议</span>
  62. </div>
  63. </template>
  64. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] mb-[24px]" :class="{'!text-primary': appStore.route == '/auth/agreement' && route.query.key == 'service'}" @click="router.push({path:'/auth/agreement',query:{key:'service'}})">用户协议</div>
  65. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] mb-[24px]" :class="{'!text-primary': appStore.route == '/auth/agreement' && route.query.key == 'privacy'}" @click="router.push({path:'/auth/agreement',query:{key:'privacy'}})">隐私协议</div>
  66. <div class="text-[14px] leading-[24px] cursor-pointer text-[#666] " :class="{'!text-primary': appStore.route == '/auth/agreement' && route.query.key == 'shop_apply'}" @click="router.push({path:'/auth/agreement',query:{key:'shop_apply'}})">入驻协议</div>
  67. </el-collapse-item>
  68. </el-collapse>
  69. </div>
  70. </div>
  71. </template>
  72. <script lang="ts" setup>
  73. import { ref } from 'vue'
  74. import useAppStore from '@/stores/app'
  75. import { useRouter, useRoute} from 'vue-router'
  76. const appStore = useAppStore()
  77. const router = useRouter()
  78. const route = useRoute()
  79. const activeNames = ref(['1','2','3','4','5','6','7'])
  80. </script>
  81. <style lang="scss" scoped>
  82. :deep(.el-collapse){
  83. border:none !important;
  84. }
  85. :deep(.el-collapse-item__wrap){
  86. border:none !important;
  87. }
  88. :deep(.el-collapse-item__header){
  89. --el-collapse-header-height: auto !important;
  90. --el-collapse-header-font-size: 16px;
  91. border:none !important;
  92. margin-bottom: 24px;
  93. }
  94. :deep(.el-collapse-item__content){
  95. padding-bottom:0 !important;
  96. }
  97. </style>