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

161 lines
3.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
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. onShareAppMessage(res) {
  79. return {
  80. title: this.titles[this.type],
  81. desc: this.detail.amusementTitle,
  82. path: '/pages_order/service/StudyAndPathDetail?id=' + this.id
  83. }
  84. },
  85. methods: {
  86. //点击tab栏
  87. clickTabs({index}) {
  88. this.content = this.detail[this.contentKey[index]]
  89. },
  90. getData(){
  91. this.$api('queryAmusementById',
  92. {
  93. amusementId : this.id,
  94. }, res => {
  95. uni.stopPullDownRefresh()
  96. if(res.code == 200){
  97. this.detail = res.result
  98. this.content = this.detail[this.contentKey[0]]
  99. }
  100. })
  101. },
  102. }
  103. }
  104. </script>
  105. <style scoped lang="scss">
  106. .page{
  107. image{
  108. width: 100%;
  109. height: 100%;
  110. }
  111. .image{
  112. width: 100%;
  113. height: 400rpx;
  114. }
  115. .box{
  116. margin-top: -40rpx;
  117. border-top-left-radius: 40rpx;
  118. border-top-right-radius: 40rpx;
  119. overflow: hidden;
  120. position: relative;
  121. .info{
  122. background-color: #fff;
  123. padding: 40rpx;
  124. .price{
  125. padding: 20rpx 0;
  126. font-size: 22rpx;
  127. text{
  128. font-size: 38rpx;
  129. color: $uni-color;
  130. font-weight: 900;
  131. }
  132. }
  133. .title{
  134. font-weight: 900;
  135. padding-bottom: 20rpx;
  136. font-size: 28rpx;
  137. }
  138. .tip{
  139. font-size: 22rpx;
  140. padding-bottom: 20rpx;
  141. line-height: 40rpx;
  142. }
  143. }
  144. .detail{
  145. margin-top: 20rpx;
  146. background-color: #fff;
  147. .content{
  148. padding: 40rpx;
  149. }
  150. }
  151. }
  152. }
  153. </style>