hall.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <template>
  2. <view class="center">
  3. <view class="top">
  4. <image class="top-bg" src="../../static/img/hall-bg.png" mode=""></image>
  5. <view class="title">趣豆会馆</view>
  6. </view>
  7. <view class="hall-main"><image src="../../static/img/hell-main.png" mode=""></image></view>
  8. <view class="hall-center">
  9. <view class="shingle-main" v-for="(item,index) in list" :key="index" @click="nav(item.id)">
  10. <view class="shingle-bg"><image :src="item.image" mode=""></image></view>
  11. <view class="shinglem-title flex">
  12. <image class="tbg" src="../../static/img/tbg-left.png" mode=""></image>
  13. <view class="shinglemt-center">
  14. <image class="address" src="../../static/img/address.png" mode=""></image>
  15. <view class="shingle-font">{{ item.name }}</view>
  16. </view>
  17. <image class="tbg" src="../../static/img/tbg-right.png" mode=""></image>
  18. </view>
  19. <view class="shingle-mmain flex">
  20. <view class="smmain-item">
  21. <view class="smitem-top">开放中</view>
  22. <view class="smitem-bottom">状态</view>
  23. </view>
  24. <view class="shu"></view>
  25. <view class="smmain-item">
  26. <view class="smitem-top">纯平</view>
  27. <view class="smitem-bottom clamp">{{ item.nickname }}1111111111</view>
  28. </view>
  29. <view class="shu"></view>
  30. <view class="smmain-item">
  31. <view class="people flex">
  32. <view class="peopleitem" v-for="item in 1"><image src="../../static/img/busy.png" mode=""></image></view>
  33. <view class="peopleitem" v-for="item in 4"><image src="../../static/img/leisure.png" mode=""></image></view>
  34. </view>
  35. <view class="smitem-bottom">流畅</view>
  36. </view>
  37. </view>
  38. <image class="right-bottom" src="../../static/img/right-bottom.png" mode=""></image>
  39. </view>
  40. </view>
  41. <u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
  42. </view>
  43. </template>
  44. <script>
  45. import { tabbar } from '@/utils/tabbar.js';
  46. import { auction_gu } from '@/api/hall.js';
  47. export default {
  48. data() {
  49. return {
  50. tabbar: tabbar,
  51. current: 2,
  52. list:[],
  53. page:1,
  54. limit:10,
  55. loadingType: 'more',
  56. };
  57. },
  58. onShow() {
  59. this.loadData();
  60. },
  61. methods: {
  62. loadData() {
  63. const obj = this
  64. if(obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
  65. return ;
  66. }
  67. obj.loadingType = 'loading';
  68. auction_gu({pages:obj.page,limit:obj.limit}).then(({data}) =>{
  69. console.log(data);
  70. this.list = data
  71. }).catch(e =>{
  72. console.log(e);
  73. })
  74. },
  75. nav(id){
  76. uni.navigateTo({
  77. url: "/pages/hall/halllist?id=" + id
  78. })
  79. }
  80. }
  81. };
  82. </script>
  83. <style lang="less">
  84. .center,
  85. page {
  86. height: auto;
  87. min-height: 100%;
  88. background: #ffffff;
  89. }
  90. .top {
  91. position: relative;
  92. width: 750rpx;
  93. height: 346rpx;
  94. .top-bg {
  95. position: absolute;
  96. top: 0;
  97. left: 0;
  98. right: 0;
  99. width: 750rpx;
  100. height: 346rpx;
  101. }
  102. .title {
  103. padding-top: 20rpx;
  104. text-align: center;
  105. position: relative;
  106. z-index: 2;
  107. font-size: 36rpx;
  108. font-family: PingFang SC;
  109. font-weight: bold;
  110. color: #ffffff;
  111. }
  112. }
  113. .hall-main {
  114. margin: -252rpx auto 0;
  115. width: 700rpx;
  116. height: 300rpx;
  117. image {
  118. width: 100%;
  119. height: 100%;
  120. }
  121. }
  122. .hall-center {
  123. margin-top: 34rpx;
  124. }
  125. .shingle-main {
  126. margin: 20rpx auto;
  127. width: 690rpx;
  128. height: 218rpx;
  129. position: relative;
  130. .shingle-bg {
  131. position: absolute;
  132. top: 0;
  133. left: 0;
  134. right: 0;
  135. width: 690rpx;
  136. height: 218rpx;
  137. image {
  138. width: 690rpx;
  139. height: 218rpx;
  140. }
  141. }
  142. .shinglem-title {
  143. position: relative;
  144. z-index: 2;
  145. justify-content: center;
  146. height: 70rpx;
  147. .tbg {
  148. height: 70rpx;
  149. width: 40rpx;
  150. }
  151. .shinglemt-center {
  152. display: flex;
  153. align-items: center;
  154. background: rgba(220,38,43,0.66);
  155. }
  156. .address {
  157. width: 28rpx;
  158. height: 30rpx;
  159. }
  160. .shingle-font {
  161. font-size: 36rpx;
  162. font-family: PingFang SC;
  163. font-weight: bold;
  164. color: #ffffff;
  165. line-height: 70rpx;
  166. margin-left: 14rpx;
  167. }
  168. }
  169. .shingle-mmain {
  170. position: relative;
  171. z-index: 2;
  172. margin-top: 30rpx;
  173. .smmain-item {
  174. width: 33%;
  175. display: flex;
  176. flex-direction: column;
  177. align-items: center;
  178. .smitem-top {
  179. font-size: 30rpx;
  180. font-family: PingFang SC;
  181. font-weight: bold;
  182. color: #ffffff;
  183. }
  184. .smitem-bottom {
  185. margin-top: 10rpx;
  186. font-size: 30rpx;
  187. font-family: PingFang SC;
  188. font-weight: 500;
  189. color: #ffffff;
  190. }
  191. .people {
  192. justify-content: center;
  193. .peopleitem {
  194. width: 24rpx;
  195. height: 34rpx;
  196. image {
  197. width: 100%;
  198. height: 100%;
  199. }
  200. }
  201. }
  202. }
  203. .shu {
  204. width: 2rpx;
  205. height: 70rpx;
  206. background: #ffffff;
  207. }
  208. }
  209. .right-bottom {
  210. position: absolute;
  211. z-index: 2;
  212. right: 0;
  213. bottom: 0;
  214. width: 94rpx;
  215. height: 92rpx;
  216. }
  217. }
  218. </style>