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

197 lines
3.7 KiB

5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
  1. <template>
  2. <!-- 遗产概况 -->
  3. <view class="situation">
  4. <navbar title="遗产概况" leftClick @leftClick="$utils.navigateBack" />
  5. <view class="top-img">
  6. <uv-swiper
  7. :list="banner.follow"
  8. indicator
  9. height="420rpx"
  10. keyName="imageContent"></uv-swiper>
  11. </view>
  12. <view class="situation-imgs">
  13. <view class="situation-imgs-one"
  14. v-if="list[0].id"
  15. @click="toUrl(list[0].id)">
  16. <image :src="list[0].areaImage" mode="aspectFill"/>
  17. <view class="text">
  18. <view class="title text-ellipsis">
  19. {{ list[0].areaName }}
  20. </view>
  21. <view class="tip text-ellipsis">
  22. {{ list[0].areaBrief }}
  23. </view>
  24. </view>
  25. </view>
  26. <view class="situation-imgs-two"
  27. v-if="list[1].id"
  28. @click="toUrl(list[1].id)">
  29. <image :src="list[1].areaImage" mode="aspectFill"/>
  30. <view class="text">
  31. <view class="title text-ellipsis">
  32. {{ list[1].areaName }}
  33. </view>
  34. <view class="tip text-ellipsis">
  35. {{ list[1].areaBrief }}
  36. </view>
  37. </view>
  38. </view>
  39. <view class="situation-imgs-four">
  40. <view
  41. v-for="(item,index) in list"
  42. v-if="index > 1"
  43. @click="toUrl(item.id)"
  44. :key="index">
  45. <image :src="item.areaImage" mode="aspectFill"/>
  46. <view class="text">
  47. <view class="title text-ellipsis">
  48. {{ item.areaName }}
  49. </view>
  50. <view class="tip text-ellipsis">
  51. {{ item.areaBrief }}
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. </view>
  57. <tabber />
  58. </view>
  59. </template>
  60. <script>
  61. import { mapState } from 'vuex'
  62. export default {
  63. data() {
  64. return {
  65. queryParams: {
  66. pageNo: 1,
  67. pageSize: 10,
  68. },
  69. total : 0,
  70. list : [],
  71. }
  72. },
  73. computed : {
  74. ...mapState(['banner']),
  75. },
  76. onShow() {
  77. this.queryAreaList()
  78. },
  79. onReachBottom() {
  80. this.loadMoreData()
  81. },
  82. onPullDownRefresh() {
  83. this.queryAreaList()
  84. },
  85. methods: {
  86. queryAreaList(){
  87. this.$api('queryAreaList', res => {
  88. if(res.code == 200){
  89. this.list = res.result.records
  90. this.total = res.result.total
  91. }
  92. })
  93. },
  94. loadMoreData(){
  95. if(this.queryParams.pageSize < this.total){
  96. this.queryParams.pageSize += 10
  97. this.queryAreaList()
  98. }
  99. },
  100. toUrl(id){
  101. uni.navigateTo({
  102. url: '/pages/index/tourGuide?areaId=' + id
  103. })
  104. },
  105. }
  106. }
  107. </script>
  108. <style scoped lang="scss">
  109. .situation {
  110. image{
  111. width: 100%;
  112. height: 100%;
  113. }
  114. .situation-imgs {
  115. width: 92%;
  116. margin-top: 20rpx;
  117. margin-left: 4%;
  118. .situation-imgs-one {
  119. height: 360rpx;
  120. position: relative;
  121. border-radius: 30rpx;
  122. overflow: hidden;
  123. .text{
  124. .title{
  125. font-size: 80rpx;
  126. }
  127. .tip{
  128. font-size: 45rpx;
  129. }
  130. }
  131. }
  132. .situation-imgs-two {
  133. margin-top: 20rpx;
  134. height: 300rpx;
  135. position: relative;
  136. border-radius: 30rpx;
  137. overflow: hidden;
  138. .text{
  139. .title{
  140. font-size: 60rpx;
  141. }
  142. .tip{
  143. font-size: 35rpx;
  144. }
  145. }
  146. }
  147. .situation-imgs-four {
  148. display: flex;
  149. flex-wrap: wrap;
  150. justify-content: space-between;
  151. >view {
  152. margin-top: 20rpx;
  153. width: 48%;
  154. height: 260rpx;
  155. position: relative;
  156. border-radius: 20rpx;
  157. overflow: hidden;
  158. .text{
  159. .title{
  160. font-size: 34rpx;
  161. margin-top: 40rpx;
  162. }
  163. }
  164. }
  165. }
  166. }
  167. .text{
  168. font-family: 楷体;
  169. // font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
  170. position: absolute;
  171. bottom: 0;
  172. left: 0;
  173. width: 100%;
  174. height: 100%;
  175. background-color: #00000036;
  176. color: #fff;
  177. display: flex;
  178. flex-direction: column;
  179. align-items: center;
  180. justify-content: center;
  181. font-weight: 900;
  182. .title{
  183. font-size: 34rpx;
  184. }
  185. .tip{
  186. font-size: 22rpx;
  187. margin-top: 10%;
  188. }
  189. }
  190. }
  191. </style>