YingXingAI/pages/AlumniCircle/alumnus/alumnus.vue

1282 lines
29 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<view class="page-title">校友圈</view>
<view class="content-top">
<!-- <u-navbar :is-back="false" title="" :border-bottom="false">
<view class="slot-wrap">
<u-search :input-style="searchStyle" placeholder="搜索资讯或需求" search-icon="search" :show-action="true"
action-text="搜索" v-model="Title" @custom="onSearch">
</u-search>
</view>
</u-navbar> -->
<drag-button :isDock="true" :current='current' :existTabBar="true" @reload='reload' />
<!-- <u-tabs-swiper ref="uTabs" :list="navList" :current="current" :is-scroll="false"
:active-item-style="{ color: '#3CB5FB', fontSize: '0.15rem' }" :bar-style="{ background: '#3CB5FB' }"
@change="tabsChange"></u-tabs-swiper> -->
<view class="tabs-wrap">
<view class="tabs-box">
<view class="tabs-item" :class="{ 'tabs-item-active': current == item.type }"
v-for="(item, index) in navList" :key="index" @click="tabsChange(item.type)">
<text>{{ item.name }}</text>
</view>
</view>
<view class="search-box" @click="searchClick">
<image src="/static/common/img/search.svg" style="width: 40rpx;height: 40rpx;"></image>
</view>
<view class="search-box" @click="btnClick"
v-if="(current == 0 && vuex_user.isAttestationGLY && vuex_user.isAttestationJZG && (vuex_user.isAttestationXY || true)) || (current == 1 && (vuex_user.isAttestationXY || true))">
<image src="/static/common/img/add.svg" style="width: 50rpx;height: 50rpx;"></image>
</view>
</view>
<view class="flex-row section_5" :class="{ NavShow: NavShow }" v-if="current == 1">
<text :class="{ 'text_3': currentIdx === index }" v-for="(item, index) in sysList" :key="index"
@click="oncurrent(index, item)">{{ item }}</text>
</view>
</view>
<swiper :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish"
style="height: calc(100vh - 410rpx); width: 100%">
<swiper-item class="swiper-item" v-for="(item, index) in navList" :key="index"
style="height: calc(100vh - 410rpx); width: 100%">
<scroll-view scroll-y="true" style=" width: 100%"
:style="{ height: vuex_iPhone ? 'calc(100vh - 410rpx)' : 'calc(100vh - 1.5rem)' }"
@scrolltolower="onreachBottom" scroll-with-animation='true'
:scroll-top='index == 0 ? isScroll : isScroll2' @scroll='scroll' :data-index='index'>
<view class="flex-col group" v-if="index == 0">
<view class="flex-col" v-if="(state === false) && false">
<view class="flex-col group_1"> </view>
<view class="flex-col group_2">
<view class="flex-col section_4">
<view class="flex-row section_5">
<text class="text_3">待认证,请先完成认证~</text>
<text class="text_4" @click="onAuto">去认证 >></text>
</view>
</view>
<view class="flex-col group_3">
<view class="flex-col">
<image src="/static/common/img/16535374500948048054.png" class="image_1" />
</view>
<text class="text_5">暂无数据,请尽快认证补充资料~</text>
</view>
</view>
</view>
<template v-if="(state === true) && true">
<!-- <view class="flex-col xyzz" v-if='Alumn.length'>
<view class="flex-col group_3">
<view class="flex-col">
<view class="flex-row group_4">
<view>
<image src="/static/common/img/16486275579950463634.png"
class="image_2" />
<text class="text_3">校友找找</text>
</view>
<text style='float:right;' @click='toAlumni()'>更多</text>
</view>
<view class="group_23">
<view class="flex-row horiz-list">
<view class="flex-col items-center list-item_2" :key="idx"
v-for="(item, idx) in Alumn" v-if='idx < 5'
@click='toDetil(item.userId)'>
<u-avatar :src="$u.http.config.imgUrl + item.imageUrl"
class="image_3"></u-avatar>
<text class="text_4">{{ handleStr(item) }}</text>
</view>
</view>
</view>
</view>
</view>
</view> -->
<!-- <view class="info-item"> -->
<information @clickImg="clickImg" @onStar="onStar" :list="shoolList" type="0"
:bottom="bottomState2" :borderRadius="true"></information>
<!-- </view> -->
</template>
</view>
<view class="flex-col group" v-if="index == 1">
<view class="flex-col" v-if="(state === false) && false">
<view class="flex-col group_1"> </view>
<view class="flex-col group_2">
<view class="flex-col section_4">
<view class="flex-row section_5">
<text class="text_3">待认证,请先完成认证~</text>
<text class="text_4" @click="onAuto">去认证 >></text>
</view>
</view>
<view class="flex-col group_3">
<view class="flex-col">
<image src="/static/common/img/16535374500948048054.png" class="image_1" />
</view>
<text class="text_5">暂无数据,请尽快认证补充资料~</text>
</view>
</view>
</view>
<template v-if="(state === true) && true">
<view class="flex-col group_18">
<view class="flex-col group_17">
<u-sticky offset-top="85" @fixed="onFixed"> </u-sticky>
<u-sticky offset-top="84" @unfixed="onFixed"> </u-sticky>
<!-- <view class="info-item"> -->
<information @onStar="onStar" @clickImg="clickImg" :list="helpList" type="1"
:bottom="bottomState" @onSign="onSign" :borderRadius="true">
</information>
<!-- </view> -->
</view>
</view>
</template>
</view>
</scroll-view>
</swiper-item>
</swiper>
<u-toast ref="uToast" />
<u-tabbar :list="vuex_tabbar" :class="{ phone: vuex_iPhone }" :active-color="vuex_tabbar_config.activeColor"
:inactive-color="vuex_tabbar_config.inactiveColor"></u-tabbar>
<!-- <u-back-top :scroll-top="scrollTop"></u-back-top> -->
</view>
</template>
<script>
import dragButton from '../../../components/drag-button';
import information from "../../../components/Information.vue";
export default {
data() {
return {
scrollTop: 0,
isScroll: 0,
isScroll2: 0,
// 状态
state: false,
NavShow: false,
searchStyle: {
width: "100%",
},
sysList: ['全部', '企业招聘', '租房', '生活', '找工作', '其他'],
tabbar: "",
swiperCurrent: 0,
current: 0,
navList: [
{
name: "学校资讯",
type: 0
},
{
name: "校友帮帮",
type: 1
}
],
PageIndex: 1,
PageSize: 10,
PageIndex2: 1,
PageSize2: 10,
Keyword: "",
DateBegin: "",
DateEnd: "",
SkipCount: "",
helpList: [],
shoolList: [],
Alumn: [],
total1: 0,
total2: 0,
currentIdx: 0,
Keyword: '全部',
Title: "",
isonShow: true,
isLoad: false,
bottomState: false,
bottomState2: false,
isShool: '',
};
},
watch: {
isShool() {
this.bottomState = false,
this.bottomState2 = false,
this.helpList = []
this.shoolList = []
this.getList();
},
current() {
//改成切换就刷新
//if ((this.helpList.length == 0 && this.current == 1) || (this.shoolList.length == 0 && this.current == 0)) {
//}
this.getList();
},
currentIdx() {
this.getList();
}
},
onLoad(e) {
console.log('%c%s', 'color:red', 'onLoad--校友圈')
this.getList();
// this.getAlumnSearch();
},
onShow(e) {
//从我的界面点击回来
uni.$off('circle')
uni.$on('circle', () => {
console.log('circle')
// 获取当前页面的路径
let pages = getCurrentPages();
let currentPage = pages[pages.length - 1];
let url = '/' + currentPage.route;
uni.reLaunch({ url: url, });
})
// console.log('%c%s', 'color:red', 'onShow--校友圈')
// console.log(this.isonShow, 'this.isonShow--')
if (this.isonShow) {
if (uni.getStorageSync('Tag')) {
const value = uni.getStorageSync('Tag');
// this.current = 0
// this.swiperCurrent = 0
this.current = 1
this.swiperCurrent = 1
let arr = value.split(',')
let i = this.sysList.indexOf(arr[0])
this.oncurrent(i, arr[0])
uni.removeStorageSync('Tag');
} else {
// this.getList()
}
this.$u.api.getUser()
this.getList();
this.getAlumnSearch()
// this.getShoolList()
// this.state = this.vuex_user.isAttestationXY || this.vuex_user.isAttestationJZG;
this.state = true;
}
//this.isShool = this.vuex_user.schoolId
this.getSchool()
uni.$on('helpAdd', () => {
console.log('helpAdd回调')
// this.gethelpList();
this.reload();
})
},
methods: {
handleStr(item) {
if (item.name?.length && item.name?.length > 3) {
return item.name?.slice(0, 3) + "..."
}
return item.name
},
async getSchool() {
const req = {
userId: this.vuex_user.id,
};
const res = await this.$u.apiList.MyEducations(req);
// console.log(res, 'res---');
const findRow = res.find(x => x.isSelected === true)
if (findRow) {
this.isShool = findRow.schoolId
}
// console.log(this.isShool, 'this.isShool--')
},
// 刷新
reload() {
this.getList()
},
// 获取笑友找找
getAlumnSearch() {
this.$u.api.getAlumnSearch().then(res => {
this.Alumn = res
})
},
oncurrent(index, item) {
if (this.Keyword != item) {
this.helpList = []
this.Keyword = item
this.currentIdx = index
this.Title = ""
this.PageIndex = 1
this.PageSize = 10
// if (!uni.getStorageSync('Tag')) {
// console.log('没有缓存')
// this.gethelpList()
// }
}
},
onSearch(val) {
this.Title = val
if (this.current == 0) {
this.shoolList = []
this.getShoolList()
} else {
this.helpList = []
this.gethelpList()
}
},
scroll(e) {
this.scrollTop = e.detail.scrollTop;
},
onFixed() {
this.NavShow = !this.NavShow;
},
// 获取校友帮帮列表
gethelpList() {
this.isLoad = true
const data = {
PageIndex: this.PageIndex,
PageSize: this.PageSize,
Keyword: this.Keyword,
// DateBegin:'',
// DateEnd:'',
// SkipCount:1,
// key:,
};
if (this.Keyword != '全部') {
data.Keyword = this.Keyword
}
if (this.Title) {
// this.helpList = []
data.Title = this.Title
}
this.$u.api.GetHelpList(data).then((res) => {
console.log(res, 'res--帮帮列表')
this.isLoad = false
this.total2 = res.total
if (this.helpList.length >= this.total2) {
this.bottomState = true;
return
}
if (this.total2 == res.items.length) {
this.bottomState = true;
}
this.helpList.push(...res.items)
});
},
// 获取学校资讯列表
getShoolList() {
const data = {
PageIndex: this.PageIndex2,
PageSize: this.PageSize2,
// Keyword:this.Keyword,
// DateBegin:'',
// DateEnd:'',
// SkipCount:1,
// key:,
};
if (this.Title) {
// this.shoolList = []
data.Title = this.Title
}
this.$u.api.GetSchoolList(data).then((res) => {
this.total1 = res.total
if (this.shoolList.length >= this.total1) {
this.bottomState2 = true;
return
}
if (this.total1 == res.items.length) {
this.bottomState2 = true;
}
this.shoolList.push(...res.items)
});
},
getList() {
if (this.current == 0) {
this.shoolList = []
this.PageIndex2 = 1
this.PageSize2 = 10
this.getShoolList();
} else {
this.helpList = []
this.PageIndex = 1
this.PageSize = 10
if (!this.isLoad) {
this.gethelpList();
}
}
},
// tabs通知swiper切换
tabsChange(index) {
this.swiperCurrent = index;
this.current = index
this.Title = ""
},
// swiper-item左右移动通知tabs的滑块跟随移动
transition(e) {
let dx = e.detail.dx;
// this.$refs.uTabs.setDx(dx);
},
// 由于swiper的内部机制问速切题快换swiper不会触发dx的连续变化需要在结束时重置状态
// swiper滑动结束分别设置tabs和swiper的状态
animationfinish(e) {
let current = e.detail.current;
console.log(current, 'current--');
// this.$refs.uTabs.setFinishCurrent(current);
this.swiperCurrent = current;
this.current = current;
},
// scroll-view到底部加载更多
onreachBottom() {
let num = this.PageIndex * this.PageSize
let num1 = this.PageIndex2 * this.PageSize2
if (this.current == 0) {
if (num1 >= this.total1) {
this.bottomState2 = true;
return
}
this.PageIndex2++;
this.getShoolList();
} else {
if (num >= this.total2) {
this.bottomState = true;
return
}
this.PageIndex++;
this.gethelpList();
}
},
onAuto() {
this.$u.route({
url: "/pages/my/ShoolList/ShoolList"
})
},
toAlumni(data) {
this.$u.route({
url: "/pages/AlumniCircle/Alumni/Alumni",
})
},
toDetil(id) {
this.$u.route({
url: '/pages/AlumniCircle/userDetail/userDetail?id=' + id
})
},
//收藏
async onStar(val) {
console.log('收藏--');
// 判断当前学校是否认证,未认证不可收藏
const req = {
userId: this.vuex_user.id,
}
const res = await this.$u.apiList.MyPage(req)
console.log(JSON.parse(JSON.stringify(res)), 'res')
const edcationList = res.edcationList
if (!edcationList.length) {
return this.$refs.uToast.show({
title: '认证后可进行收藏操作',
type: 'none',
})
}
const findRow = edcationList.find(x => x.isSelected === true);
if ([0, 2].includes(findRow.certifyStatus)) {
return this.$refs.uToast.show({
title: '认证后可进行收藏操作',
type: 'none',
})
}
const data = {
id: val.id,
type: val.type
}
this.$u.apiList.LikeCollect(data)
.then((res) => {
if (val.isCllect) {
if (val.collectCount > 0) {
val.isCllect = false
val.collectCount--
this.$refs.uToast.show({
title: '取消收藏成功',
type: 'success',
})
}
} else {
val.isCllect = true
val.collectCount++
this.$refs.uToast.show({
title: '收藏成功',
type: 'success',
})
}
})
.catch((err) => {
this.$refs.uToast.show({
title: '收藏失败',
type: 'error',
})
})
},
//标签跳转
onSign(v) {
let i = this.sysList.indexOf(v)
this.oncurrent(i, v)
},
// 搜索校友圈
searchClick() {
this.$u.route({
url: "pages/AlumniCircle/searchAlumnus/searchAlumnus",
params: {
type: this.current, //0-学校咨询 1-校友帮帮
class: this.Keyword, //分类:全部 企业招聘 租房等
},
})
},
//发布资讯文章
async btnClick() {
// 判断当前学校是否认证,未认证不可发布
const req = {
userId: this.vuex_user.id,
}
const res = await this.$u.apiList.MyPage(req)
console.log(JSON.parse(JSON.stringify(res)), 'res')
const edcationList = res.edcationList
if (!edcationList.length) {
return this.$refs.uToast.show({
title: '认证后可进行发布操作',
type: 'none',
})
}
const findRow = edcationList.find(x => x.isSelected === true);
if ([0, 2].includes(findRow.certifyStatus)) {
return this.$refs.uToast.show({
title: '认证后可进行发布操作',
type: 'none',
})
}
this.$u.route({
url: "pages/AlumniCircle/release/release",
params: {
Id: this.isShool,
type: this.current,
url: true
},
})
},
//预览图片
clickImg(item) {
this.isonShow = false
item = this.$u.http.config.imgUrl + item
var images = [];
images.push(item);
uni.previewImage({ // 图片路径必须是一个数组 => ['']
current: 0,
urls: images,
});
}
},
components: {
information: information,
dragButton: dragButton
},
};
</script>
<style lang="scss" scoped>
::v-deep .u-tabs-scorll-flex {
width: 56%;
}
::v-deep .slot-wrap {
margin: 0 0.2rem;
}
::v-deep .u-slot-content {
display: block;
}
.group {
flex: 1 1 auto;
overflow-y: auto;
.group_1 {
padding-bottom: 0.015rem;
position: relative;
.section_1 {
background-color: rgb(255, 255, 255);
.section_2 {
padding: 0.13rem 0.23rem 0.085rem;
background-color: rgb(255, 255, 255);
box-shadow: 0.0002rem 0.005rem rgba(0, 0, 0, 0.03);
.text_1 {
color: rgb(2, 2, 2);
font-size: 0.15rem;
line-height: 0.14rem;
white-space: nowrap;
}
.text_2 {
margin-left: 0.47rem;
color: rgb(160, 162, 172);
font-size: 0.15rem;
line-height: 0.14rem;
white-space: nowrap;
}
}
}
.section_3 {
background-color: rgb(46, 155, 255);
border-radius: 0.015rem;
height: 0.035rem;
position: absolute;
left: 0.35rem;
right: 3.15rem;
bottom: 0;
}
}
.group_2 {
padding-bottom: 1.03rem;
.section_4 {
padding: 0.33rem 0 0.34rem;
background-color: rgb(255, 255, 255);
.section_5 {
margin-left: 0.18rem;
margin-right: 0.24rem;
padding: 0.2rem 0.18rem 0.18rem 0.24rem;
background-color: rgb(246, 247, 250);
.text_3 {
color: rgb(160, 162, 172);
font-size: 0.15rem;
line-height: 0.15rem;
letter-spacing: 0.015rem;
white-space: nowrap;
}
.text_4 {
margin-left: 0.05rem;
color: rgb(46, 155, 255);
font-size: 0.15rem;
line-height: 0.15rem;
white-space: nowrap;
text-transform: uppercase;
}
}
}
.group_3 {
margin-top: 0.76rem;
padding-left: 0.8rem;
padding-right: 0.69rem;
color: rgb(163, 182, 202);
font-size: 0.15rem;
line-height: 0.15rem;
white-space: nowrap;
.text_5 {
margin-left: 0.02rem;
margin-top: 0.13rem;
}
.image_1 {
margin-right: 0.14rem;
width: 2.12rem;
height: 1.89rem;
}
}
}
.info-item {
padding: 24rpx;
}
}
.xyzz {
margin-bottom: 0.05rem;
.group_3 {
padding: 0.1rem 0 0.1rem;
overflow-x: hidden;
background: #fff;
// border-top: 1px solid #ccc;
.group_4 {
justify-content: space-between;
width: 85%;
margin: 0 auto;
>text {
color: #2e9bff;
font-size: 0.15rem;
line-height: 0.16rem;
white-space: nowrap;
}
.image_2 {
flex-shrink: 0;
width: 0.17rem;
height: 0.17rem;
vertical-align: middle;
}
.text_3 {
margin-left: 0.05rem;
color: rgb(2, 2, 2);
font-size: 0.15rem;
line-height: 0.15rem;
letter-spacing: 0.015rem;
vertical-align: middle;
}
}
.group_23 {
width: 100vw;
overflow-x: scroll;
margin-top: 0.13rem;
.horiz-list {
overflow-x: auto;
padding: 0 0.15rem;
.list-item_2 {
padding: 0.05rem 0 0.065rem;
flex-shrink: 0;
width: 20%;
.image_3 {
border-radius: 50%;
width: 0.4rem;
height: 0.4rem;
box-shadow: 0 0 1px #6f6f6f;
}
.text_4 {
margin-top: 0.15rem;
color: rgb(2, 2, 2);
font-size: 0.12rem;
line-height: 0.12rem;
letter-spacing: 0.012rem;
}
}
}
}
}
}
.xyList {
.list {
margin-top: 0.055rem;
padding-bottom: 0.06rem;
.list-item_1 {
padding: 0.19rem 0 0.07rem;
background-color: rgb(255, 255, 255);
margin-bottom: 0.1rem;
.group_11 {
padding: 0 0.16rem;
.image_9 {
margin-bottom: 0.015rem;
width: 0.3rem;
height: 0.3rem;
}
.group_23 {
margin-left: 0.065rem;
margin-top: 0.02rem;
flex: 1 1 auto;
.text_10 {
color: rgb(2, 2, 2);
font-size: 0.14rem;
line-height: 0.13rem;
}
.text_11 {
margin-top: 0.055rem;
color: rgb(184, 184, 184);
font-size: 0.12rem;
line-height: 0.12rem;
}
}
}
.text_12 {
margin-top: 0.17rem;
align-self: center;
color: rgb(55, 59, 72);
font-size: 0.18rem;
line-height: 0.17rem;
}
.text_13 {
margin: 0.12rem 0.15rem 0 0.17rem;
color: rgb(73, 76, 87);
font-size: 0.15rem;
line-height: 0.24rem;
}
.equal-division {
margin-top: 0.035rem;
padding: 0.05rem 0.15rem;
.tool {
margin-top: 0.3rem;
.group_8 {
padding-left: 0.26rem;
padding-right: 0.24rem;
flex: 1 1 1.11rem;
.image_12 {
width: 0.22rem;
height: 0.21rem;
}
.text_17 {
margin-left: 0.08rem;
align-self: center;
color: rgb(180, 182, 189);
font-size: 0.14rem;
line-height: 0.11rem;
}
}
.group_9 {
margin-left: 0.055rem;
padding: 0 0.24rem;
flex: 1 1 1.11rem;
.image_14 {
width: 0.18rem;
height: 0.2rem;
}
.text_18 {
margin-left: 0.08rem;
align-self: center;
color: rgb(180, 182, 189);
font-size: 0.14rem;
line-height: 0.11rem;
}
}
.group_10 {
margin-left: 0.05rem;
padding: 0 0.23rem;
flex: 1 1 1.11rem;
width: 1.12rem;
.image_16 {
margin-left: 0.07rem;
width: 0.2rem;
height: 0.2rem;
}
.text_19 {
align-self: center;
color: rgb(180, 182, 189);
font-size: 0.14rem;
line-height: 0.11rem;
}
}
}
.image_10 {
flex: 1 1 1.11rem;
width: 1.11rem;
height: 1.11rem;
}
.image_13 {
margin-left: 0.055rem;
}
.image_15 {
margin-left: 0.05rem;
}
}
}
}
}
.group_18 {
.image_2 {
margin: 0 auto;
border-radius: 0.1rem;
width: 3.45rem;
height: 1.3rem;
}
.group_17 {
margin-top: 0rem;
.NavShow {
position: fixed;
top: 0;
width: 100%;
background: #fff;
z-index: 999;
border-top: 0.01rem solid #eee;
}
.section_6 {
background-color: rgb(246, 247, 250);
.list-item {
padding: 0.18rem 0.1rem 0.21rem 0.16rem;
background-color: rgb(255, 255, 255);
.view {
margin-right: 0.051rem;
}
.group_9 {
margin-right: 0.13rem;
margin-top: 0.17rem;
.text_14 {
align-self: flex-start;
color: rgb(2, 2, 2);
font-size: 0.18rem;
font-family: Adobe Heiti Std;
line-height: 0.17rem;
}
.text_15 {
margin-top: 0.11rem;
color: rgb(73, 76, 87);
font-size: 0.15rem;
font-family: Adobe Heiti Std;
line-height: 0.24rem;
}
.text_16 {
margin-left: 0.04rem;
margin-top: 0.12rem;
align-self: flex-start;
color: rgb(44, 109, 255);
font-size: 0.14rem;
font-family: PingFang;
line-height: 0.13rem;
}
}
.group_21 {
margin-left: 0.24rem;
margin-top: 0.1rem;
.group_20 {
margin: 0.025rem 0;
.image_6 {
flex-shrink: 0;
width: 0.22rem;
height: 0.21rem;
}
.text_17 {
margin-left: 0.08rem;
margin-top: 0.065rem;
color: rgb(180, 182, 189);
font-size: 0.14rem;
font-family: PingFang;
line-height: 0.11rem;
}
}
.group_10 {
margin-left: 0.63rem;
align-self: center;
.image_7 {
flex-shrink: 0;
width: 0.18rem;
height: 0.2rem;
}
.text_18 {
margin-left: 0.08rem;
margin-top: 0.06rem;
color: rgb(180, 182, 189);
font-size: 0.14rem;
font-family: PingFang;
line-height: 0.11rem;
}
}
.equal-division-item_1 {
margin-left: 0.33rem;
padding: 0.03rem 0;
width: 1.18rem;
.image_8 {
margin-left: 0.3rem;
width: 0.2rem;
height: 0.2rem;
}
.text_19 {
margin-left: 0.095rem;
margin-top: 0.06rem;
color: rgb(180, 182, 189);
font-size: 0.14rem;
font-family: PingFang;
line-height: 0.11rem;
}
}
}
}
.list-item_1 {
margin-top: 0.04rem;
padding: 0.18rem 0.099rem 0.17rem;
background-color: rgb(255, 255, 255);
.group_13 {
margin-left: 0.061rem;
margin-right: 0.056rem;
}
.group_14 {
margin: 0.17rem 0.12rem 0 0.071rem;
.text_23 {
align-self: flex-start;
color: rgb(2, 2, 2);
font-size: 0.18rem;
font-family: Adobe Heiti Std;
line-height: 0.17rem;
}
.text_24 {
margin-top: 0.085rem;
color: rgb(73, 76, 87);
font-size: 0.15rem;
font-family: Adobe Heiti Std;
line-height: 0.24rem;
}
.text_25 {
margin-left: 0.04rem;
margin-top: 0.03rem;
align-self: flex-start;
color: rgb(44, 109, 255);
font-size: 0.14rem;
font-family: PingFang;
line-height: 0.16rem;
}
}
.equal-division {
margin-top: 0.04rem;
.equal-division-item_2 {
flex: 1 1 1.18rem;
padding: 0.029rem 0;
.image_10 {
width: 0.2rem;
height: 0.2rem;
}
.text_26 {
margin: 0.062rem 0 0 0.085rem;
color: rgb(180, 182, 189);
font-size: 0.14rem;
font-family: PingFang;
line-height: 0.11rem;
}
}
}
}
.group_8 {
height: 0.32rem;
position: relative;
.image_3 {
width: 0.3rem;
height: 0.3rem;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.text_8 {
color: rgb(2, 2, 2);
font-size: 0.14rem;
font-family: PingFang;
line-height: 0.13rem;
}
.text_43 {
position: absolute;
left: 0.37rem;
top: 0.02rem;
}
.text_9 {
color: rgb(184, 184, 184);
font-size: 0.12rem;
font-family: PingFang;
line-height: 0.12rem;
position: absolute;
right: 0;
top: 0.035rem;
}
.text_11 {
color: rgb(184, 184, 184);
font-size: 0.12rem;
font-family: PingFang;
line-height: 0.12rem;
position: absolute;
left: 0.37rem;
bottom: 0;
}
.text_20 {
position: absolute;
left: 0.36rem;
top: 0.02rem;
}
}
}
}
}
.content-top {
background: #fff;
padding-bottom: 30rpx;
}
.tabs-wrap {
display: flex;
align-items: center;
}
.search-box {
width: 88rpx;
height: 88rpx;
display: flex;
align-items: center;
justify-content: center;
background: #F6F8F9;
border-radius: 50%;
margin-left: 20rpx;
}
.tabs-box {
display: flex;
width: 482rpx;
justify-content: space-between;
align-items: center;
padding: 10rpx;
background: #F6F8F9;
border-radius: 200rpx;
margin-left: 40rpx;
.tabs-item {
width: 218rpx;
height: 72rpx;
text-align: center;
line-height: 72rpx;
}
.tabs-item-active {
background: #FFFFFF;
box-shadow: 0rpx 16rpx 8rpx -8rpx rgba(18, 18, 18, 0.08), inset 0rpx 8rpx 8rpx 0rpx rgba(255, 255, 255, 0.05);
border-radius: 200rpx;
border: 3rpx solid;
border-image: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1)) 3 3;
}
}
.page-title {
padding: 40rpx 40rpx 40rpx;
color: #000;
font-size: 36rpx;
font-weight: 800;
background: #fff;
}
.section_5 {
justify-content: space-between;
padding: 0.11rem 0.17rem 0rem;
background-color: rgb(255, 255, 255);
box-shadow: 0.00018rem 0.005rem rgba(0, 0, 0, 0.03);
position: relative;
font-size: 32rpx;
.tab-text {
// margin: 0 0.1rem;
}
.text_3 {
margin-bottom: 0.02rem;
// color: rgb(46, 155, 255);
// font-size: 0.18rem;
font-weight: 800;
font-size: 36rpx;
color: #000000;
font-family: PingFang;
line-height: 0.21rem;
position: relative;
z-index: 1;
&::after {
position: absolute;
content: '';
bottom: 2rpx;
right: 0;
width: 100%;
height: 12rpx;
background: linear-gradient(116deg, rgba(60, 181, 251, 0) 0%, #28C6FB 45%, #06E1FA 100%);
border-radius: 2rpx;
z-index: -1;
}
}
.text_4 {
margin: 0.025rem 0 0.015rem 0.34rem;
color: rgb(160, 162, 172);
font-size: 0.15rem;
font-family: PingFang;
line-height: 0.14rem;
}
.text_5 {
margin-left: 0.26rem;
margin-top: 0.015rem;
color: rgb(160, 162, 172);
font-size: 0.15rem;
font-family: PingFang;
line-height: 0.16rem;
}
.text_6 {
margin-left: 0.29rem;
margin-top: 0.02rem;
color: rgb(160, 162, 172);
font-size: 0.15rem;
font-family: PingFang;
line-height: 0.16rem;
}
.text_7 {
margin-left: 0.35rem;
margin-top: 0.015rem;
color: rgb(160, 162, 172);
font-size: 0.15rem;
font-family: PingFang;
line-height: 0.16rem;
}
}
</style>