guhongwei 4 years ago
parent
commit
967074eec1
2 changed files with 37 additions and 3 deletions
  1. 19 2
      src/views/class/index.vue
  2. 18 1
      src/views/class/newClass/nameList.vue

+ 19 - 2
src/views/class/index.vue

@@ -9,7 +9,7 @@
           <el-tabs v-model="activeName" @tab-click="tabchange">
             <el-tab-pane label="班级名单" name="first">
               <el-col :span="24">
-                <name-list :data="studentList" @updateStu="toUpdateStu" :gender="gender" @onConfirm="onConfirm"></name-list>
+                <name-list :data="studentList" @updateStu="toUpdateStu" :gender="gender" @onConfirm="onConfirm" :nojob="nojob"></name-list>
               </el-col>
             </el-tab-pane>
             <el-tab-pane label="班级分组" name="second">
@@ -113,6 +113,8 @@ export default {
 
       // 班级名单,性别筛选
       gender: '全部',
+      // 未设定职位
+      nojob: [],
     };
   },
   async created() {
@@ -141,7 +143,6 @@ export default {
             lessons.filter(f => f.subid),
             'subid'
           );
-          console.log(lessons);
           this.$set(this, `lesson`, lessons);
         }
       }
@@ -156,6 +157,22 @@ export default {
           let data = res.data.filter(i => i.gender == gender);
           this.$set(this, `studentList`, data);
         }
+        let arr = [];
+        let newdata = _.uniqBy(
+          this.studentList.filter(i => i.job == '班长' || i.job == '学委' || i.job == '文艺委员' || i.job == '安全委员' || i.job == '宣传委员'),
+          'job'
+        );
+        let bz = newdata.find(i => i.job == '班长');
+        if (!bz) arr.push({ name: '班长' });
+        let xe = newdata.find(i => i.job == '学委');
+        if (!xe) arr.push({ name: '学委' });
+        let wy = newdata.find(i => i.job == '文艺委员');
+        if (!wy) arr.push({ name: '文艺委员' });
+        let aq = newdata.find(i => i.job == '安全委员');
+        if (!aq) arr.push({ name: '安全委员' });
+        let xc = newdata.find(i => i.job == '宣传委员');
+        if (!xc) arr.push({ name: '宣传委员' });
+        this.$set(this, `nojob`, arr);
       }
     },
     // 筛选

+ 18 - 1
src/views/class/newClass/nameList.vue

@@ -7,6 +7,10 @@
           <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
         </van-popup>
       </el-col>
+      <el-col :span="24" v-if="nojob.length > 0" class="nojob">
+        <p>未设定职位名称:</p>
+        <span v-for="(item, index) in nojob" :key="index">{{ item.name }}</span>
+      </el-col>
       <el-col :span="12" v-for="(stu, index) in data" :key="index" class="list">
         <div @click="changeJob(stu)">
           <p class="name">{{ stu.name }}</p>
@@ -20,7 +24,6 @@
         </p>
       </el-col>
     </el-row>
-
     <van-action-sheet v-model="show" :actions="selectList" cancel-text="取消" @select="toSelect" :description="form.name" close-on-click-action />
   </div>
 </template>
@@ -33,6 +36,7 @@ export default {
   props: {
     data: { type: Array, default: () => [] },
     gender: { type: String },
+    nojob: { type: Array },
   },
   components: {},
   data: function() {
@@ -95,4 +99,17 @@ p {
     padding: 5px 0 0 0;
   }
 }
+.nojob {
+  padding: 0 15px 10px 15px;
+  border-bottom: 1px dashed #ccc;
+  p {
+    padding: 5px 0;
+    font-weight: bold;
+  }
+  span {
+    color: #ff0000;
+    display: inline-block;
+    padding: 0 5px;
+  }
+}
 </style>