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.
253 lines
5.9 KiB
253 lines
5.9 KiB
<template> |
|
<view @click="ejectOpen=false" style="height: 100vh;display: flex;flex-direction: column;"> |
|
<view class="header"> |
|
<view :style="{height:styles.top+'px'}"></view> |
|
<uni-nav-bar @clickLeft='jump(-1)' :border="false" color='white' backgroundColor="rgba(0,0,0,0)" |
|
left-icon="back" title="用户信息" /> |
|
<view class="seach"> |
|
<uni-easyinput style="flex:1" :candidate='candidate' :ejectOpen='ejectOpen' @ejectFn='ejectFn' |
|
:letfText='letfText' confirmType='search' @confirm='seachFn' |
|
placeholder-style="color:#bbbbbb;font-weight: 100;" v-model="seachValue" |
|
:placeholder="letfText=='油站'?'油站名,油站ID':'司机姓名,司机手机号'" @iconClick="onClick"> |
|
</uni-easyinput> |
|
<button @tap="jump('/userManagement/yunSite/detail')" class="header_seach_butten"> |
|
<uni-icons type="plusempty" size="20" color="#bbbbbb"></uni-icons> |
|
<view>新增</view> |
|
</button> |
|
</view> |
|
</view> |
|
<view style="flex:1;overflow: hidden;"> |
|
<view v-if="!tableList.length" |
|
style="width: 100vw; height: 100%; display: flex;align-items: center;justify-content: center;"> |
|
<image src="@/static/qx.png" style="width: 500rpx; height: 355rpx;"></image> |
|
</view> |
|
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower='scrolltolower'> |
|
<view class="container"> |
|
<view v-for="(item,index) in tableList" class="form_body"> |
|
<view @tap="jump('/userManagement/yunSite/detail',item)" class="form_body_item"> |
|
<view class="form_body_item_body"> |
|
<view class="form-item_body_left" style=""> |
|
<image :src="item.headPhoto?item.headPhoto: '../../static/tx.png'" |
|
style="width: 100rpx; height: 100rpx;border-radius: 50%;"></image> |
|
<view class="form_body_item_body_container"> |
|
<view :style="{color:item.customerName ?'':'#999999'}"> |
|
{{item.customerName ||'暂无' }} |
|
</view> |
|
<view> |
|
{{item.phone || '暂无'}} |
|
<view class="copy" v-if="item.phone" @tap.stop="copy(item.phone)"></view> |
|
</view> |
|
<view class="form-item_body_left_bottom_text" style=""> |
|
{{item.siteName ||'暂无'}} |
|
</view> |
|
</view> |
|
</view> |
|
</view> |
|
<view class="form_body_item_footer"> |
|
<view>{{item.customerId}}</view> |
|
<!-- <view>{{item.updateTime}}</view> --> |
|
</view> |
|
</view> |
|
</view> |
|
|
|
</view> |
|
</scroll-view> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import serve from '@/api/userManagement/yunSite.js' |
|
export default { |
|
data() { |
|
return { |
|
seachValue: '', |
|
letfText: '司机', |
|
ejectOpen: false, |
|
candidate: ['司机', '油站'], |
|
|
|
styles: {}, |
|
paramter: { |
|
currentPage: 1, |
|
pageSize: 10, |
|
sorted: { |
|
createTime: 'desc' |
|
}, |
|
params: {} |
|
}, |
|
tableList: [] |
|
} |
|
}, |
|
onLoad() { |
|
this.styles = uni.getMenuButtonBoundingClientRect() |
|
}, |
|
onShow() { |
|
this.seachFn() |
|
}, |
|
methods: { |
|
ejectFn(e) { |
|
this.letfText = e |
|
this.tableList = [] |
|
this.getByPage() |
|
}, |
|
seachFn() { |
|
this.tableList = [] |
|
this.paramter.currentPage = 1 |
|
this.getByPage() |
|
}, |
|
getByPage() { |
|
if (this.letfText == '油站') { |
|
this.paramter.params = { |
|
siteName: this.seachValue |
|
} |
|
} else { |
|
this.paramter.params = { |
|
nameOrPhoneOrId: this.seachValue, |
|
} |
|
} |
|
this.siteHandle() |
|
}, |
|
siteHandle() { |
|
serve.customerRelationSite(this.paramter).then(res => { |
|
if (!res.data.list.length) { |
|
uni.showToast({ |
|
title: '没有数据了哦~', |
|
icon: 'none' |
|
}) |
|
return |
|
} |
|
this.tableList = this.tableList.concat(res.data.list); |
|
}) |
|
}, |
|
// 触底加载 |
|
scrolltolower() { |
|
this.paramter.currentPage += 1 |
|
this.getByPage() |
|
|
|
}, |
|
handlerNumber(number) { |
|
if (number == 0) return number |
|
if (!number) { |
|
return '--' |
|
} |
|
return +number.toFixed(2) |
|
}, |
|
|
|
jump(path, item) { |
|
if (path === -1) { |
|
return uni.navigateBack() |
|
} |
|
let url = item ? `${path}?item=${encodeURI(JSON.stringify(item))}` : path |
|
uni.navigateTo({ |
|
url |
|
}) |
|
}, |
|
onClick() { |
|
this.ejectOpen = !this.ejectOpen |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss"> |
|
.uni-easyinput__content { |
|
background-color: #fff; |
|
} |
|
|
|
.header { |
|
position: relative; |
|
width: 100%; |
|
min-height: 403rpx; |
|
background: url('https://xoi-support.oss-cn-hangzhou.aliyuncs.com/星油admin小程序/sjbj.png') center/100% no-repeat; |
|
} |
|
|
|
.header .seach { |
|
display: flex; |
|
margin-top: 60rpx; |
|
padding: 0 50rpx; |
|
height: 80rpx; |
|
} |
|
|
|
.uni-easyinput__content { |
|
height: 80rpx; |
|
} |
|
|
|
.header_seach_butten { |
|
font-size: 24rpx !important; |
|
display: flex !important; |
|
align-items: center !important; |
|
margin: 0 !important; |
|
flex-shrink: 1; |
|
margin-left: 9rpx !important; |
|
background: #FFFFFF !important; |
|
justify-content: center; |
|
} |
|
|
|
.container { |
|
padding: 40rpx; |
|
} |
|
|
|
.form_body { |
|
/* width: 100vw; */ |
|
padding: 0 10px; |
|
margin-top: 40rpx; |
|
box-sizing: border-box; |
|
|
|
&:nth-of-type(1) { |
|
margin-top: 0; |
|
} |
|
} |
|
|
|
.form_body_item { |
|
height: 217rpx; |
|
background: #FFFFFF; |
|
box-shadow: 0px 3px 9px 0px rgba(88, 88, 88, 0.2); |
|
border-radius: 12rpx; |
|
font-size: 28rpx; |
|
padding: 20rpx; |
|
display: flex; |
|
flex-direction: column; |
|
padding-bottom: 0; |
|
} |
|
|
|
/* .form-item_body_right { |
|
flex-grow: 1; |
|
text-align: end; |
|
color: #999999; |
|
font-size: 24rpx; |
|
height: max-content; |
|
display: flex; |
|
justify-content: flex-end; |
|
align-items: center; |
|
} */ |
|
|
|
.form_body_item_body { |
|
padding-bottom: 30rpx; |
|
border-bottom: 1px solid #F0F0F0; |
|
} |
|
|
|
.form_body_item_body_container { |
|
margin-left: 24rpx; |
|
font-size: 28rpx; |
|
} |
|
|
|
.form-item_body_left { |
|
display: flex; |
|
align-items: center; |
|
} |
|
|
|
.form-item_body_left_bottom_text { |
|
font-size: 24rpx; |
|
color: #999999; |
|
} |
|
|
|
.form_body_item_footer { |
|
display: flex; |
|
color: #BBBBBB; |
|
font-size: 22rpx; |
|
justify-content: space-between; |
|
/* margin-top: 15rpx; */ |
|
align-items: center; |
|
flex: 1; |
|
} |
|
</style>
|
|
|