package.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <div class="d-flex mt-5 list">
  3. <div v-for="(val, i) in packData['企业套餐'].items" :key="i" class="list-item cursor-pointer" :class="{'active': active === i }" @click="handleClickItem(val, i)">
  4. <div v-if="val.recommend" class="recommend">推荐</div>
  5. <div class="text-center font-weight-bold">{{ val.title }}</div>
  6. <div class="text-center my-5">
  7. <div v-if="val.price && !val.cycle">¥ <span class="font-weight-bold font-size-20">{{ val.price }}</span> /年</div>
  8. <div v-if="val.cycle">¥<span class="font-weight-bold font-size-18 mr-3 font-size-20">{{ val.price }}</span> {{ val.cycle }}</div>
  9. <div v-if="val.customized" class="font-size-20 font-weight-bold">按需定制</div>
  10. </div>
  11. <v-divider></v-divider>
  12. <div v-if="val.equity">
  13. <div class="font-weight-bold my-3">权益</div>
  14. <ul>
  15. <li v-for="k in val.equity" :key="k">{{ k }}</li>
  16. </ul>
  17. </div>
  18. <div v-else>
  19. <h3 class="my-3">授权范围:</h3>
  20. <div class="font-size-15">扫描下方二维码联系高级客户经理为您定制</div>
  21. </div>
  22. <div class="text-center item-btn">
  23. <v-btn v-if="!val.customized" color="error" variant="outlined" rounded @click="handleOpenMembership(val)">立即加入</v-btn>
  24. </div>
  25. </div>
  26. </div>
  27. <div class="my-10 tips">若注册资本超500万或特殊、行政事业单位,请联系<span class="font-weight-bold">高级客户经理</span>定制套餐</div>
  28. <div class="scan color-666 d-flex flex-column align-center">
  29. <div class="font-weight-bold">微信扫一扫</div>
  30. <div class="font-size-15 my-3">高级客户经理为您报价(扫码后可电话联系)</div>
  31. <v-img cover aspect-ratio="1/1" src="https://minio.citupro.com/dev/static/mendunerCode.jpg" width="170" height="170"></v-img>
  32. </div>
  33. <CtDialog :visible="open" :widthType="1" :footer="false" titleClass="text-h6" title="套餐购买" @close="open = false">
  34. <OpenPage v-if="open" :type="type"></OpenPage>
  35. </CtDialog>
  36. </template>
  37. <script setup>
  38. defineOptions({ name: 'myAccount-package'})
  39. import { ref } from 'vue'
  40. import OpenPage from './open.vue'
  41. import { packData } from '@/utils/package.js'
  42. const active = ref(2)
  43. const handleClickItem = (val, i) => {
  44. active.value = i
  45. }
  46. // 开通会员
  47. const type = ref()
  48. const open = ref(false)
  49. const handleOpenMembership = (val) => {
  50. if (!val?.type) return
  51. type.value = val.type
  52. open.value = true
  53. }
  54. </script>
  55. <style scoped lang="scss">
  56. @import '@/styles/package/index.scss'
  57. </style>