reloaded 4 年之前
父节点
当前提交
95e8612612

+ 3 - 1
src/App.vue

@@ -1,6 +1,8 @@
 <template>
   <div id="app">
-    <router-view />
+    <keep-alive include="index">
+      <router-view />
+    </keep-alive>
   </div>
 </template>
 

二进制
src/assets/icon/icon_calendar.png


二进制
src/assets/icon/icon_compile.png


二进制
src/assets/icon/icon_group.png


二进制
src/assets/icon/icon_index_line.png


二进制
src/assets/icon/icon_signal.png


二进制
src/assets/icon/icon_signin_line.png


二进制
src/assets/icon/icon_square.png


二进制
src/assets/icon/icon_subordinate.png


二进制
src/assets/icon/icon_work.png


+ 1 - 1
src/layout/class/classInfo.vue

@@ -140,7 +140,7 @@ export default {
       }
       if (classinfo.lyteacherid) {
         let res = await this.teaFetch(classinfo.lyteacherid);
-        if (res.length < 1) {
+        if (!res.data) {
           res = await this.dirFetch(classinfo.lyteacherid);
         }
         classinfo.lyteacher = res.data.name;

+ 58 - 15
src/views/home/classmenu.vue

@@ -1,29 +1,72 @@
 <template>
   <div id="classmenu">
-    <van-grid :border="false" :column-num="3">
-      <van-grid-item>
-        <van-image src="https://img.yzcdn.cn/vant/apple-1.jpg" />
-      </van-grid-item>
-      <van-grid-item>
-        <van-image src="https://img.yzcdn.cn/vant/apple-2.jpg" />
-      </van-grid-item>
-      <van-grid-item>
-        <van-image src="https://img.yzcdn.cn/vant/apple-3.jpg" />
-      </van-grid-item>
-    </van-grid>
+    <van-row>
+      <van-col :span="24" class="style">
+        <van-col :span="24" class="top">
+          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
+        </van-col>
+        <van-col :span="24">
+          <van-grid :border="false" :column-num="3" :gutter="20">
+            <van-grid-item v-for="(item, index) in menuList" :key="index" class="menuList" @click="turnTo(item.name)">
+              <van-image :src="item.image" />
+              <p>{{ item.name }}</p>
+            </van-grid-item>
+          </van-grid>
+        </van-col>
+      </van-col>
+    </van-row>
   </div>
 </template>
 
 <script>
+import NavBar from '@/layout/common/topInfo.vue';
 import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
 export default {
   name: 'classmenu',
   props: {},
-  components: {},
-  data: () => ({}),
+  components: { NavBar },
+  data: () => ({
+    title: '',
+    isleftarrow: '',
+    navShow: true,
+    menuList: [
+      { name: '课程信息', image: require('@/assets/icon/icon_calendar.png') },
+      { name: '个人信息', image: require('@/assets/icon/icon_signal.png') },
+      { name: '问卷调查', image: require('@/assets/icon/icon_compile.png') },
+      { name: '班级信息', image: require('@/assets/icon/icon_subordinate.png') },
+      { name: '班级名单', image: require('@/assets/icon/icon_group.png') },
+      { name: '班级成绩', image: require('@/assets/icon/icon_work.png') },
+      { name: '请假管理', image: require('@/assets/icon/icon_square.png') },
+      { name: '考勤管理', image: require('@/assets/icon/icon_signin_line.png') },
+      { name: '学生评分', image: require('@/assets/icon/icon_index_line.png') },
+    ],
+  }),
   created() {},
-  computed: {},
-  methods: {},
+  computed: {
+    ...mapState(['user', 'classid']),
+  },
+  methods: {
+    turnTo(name) {
+      if (name === '课程信息') this.$router.push({ path: '/home/index' });
+      if (name === '个人信息') this.$router.push({ path: '/user/personalDetail', query: { id: this.user.userid } });
+      if (name === '问卷调查') this.$router.push({ path: '/question/index' });
+      if (name === '班级信息') this.$router.push({ path: '/user/classInfos' });
+      if (name === '班级名单') this.$router.push({ path: '/class/classStuList', query: { id: this.classid } });
+      if (name === '班级成绩') this.$router.push({ path: '/class/achieve', query: { classid: this.classid } });
+      if (name === '请假管理') this.$router.push({ path: '/user/teaLeave' });
+      if (name === '学生评分') this.$router.push({ path: '/user/score' });
+    },
+  },
+  mounted() {
+    this.title = this.$route.meta.title;
+    this.isleftarrow = this.$route.meta.isleftarrow;
+  },
+  watch: {
+    $route(to, from) {
+      this.title = to.meta.title;
+      this.isleftarrow = to.meta.isleftarrow;
+    },
+  },
 };
 </script>
 

+ 10 - 0
src/views/user/classInfos.vue

@@ -36,6 +36,16 @@ export default {
   created() {},
   computed: {},
   methods: {},
+  mounted() {
+    this.title = this.$route.meta.title;
+    this.isleftarrow = this.$route.meta.isleftarrow;
+  },
+  watch: {
+    $route(to, from) {
+      this.title = to.meta.title;
+      this.isleftarrow = to.meta.isleftarrow;
+    },
+  },
 };
 </script>