<template> <view> <wm-watermark :text="userInfo2.phone" :num="50"></wm-watermark> <view class="scoped-estate-list"> <view v-for="(item, index) in dataList" :class="curEid == item.id ? 'sel-item cur' : 'sel-item'" @click="listItemHandle(item)" :key="index"> <view class="sel-left"> <image class="img" :src="item.pri_image" mode="aspectFill"></image> </view> <view class="sel-right"> <view class="p1">{{item.estate_name}}{{item.report_open == 2 ? '[上架中]' : ''}}{{curEid == item.id ? '【已选中】' : ''}}</view> <view class="p2"> <u-tag :text="areaTypeObj[item.area_type]" :type="'success'" size="mini" ></u-tag> </view> <view class="p3" v-if="userInfo2.auth_state == 1">预计奖励:{{ item.brokerage }}</view> </view> </view> </view> <view class="float-search" @click="searchPopupShow = true"><u-icon name="search" size="42" color="#fff"></u-icon></view> <!-- 平台佣金政策弹窗 --> <u-popup v-model="searchPopupShow" mode="center" width="80%" height="440rpx" border-radius="20"> <view class="bwin-popup"> <view class="popup-header">楼盘搜索</view> <view class="popup-body"> <u-input v-model="searchFormData.estate_name" border placeholder="请输入楼盘名称(支持模糊搜索)"></u-input> <!-- <u-divider marginTop="10" marginBottom="10">或</u-divider> <u-input v-model="searchFormData.phone" border placeholder="请输入手机号(可仅输入一部分)"></u-input> --> </view> <view class="popup-footer" style="position: absolute;"> <u-button size="medium" @click="searchPopupShow = false">取消</u-button> <u-button size="medium" type="primary" @click="searchHandle()">搜索</u-button> </view> </view> </u-popup> <u-loadmore v-if="dataList.length > 0" marginTop="32" :line="true" :status="loadmore.status" :loading-text="loadmore.loadingText" :loadmore-text="loadmore.defaultText" :nomore-text="loadmore.nomoreText" /> </view> </template> <script> import { arrToObj } from '@/utils' import wmWatermark from '@/components/wm-watermark/wm-watermark.vue' import uniCopy from '@/js_sdk/xb-copy/uni-copy.js' export default { components: { wmWatermark }, data() { return { searchKeyword: null, searchPopupShow: false, searchFormData: { name: '', phone: '' }, // 搜索栏数据 orderMethod: 0, filterDropdownValue: {}, // 默认筛选 dataList: [], // 客户列表 loadmore: { status: 'loadmore', loadingText: '努力加载中', defaultText: '轻轻上拉 查看更多', nomoreText: '实在没有了', currnetPage: 1 }, curRoles: '', userInfo2: {}, areaTypeObj: {}, curEid: '', curEname: '', }; }, onLoad(params) { if (params.eid) { this.curEid = params.eid this.curEname = params.enames } this.getDataList() this.userInfo2 = uni.getStorageSync('MD_userInfo2') this.curRoles = uni.getStorageSync('MD_userInfo2') ? uni.getStorageSync('MD_userInfo2').roles : '' const dictObj = uni.getStorageSync('MD_dict') this.areaTypeObj = arrToObj(dictObj.area_type) }, onReachBottom() { if (this.loadmore.status == 'nomore') return; this.loadmore.currnetPage++ this.getDataList() }, onPullDownRefresh() { // 防止频繁刷新 }, methods: { listItemHandle (item) { if (this.userInfo2 && this.userInfo2.auth_state == 1) { uni.navigateTo({ url: `/pages/estate/dtl?id=${item.id}` }) } // if (this.curEid) { // this.curEid = item.id // } else { // if (this.userInfo2 && this.userInfo2.auth_state == 1) { // uni.navigateTo({ // url: `/pages/estate/dtl?id=${item.id}` // }) // } // } }, copyTextHandle (item) { uniCopy({ content: `${item.name}-${item.sex == 'male'?'男':'女'}-${item.phone}`, success:(res)=>{ uni.showToast({ title: res, icon: 'none' }) }, error:(e)=>{ uni.showToast({ title: e, icon: 'none', duration:3000, }) } }) }, getDataList (bc) { const that = this let params = { // page_size: 1000, ...this.searchFormData } if (that.orderMethod > 0) { if (that.orderMethod === 1) { params.order_by = JSON.stringify([{ field: 'create_at', sort: 'desc', }]) } if (that.orderMethod === 2) { params.order_by = JSON.stringify([{ field: 'create_at', sort: 'asc', }]) } } uni.api.estate.apiestatelist({ page: that.loadmore.currnetPage, is_inner: 2, ...params, }).then(res => { const list = res.list || [] if (list.length < 10) { that.loadmore.status = 'nomore'; } if (res.current_page === 1) { if (list.length === 0) { uni.$msg('无搜索结果', 'none'); } that.dataList = [...list] } else { that.dataList = that.dataList.concat(list) } if (bc) bc() }) }, customBack() { uni.navigateBack(); }, // 带监听器跳转 pageTo(url, data) { /// xxxxx uni.navigateTo({ url: url, events: { // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 update: function(data) { // 当B页面运行 eventChannel.emit('update', { a:1 }); 时,会运行这里的代码逻辑。 } }, success: function(res) { // 通过eventChannel向被打开页面传送数据 res.eventChannel.emit('data', data); } }); }, searchHandle() { this.loadmore.currnetPage = 1 this.getDataList(() => { this.searchPopupShow = false }) }, getTime(n) { let date = n ? new Date(n) : new Date() let year = date.getFullYear() let month = date.getMonth() + 1 month = month > 9 ? month : '0' + month let day = date.getDate() day = day > 9 ? day : '0' + day let hour = date.getHours() hour = hour > 9 ? hour : '0' + hour let minute = date.getMinutes() minute = minute > 9 ? minute : '0' + minute let second = date.getSeconds() second = second > 9 ? second : '0' + second return `${year}-${month}-${day} ${hour}:${minute}:${second}` }, } }; </script> <style lang="scss"> // 列表 .scoped-estate-list { .sel-item { display: flex; border-bottom: 1PX solid #dcdcdc; padding: 20rpx; &.cur { background: #369af7; .img { opacity: .6; } .p1 { color: #fff; } .p3 { color: #fff; } } } .sel-left { width: 180rpx; border-radius: 10rpx; .img { width: 180rpx; height: 120rpx; border-radius: 10rpx; } } .sel-right { // width: 450rpx; margin-left: 20rpx; .p1 { font-size: 30rpx; font-weight: bold; margin-bottom: 10rpx; } .p2 { margin-bottom: 10rpx; } .p3 { color: #369af7; font-size: 26rpx; font-weight: bold; } } } .float-search { opacity: 0.9; position: fixed; right: 20rpx; bottom: 40rpx; padding: 20rpx; border-radius: 50%; background-color: $u-theme-color; } .scoped-list-more-info { position: absolute; right: 20rpx; } </style>