reloaded 5 years ago
parent
commit
a253445752
3 changed files with 32 additions and 0 deletions
  1. 2 0
      src/store/index.js
  2. 15 0
      src/views/class/classStuList.vue
  3. 15 0
      src/views/class/info/headStuList.vue

+ 2 - 0
src/store/index.js

@@ -21,6 +21,7 @@ import bedroom from '@frame/store/bedroom';
 import util from '@frame/store/util';
 import attendance from '@frame/store/attendance';
 import leave from '@frame/store/leave';
+import group from '@frame/store/group';
 import uploadtask from '@frame/store/uploadtask';
 import setting from '@frame/store/setting';
 import * as ustate from '@frame/store/user/state';
@@ -62,6 +63,7 @@ export default new Vuex.Store({
     util,
     attendance,
     leave,
+    group,
     uploadtask,
     setting,
   },

+ 15 - 0
src/views/class/classStuList.vue

@@ -26,8 +26,10 @@
 <script>
 import NavBar from '@/layout/common/topInfo.vue';
 import headStuList from './info/headStuList.vue';
+import _ from 'lodash';
 import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
 const { mapActions: mapStudent } = createNamespacedHelpers('student');
+const { mapActions: mapGroup } = createNamespacedHelpers('group');
 export default {
   name: 'classStuList',
   props: {},
@@ -103,10 +105,22 @@ export default {
   },
   methods: {
     ...mapStudent({ list: 'query', add: 'create', fet: 'fetch', updates: 'update' }),
+    ...mapGroup({ groupQuery: 'query' }),
     // 查询学生列表-并带有职务
     async searchInfo() {
       let classid = this.id;
+      // 班级所有学生
       const res = await this.list({ classid });
+      // 班级所有组
+      const groups = await this.groupQuery({ classid });
+      //班级所有进组的学生id
+      let groupstuids = _.map(_.flattenDeep(_.map(groups.data, 'students')), 'stuid');
+      const a = _.differenceBy(res.data, groupstuids, function(x, y) {
+        console.log(x.id != y);
+        return x.id != y;
+      });
+      console.log(a);
+
       if (this.$checkRes(res)) {
         this.$set(this, `headStuList`, res.data);
       }
@@ -147,6 +161,7 @@ export default {
       }
       this.assignShow = true;
       const res = await this.fet(id);
+      console.log(res.data);
       this.$set(this, `assignForm`, res.data);
     },
     //指派职务

+ 15 - 0
src/views/class/info/headStuList.vue

@@ -20,6 +20,18 @@
         <el-form-item label="学生姓名">
           {{ assignForm.name }}
         </el-form-item>
+        <el-form-item label="性别">
+          {{ assignForm.gender }}
+        </el-form-item>
+        <el-form-item label="学校">
+          {{ assignForm.school_name }}
+        </el-form-item>
+        <el-form-item label="寝室号">
+          {{ assignForm.bedroom }}
+        </el-form-item>
+        <el-form-item label="手机号码">
+          {{ assignForm.phone }}
+        </el-form-item>
         <el-form-item label="学生职务">
           <el-select v-model="assignForm.job" placeholder="请选择学生职务">
             <el-option v-for="(item, index) in job_list" :key="index" :label="item.name" :value="item.name"></el-option>
@@ -93,4 +105,7 @@ p {
   font-size: 10px;
   color: #405ffe;
 }
+/deep/.el-form-item {
+  margin-bottom: 5px;
+}
 </style>