Ver código fonte

班级信息

reloaded 4 anos atrás
pai
commit
aec60a9fe0

+ 154 - 0
src/layout/class/classInfo.vue

@@ -0,0 +1,154 @@
+<template>
+  <div id="classInfo">
+    <el-col :span="24" class="messageInfo">
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">班级名称</p>
+          <p class="name">{{ classinfo.name }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">班级人数</p>
+          <p class="name">{{ classinfo.number }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">批次</p>
+          <p class="name">{{ classinfo.batch }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">期</p>
+          <p class="name">{{ classinfo.term }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">礼仪课老师</p>
+          <p class="name">{{ classinfo.lyteacher }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">用餐地点</p>
+          <p class="name">{{ classinfo.yclocation }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">拓展计划地点</p>
+          <p class="name">{{ classinfo.kzjhlocation }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">开班仪式地点</p>
+          <p class="name">{{ classinfo.kbyslocation }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">教室位置</p>
+          <p class="name">{{ classinfo.jslocation }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="mess">
+        <el-col :span="22" class="info">
+          <p class="title">班级类型</p>
+          <p class="name">{{ classinfo.type }}</p>
+        </el-col>
+        <el-col :span="2" class="icon">
+          <van-icon name="arrow" />
+        </el-col>
+      </el-col>
+    </el-col>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+const { mapActions: classes } = createNamespacedHelpers('classes');
+export default {
+  name: 'classInfo',
+  props: {},
+  components: {},
+  data: () => ({
+    classinfo: {},
+  }),
+  created() {
+    this.search();
+  },
+  computed: {
+    ...mapState(['user', 'classid']),
+  },
+  methods: {
+    ...classes(['fetch']),
+    async search() {
+      const classinfo = await this.fetch(this.classid);
+      console.log(classinfo);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.messageInfo {
+  margin: 0 0 10px 0;
+}
+.mess {
+  min-height: 50px;
+  border-bottom: 1px solid #efeff4;
+}
+.info {
+  padding: 0 15px;
+}
+.info .title {
+  font-size: 14px;
+  color: #92a1b1;
+  padding: 4px 0;
+}
+.info .name {
+  font-size: 16px;
+  color: #000;
+}
+.icon {
+  padding: 11px 0;
+  font-size: 20px;
+  color: #ccc;
+}
+</style>

+ 3 - 0
src/layout/user/clickBtn.vue

@@ -20,6 +20,9 @@
         <el-col :span="24" class="native" v-if="this.user.type === '4'">
           <van-cell is-link @click="$router.push({ path: '/user/quit' })">退出</van-cell>
         </el-col>
+        <el-col :span="24" class="native" v-if="this.user.type === '1'">
+          <van-cell is-link @click="$router.push({ path: '/class/classInfo' })">班级信息</van-cell>
+        </el-col>
         <!-- <el-col :span="24" class="native" v-if="this.user.type === '3'">
           <van-cell is-link @click="$router.push({ path: '/user/terstudent' })">查看任课教师</van-cell>
         </el-col> -->

+ 7 - 0
src/router/index.js

@@ -32,6 +32,13 @@ const routes = [
     meta: { title: '班级名单', isleftarrow: true },
     component: () => import('../views/class/index.vue'),
   },
+  // 班级信息
+  {
+    path: '/class/classInfo',
+    name: 'class_classInfo',
+    meta: { title: '班级信息', isleftarrow: true },
+    component: () => import('../views/class/classInfo.vue'),
+  },
   // 调查问卷
   {
     path: '/question/index',

+ 42 - 0
src/views/class/classInfo.vue

@@ -0,0 +1,42 @@
+<template>
+  <div id="classInfo">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="top">
+          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
+        </el-col>
+        <el-col :span="24" class="main">
+          <classInfo></classInfo>
+        </el-col>
+        <el-col :span="24" class="foot">
+          <footInfo></footInfo>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import NavBar from '@/layout/common/topInfo.vue';
+import footInfo from '@/layout/common/footInfo.vue';
+import classInfo from '@/layout/class/classInfo.vue';
+export default {
+  name: 'classInfo',
+  props: {},
+  components: {
+    NavBar,
+    footInfo,
+    classInfo,
+  },
+  data: () => ({
+    title: '',
+    isleftarrow: '',
+    navShow: true,
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped></style>