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.
296 lines
7.9 KiB
296 lines
7.9 KiB
<template>
|
|
<view class="container">
|
|
<u-navbar
|
|
title="会员中心"
|
|
placeholder="true"
|
|
bg-color="#F1F3F9"
|
|
left-icon="man-add-fill"
|
|
left-icon-size="24"
|
|
left-text="申请入会"
|
|
@leftClick="leftClick"
|
|
></u-navbar>
|
|
<u-search
|
|
@search="search"
|
|
@clickIcon="clickIcon"
|
|
@clear="clear"
|
|
shape="square"
|
|
placeholder="请输入搜索内容"
|
|
placeholder-color="#A9D4FF"
|
|
v-model="keyword"
|
|
search-icon="/static/img/search.png"
|
|
search-icon-size="14"
|
|
:show-action="false"
|
|
height="40"
|
|
margin="40rpx 24rpx 24rpx 24rpx"
|
|
bg-color="#FFFFFF"
|
|
></u-search>
|
|
|
|
<u-tabs
|
|
:list="filterTabs"
|
|
:current="current"
|
|
:active-style="{ color: '#0C092A', fontsize: '30rpx' }"
|
|
key-name="title"
|
|
@click="handleTabSelect"
|
|
></u-tabs>
|
|
<view class="main">
|
|
<scroll-view scroll-y="auto" class="hyonne" @scrolltolower="onloadmore">
|
|
<view class="hyCard" v-for="(item, index) in hyList" :key="index"
|
|
>
|
|
<!-- @click="godetail(item.id)"> -->
|
|
<view class="left">
|
|
<!-- <u-avatar :src="baseurl + item.head_pic" size="64"></u-avatar> -->
|
|
<view class="textpart">
|
|
<view class="namepart">
|
|
<text class="name">{{ item.contact }}</text>
|
|
<view class="biaoq" v-if="item.industry" :style="{ background: `linear-gradient(0deg, #007fff 0%, #dcdcdc70 100%)` }">
|
|
{{ item.industry }}
|
|
</view>
|
|
</view>
|
|
<text class="company">{{ item.title || '无' }}</text>
|
|
</view>
|
|
</view>
|
|
<!-- <image style="width: 48rpx; height: 48rpx" src="@/static/img/Icon.png" mode=""></image> -->
|
|
</view>
|
|
</scroll-view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref } from 'vue'
|
|
import tabsComm from '../index/tabsComm.vue'
|
|
import { xhMember } from '@/api/memberCenter'
|
|
|
|
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/')
|
|
|
|
// 响应式数据
|
|
const keyword = ref('')
|
|
const page = ref(1)
|
|
const pagesize = ref(6)
|
|
const current = ref(0)
|
|
|
|
const search = async (val) => {
|
|
page.value = 1
|
|
pagesize.value = 6
|
|
await getMemberCenter(currentTab.value, keyword.value, page.value, pagesize.value)
|
|
}
|
|
|
|
const clickIcon = async () => {
|
|
page.value = 1
|
|
pagesize.value = 6
|
|
await getMemberCenter(currentTab.value, keyword.value, page.value, pagesize.value)
|
|
}
|
|
|
|
const clear = async () => {
|
|
page.value = 1
|
|
pagesize.value = 6
|
|
await getMemberCenter(currentTab.value, keyword.value, page.value, pagesize.value)
|
|
}
|
|
|
|
const hyList = ref([])
|
|
|
|
const currentTab = ref('0')
|
|
|
|
// 选项卡配置(第一个必须是"全部")
|
|
const filterTabs = ref([
|
|
{
|
|
id: '',
|
|
title: '全部'
|
|
},
|
|
{
|
|
id: 1,
|
|
title: '个体私营企业'
|
|
},
|
|
{
|
|
id: 2,
|
|
title: '个体工商户'
|
|
},
|
|
{
|
|
id: 3,
|
|
title: '理事单位'
|
|
},
|
|
{
|
|
id: 4,
|
|
title: '商协会'
|
|
},
|
|
{
|
|
id: 5,
|
|
title: '自然人'
|
|
},
|
|
{
|
|
id: 6,
|
|
title: '其他单位'
|
|
}
|
|
])
|
|
|
|
const leftClick = () => {
|
|
if (uni.getStorageSync('access_token') === '') {
|
|
uni.showToast({
|
|
title: '请登录',
|
|
icon: 'fail'
|
|
})
|
|
} else {
|
|
// uni.navigateTo({
|
|
// url: '/pages/memberCenter/inpart'
|
|
// })
|
|
uni.navigateTo({
|
|
url: '/pages/memberCenter/memberRegistration'
|
|
})
|
|
}
|
|
}
|
|
|
|
// 处理选项卡选择
|
|
const handleTabSelect = async (tab) => {
|
|
page.value = 1
|
|
pagesize.value = 6
|
|
currentTab.value = tab.id
|
|
// 这里可以添加数据加载逻辑
|
|
await getMemberCenter(tab.id, '', page.value, pagesize.value)
|
|
}
|
|
|
|
const godetail = (id) => {
|
|
uni.navigateTo({
|
|
url: '/pages/index/shoppage/mediaDetail?id=' + id
|
|
})
|
|
}
|
|
|
|
const getbqlist = async () => {
|
|
filterTabs.value = [
|
|
{
|
|
id: '',
|
|
title: '全部'
|
|
}
|
|
]
|
|
// await memberTagList().then((res) => {
|
|
// filterTabs.value = [...filterTabs.value, ...res.data]
|
|
// console.log(res.data)
|
|
// })
|
|
}
|
|
|
|
const getMemberCenter = async (id, name, page, limit) => {
|
|
let params = {
|
|
identity: id,
|
|
keyword: name,
|
|
page: page,
|
|
limit: limit
|
|
}
|
|
await xhMember(params).then((res) => {
|
|
hyList.value = res.data.data
|
|
})
|
|
}
|
|
|
|
const onloadmore = async () => {
|
|
page.value++
|
|
let params = {
|
|
identity: currentTab.value.id,
|
|
keyword: keyword.value,
|
|
page: page.value,
|
|
limit: pagesize.value
|
|
}
|
|
await xhMember(params).then((res) => {
|
|
hyList.value = [...hyList.value, ...res.data.data]
|
|
})
|
|
}
|
|
|
|
onLoad(async () => {
|
|
// await getbqlist()
|
|
await getMemberCenter('', '', page.value, pagesize.value)
|
|
})
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.container {
|
|
background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%);
|
|
height: 100vh;
|
|
width: 100%;
|
|
overflow-y: auto;
|
|
|
|
.main {
|
|
width: 100%;
|
|
display: grid;
|
|
padding: 0 24rpx;
|
|
box-sizing: border-box;
|
|
overflow-y: hidden;
|
|
|
|
.hyCard {
|
|
margin-top: 24rpx;
|
|
width: 100%;
|
|
height: 160rpx;
|
|
border-radius: 24rpx;
|
|
background: #ffffff;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
box-sizing: border-box;
|
|
padding: 0 20rpx;
|
|
|
|
.left {
|
|
display: flex;
|
|
align-items: center;
|
|
box-sizing: border-box;
|
|
|
|
.textpart {
|
|
margin-left: 32rpx;
|
|
display: grid;
|
|
justify-content: left;
|
|
|
|
.namepart {
|
|
display: flex;
|
|
align-items: center;
|
|
box-sizing: border-box;
|
|
|
|
.name {
|
|
font-family: Source Han Sans;
|
|
font-size: 30rpx;
|
|
font-weight: 350;
|
|
line-height: 150%;
|
|
letter-spacing: normal;
|
|
/* 外部/Neutral/Black */
|
|
color: #0c092a;
|
|
}
|
|
|
|
.biaoq {
|
|
padding: 10rpx;
|
|
height: 40.5rpx;
|
|
border-radius: 0rpx 4rpx 20rpx 0rpx;
|
|
margin-left: 16rpx;
|
|
font-family: YouSheBiaoTiHei;
|
|
font-size: 24rpx;
|
|
font-weight: normal;
|
|
display: flex;
|
|
align-items: center;
|
|
letter-spacing: normal;
|
|
color: #ffffff;
|
|
text-shadow: 0rpx 4rpx 4rpx rgba(0, 0, 0, 0.2);
|
|
}
|
|
}
|
|
|
|
.company {
|
|
margin-top: 12rpx;
|
|
font-family: Source Han Sans;
|
|
font-size: 24rpx;
|
|
font-weight: 300;
|
|
line-height: 150%;
|
|
letter-spacing: normal;
|
|
/* 外部/Neutral/Grey 2 */
|
|
color: #858494;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
:deep(.u-icon__icon) {
|
|
color: #007fff !important;
|
|
}
|
|
}
|
|
|
|
.hdzq {
|
|
width: 182rpx;
|
|
height: 80rpx;
|
|
position: fixed;
|
|
right: 0;
|
|
top: 70%;
|
|
margin-right: -14rpx;
|
|
}
|
|
</style>
|
|
|