Browse Source

个人信息更新完成

guhongwei 5 years ago
parent
commit
c50ca064e8

+ 69 - 0
src/layout/user/checkList.vue

@@ -0,0 +1,69 @@
+<template>
+  <div id="checkList">
+    <el-row>
+      <el-col :span="24" class="top">
+        <el-col :span="18" class="title textOver"> {{ info.classid }}考勤管理 </el-col>
+        <el-col :span="6" class="btn">
+          <el-button type="primary" @click="$router.push({ path: '/user/checkDetail' })">考勤</el-button>
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="list" v-for="(item, index) in info.attend" :key="index">
+        <el-col :span="20" class="picker">
+          <p>{{ item.date }}</p>
+          <p>{{ item.time }}</p>
+        </el-col>
+        <el-col :span="4" class="status">
+          {{ item.status === '0' ? '未签到' : item.status === '1' ? '签到' : item.status === '2' ? '迟到' : '缺勤' }}
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'checkList',
+  props: {
+    info: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.top {
+  height: 50px;
+  line-height: 50px;
+  background-color: #fff;
+  margin: 0 0 10px 0;
+  border-bottom: 1px solid #ccc;
+}
+.top .title {
+  padding: 0 15px;
+  font-size: 20px;
+}
+.top .btn {
+  text-align: center;
+}
+.list {
+  width: 97%;
+  padding: 15px;
+  background-color: #fff;
+  border-radius: 15px;
+  margin: 0 5px 5px 5px;
+}
+.picker p {
+  padding: 2px 0;
+}
+.status {
+  padding: 15px 0;
+}
+</style>

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

@@ -5,6 +5,9 @@
         <el-col :span="24" class="native">
           <van-cell is-link @click="$router.push({ path: '/user/leave' })">请假</van-cell>
         </el-col>
+        <el-col :span="24" class="native">
+          <van-cell is-link @click="$router.push({ path: '/user/checkWork' })">考勤</van-cell>
+        </el-col>
       </el-col>
     </el-row>
   </div>

+ 6 - 0
src/router/index.js

@@ -53,6 +53,12 @@ const routes = [
     name: 'user',
     component: () => import('../views/user/leaveReason.vue'),
   },
+  // 个人信息-考勤管理
+  {
+    path: '/user/checkWork',
+    name: 'user',
+    component: () => import('../views/user/checkWork.vue'),
+  },
 ];
 
 const router = new VueRouter({

+ 46 - 0
src/views/user/checkWork.vue

@@ -0,0 +1,46 @@
+<template>
+  <div id="checkWork">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="main">
+          <checkList :info="info"></checkList>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import checkList from '@/layout/user/checkList.vue';
+export default {
+  name: 'checkWork',
+  props: {},
+  components: {
+    checkList,
+  },
+  data: () => ({
+    info: {
+      classid: '1234560',
+      attend: [
+        {
+          date: '2020-02-19',
+          time: '8:30',
+          status: '0',
+        },
+      ],
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #edeae8;
+}
+</style>

+ 1 - 3
src/views/user/leave.vue

@@ -39,7 +39,6 @@ export default {
     ...mapLeave(['query']),
     async searchInfo({ skip = 0, limit = 10, ...info } = {}) {
       const res = await this.query({ skip, limit, ...info });
-      // console.log(res.data);
       this.$set(this, `leaveList`, res.data);
     },
   },
@@ -49,9 +48,8 @@ export default {
 <style lang="less" scoped>
 .info {
   width: 100%;
-  height: 100vh;
+  min-height: 667px;
   position: relative;
-  overflow: hidden;
   background-color: #edeae8;
 }
 .top {

+ 121 - 3
src/views/user/personalDetail.vue

@@ -1,6 +1,71 @@
 <template>
   <div id="personalDetail">
-    <p>个人信息</p>
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          学生个人信息
+        </el-col>
+        <el-col :span="24" class="message">
+          <p>
+            <span class="title">姓名:</span><span class="content">{{ messInfo.name }}</span>
+          </p>
+          <p>
+            <span class="title">身份证号:</span><span class="content">{{ messInfo.id_number }}</span>
+          </p>
+          <p>
+            <span class="title">性别:</span><span class="content">{{ messInfo.gender }}</span>
+          </p>
+          <p>
+            <span class="title">民族:</span><span class="content">{{ messInfo.nation }}</span>
+          </p>
+          <p>
+            <span class="title">手机号:</span><span class="content">{{ messInfo.phone }}</span>
+          </p>
+          <p>
+            <span class="title">学校名称:</span><span class="content">{{ messInfo.school_name }}</span>
+          </p>
+          <p>
+            <span class="title">院系:</span><span class="content">{{ messInfo.faculty }}</span>
+          </p>
+          <p>
+            <span class="title">专业:</span><span class="content">{{ messInfo.major }}</span>
+          </p>
+          <p>
+            <span class="title">入学年份:</span><span class="content">{{ messInfo.entry_year }}</span>
+          </p>
+          <p>
+            <span class="title">毕业年份:</span><span class="content">{{ messInfo.finish_year }}</span>
+          </p>
+          <p>
+            <span class="title">在校担任职务:</span><span class="content">{{ messInfo.school_job }}</span>
+          </p>
+          <p>
+            <span class="title">QQ:</span><span class="content">{{ messInfo.qq }}</span>
+          </p>
+          <p>
+            <span class="title">E-mail:</span><span class="content">{{ messInfo.email }}</span>
+          </p>
+          <p>
+            <span class="title" style="position: relative;top: -20px;">家庭所在地:</span><span class="content">{{ messInfo.family_place }}</span>
+          </p>
+          <p>
+            <span class="title">职务:</span><span class="content">{{ messInfo.job }}</span>
+          </p>
+          <p>
+            <span class="title">所在期数:</span><span class="content">{{ messInfo.termid }}</span>
+          </p>
+          <p>
+            <span class="title">所在批次:</span><span class="content">{{ messInfo.batchid }}</span>
+          </p>
+          <p>
+            <span class="title">所在班级:</span><span class="content">{{ messInfo.classid }}</span>
+          </p>
+          <p>
+            <span class="title">所在寝室:</span><span class="content">{{ messInfo.bedroomid }}</span>
+          </p>
+        </el-col>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
@@ -9,11 +74,64 @@ export default {
   name: 'personalDetail',
   props: {},
   components: {},
-  data: () => ({}),
+  data: () => ({
+    messInfo: {
+      name: '刘裕',
+      id_number: '220182199603257019',
+      phone: '17319450324',
+      gender: '男',
+      nation: '汉',
+      school_name: '吉林大学',
+      faculty: '计算机学院',
+      major: '应用软件技术专业',
+      entry_year: '2002',
+      finish_year: '2006',
+      school_job: '班长',
+      qq: '1345526645',
+      email: '17319450324@163.com',
+      family_place: '吉林省长春市朝阳区力旺广场B座16楼',
+      job: '班长',
+      termid: '期id',
+      batchid: '批次id',
+      classid: '班级id',
+      bedroomid: '寝室id',
+    },
+  }),
   created() {},
   computed: {},
   methods: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.info {
+  width: 100%;
+  height: 100%;
+  background-color: #edeae8;
+}
+.info .top {
+  text-align: center;
+  padding: 15px 0;
+  font-size: 30px;
+}
+.message {
+  padding: 0 0 10px 15px;
+}
+.message p {
+  padding: 5px 0;
+}
+.message p .title {
+  display: inline-block;
+  text-align: left;
+  width: 110px;
+}
+.message p .content {
+  display: inline-block;
+  text-align: left;
+  width: 235px;
+}
+</style>