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

153 lines
2.9 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
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
8 months ago
  1. <template>
  2. <!-- 我要研学详情 type:1 遗产路径详情 type:0 -->
  3. <view class="page">
  4. <navbar :title="titles[type]" leftClick @leftClick="$utils.navigateBack" />
  5. <view class="image">
  6. <!-- <image src="https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img" mode="aspectFill"></image> -->
  7. <uv-swiper
  8. :list="detail.amusementImage ?
  9. detail.amusementImage.split(',') : []"
  10. indicator
  11. height="420rpx"></uv-swiper>
  12. </view>
  13. <view class="box">
  14. <view class="info">
  15. <view class="price"
  16. v-if="detail.amusementPrice
  17. && detail.isPay == 1">
  18. <text>{{ detail.amusementPrice }}</text>
  19. </view>
  20. <view class="title">
  21. {{ detail.amusementTitle }}
  22. </view>
  23. <view class="tip">
  24. {{ detail.amusementBrief }}
  25. </view>
  26. </view>
  27. <view class="detail">
  28. <view class="">
  29. <uv-tabs :list="tabs"
  30. lineColor="#B12026"
  31. lineHeight="8rpx"
  32. lineWidth="50rpx"
  33. :scrollable="false"
  34. @click="clickTabs"></uv-tabs>
  35. </view>
  36. <view class="content">
  37. <uv-parse :content="content"></uv-parse>
  38. </view>
  39. </view>
  40. </view>
  41. <StudyAndPathDetailSubmit v-if="detail.isPay == 1"/>
  42. </view>
  43. </template>
  44. <script>
  45. import StudyAndPathDetailSubmit from '../components/submit/StudyAndPathDetailSubmit.vue'
  46. export default {
  47. components : {
  48. StudyAndPathDetailSubmit,
  49. },
  50. data() {
  51. return {
  52. titles: ['遗产路径', '我要研学'],
  53. type: 0,
  54. tabs: [
  55. {
  56. name: '关于行程'
  57. },
  58. {
  59. name: '注意事项'
  60. },
  61. {
  62. name: '出行说明'
  63. },
  64. ],
  65. id : 0,
  66. detail : {},
  67. contentKey : ['amusementRoute', 'amusementAttention', 'amusementStatement'],
  68. content : '',
  69. }
  70. },
  71. onLoad(args) {
  72. this.type = args.type || 0
  73. this.id = args.id
  74. },
  75. onShow() {
  76. this.getData()
  77. },
  78. methods: {
  79. //点击tab栏
  80. clickTabs({index}) {
  81. this.content = this.detail[this.contentKey[index]]
  82. },
  83. getData(){
  84. this.$api('queryAmusementById',
  85. {
  86. amusementId : this.id,
  87. }, res => {
  88. uni.stopPullDownRefresh()
  89. if(res.code == 200){
  90. this.detail = res.result
  91. this.content = this.detail[this.contentKey[0]]
  92. }
  93. })
  94. },
  95. }
  96. }
  97. </script>
  98. <style scoped lang="scss">
  99. .page{
  100. image{
  101. width: 100%;
  102. height: 100%;
  103. }
  104. .image{
  105. width: 100%;
  106. height: 400rpx;
  107. }
  108. .box{
  109. margin-top: -40rpx;
  110. border-top-left-radius: 40rpx;
  111. border-top-right-radius: 40rpx;
  112. overflow: hidden;
  113. position: relative;
  114. .info{
  115. background-color: #fff;
  116. padding: 40rpx;
  117. .price{
  118. padding: 20rpx 0;
  119. font-size: 22rpx;
  120. text{
  121. font-size: 38rpx;
  122. color: $uni-color;
  123. font-weight: 900;
  124. }
  125. }
  126. .title{
  127. font-weight: 900;
  128. padding-bottom: 20rpx;
  129. font-size: 28rpx;
  130. }
  131. .tip{
  132. font-size: 22rpx;
  133. padding-bottom: 20rpx;
  134. line-height: 40rpx;
  135. }
  136. }
  137. .detail{
  138. margin-top: 20rpx;
  139. background-color: #fff;
  140. .content{
  141. padding: 40rpx;
  142. }
  143. }
  144. }
  145. }
  146. </style>