refactor: 重构组件模板,统一使用相对路径和内部路由 style: 调整CSS样式,修复布局和间距问题 fix: 修复投票和offer组件链接错误问题 chore: 添加新图片资源并更新相关引用路径 perf: 移除调试日志,优化页面加载性能 docs: 更新组件注释和文档说明 test: 更新测试用例以适配新功能 ci: 调整构建配置以支持新资源文件 build: 更新依赖项以兼容新功能
90 lines
4.5 KiB
Plaintext
90 lines
4.5 KiB
Plaintext
<div class="box-box" :class="['box-' + tabPitch]">
|
|
<div class="slideshow-box">
|
|
<div class="tab-list flexacenter">
|
|
<div class="tab-item thread" :class="{'pitch': tabPitch == 'thread'}" @click="tabItem('thread')">帖子</div>
|
|
<div class="tab-item offer" :class="{'pitch': tabPitch == 'offer'}" @click="tabItem('offer')">Offer</div>
|
|
<div class="tab-item vote" :class="{'pitch': tabPitch == 'vote'}" @click="tabItem('vote')">投票</div>
|
|
<div class="tab-item interviewexperience" :class="{'pitch': tabPitch == 'interviewexperience'}" @click="tabItem('interviewexperience')">面经</div>
|
|
</div>
|
|
</div>
|
|
<div class="slideshow-content flexflex">
|
|
<!-- 问答 -->
|
|
<div class="thread-side-box side-box">
|
|
<div class="box">
|
|
<a v-for="item in latestList.thread" :key="item.uniqid" class="item" target="_blank" :href="'/details/' + item.uniqid">
|
|
<div class="question flexacenter">
|
|
<div class="text flex1 ellipsis">{{ item.title }}</div>
|
|
</div>
|
|
<div class="answer flexacenter">
|
|
<div class="text flex1">
|
|
<div class="texttext">{{ item.content }}</div>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
|
|
<a class="add-btn flexcenter" href="https://ask.gter.net" target="_blank">
|
|
<div>more</div>
|
|
<img class="" style="margin-left: 8px;" src="/img/right-arrow-black.svg">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<!-- offer -->
|
|
<div class="offer-side-box side-box">
|
|
<div class="box">
|
|
<a v-for="item in latestList.offer" :key="item.uniqid" class="item flexflex" :href="'/details/' + item.uniqid" target="_blank">
|
|
<img class="school-img" :src="item.data.schoollogo" />
|
|
<div class="school-detail flex1 flexflex">
|
|
<div class="school-name one-line-display">{{ item.data.schoolname }}</div>
|
|
<div class="school-brief one-line-display">{{ item.data.professional }}</div>
|
|
<div class="school-offer flexacenter">
|
|
<span>{{ item.data.degree }}</span>
|
|
<span class="long-string">|</span>
|
|
<span>{{ item.data.semester }}</span>
|
|
<span class="long-string">|</span>
|
|
<span>{{ item.data.apply_results_text }}</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
|
|
<a class="add-btn flexcenter" href="https://offer.gter.net" target="_blank">
|
|
<div>more</div>
|
|
<img class="" style="margin-left: 8px;" src="/img/right-arrow-black.svg">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 投票 -->
|
|
<div class="vote-side-box side-box">
|
|
<div class="box">
|
|
<a v-for="item in latestList.vote" :key="item.uniqid" class="item flexflex vuehide" target="_blank" :href="'/details/' + item.uniqid">
|
|
<div class="name one-line-display">{{ item.title }}</div>
|
|
<div class="brief">{{ item.content }}</div>
|
|
</a>
|
|
|
|
<a class="add-btn flexcenter" href="https://vote.gter.net" target="_blank">
|
|
<div>more</div>
|
|
<img class="" style="margin-left: 8px;" src="/img/right-arrow-black.svg">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- mj -->
|
|
<div class="interviewexperience-side-box side-box">
|
|
<div class="box">
|
|
<a v-for="item in latestList.interviewexperience" :key="item.thread_id" class="item flexflex" :href="'/details/' + item.uniqid" target="_blank">
|
|
<div class="school one-line-display">{{ item.data.schoolname }}</div>
|
|
<div class="major one-line-display"></div>
|
|
<div class="info">
|
|
<img class="icon" :src="item.user.avatar" />
|
|
<span class="text">{{ item.title || item.content }} </span>
|
|
</div>
|
|
</a>
|
|
|
|
<a class="add-btn flexcenter" href="https://interviewexperience.gter.net" target="_blank">
|
|
<div>more</div>
|
|
<img class="" style="margin-left: 8px;" src="/img/right-arrow-black.svg">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |