<template>
|
<view class="main_app">
|
<view class="search_inp df_ac">
|
<image class="mr12 search" src="@/static/home/ic_search@2x.png" mode="widthFix"></image>
|
<input v-model="param.name" @blur="initData()" type="text" placeholder="请输入姓名进行搜索"
|
placeholder-style="color: #999999;" />
|
</view>
|
<view class="member_list">
|
<view v-for="item in memberList" @click="onSubmit(item)" :key="item.id" class="line">
|
<image v-if="item.faceImgFull" :src="item.faceImgFull" class="avatar"></image>
|
<span v-else class="img_name">{{item.realname && item.realname.slice(0,1)}}</span>
|
<view class="content">
|
<view class="info">
|
<text class="name">{{ item.realname }}</text>
|
<!-- <text class="tag">tag</text> -->
|
</view>
|
<view class="depart">{{ item.companyName }}</view>
|
</view>
|
<text></text>
|
</view>
|
<view v-if="memberList.length == 0" class="empty_wrap">
|
<image src="@/static/empty.png"></image>
|
<text>暂无数据</text>
|
</view>
|
</view>
|
<!-- -->
|
</view>
|
</template>
|
|
<script>
|
import {
|
findInternalList
|
} from '@/api'
|
export default {
|
data() {
|
return {
|
memberList: [],
|
selList: [],
|
param: {},
|
|
isShowSelMem: false
|
}
|
},
|
onLoad() {
|
this.initData()
|
},
|
methods: {
|
onSubmit(item) {
|
this.$eventBus.$emit('memberSel', { realname: item.realname, id: item.id })
|
uni.navigateBack()
|
},
|
changeMem(e) {
|
console.log(e.detail.value[0]);
|
const id = Number(e.detail.value[0])
|
const item = this.memberList.find(i => i.id === id)
|
this.$eventBus.$emit('snapshotSel', item)
|
uni.navigateBack()
|
},
|
initData() {
|
const {
|
param
|
} = this
|
findInternalList({
|
realname: param.name,
|
id: param.id
|
}).then(res => {
|
this.memberList = [{id: '', realname: '全部'}, ...res.data]
|
})
|
}
|
}
|
};
|
</script>
|
|
<style lang="scss">
|
.modal {
|
padding: 40rpx 30rpx;
|
|
.modal_header {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
|
.status {
|
font-weight: 600;
|
}
|
|
.btn {
|
color: $uni-color-primary;
|
}
|
}
|
|
.modal_mem_list {
|
.line {
|
display: flex;
|
align-items: center;
|
border-bottom: 1rpx solid #e5e5e5;
|
padding: 30rpx 0;
|
|
.avatar {
|
width: 64rpx;
|
height: 64rpx;
|
border-radius: 50%;
|
overflow: hidden;
|
margin-right: 20rpx;
|
}
|
|
.content {
|
flex: 1;
|
|
.depart {
|
font-size: 24rpx;
|
color: #666666;
|
}
|
|
.info {
|
display: flex;
|
margin-bottom: 16rpx;
|
|
.name {
|
font-size: 30rpx;
|
}
|
}
|
}
|
|
.btn {
|
width: 80rpx;
|
height: 48rpx;
|
line-height: 48rpx;
|
text-align: center;
|
font-size: 24rpx;
|
color: #333333;
|
border-radius: 4rpx;
|
border: 1rpx solid #999999;
|
}
|
}
|
}
|
}
|
|
.sub_wrap {
|
position: absolute;
|
bottom: 0;
|
left: 0;
|
width: 100%;
|
box-shadow: 0rpx 0rpx 6rpx 0rpx #b2b2b2;
|
padding: 30rpx 30rpx 64rpx;
|
|
.sel_mem {
|
display: flex;
|
align-items: center;
|
|
.members {
|
width: 500rpx;
|
color: $uni-color-primary;
|
white-space: nowrap;
|
overflow: hidden; //文本超出隐藏
|
text-overflow: ellipsis;
|
margin-right: 20rpx;
|
}
|
|
.open_icon {
|
width: 44rpx;
|
height: 44rpx;
|
}
|
}
|
|
.btn {
|
width: 690rpx;
|
height: 88rpx;
|
line-height: 88rpx;
|
background: $uni-color-primary;
|
border-radius: 44rpx;
|
color: #fff;
|
text-align: center;
|
margin-top: 22rpx;
|
}
|
}
|
|
.member_list {
|
.line {
|
display: flex;
|
align-items: center;
|
border-bottom: 1rpx solid #e5e5e5;
|
padding: 30rpx 0;
|
|
.avatar {
|
width: 64rpx;
|
height: 64rpx;
|
border-radius: 50%;
|
overflow: hidden;
|
margin-right: 20rpx;
|
}
|
|
.img_name {
|
width: 64rpx;
|
height: 64rpx;
|
line-height: 64rpx;
|
text-align: center;
|
border-radius: 50%;
|
overflow: hidden;
|
margin-right: 20rpx;
|
background: $uni-color-primary;
|
color: #fff;
|
border: 1rpx solid $uni-color-primary;
|
}
|
|
.content {
|
flex: 1;
|
|
.depart {
|
font-size: 24rpx;
|
color: #666666;
|
}
|
|
.info {
|
display: flex;
|
margin-bottom: 16rpx;
|
|
.name {
|
font-size: 30rpx;
|
}
|
|
.tag {
|
font-size: 24rpx;
|
border-radius: 4rpx;
|
border: 1rpx solid #f62710;
|
color: #f62710;
|
padding: 0rpx 6rpx;
|
margin-left: 8rpx;
|
}
|
}
|
}
|
}
|
|
.empty {
|
width: 100%;
|
height: 280rpx;
|
}
|
}
|
|
.search_inp {
|
height: 72rpx;
|
background: #f7f7f7;
|
border-radius: 4rpx;
|
padding-left: 16rpx;
|
|
.search {
|
width: 28rpx;
|
}
|
|
input {
|
flex: 1;
|
font-size: 28rpx;
|
color: #333333;
|
}
|
}
|
</style>
|