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

268 lines
5.2 KiB

7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
6 months ago
6 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
6 months ago
8 months ago
8 months ago
6 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
6 months ago
7 months ago
8 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
5 months ago
8 months ago
5 months ago
8 months ago
6 months ago
8 months ago
6 months ago
8 months ago
6 months ago
8 months ago
6 months ago
8 months ago
8 months ago
6 months ago
8 months ago
8 months ago
6 months ago
8 months ago
8 months ago
6 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="situation">
  4. <navbar title="遗产概况" leftClick @leftClick="$utils.navigateBack" />
  5. <view class="top-img">
  6. <uv-swiper
  7. :list="banner.yc"
  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 class="qg-top"></view>
  26. <view class="qg-bottom"></view>
  27. </view>
  28. <!-- <view class="situation-imgs-two"
  29. v-if="list[1].id"
  30. @click="toUrl(list[1].id)">
  31. <image :src="list[1].areaImage" mode="aspectFill"/>
  32. <view class="text">
  33. <view class="title text-ellipsis">
  34. {{ list[1].areaName }}
  35. </view>
  36. <view class="tip text-ellipsis">
  37. {{ list[1].areaBrief }}
  38. </view>
  39. </view>
  40. <view class="qg-top"></view>
  41. <view class="qg-bottom"></view>
  42. </view> -->
  43. <view class="situation-imgs-four">
  44. <view
  45. v-for="(item,index) in list"
  46. v-if="index > 0"
  47. @click="toUrl(item.id)"
  48. :key="index">
  49. <image :src="item.areaImage" mode="aspectFill"/>
  50. <view class="text">
  51. <view class="title text-ellipsis">
  52. {{ item.areaName }}
  53. </view>
  54. <view class="tip text-ellipsis">
  55. {{ item.areaBrief }}
  56. </view>
  57. </view>
  58. <view class="qg-top"></view>
  59. <view class="qg-bottom"></view>
  60. </view>
  61. </view>
  62. </view>
  63. <tabber />
  64. </view>
  65. </template>
  66. <script>
  67. import { mapState } from 'vuex'
  68. export default {
  69. data() {
  70. return {
  71. queryParams: {
  72. pageNo: 1,
  73. pageSize: 10,
  74. },
  75. total : 0,
  76. list : [],
  77. }
  78. },
  79. computed : {
  80. ...mapState(['banner']),
  81. },
  82. onShow() {
  83. this.queryAreaList()
  84. },
  85. onReachBottom() {
  86. this.loadMoreData()
  87. },
  88. onPullDownRefresh() {
  89. this.queryAreaList()
  90. },
  91. methods: {
  92. queryAreaList(){
  93. this.$api('queryAreaList', res => {
  94. if(res.code == 200){
  95. this.list = res.result.records
  96. this.total = res.result.total
  97. }
  98. })
  99. },
  100. loadMoreData(){
  101. if(this.queryParams.pageSize < this.total){
  102. this.queryParams.pageSize += 10
  103. this.queryAreaList()
  104. }
  105. },
  106. toUrl(id){
  107. // uni.navigateTo({
  108. // url: '/pages/index/tourGuide?areaId=' + id
  109. // })
  110. uni.navigateTo({
  111. url: '/pages_order/service/areaDetail?id=' + id
  112. })
  113. },
  114. }
  115. }
  116. </script>
  117. <style scoped lang="scss">
  118. .situation {
  119. --qg : 60rpx;
  120. image{
  121. width: 100%;
  122. height: 100%;
  123. }
  124. .qg-top{
  125. position: absolute;
  126. top: 0;
  127. left: 0;
  128. width: 100%;
  129. overflow: hidden;
  130. display: flex;
  131. justify-content: space-between;
  132. &::after{
  133. content: '';
  134. display: block;
  135. width: var(--qg);
  136. height: var(--qg);
  137. background-color: $uni-bg-color;
  138. border-radius: 50%;
  139. transform: translate(50%, -50%);
  140. }
  141. &::before{
  142. content: '';
  143. display: block;
  144. width: var(--qg);
  145. height: var(--qg);
  146. background-color: $uni-bg-color;
  147. border-radius: 50%;
  148. transform: translate(-50%, -50%);
  149. }
  150. }
  151. .qg-bottom{
  152. position: absolute;
  153. bottom: 0;
  154. left: 0;
  155. width: 100%;
  156. overflow: hidden;
  157. display: flex;
  158. justify-content: space-between;
  159. &::after{
  160. content: '';
  161. display: block;
  162. width: var(--qg);
  163. height: var(--qg);
  164. background-color: $uni-bg-color;
  165. border-radius: 50%;
  166. transform: translate(50%, 50%);
  167. }
  168. &::before{
  169. content: '';
  170. display: block;
  171. width: var(--qg);
  172. height: var(--qg);
  173. background-color: $uni-bg-color;
  174. border-radius: 50%;
  175. transform: translate(-50%, 50%);
  176. }
  177. }
  178. .situation-imgs {
  179. width: 92%;
  180. margin-top: 20rpx;
  181. margin-left: 4%;
  182. .situation-imgs-one {
  183. height: 360rpx;
  184. position: relative;
  185. border-radius: 30rpx;
  186. // overflow: hidden;
  187. .text{
  188. .title{
  189. font-size: 80rpx;
  190. }
  191. .tip{
  192. font-size: 45rpx;
  193. }
  194. }
  195. }
  196. .situation-imgs-two {
  197. position: relative;
  198. margin-top: 20rpx;
  199. height: 300rpx;
  200. position: relative;
  201. border-radius: 30rpx;
  202. // overflow: hidden;
  203. .text{
  204. .title{
  205. font-size: 60rpx;
  206. }
  207. .tip{
  208. font-size: 35rpx;
  209. }
  210. }
  211. }
  212. .situation-imgs-four {
  213. display: flex;
  214. flex-wrap: wrap;
  215. justify-content: space-between;
  216. >view {
  217. position: relative;
  218. margin-top: 20rpx;
  219. width: 48%;
  220. height: 260rpx;
  221. position: relative;
  222. border-radius: 20rpx;
  223. // overflow: hidden;
  224. .text{
  225. .title{
  226. font-size: 34rpx;
  227. margin-top: 40rpx;
  228. }
  229. }
  230. }
  231. }
  232. }
  233. .text{
  234. font-family: 楷体;
  235. // font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
  236. position: absolute;
  237. bottom: 0;
  238. left: 0;
  239. width: 100%;
  240. height: 100%;
  241. background-color: #00000036;
  242. color: #fff;
  243. display: flex;
  244. flex-direction: column;
  245. align-items: center;
  246. justify-content: center;
  247. font-weight: 900;
  248. .title{
  249. font-size: 34rpx;
  250. }
  251. .tip{
  252. font-size: 22rpx;
  253. margin-top: 10%;
  254. }
  255. }
  256. }
  257. </style>