فهرست منبع

Merge branch '07/06musicArchives' into test

mo 3 سال پیش
والد
کامیت
70056cf702

+ 44 - 9
src/views/resetTeaming/components/archicesComponents/studentAndTeacher.vue

@@ -40,13 +40,13 @@
         v-for="(item, index) in subject"
       >
         <div class="descriptionItemLabel">
-         {{item.key}}
+          {{ item.key }}
         </div>
         <div
           class="descriptionItemConcat col-value"
           @click="getSoundInfo(item.courseScheduleId)"
         >
-          {{item.value}}人
+          {{ item.value }}人
         </div>
       </div>
     </div>
@@ -66,7 +66,7 @@
           class="col-value"
           @click="getGradeInfo(String(item.key))"
         >
-          {{ item.value||0 }}人
+          {{ item.value || 0 }}人
         </div>
       </descriptions-item>
     </descriptions>
@@ -78,13 +78,13 @@
         v-for="(item, index) in grade"
       >
         <div class="descriptionItemLabel">
-          {{gradeMap[item.key]}}
+          {{ gradeMap[item.key] }}
         </div>
         <div
           class="descriptionItemConcat col-value"
           @click="getGradeInfo(String(item.key))"
         >
-         {{item.value||0}}人
+          {{ item.value || 0 }}人
         </div>
       </div>
     </div>
@@ -106,11 +106,29 @@
         </div>
       </template>
     </el-alert>
-    <descriptions :column="4" class="descriptions" v-if="teacher.length >= 4">
+    <el-form
+      :inline="true"
+      class="searchForm"
+      save-key="teamTrainTimer"
+      ref="searchForm"
+      :model.sync="teacherForm"
+    >
+      <el-form-item label="班级类型">
+        <el-select v-model.trim="teacherForm.type" clearable filterable>
+          <el-option
+            v-for="(item, index) in musicClassTypeList"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+    </el-form>
+    <descriptions :column="4" class="descriptions" v-if="teacherFilter.length >= 4">
       <descriptions-item
         :label="item.key"
         :key="index"
-        v-for="(item, index) in teacher"
+        v-for="(item, index) in teacherFilter"
       >
         <div v-if="item.value">
           <overflow-text :text="item.value || ''"></overflow-text>
@@ -118,14 +136,14 @@
       </descriptions-item>
     </descriptions>
     <div
-      v-else-if="teacher.length > 0 && teacher.length < 4"
+      v-else-if="teacherFilter.length > 0 && teacherFilter.length < 4"
       class="descriptions"
     >
       <div
         class="descriptionItem"
         :style="`width:${100 / 4}%`"
         :key="index"
-        v-for="(item, index) in teacher"
+        v-for="(item, index) in teacherFilter"
       >
         <div class="descriptionItemLabel">
           <overflow-text :text="item.key || ''"></overflow-text>
@@ -177,6 +195,7 @@
 import { getStudentAndTeacher } from "./api";
 import studentMaster from "./modals/studentMaster";
 import { findSound } from "@/api/buildTeam";
+import { musicClassTypeList } from "@/utils/searchArray";
 export default {
   props: ["graduateNum"],
   components: { studentMaster },
@@ -195,6 +214,11 @@ export default {
       teamid: this.$route.query.id,
       soundList: [],
       gradeList: [],
+      teacherForm:{
+        type: "",
+      },
+
+      musicClassTypeList,
     };
   },
   async mounted() {
@@ -273,6 +297,17 @@ export default {
     graduateNums() {
       return this.graduateNum;
     },
+    teacherFilter() {
+      let arr = [];
+      if (this.teacherForm.type) {
+        arr = this.teacher.filter((item) => {
+          return item.type == this.teacherForm.type;
+        });
+      } else {
+        arr = this.teacher;
+      }
+      return arr;
+    },
   },
 };
 </script>

+ 67 - 16
src/views/resetTeaming/components/archicesComponents/trainTimer.vue

@@ -51,8 +51,29 @@
           <el-option value="1" label="下学期"></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item label="班级类型">
+        <el-select
+          v-model.trim="searchForm.classType"
+          clearable
+          filterable
+          @change="changeMixClass"
+        >
+          <el-option
+            v-for="(item, index) in musicClassTypeList"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="课时状态">
+        <el-select v-model.trim="searchForm.isIng" clearable filterable>
+          <el-option label="未完成" :value="1"></el-option>
+          <el-option label="已完成" :value="2"></el-option>
+        </el-select>
+      </el-form-item>
     </save-form>
-    <div v-if="dataList.length >= 4">
+    <div v-if="tableList.length >= 4">
       <!--  {{ item.name }}{{item.type | classType}}: -->
       <!-- <el-row class="row">
         <el-col
@@ -73,32 +94,29 @@
         <descriptions-item
           :label="item.name"
           :key="index"
-          v-for="(item, index) in dataList"
+          v-for="(item, index) in tableList"
         >
-        <div v-if="item.id">
-           {{ item.currentClassTimes }}/{{ item.totalClassTimes }}课时
-        </div>
-
+          <div v-if="item.id">
+            {{ item.currentClassTimes }}/{{ item.totalClassTimes }}课时
+          </div>
         </descriptions-item>
       </descriptions>
     </div>
-     <div
-      v-else-if="dataList.length > 0 && dataList.length < 4"
+    <div
+      v-else-if="tableList.length > 0 && tableList.length < 4"
       class="descriptions"
     >
       <div
         class="descriptionItem"
         :style="`width:${100 / 4}%`"
         :key="index"
-        v-for="(item, index) in dataList"
+        v-for="(item, index) in tableList"
       >
         <div class="descriptionItemLabel">
-          {{item.name}}
+          {{ item.name }}
         </div>
-        <div
-          class="descriptionItemConcat"
-        >
-         {{ item.currentClassTimes }}/{{ item.totalClassTimes }}课时
+        <div class="descriptionItemConcat">
+          {{ item.currentClassTimes }}/{{ item.totalClassTimes }}课时
         </div>
       </div>
     </div>
@@ -109,12 +127,16 @@
 </template>
 <script>
 import { getPlanCourseNum } from "./api";
+import { musicClassTypeList } from "@/utils/searchArray";
 export default {
   data() {
     return {
+      musicClassTypeList,
       searchForm: {
         year: "",
         term: "",
+        classType: "",
+        isIng:''
       },
       dataList: [],
     };
@@ -157,6 +179,35 @@ export default {
         // console.log(this.dataList )
       } catch (e) {}
     },
+    changeMixClass(val) {},
+  },
+  computed: {
+    tableList() {
+      let arr = [];
+      if (this.searchForm.classType) {
+        arr = this.dataList.filter((item) => {
+          return item.type == this.searchForm.classType;
+        });
+      } else {
+        arr = this.dataList;
+      }
+      if(this.searchForm.isIng){
+        if(this.searchForm.isIng == 1){
+          //不相等
+          arr = arr.filter((item)=>{
+            return item.currentClassTimes !=item.totalClassTimes
+          })
+        }
+        if(this.searchForm.isIng == 2){
+          //相等
+               arr = arr.filter((item)=>{
+            return item.currentClassTimes ==item.totalClassTimes
+          })
+        }
+      }
+      // 继续接着刚才搜索
+      return arr;
+    },
   },
 };
 </script>
@@ -208,10 +259,10 @@ export default {
   }
 }
 .descriptions {
-    margin-bottom: 30px;
+  margin-bottom: 30px;
   display: flex;
   flex-direction: row;
-    .col-value {
+  .col-value {
     color: #14928a;
     cursor: pointer;
   }