index.vue 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <view class="ss-p-x-20">
  3. <!-- 轮播图 -->
  4. <swiper
  5. circular
  6. :indicator-dots="preferred.carousel.length > 1 ? true : false"
  7. :autoplay="true"
  8. :interval="3000"
  9. :duration="500"
  10. indicator-active-color="#fff"
  11. style="height: 180px;"
  12. >
  13. <swiper-item v-for="(item, index) in preferred.carousel" :key="index">
  14. <image :src="item" style="width: 100%; height: 100%"></image>
  15. </swiper-item>
  16. </swiper>
  17. <!-- 集团简介 -->
  18. <view class="ss-m-t-50">
  19. <!-- 标题 -->
  20. <uni-title class="ss-m-b-30" type="h1" :title="preferred.introduce.title" align="center"></uni-title>
  21. <!-- 简介 -->
  22. <rich-text v-for="(desc, index) in preferred.introduce.describe" :key="index" class="ss-m-b-30 color-666" :nodes="desc" style="display: block;"></rich-text>
  23. <!-- 小图 -->
  24. <!-- 大图 -->
  25. <image class="ss-m-y-30" :src="preferred.introduce?.bigPicture" style="width: 100%; height: 115px;"></image>
  26. </view>
  27. <!-- 品牌介绍 -->
  28. <uni-swiper-dot class="uni-swiper-dot-box" @clickItem="clickItem" :info="preferred.brandIntroduce" :current="current" mode="nav" :dots-styles="dotsStyles" field="content">
  29. <swiper class="swiper-box" @change="change" :current="swiperDotIndex">
  30. <swiper-item v-for="(item, index) in 17" :key="index">
  31. <view class="swiper-item" :class="'swiper-item' + index">
  32. <text style="color: #fff; font-size: 32px;">{{index+1}}</text>
  33. </view>
  34. </swiper-item>
  35. </swiper>
  36. </uni-swiper-dot>
  37. </view>
  38. </template>
  39. <script setup>
  40. import { ref } from 'vue'
  41. import { onShow, onLoad, onShareAppMessage } from '@dcloudio/uni-app'
  42. const title = ref('')
  43. const enterpriseId = ref(null)
  44. const preferred = ref({}) // 当前企业信息
  45. const preferredGroup = ref({}) // 优选集团信息
  46. onLoad((options) => {
  47. enterpriseId.value = options.id
  48. uni.request({
  49. url: 'https://minio.menduner.com/dev/4bf5186e6a19347acfc858eaf835a7dec5200465a911d940b06688543eb95fd3.json',
  50. method: 'GET',
  51. success: (res) => {
  52. preferredGroup.value = res.data
  53. if (!enterpriseId.value || !preferredGroup.value[enterpriseId.value]) return uni.navigateBack({ delta: 1 })
  54. preferred.value = preferredGroup.value[enterpriseId.value]
  55. title.value = preferred.value.title
  56. console.log(preferred.value, 'preferred.value')
  57. },
  58. fail: res => {
  59. log(res, 'fail')
  60. }
  61. })
  62. })
  63. onShareAppMessage(() => {
  64. if(!title.value){
  65. setTimeout(() => {},1000)
  66. }
  67. return {
  68. title: title.value || '门墩儿 专注顶尖招聘',
  69. path: '/pagesB/preferredGroup/index?id=' + enterpriseId.value
  70. }
  71. })
  72. const current = ref(0)
  73. const swiperDotIndex = ref(0)
  74. const dotsStyles = ref({})
  75. const clickItem = (item) => {
  76. console.log(item, 'click')
  77. }
  78. const change = (e) => {
  79. console.log(e, 'change')
  80. current.value = e.detail.current
  81. }
  82. </script>
  83. <style scoped lang="scss">
  84. </style>