388 lines
10 KiB
Vue
Executable File
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>
<!-- 收藏版块 -->
<div class="collect">
<!-- 未收藏 -->
<div v-if="collect.length == 0" class="notCollect">
<img class="notCollect-img" src="~assets/img/collect/notCollect.png" alt="未收藏" />
<div class="collect-text">收藏你感兴趣的版块,迅速浏览相应的帖子</div>
<!-- <div class="collect-btn"> -->
<router-link to="/allSections" class="flexcenter collect-btn">
<div class="collect-btn-text">马上收藏</div>
<svg-icon icon-class="collect-btn" class-name="icon-collect"></svg-icon>
</router-link>
<!-- </div> -->
</div>
<!-- 已收藏 -->
<div v-else>
<!-- 热门版块 -->
<div class="hot-box">
<div class="hot-label" :class="{ active: hotActive == index }" v-for="(item, index) in list" :key="index"
@click="hotLabelClick(index)">
{{ item.label }}
</div>
<!-- 设置按钮 -->
<div class="setting flexcenter" @click="settingClick">
<img src="~assets/img/icon/setting.png" alt="设置" />
设置
</div>
<!-- 设置 收藏版块弹窗 -->
<div class="setting-window" :class="{ 'setting-show': settingShow == true }" @click="settingClose">
<div class="setting-container" @click.stop>
<div class="setting-title">设置收藏版块</div>
<div class="setting-total">
<div class="setting-num">共收藏<b> {{ list.length - 1 }} </b>个版块</div>
<router-link to="/allSections" class="flexcenter setting-add">
<svg-icon icon-class="settingAdd" class-name="setting-add-img"></svg-icon>添加
</router-link>
</div>
<!-- 弹窗收藏版块内容 -->
<div class="setting-sections">
<div v-for="(item, index) in list" :key="index">
<div v-if="index != 0" class="setting-item" @click.stop="cancelFavoritesSection(index)">
<div class="setting-item-title">{{ item.label }}</div>
<div class="setting-star"></div>
</div>
</div>
</div>
<!-- 关闭弹窗 -->
<div class="setting-close" @click="settingClose">关闭</div>
</div>
</div>
</div>
<!-- 路径 -->
<plate-navigation stairname="寄托学术类备" subsectionsname="SAT、AP考试、海外本科申…"></plate-navigation>
<!-- 内容区域 -->
<section>
<!-- 帖子 -->
<div class="card-box">
<!-- 标题 -->
<div class="top moreEllipsis">
<div class="top-label">经验</div>
<div class="top-title">23fall 美国llm 求定位</div>
</div>
<!-- 帖子内容 -->
<div class="center">
<div class="center-text moreEllipsis">
背景生于80年代中期英语基础不好备考托福3个月刚好100分。2018年8月开始读LLM.
读书期间Point Bar6666666666666666666666
</div>
</div>
<!-- 头像、浏览量、消息 -->
<div class="bottom">
<div class="bottom-box">
<svg-icon icon-class="test-head" class-name="icon-head"></svg-icon>
<div class="bottom-name">匿名用户</div>
</div>
<div class="bottom-box">
<div class="bottom-right">
<svg-icon icon-class="look" class-name="icon-look"></svg-icon>
<div>1552</div>
</div>
<div class="bottom-right">
<svg-icon icon-class="msg" class-name="icon-msg"></svg-icon>
<div>12</div>
</div>
</div>
</div>
<!-- 精华 -->
<div class="rightTop">
<img class="rightTop-img" src="@/assets/img/icon/topRight .png">
<span>精华</span>
</div>
</div>
<div class="card-box">
<!-- 帖子标题 -->
<div class="top moreEllipsis">
<div class="top-label">经验</div>
<div class="top-title">23fall 美国llm 求定位</div>
</div>
<!-- 帖子内容 -->
<div class="center">
<div class="center-text-visible">回复可见</div>
</div>
<!-- 头像、浏览量、消息 -->
<div class="bottom">
<div class="bottom-box">
<svg-icon icon-class="test-head" class-name="icon-head"></svg-icon>
<div class="bottom-name">匿名用户</div>
</div>
<div class="bottom-box">
<div class="bottom-right">
<svg-icon icon-class="look" class-name="icon-look"></svg-icon>
<div>1552</div>
</div>
<div class="bottom-right">
<svg-icon icon-class="msg" class-name="icon-msg"></svg-icon>
<div>12</div>
</div>
</div>
</div>
<!-- 精华 -->
<div class="rightTop">
<img class="rightTop-img" src="@/assets/img/icon/topRight .png">
<span>精华</span>
</div>
</div>
<!-- 广告 -->
<div class="banner-box">
<svg-icon icon-class="test-banner" class-name="banner"></svg-icon>
</div>
<!-- 分页 -->
<!-- <div class="paging-box">
<el-pagination layout="prev, pager, next" :total="100">
</el-pagination>
</div> -->
</section>
</div>
</div>
</template>
<script>
import plateNavigation from '@/components/PlateNavigation'
export default {
name: "Collect",
data() {
return {
hotActive: 0, //热门版块活跃点击
collect: [1],
settingShow: false, //弹窗显示
settingStar: false,
list: [
//版块
{
label: "全部",
},
{
label: "香港留学",
},
{
label: "香港留学",
},
{
label: "香港留学",
},
],
};
},
components: {
plateNavigation
},
methods: {
hotLabelClick(index) {
this.hotActive = index;
},
// 点击显示弹窗
settingClick() {
this.settingShow = true;
},
// 点击弹窗以外区域隐藏按钮、关闭弹窗
settingClose() {
this.settingShow = false;
},
// 处理取消收藏板块
cancelFavoritesSection(index) {
console.log(index);
this.list.splice(index, 1)
}
},
};
</script>
<style lang="scss" scoped>
.setting {
width: 1.44rem;
height: 0.72rem;
border-radius: 2.56rem;
border: 0.013333rem solid rgba(127, 127, 127, 1);
font-size: 0.3rem;
color: #333;
img {
width: 0.32rem;
height: 0.32rem;
}
}
//设置弹窗
.setting-window {
display: none;
width: 100%;
height: 100vh;
overflow: hidden;
background-color: rgba(0, 0, 0, 0.5);
position: fixed;
top: 0;
left: 0;
z-index: 7;
// 显示设置弹窗
&.setting-show {
display: block;
}
.setting-container {
position: absolute;
bottom: 0;
left: 0;
background-color: #fff;
width: 100%;
max-height: 90%;
min-height: 28%;
border-radius: 0.8rem 0.8rem 0 0;
overflow: hidden;
display: inline-grid;
align-content: flex-start;
}
//弹窗标题
.setting-title {
text-align: center;
padding: .64rem 0 1.06rem;
font-size: 0.48rem;
font-weight: bolder;
color: #000;
}
// 设置收藏弹窗版块量
.setting-total {
display: flex;
justify-content: space-between;
// margin: 0.25rem 0.4rem 0 0.5rem;
// margin: 0 0.4rem 0 0.5rem;
margin-right: .32rem;
margin-left: .64rem;
b {
font-weight: bolder;
}
}
.setting-num,
.setting-add {
font-size: 0.32rem;
color: #000;
font-weight: 400;
color: #333;
font-size: .32rem;
}
.setting-add-img {
width: 0.4rem;
height: 0.4rem;
margin-right: .16rem;
}
// 设置收藏内容区域
.setting-sections {
width: 100%;
overflow-y: scroll;
// display: inherit;
// margin-top: 0.45rem;
margin-top: .8rem;
max-height: 58vh;
margin-bottom: .7733rem;
.setting-item {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
// margin-left: 0.87rem;
margin-left: 1.04rem;
border-bottom: 0.013333rem solid #eee;
position: relative;
// padding: 0.5rem 0;
padding: .58rem 0;
font-size: .36rem;
&::before {
content: "";
width: 0.12rem;
height: 0.32rem;
border-radius: 0.16rem;
position: absolute;
// top: 0.6rem;
top: 50%;
transform: translateY(-50%);
left: -0.4rem;
background-color: #62b1ff;
}
.setting-item-title {
font-size: 0.36rem;
}
&:last-child {
border: none;
}
.setting-star {
width: 0.48rem;
height: 0.48rem;
background-size: contain;
background-image: url("assets/img/allSections/star.png");
margin-right: 0.4rem;
}
}
}
.setting-close {
width: 50%;
margin: 0 auto .72rem;
border: 0.013333rem solid #ccc;
height: 1.28rem;
line-height: 1.28rem;
border-radius: 0.67rem;
text-align: center;
// position: fixed;
// bottom: 0;
// left: 25%;
}
}
// 未收藏样式
.notCollect {
height: 80vh;
border-radius: 0.32rem;
box-shadow: 0 0 0.16rem rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: column;
align-items: center;
margin: 0.67rem 0.35rem;
background-color: #fff;
.notCollect-img {
width: 2.04rem;
margin: 4rem 0 0.5rem 0;
}
.collect-text {
font-size: 0.3rem;
color: #7f7f7f;
}
.collect-btn {
display: flex;
align-items: center;
padding-top: 1rem;
padding-bottom: 1rem;
.collect-btn-text {
color: #000;
font-weight: 650;
font-size: 0.4rem;
}
//图标
.icon-collect {
width: 0.48rem;
height: 0.48rem;
margin-left: 0.25rem;
}
}
}
</style>