租房小程序前端代码
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
4.8 KiB

8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
  1. <template>
  2. <view class="uv-page">
  3. <!-- <searchVue @onSearch="onSearch($event)" @onParent="onDropDown($event)" /> -->
  4. <view class="se-pb-200">
  5. <view v-if="list.length>0">
  6. <view @click="onDetail(item)" class="se-my-10 se-mx-20 se-px-20 se-py-20 se-br-20 se-bgc-white se-flex" v-for="(item,index) in list" :key="index">
  7. <view class="se-pos se-w-260 se-h-180">
  8. <image v-if="item.iconImage" class="se-a-80 se-pos-lt" :src="item.iconImage" mode=""></image>
  9. <image class="se-w-260 se-h-180 se-br-10" :src="item.images[0]" mode=""></image>
  10. </view>
  11. <view class="se-pl-10 se-w-p-100">
  12. <view class="se-c-black se-fs-28">
  13. {{item.title}}
  14. </view>
  15. <view class="se-flex se-flex-h-sb se-flex-ai-c se-fs-24 se-mt-10 se-c-66">
  16. <text>{{item.homeType}}</text>
  17. <text>{{item.timeGo}}</text>
  18. </view>
  19. <view class="se-flex se-flex-h-sb se-flex-ai-c se-mt-10">
  20. <template v-if="item.iconTitles.length>0">
  21. <view class="se-flex">
  22. <view class="se-display-ib se-c-white se-bgc-orange se-fs-22 se-br-8 se-px-10 se-py-5 se-mr-10" v-for="(items,indexs) in item.iconTitles" :key="indexs">
  23. {{items}}
  24. </view>
  25. </view>
  26. </template>
  27. <template v-else><view></view></template>
  28. <view class="se-c-66 se-flex se-flex-ai-c">
  29. <uv-icon name="eye"></uv-icon>
  30. <text class="se-ml-5 se-fs-18">{{item.num}}</text>
  31. </view>
  32. </view>
  33. <view class="se-flex se-flex-h-sb se-flex-ai-c se-mt-10">
  34. <text class="se-c-red se-fs-24 se-fw-6 se-toe-1">{{item.price}}/{{item.unit}}</text>
  35. <text class="se-c-66 se-fs-22 se-toe-1">{{item.address}}</text>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. <view v-else>
  41. <uv-empty mode="list" ></uv-empty>
  42. </view>
  43. </view>
  44. <!-- <view class="se-my-10 se-mx-20 se-px-20 se-py-20 se-br-20 se-bgc-white se-flex" v-for="(item,index) in 20" :key="index">
  45. <view class="se-pos se-w-260 se-h-180">
  46. <image class="se-a-80 se-pos-lt" src="../../static/image/2x.png" mode=""></image>
  47. <image class="se-w-260 se-h-180 se-br-10" src="https://cdn.uviewui.com/uview/swiper/swiper1.png" mode=""></image>
  48. </view>
  49. <view class="se-pl-10 se-w-p-100">
  50. <view class="se-c-black se-fs-28">
  51. 整租·四季峰景四期 2室2厅1卫
  52. </view>
  53. <view class="se-flex se-flex-h-sb se-flex-ai-c se-fs-24 se-mt-10 se-c-66">
  54. <text>精装修</text>
  55. <text>1</text>
  56. </view>
  57. <view class="se-flex se-flex-h-sb se-flex-ai-c se-mt-10">
  58. <view class="se-display-ib se-c-white se-bgc-orange se-fs-22 se-br-8 se-px-10 se-py-5">
  59. 全新首租
  60. </view>
  61. <view class="se-c-66 se-flex se-flex-ai-c">
  62. <uv-icon name="eye"></uv-icon>
  63. <text class="se-ml-5 se-fs-18">999+</text>
  64. </view>
  65. </view>
  66. <view class="se-flex se-flex-h-sb se-flex-ai-c se-mt-10">
  67. <text class="se-c-red se-fs-28 se-fw-6">1500/</text>
  68. <text class="se-c-66 se-fs-22">四季峰景四期</text>
  69. </view>
  70. </view>
  71. </view> -->
  72. </view>
  73. </template>
  74. <script>
  75. import searchVue from './component/search.vue'
  76. import { housePageList } from "@/common/api.js"
  77. export default{
  78. components:{
  79. searchVue
  80. },
  81. data(){
  82. return{
  83. keyword:"",
  84. id:null,
  85. pageNo:1,
  86. pageSize:10,
  87. list:[]
  88. }
  89. },
  90. onLoad(options) {
  91. this.id = options.id
  92. uni.setNavigationBarTitle({
  93. title: options.title
  94. })
  95. this.onHousePageList()
  96. },
  97. onPullDownRefresh() {
  98. let that = this
  99. that.pageNo = 1
  100. that.list = []
  101. that.onHousePageList()
  102. },
  103. onReachBottom() {
  104. let that = this
  105. that.pageNo = that.pageNo + 1
  106. that.onHousePageList()
  107. },
  108. methods:{
  109. onHousePageList(){
  110. let that = this
  111. let params={
  112. iconClass:that.id,
  113. pageNo:that.pageNo,
  114. pageSize:that.pageSize
  115. }
  116. housePageList(params).then((response) => {
  117. console.info("responseindexsindexsindexs",response.result.records)
  118. response.result.records.forEach((items,indexs)=>{
  119. if(items.image){
  120. items.images = items.image.split(',')
  121. }else{
  122. items.images = []
  123. }
  124. if(items.homeImage){
  125. items.homeImages = items.homeImage.split(',')
  126. }else{
  127. items.homeImages = []
  128. }
  129. if(items.iconTitle){
  130. items.iconTitles = items.iconTitle.split(',')
  131. }else{
  132. items.iconTitles = []
  133. }
  134. })
  135. console.info('response.resultindexsindexsindexs',response.result.records)
  136. that.list = that.list.concat(response.result.records)
  137. }).catch((error) =>{
  138. })
  139. },
  140. onSearch(event){
  141. console.info(event)
  142. },
  143. onDropDown(event){
  144. console.info(event[0].value)
  145. },
  146. onDetail(event){
  147. uni.navigateTo({
  148. url:"/pages_subpack/detail/index?id="+event.id
  149. })
  150. }
  151. }
  152. }
  153. </script>
  154. <style>
  155. page{
  156. background-color: #f5f5f5;
  157. }
  158. </style>