2023-12-25 17:56:30 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view style="background-color: #EBF4F7;letter-spacing: 1rpx;">
|
|
|
|
|
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="true" backgroundColor="#FFFFFF">
|
|
|
|
|
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
|
2024-05-14 10:20:09 +08:00
|
|
|
|
<!-- <view style="padding-left: 15rpx;" @click="goBack()">
|
2023-12-25 17:56:30 +08:00
|
|
|
|
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
|
2024-05-14 10:20:09 +08:00
|
|
|
|
</view> -->
|
2023-12-25 17:56:30 +08:00
|
|
|
|
<view class="tn-margin-top"
|
|
|
|
|
style=";text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
|
|
|
|
|
|
|
|
|
|
<tn-tabs :list="[{name:'会员名录'}]" :current="topCurrent" activeColor="#000" :bold="false"
|
|
|
|
|
:fontSize="36"></tn-tabs>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</tn-nav-bar>
|
|
|
|
|
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
|
2024-05-08 18:14:41 +08:00
|
|
|
|
<view class="tn-flex tn-flex-col-center tn-flex-row-between" @click="selectShow= true"
|
|
|
|
|
style="padding: 30rpx;">
|
2023-12-25 17:56:30 +08:00
|
|
|
|
<view>
|
2024-04-24 17:34:38 +08:00
|
|
|
|
<text>{{HomeTitle}}</text>
|
2023-12-25 17:56:30 +08:00
|
|
|
|
<text class="tn-icon-down-triangle"></text>
|
|
|
|
|
</view>
|
|
|
|
|
<view>
|
|
|
|
|
<text>筛选</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="tn-classify__container">
|
|
|
|
|
<view class="tn-classify__container__wrap tn-flex tn-flex-nowrap tn-flex-row-around"
|
|
|
|
|
style="height: 100vh;background-color: #EBF4F7;">
|
|
|
|
|
<!-- 左边容器 -->
|
|
|
|
|
<scroll-view class="tn-classify__left-box left-width" scroll-y scroll-with-animation>
|
2024-04-24 17:34:38 +08:00
|
|
|
|
<view v-for="(item, index) in industry_list" :key="index" :id="`tabbar_item_${index}`"
|
2023-12-25 17:56:30 +08:00
|
|
|
|
style="padding-left: 20rpx;" class="tn-classify__tabbar__item tn-flex tn-flex-col-center"
|
|
|
|
|
:class="[tabbarItemClass(index)]" @tap.stop="clickClassifyNav(index)">
|
2024-04-24 17:34:38 +08:00
|
|
|
|
<view class="tn-classify__tabbar__item__title">{{ item.industry_name }}</view>
|
2023-12-25 17:56:30 +08:00
|
|
|
|
</view>
|
|
|
|
|
</scroll-view>
|
|
|
|
|
|
|
|
|
|
<!-- 右边容器 -->
|
2024-05-21 18:16:48 +08:00
|
|
|
|
<scroll-view class="tn-classify__right-box" @scroll="getScroll" :scroll-top="top" scroll-y
|
|
|
|
|
style="width: 72%">
|
2023-12-25 17:56:30 +08:00
|
|
|
|
<block>
|
|
|
|
|
<view class="tn-classify__content">
|
|
|
|
|
<!-- 分类内容子栏目 -->
|
|
|
|
|
<view class="tn-classify__content__sub-classify__content ">
|
|
|
|
|
<view v-for="(item,index) in list" :key="index">
|
2024-05-08 18:14:41 +08:00
|
|
|
|
<view v-if="item.neirong"
|
2023-12-25 17:56:30 +08:00
|
|
|
|
style="font-weight: 300;;background-color: #EBF4F7;color:#4AA2EF;width: 100%;height: 60rpx;line-height: 60rpx;text-align: center;">
|
2024-04-24 17:34:38 +08:00
|
|
|
|
{{item.position_name}}
|
2023-12-25 17:56:30 +08:00
|
|
|
|
</view>
|
2024-05-08 18:14:41 +08:00
|
|
|
|
<view v-if="item.neirong" v-for="(v,k) in item.neirong"
|
|
|
|
|
@click="tn('/pages/index/my_card?id='+v.member_id)"
|
2023-12-25 17:56:30 +08:00
|
|
|
|
class="tn-classify__content__sub-classify__content__item tn-flex tn-flex-center tn-flex-col-center">
|
|
|
|
|
<!-- 标题,有需要可以显示出来 -->
|
|
|
|
|
<view style="width: 100rpx;height: 100rpx">
|
2024-04-24 17:34:38 +08:00
|
|
|
|
<image :src="apiImgUrl+v.photo_image"
|
2023-12-25 17:56:30 +08:00
|
|
|
|
style="width: 100rpx;height: 100rpx;border-radius:50%;">
|
|
|
|
|
</image>
|
|
|
|
|
</view>
|
|
|
|
|
<view style="margin-left: 20rpx;">
|
|
|
|
|
<view style="font-size: 28rpx;">
|
2024-04-24 17:34:38 +08:00
|
|
|
|
<text>{{v.nikename}}</text>
|
|
|
|
|
<text style="margin-left: 50rpx;">{{v.nation}}</text>
|
2023-12-25 17:56:30 +08:00
|
|
|
|
</view>
|
2024-05-08 18:14:41 +08:00
|
|
|
|
<view class="tn-text-ellipsis-2"
|
|
|
|
|
style="font-size: 24rpx;margin-top: 10rpx;">
|
2024-05-21 18:16:48 +08:00
|
|
|
|
<text>{{v.enterprise_name==null?'':v.enterprise_name}}</text>
|
2023-12-25 17:56:30 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-05-08 18:14:41 +08:00
|
|
|
|
<view v-if="list.length==0" style="text-align: center;padding: 20rpx">
|
|
|
|
|
暂无
|
|
|
|
|
</view>
|
2023-12-25 17:56:30 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</block>
|
|
|
|
|
</scroll-view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-05-08 18:14:41 +08:00
|
|
|
|
<!-- <view @click="tn('/pages/index/apply_in')" style="line-height: 40rpx;text-align: center;position: fixed;bottom:15%;right: 20rpx;width: 120rpx;height: 120rpx;border-radius: 50%;background: linear-gradient(270deg, #EE7E45, #EE9657);-->
|
|
|
|
|
<!--box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(12,0,5,0.2);">-->
|
|
|
|
|
<!-- <view style="color: #fff;letter-spacing: 2rpx;padding: 20rpx;font-size: 32rpx;">申请入会-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- </view>-->
|
2024-05-21 18:16:48 +08:00
|
|
|
|
<tn-select :safeAreaInsetBottom="true" v-model="selectShow" mode="single" :list="selectList"
|
|
|
|
|
@confirm="confirm"></tn-select>
|
2023-12-25 17:56:30 +08:00
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2024-05-08 18:14:41 +08:00
|
|
|
|
import {
|
|
|
|
|
addressList,
|
|
|
|
|
associationIndex,
|
|
|
|
|
newIndustryIndex
|
|
|
|
|
} from '@/util/api.js';
|
|
|
|
|
import store from "@/store";
|
2023-12-25 17:56:30 +08:00
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
2024-04-24 17:34:38 +08:00
|
|
|
|
list: [],
|
2023-12-25 17:56:30 +08:00
|
|
|
|
topCurrent: 0,
|
|
|
|
|
tabbarIndex: 0,
|
|
|
|
|
// 分类菜单item的信息
|
|
|
|
|
tabbarItemInfo: [],
|
|
|
|
|
// scrollView的top值
|
|
|
|
|
scrollViewBasicTop: 0,
|
|
|
|
|
// scrollView的高度
|
|
|
|
|
scrollViewHeight: 0,
|
|
|
|
|
// 左边scrollView的滚动高度
|
|
|
|
|
leftScrollViewTop: 0,
|
|
|
|
|
// 右边scrollView的滚动高度
|
|
|
|
|
rightScrollViewTop: 0,
|
|
|
|
|
// 当前选中的tabbar序号
|
2024-04-24 17:34:38 +08:00
|
|
|
|
currentTabbarIndex: 0,
|
2024-05-08 18:14:41 +08:00
|
|
|
|
apiImgUrl: this.$store.state.imgUrl,
|
|
|
|
|
industry_list: [],
|
|
|
|
|
leftId: 0,
|
|
|
|
|
selectShow: false,
|
|
|
|
|
HomeTitle: '',
|
|
|
|
|
selectList: [],
|
2024-05-21 18:16:48 +08:00
|
|
|
|
gid: store.state.Gid,
|
|
|
|
|
top: 0,
|
2023-12-25 17:56:30 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
tabbarItemClass() {
|
|
|
|
|
return index => {
|
|
|
|
|
if (index === this.currentTabbarIndex) {
|
|
|
|
|
return 'tn-classify__tabbar__item--active tn-bg-white'
|
|
|
|
|
} else {
|
|
|
|
|
let clazz = ''
|
|
|
|
|
if (this.currentTabbarIndex > 0 && index === this.currentTabbarIndex - 1) {
|
|
|
|
|
clazz += ' tn-classify__tabbar__item--active--prev'
|
|
|
|
|
}
|
2024-05-08 18:14:41 +08:00
|
|
|
|
if (this.currentTabbarIndex < this.industry_list.length && index === this.currentTabbarIndex +
|
|
|
|
|
1) {
|
2023-12-25 17:56:30 +08:00
|
|
|
|
clazz += ' tn-classify__tabbar__item--active--next'
|
|
|
|
|
}
|
|
|
|
|
return clazz
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-05-08 18:14:41 +08:00
|
|
|
|
onLoad(d) {
|
|
|
|
|
console.log(d.id);
|
|
|
|
|
if (typeof(d.id) != 'undefined') {
|
|
|
|
|
this.gid = d.id;
|
|
|
|
|
}
|
|
|
|
|
this.getIndustryList();
|
|
|
|
|
this.getAssociationIndex();
|
|
|
|
|
},
|
2023-12-25 17:56:30 +08:00
|
|
|
|
methods: {
|
2024-05-21 18:16:48 +08:00
|
|
|
|
getScroll(d) {
|
|
|
|
|
this.top = d.scrollTop;
|
|
|
|
|
},
|
2024-05-14 10:20:09 +08:00
|
|
|
|
onload() {
|
|
|
|
|
this.gid = store.state.Gid;
|
|
|
|
|
this.getIndustryList();
|
|
|
|
|
this.getAssociationIndex();
|
|
|
|
|
},
|
2024-05-08 18:14:41 +08:00
|
|
|
|
confirm(d) {
|
|
|
|
|
|
|
|
|
|
var info = d[0];
|
|
|
|
|
this.list = [];
|
|
|
|
|
this.gid = info.value;
|
|
|
|
|
this.getAssociationIndex();
|
|
|
|
|
this.getIndustryList();
|
|
|
|
|
},
|
|
|
|
|
getAssociationIndex() {
|
|
|
|
|
associationIndex()
|
|
|
|
|
.then(res => {
|
|
|
|
|
console.log(res);
|
|
|
|
|
if (res.code == 1) {
|
|
|
|
|
var key = res.data;
|
|
|
|
|
const transformedSelectList = key.map(item => ({
|
|
|
|
|
value: item.id,
|
|
|
|
|
label: item.association_name
|
|
|
|
|
}));
|
|
|
|
|
const foundNumber = transformedSelectList.find((element) => element.value == this.gid);
|
|
|
|
|
this.HomeTitle = foundNumber.label;
|
|
|
|
|
this.selectList = transformedSelectList;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: error,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 2000
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getIndustryList() {
|
|
|
|
|
newIndustryIndex({
|
|
|
|
|
association_id: this.gid
|
|
|
|
|
})
|
|
|
|
|
.then(res => {
|
|
|
|
|
console.log(res);
|
|
|
|
|
if (res.code == 1) {
|
|
|
|
|
this.industry_list = res.data;
|
2024-05-21 18:16:48 +08:00
|
|
|
|
this.industry_list.push({
|
|
|
|
|
id: 0,
|
|
|
|
|
industry_name: '其他行业'
|
|
|
|
|
});
|
2024-05-08 18:14:41 +08:00
|
|
|
|
this.leftId = res.data[0].id;
|
|
|
|
|
this.getAddressList();
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: error,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 2000
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getAddressList() {
|
|
|
|
|
addressList({
|
|
|
|
|
association_id: this.gid,
|
|
|
|
|
industry_id: this.leftId
|
|
|
|
|
})
|
|
|
|
|
.then(res => {
|
|
|
|
|
console.log(res);
|
|
|
|
|
if (res.code == 1) {
|
|
|
|
|
this.list = res.data.ret;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: error,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 2000
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
2023-12-25 17:56:30 +08:00
|
|
|
|
clickClassifyNav(index) {
|
2024-04-24 17:34:38 +08:00
|
|
|
|
this.currentTabbarIndex = index;
|
2024-05-08 18:14:41 +08:00
|
|
|
|
this.leftId = this.industry_list[index].id;
|
|
|
|
|
this.list = [];
|
2024-05-21 18:16:48 +08:00
|
|
|
|
this.top = this.randomBetween();
|
2024-05-08 18:14:41 +08:00
|
|
|
|
this.getAddressList();
|
2023-12-25 17:56:30 +08:00
|
|
|
|
//this.handleLeftScrollView(index)
|
|
|
|
|
//this.switchClassifyContent();
|
|
|
|
|
},
|
2024-05-21 18:16:48 +08:00
|
|
|
|
randomBetween() {
|
|
|
|
|
let baseRandom = Math.random() * (0.99999 - 0.00001) + 0.00001;
|
|
|
|
|
return baseRandom.toFixed(5); //
|
|
|
|
|
},
|
2023-12-25 17:56:30 +08:00
|
|
|
|
// 点击分类后,处理scrollView滚动到居中位置
|
|
|
|
|
handleLeftScrollView(index) {
|
|
|
|
|
const tabbarItemTop = this.tabbarItemInfo[index].top - this.scrollViewBasicTop
|
|
|
|
|
if (tabbarItemTop > this.scrollViewHeight / 2) {
|
|
|
|
|
this.leftScrollViewTop = tabbarItemTop - (this.scrollViewHeight / 2) + this.tabbarItemInfo[index]
|
|
|
|
|
.height
|
|
|
|
|
} else {
|
|
|
|
|
this.leftScrollViewTop = 0
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 切换对应分类的数据
|
|
|
|
|
switchClassifyContent() {
|
|
|
|
|
this.rightScrollViewTop = 1
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.rightScrollViewTop = 0
|
|
|
|
|
})
|
|
|
|
|
//this.classifyContent.subClassify[0].title = this.tabbar[this.currentTabbarIndex]
|
|
|
|
|
},
|
|
|
|
|
tn(url) {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: url
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
goBack() {
|
|
|
|
|
if (getCurrentPages().length > 1) {
|
|
|
|
|
uni.navigateBack()
|
|
|
|
|
} else {
|
|
|
|
|
uni.redirectTo({
|
|
|
|
|
url: '/pages/index/index'
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
/* 自定义导航栏内容 start */
|
|
|
|
|
.custom-nav {
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
|
|
|
|
&__back {
|
|
|
|
|
margin: auto 30rpx;
|
|
|
|
|
margin-right: 10rpx;
|
|
|
|
|
flex-basis: 5%;
|
|
|
|
|
width: 100rpx;
|
|
|
|
|
position: absolute;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.left-width {
|
2024-05-21 18:16:48 +08:00
|
|
|
|
flex-basis: 28%;
|
2023-12-25 17:56:30 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 自定义导航栏内容 end */
|
|
|
|
|
.tn-classify {
|
|
|
|
|
|
|
|
|
|
/* 搜索栏 start */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 搜索栏 end */
|
|
|
|
|
|
|
|
|
|
/* 分类列表和内容 strat */
|
|
|
|
|
&__container {}
|
|
|
|
|
|
|
|
|
|
&__left-box {}
|
|
|
|
|
|
|
|
|
|
&__right-box {
|
|
|
|
|
background-color: #FFFFFF;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 分类列表和内容 end */
|
|
|
|
|
|
|
|
|
|
/* 侧边导航 start */
|
|
|
|
|
&__tabbar {
|
|
|
|
|
&__item {
|
|
|
|
|
height: 90rpx;
|
|
|
|
|
|
|
|
|
|
&:first-child {
|
|
|
|
|
border-top-right-radius: 0rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:last-child {
|
|
|
|
|
border-bottom-right-radius: 0rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&--active {
|
|
|
|
|
background-color: #FFFFFF;
|
|
|
|
|
position: relative;
|
|
|
|
|
// font-weight: bold;
|
|
|
|
|
color: #4AA2EF;
|
|
|
|
|
|
|
|
|
|
&--prev {
|
|
|
|
|
border-bottom-right-radius: 26rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&--next {
|
|
|
|
|
border-top-right-radius: 26rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 侧边导航 end */
|
|
|
|
|
|
|
|
|
|
/* 分类内容 start */
|
|
|
|
|
&__content {
|
|
|
|
|
margin: 18rpx;
|
|
|
|
|
|
|
|
|
|
/* 推荐商品 start */
|
|
|
|
|
&__recomm {
|
|
|
|
|
margin-bottom: 40rpx;
|
|
|
|
|
|
|
|
|
|
&__swiper {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 推荐商品 end */
|
|
|
|
|
|
|
|
|
|
/* 子栏目 start */
|
|
|
|
|
&__sub-classify {
|
|
|
|
|
margin-bottom: 20rpx;
|
|
|
|
|
padding-bottom: 40rpx;
|
|
|
|
|
|
|
|
|
|
&--title {
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
margin-bottom: 18rpx;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&__content {
|
|
|
|
|
|
|
|
|
|
&__item {
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 子栏目 end */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 分类内容 end */
|
|
|
|
|
}
|
2024-05-08 18:14:41 +08:00
|
|
|
|
</style>
|