|
@@ -0,0 +1,122 @@
|
|
|
+<template>
|
|
|
+ <div class="home flex-column">
|
|
|
+ <transition name="tab" mode="out-in">
|
|
|
+ <component :is="current" class="page" />
|
|
|
+ </transition>
|
|
|
+ <footer class="footer">
|
|
|
+ <div class="btnDiv" @click="handleGoPage('page-learn')">
|
|
|
+ <!-- <img class="btnImg" :src="current === 'page-home' ? homeSelected: homeNormal" /> -->
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ :class="[current === 'page-learn' ? 'page-select' : '']"
|
|
|
+ >
|
|
|
+ 学习
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="btnDiv" @click="handleGoPage('page-answer')">
|
|
|
+ <!-- <img class="btnImg" :src="current === 'page-home' ? homeSelected: homeNormal" /> -->
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ :class="[current === 'page-answer' ? 'page-select' : '']"
|
|
|
+ >
|
|
|
+ 答题
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="btnDiv" @click="handleGoPage('page-exam')">
|
|
|
+ <!-- <img class="btnImg" :src="current === 'page-home' ? homeSelected: homeNormal" /> -->
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ :class="[current === 'page-exam' ? 'page-select' : '']"
|
|
|
+ >
|
|
|
+ 考试
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="btnDiv" @click="handleGoPage('page-person')">
|
|
|
+ <!-- <img class="btnImg" :src="current === 'page-personal-center' ? personalSelected: personalNormal" /> -->
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ :class="[current === 'page-personal' ? 'page-select' : '']"
|
|
|
+ >
|
|
|
+ 我的
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </footer>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import PageLearn from "./learn/page-learn";
|
|
|
+import PageAnswer from "./answer/page-answer";
|
|
|
+import PageExam from "./exam/page-exam";
|
|
|
+import PagePerson from "./person/page-person";
|
|
|
+export default {
|
|
|
+ name: "home",
|
|
|
+ components: { PageLearn, PageAnswer, PageExam, PagePerson },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ current: "page-learn"
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleGoPage(name) {
|
|
|
+ this.current = name;
|
|
|
+ this.$router.replace({ name: "home", query: { page: name } });
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.home {
|
|
|
+ height: 100vh;
|
|
|
+}
|
|
|
+.tab-leave-active,
|
|
|
+.tab-enter-active {
|
|
|
+ transition: all 0.3s;
|
|
|
+}
|
|
|
+.tab-enter {
|
|
|
+ opacity: 0;
|
|
|
+ transform: translateX(-1.25rem);
|
|
|
+}
|
|
|
+.tab-leave-to {
|
|
|
+ opacity: 0;
|
|
|
+ transform: translateX(1.25rem);
|
|
|
+}
|
|
|
+.page {
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100vh - 2.5rem);
|
|
|
+ flex: 1;
|
|
|
+}
|
|
|
+.footer {
|
|
|
+ position: fixed;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ z-index: 10;
|
|
|
+ height: 2.5rem;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-around;
|
|
|
+ border-top: 1px solid #f7f5f6;
|
|
|
+ background-color: #fff;
|
|
|
+}
|
|
|
+.btnDiv {
|
|
|
+ width: 25%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ position: relative;
|
|
|
+ .btnImg {
|
|
|
+ width: 1rem;
|
|
|
+ height: 1rem;
|
|
|
+ }
|
|
|
+ .btn {
|
|
|
+ border: none;
|
|
|
+ font-size: 0.7rem;
|
|
|
+ background-color: white;
|
|
|
+ }
|
|
|
+}
|
|
|
+.page-select {
|
|
|
+ color: #438bef;
|
|
|
+}
|
|
|
+</style>
|