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

10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 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>