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

107 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
  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. onShow() {
  48. this.getData()
  49. },
  50. methods: {
  51. toUrl(item){
  52. this.$utils.navigateTo(`/pages_order/service/articleDetail?id=${item.id}&type=2`)
  53. },
  54. toPayUrl(item, payType){
  55. uni.navigateTo({
  56. url: `/pages_order/order/orderSubscribe?payType=4&id=${item.id}`
  57. })
  58. },
  59. }
  60. }
  61. </script>
  62. <style scoped lang="scss">
  63. .experience {
  64. .experience-img {
  65. }
  66. .experience-box {
  67. width: 94%;
  68. margin-left: 3%;
  69. margin-top: 20rpx;
  70. background-color: #fff;
  71. box-shadow: 0px 0px 10rpx 0rpx #00000022;
  72. border-radius: 12rpx;
  73. .experience-box-img {
  74. width: 94%;
  75. margin-left: 3%;
  76. padding-top: 20rpx;
  77. }
  78. .experience-box-font {
  79. width: 94%;
  80. margin-left: 3%;
  81. margin-top: 30rpx;
  82. .experience-box-button {
  83. display: flex;
  84. justify-content: flex-end;
  85. align-items: center;
  86. font-size: 28rpx;
  87. color: #fff;
  88. padding-bottom: 40rpx;
  89. view {
  90. padding: 10rpx 40rpx;
  91. border-radius: 40rpx;
  92. background-color: #C83741;
  93. }
  94. }
  95. }
  96. }
  97. }
  98. </style>