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