<template>
|
|
<view class="team-page">
|
|
<!-- 固定顶部搜索框 -->
|
|
<view class="fixed-header">
|
|
<view class="search-container">
|
|
<uv-search
|
|
v-model="searchKeyword"
|
|
placeholder="请输入"
|
|
:show-action="true"
|
|
action-text="搜索"
|
|
:animation="true"
|
|
bg-color="#f5f5f5"
|
|
@search="handleSearch"
|
|
@custom="handleSearch"
|
|
@clear="handleCancel"
|
|
:action-style="{color: '#fff', backgroundColor: '#06DADC', borderRadius:'8rpx', width:'100rpx', height: '64rpx', lineHeight: '64rpx', borderRadius: '198rpx', text:'white', fontSize:'26rpx'}"
|
|
action
|
|
></uv-search>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 内容区域 -->
|
|
<view class="content-area">
|
|
<!-- 成员列表 -->
|
|
<view class="member-list">
|
|
<view
|
|
class="member-item"
|
|
v-for="(member, index) in list"
|
|
:key="index"
|
|
@click="handleMemberClick(member)"
|
|
>
|
|
<image
|
|
class="member-avatar"
|
|
:src="member.avatar || '/static/默认头像.png'"
|
|
mode="aspectFill"
|
|
></image>
|
|
<text class="member-name">{{ member.name }}</text>
|
|
</view>
|
|
</view>
|
|
<uv-loading-icon text="加载中" textSize="30rpx" v-if="isLoading"></uv-loading-icon>
|
|
<uv-empty v-else-if="list.length === 0 " text="暂无数据"></uv-empty>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import MixinList from '@/mixins/list'
|
|
export default {
|
|
mixins: [MixinList],
|
|
data() {
|
|
return {
|
|
mixinListApi: 'promotion.team',
|
|
searchKeyword: '',
|
|
members: [
|
|
{
|
|
id: 1,
|
|
name: '李世海',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 2,
|
|
name: '周静',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 3,
|
|
name: '周海',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 4,
|
|
name: '冯启彬',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 5,
|
|
name: '李嫣',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 6,
|
|
name: '李书萍',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 7,
|
|
name: '赵吾光',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 8,
|
|
name: '冯云',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 9,
|
|
name: '周静',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 10,
|
|
name: '周海',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 11,
|
|
name: '冯启彬',
|
|
avatar: '/static/默认头像.png'
|
|
},
|
|
{
|
|
id: 12,
|
|
name: '李嫣',
|
|
avatar: '/static/默认头像.png'
|
|
}
|
|
]
|
|
}
|
|
},
|
|
computed: {
|
|
filteredMembers() {
|
|
if (!this.searchKeyword) {
|
|
return this.members
|
|
}
|
|
return this.members.filter(member =>
|
|
member.name.includes(this.searchKeyword)
|
|
)
|
|
}
|
|
},
|
|
methods: {
|
|
mixinSetParams(){
|
|
return {
|
|
name: this.searchKeyword
|
|
}
|
|
},
|
|
handleCancel(){
|
|
this.initPage()
|
|
this.getList(true)
|
|
},
|
|
handleSearch() {
|
|
// 搜索逻辑已通过computed实现
|
|
console.log('搜索关键词:', this.searchKeyword)
|
|
this.initPage()
|
|
this.getList(true)
|
|
},
|
|
handleMemberClick(member) {
|
|
console.log('点击成员:', member)
|
|
// 可以在这里添加跳转到成员详情页的逻辑
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
// @import '@/uni.scss';
|
|
|
|
.team-page {
|
|
min-height: 100vh;
|
|
background-color: #f2f2f2;
|
|
|
|
// 固定顶部搜索框
|
|
.fixed-header {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 999;
|
|
background-color: #fff;
|
|
|
|
.search-container {
|
|
padding: 20rpx 30rpx;
|
|
background-color: #fff;
|
|
}
|
|
}
|
|
|
|
// 内容区域
|
|
.content-area {
|
|
padding-top: 140rpx; // 为固定头部留出空间
|
|
|
|
.member-list {
|
|
background-color: #fff;
|
|
margin: 0 40rpx;
|
|
border-radius: 32rpx;
|
|
.member-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 16rpx 32rpx;
|
|
height: 104rpx;
|
|
border-bottom: 2rpx solid #F1F1F1;
|
|
transition: background-color 0.3s;
|
|
|
|
&:active {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
&:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.member-avatar {
|
|
width: 72rpx;
|
|
height: 72rpx;
|
|
border-radius: 50%;
|
|
margin-right: 24rpx;
|
|
background-color: #f0f0f0;
|
|
}
|
|
|
|
.member-name {
|
|
font-size: 32rpx;
|
|
color: #333;
|
|
font-weight: 400;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|