景徳镇旅游微信小程序
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.

104 lines
2.2 KiB

8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
  1. <template>
  2. <!-- 非遗体验 -->
  3. <view class="experience">
  4. <navbar title="非遗体验" leftClick @leftClick="$utils.navigateBack" />
  5. <view class="experience-img">
  6. <uv-swiper
  7. :list="banner.experience"
  8. indicator
  9. height="420rpx"
  10. keyName="imageContent"></uv-swiper>
  11. </view>
  12. <view class="experience-box" v-for="(item,index) in list"
  13. @click="toUrl(item)"
  14. :key="index">
  15. <view class="experience-box-img">
  16. <uv-image :src="item.experienceImage" radius="16rpx" width="100%" height="360rpx"
  17. :fade="false" />
  18. </view>
  19. <view class="experience-box-font">
  20. <view style="font-weight: 600;">{{ item.experienceTitle }}</view>
  21. <view style="font-size: 24rpx; color: #999999;">{{ item.experienceOpentime }}</view>
  22. <view class="experience-box-button"
  23. @click="toPayUrl(item)">
  24. <view>线上预订</view>
  25. </view>
  26. </view>
  27. </view>
  28. <tabber/>
  29. </view>
  30. </template>
  31. <script>
  32. import { mapState } from 'vuex'
  33. import mixinsList from '@/mixins/list.js'
  34. export default {
  35. mixins : [mixinsList],
  36. data() {
  37. return {
  38. mixinsListApi : 'queryExperienceList',
  39. list : [],
  40. }
  41. },
  42. computed : {
  43. ...mapState(['banner']),
  44. },
  45. onLoad() {
  46. },
  47. methods: {
  48. toUrl(item){
  49. this.$utils.navigateTo(`/pages_order/service/articleDetail?id=${item.id}&type=experience`)
  50. },
  51. toPayUrl(item, payType){
  52. uni.navigateTo({
  53. url: `/pages_order/order/orderSubscribe?type=experience&id=${item.id}`
  54. })
  55. },
  56. }
  57. }
  58. </script>
  59. <style scoped lang="scss">
  60. .experience {
  61. .experience-img {
  62. }
  63. .experience-box {
  64. width: 94%;
  65. margin-left: 3%;
  66. margin-top: 20rpx;
  67. background-color: #fff;
  68. box-shadow: 0px 0px 10rpx 0rpx #00000022;
  69. border-radius: 12rpx;
  70. .experience-box-img {
  71. width: 94%;
  72. margin-left: 3%;
  73. padding-top: 20rpx;
  74. }
  75. .experience-box-font {
  76. width: 94%;
  77. margin-left: 3%;
  78. margin-top: 30rpx;
  79. .experience-box-button {
  80. display: flex;
  81. justify-content: flex-end;
  82. align-items: center;
  83. font-size: 28rpx;
  84. color: #fff;
  85. padding-bottom: 40rpx;
  86. view {
  87. padding: 10rpx 40rpx;
  88. border-radius: 40rpx;
  89. background-color: #C83741;
  90. }
  91. }
  92. }
  93. }
  94. }
  95. </style>