guhongwei vor 4 Jahren
Ursprung
Commit
bac6d053d4
3 geänderte Dateien mit 312 neuen und 0 gelöschten Zeilen
  1. 211 0
      src/layout/user/headteaInfo.vue
  2. 6 0
      src/router/index.js
  3. 95 0
      src/views/user/personalDetail.vue

+ 211 - 0
src/layout/user/headteaInfo.vue

@@ -0,0 +1,211 @@
+<template>
+  <div id="studentInfo">
+    <el-row>
+      <el-col :span="24" class="messageInfo">
+        <span v-if="this.user.type === '3'">
+          <el-col :span="24" class="mess">
+            <el-col :span="22" class="info">
+              <p class="title">姓名</p>
+              <p class="name">{{ jianshiinfo.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">{{ jianshiinfo.gender }}</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">{{ jianshiinfo.age }}</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">{{ jianshiinfo.phone }}</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">{{ jianshiinfo.schname }}</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">{{ jianshiinfo.email }}</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">{{ jianshiinfo.zlscore }}</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">{{ jianshiinfo.msscore }}</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">{{ jianshiinfo.xsscore }}</p>
+            </el-col>
+            <el-col :span="2" class="icon">
+              <van-icon name="arrow" />
+            </el-col>
+          </el-col>
+        </span>
+        <span v-else>
+          <el-col :span="24" class="mess">
+            <el-col :span="22" class="info">
+              <p class="title">姓名</p>
+              <p class="name">{{ teainfo.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">{{ teainfo.gender }}</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">{{ teainfo.age }}</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">{{ teainfo.birthday }}</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">{{ teainfo.phone }}</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">{{ teainfo.department }}</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">{{ teainfo.islyteacher === 0 ? '否' : '是' }}</p>
+            </el-col>
+            <el-col :span="2" class="icon">
+              <van-icon name="arrow" />
+            </el-col>
+          </el-col>
+        </span>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+export default {
+  name: 'studentInfo',
+  props: {
+    messInfo: null,
+    teainfo: null,
+    jianshiinfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.messageInfo {
+  margin: 0 0 10px 0;
+}
+.images {
+  text-align: center;
+  padding: 15px 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>

+ 6 - 0
src/router/index.js

@@ -53,6 +53,12 @@ const routes = [
     meta: { title: '请假&退出管理', isleftarrow: true },
     meta: { title: '请假&退出管理', isleftarrow: true },
     component: () => import('../views/user/teaLeave.vue'),
     component: () => import('../views/user/teaLeave.vue'),
   },
   },
+  {
+    path: '/user/personalDetail',
+    name: 'user_personalDetail',
+    meta: { title: '个人信息', isleftarrow: true },
+    component: () => import('../views/user/personalDetail.vue'),
+  },
 ];
 ];
 
 
 const router = new VueRouter({
 const router = new VueRouter({

+ 95 - 0
src/views/user/personalDetail.vue

@@ -0,0 +1,95 @@
+<template>
+  <div id="personalDetail">
+    <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">
+          <headteaInfo :messInfo="messInfo" :teainfo="teainfo" :jianshiinfo="jianshiinfo"></headteaInfo>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import NavBar from '@/layout/common/topInfo.vue';
+import headteaInfo from '@/layout/user/headteaInfo.vue';
+
+import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+const { mapActions: mapDirectors } = createNamespacedHelpers('director');
+const { mapActions: mapStudent } = createNamespacedHelpers('student');
+const { mapActions: mapteacher } = createNamespacedHelpers('teacher');
+const { mapActions: mapDept } = createNamespacedHelpers('dept');
+export default {
+  name: 'personalDetail',
+  props: {},
+  components: {
+    NavBar, //头部导航
+    headteaInfo, //学生详细信息
+  },
+  data: () => ({
+    messInfo: {},
+    teainfo: {},
+    stulist: {},
+    title: '',
+    isleftarrow: '',
+    navShow: true,
+    jianshiinfo: {},
+  }),
+  created() {
+    this.searchInfo();
+  },
+  computed: {
+    id() {
+      return this.$route.query.id;
+    },
+    ...mapState(['user']),
+  },
+  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;
+    },
+  },
+  methods: {
+    ...mapDirectors({ directorQuery: 'query', directorFetch: 'fetch' }),
+    ...mapDept({ deptFetch: 'fetch' }),
+    ...mapteacher({ teacherFether: 'fetch' }),
+    // 1:班主任,4:学生
+    async searchInfo() {
+      if (this.user.type === '1') {
+        const res = await this.directorFetch(this.id);
+        const arr = await this.deptFetch(res.data.department);
+        res.data.department = arr.data.name;
+        this.$set(this, `teainfo`, res.data);
+      } else if (this.user.type === '3') {
+        const res = await this.teacherFether(this.id);
+        this.$set(this, `jianshiinfo`, res.data);
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.style {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #f9fafc;
+}
+.top {
+  height: 46px;
+  overflow: hidden;
+}
+.main {
+  min-height: 570px;
+}
+</style>