|
@@ -6,7 +6,7 @@
|
|
|
<van-tag type="primary" plain style="background-color: #F1FCF9">课后训练</van-tag>
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
- <van-cell class="endTime" readonly is-link title-style="font-size: .16rem; color: #333333;">
|
|
|
+ <van-cell class="endTime" readonly is-link title-style="font-size: .16rem; color: #333333;" @click="studentStatus = true">
|
|
|
<template #title>
|
|
|
<span style="padding-right: .3rem">学员共<i style="font-style: normal; color: #01C1B5">{{ params.studentCount }}</i>人</span>
|
|
|
<span>会员 <i style="font-style: normal; color: #FF802C">{{ params.studentMemberCount }}</i>人</span>
|
|
@@ -37,7 +37,10 @@
|
|
|
<van-tab v-for="(item, i) in params.subjectList" :title="item.subjectName" :name="item.id" :key="i" class="van-hairline--bottom">
|
|
|
<van-cell class="endTime" v-for="(music, index) in item.musicScoreIdList" :key="index" style="margin-top: 0;" title="训练曲目" @click="onSelectAccompany(item, index)" readonly is-link placeholder="请选择训练曲目" >
|
|
|
<template #default>
|
|
|
- {{ music.name }}
|
|
|
+ <template v-if="music.name">
|
|
|
+ {{ music.name }}
|
|
|
+ </template>
|
|
|
+ <span v-else style="color: #808080;">请选择</span>
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
<div class="addAccompaniment" v-if="item.musicScoreIdList.length < 3" @click="addCloud(item)">
|
|
@@ -69,6 +72,18 @@
|
|
|
</van-sticky>
|
|
|
<accompaniment-modal isHead @onSelectMusic="onSelectMusic" :searchSubjectId="tabActive" />
|
|
|
</van-popup>
|
|
|
+
|
|
|
+ <van-popup
|
|
|
+ v-model="studentStatus"
|
|
|
+ :lock-scroll="true"
|
|
|
+ position="bottom"
|
|
|
+ :style="{ height: '180%' }"
|
|
|
+ >
|
|
|
+ <van-sticky>
|
|
|
+ <m-header name="学员列表" :backUrl="backUrlStudent" />
|
|
|
+ </van-sticky>
|
|
|
+ <student-list-model isHead :dataList="dataList" :dataSubjectList="dataSubjectList"></student-list-model>
|
|
|
+ </van-popup>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -78,11 +93,12 @@ import dayjs from "dayjs";
|
|
|
import { addHomeWork } from '@/api/audition'
|
|
|
import { getCourseStudents } from '@/api/teacher'
|
|
|
import AccompanimentModal from './modal/accompanimentModal'
|
|
|
+import StudentListModel from './modal/studentList'
|
|
|
import cleanDeep from 'clean-deep'
|
|
|
import deepClone from '@/helpers/deep-clone'
|
|
|
export default {
|
|
|
name: "teacherList",
|
|
|
- components: { MHeader, AccompanimentModal },
|
|
|
+ components: { MHeader, AccompanimentModal, StudentListModel },
|
|
|
data() {
|
|
|
let tempDate = new Date() // 默认显示T+3
|
|
|
tempDate.setDate(tempDate.getDate() + 3)
|
|
@@ -95,6 +111,12 @@ export default {
|
|
|
this.accompanimentStatus = false
|
|
|
}
|
|
|
},
|
|
|
+ backUrlStudent: {
|
|
|
+ status: true,
|
|
|
+ callBack: () => {
|
|
|
+ this.studentStatus = false
|
|
|
+ }
|
|
|
+ },
|
|
|
classGroupName: query.classGroupName,
|
|
|
courseId: query.courseId,
|
|
|
dateSection: {
|
|
@@ -118,8 +140,10 @@ export default {
|
|
|
studentMemberCount: 0, // 学员会员数
|
|
|
subjectIdList: [],
|
|
|
subjectList: []
|
|
|
- }
|
|
|
-
|
|
|
+ },
|
|
|
+ dataList: [],
|
|
|
+ dataSubjectList: [],
|
|
|
+ studentStatus: false,
|
|
|
};
|
|
|
},
|
|
|
async mounted() {
|
|
@@ -128,7 +152,7 @@ export default {
|
|
|
localStorage.setItem("Authorization", decodeURI(params.Authorization));
|
|
|
localStorage.setItem("userInfo", decodeURI(params.Authorization));
|
|
|
}
|
|
|
- document.title = '布置作业'
|
|
|
+ document.title = '布置训练'
|
|
|
if(browser().android || browser().iPhone) {
|
|
|
this.headerStatus = false
|
|
|
}
|
|
@@ -136,6 +160,7 @@ export default {
|
|
|
const result = res.data
|
|
|
if(result.code != 200) { return }
|
|
|
const tempData = result.data || []
|
|
|
+ this.dataList = tempData
|
|
|
let params = {
|
|
|
studentCount: tempData.length, // 学员总数
|
|
|
studentMemberCount: 0, // 学员会员数
|
|
@@ -168,6 +193,7 @@ export default {
|
|
|
});
|
|
|
// 默认选中第1条数据
|
|
|
this.tabActive = deepClone(params.subjectIdList[0])
|
|
|
+ this.dataSubjectList = deepClone(params.subjectList)
|
|
|
this.params = params
|
|
|
})
|
|
|
},
|
|
@@ -206,7 +232,7 @@ export default {
|
|
|
onEndTime() {
|
|
|
this.dateSection.status = true
|
|
|
},
|
|
|
- onSubmit: _throttle(function() {
|
|
|
+ onSubmit: _throttle(function(type) {
|
|
|
if(!this.title) {
|
|
|
this.$toast('请输入训练标题')
|
|
|
return
|
|
@@ -234,10 +260,20 @@ export default {
|
|
|
userIdList: subject.userIdList
|
|
|
})
|
|
|
})
|
|
|
- if(notAccompanySong.length - subjectLength < 0 && notAccompanySong != 0) {
|
|
|
- console.log('选择曲目')
|
|
|
+ if(notAccompanySong.length - subjectLength <= 0 && notAccompanySong != 0 && type[0] != 1) {
|
|
|
+ // console.log('选择曲目')
|
|
|
+ this.$dialog.confirm({
|
|
|
+ message: notAccompanySong.join(',') + '声部未选择云教练训练曲目,是否继续布置作业?',
|
|
|
+ confirmButtonColor: '#01C1B5'
|
|
|
+ }).then(() => {
|
|
|
+ // on confirm
|
|
|
+ this.onSubmit(1)
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ // on cancel
|
|
|
+ });
|
|
|
+ return
|
|
|
}
|
|
|
-
|
|
|
this.$toast.loading({
|
|
|
message: '加载中...',
|
|
|
duration: 10000,
|
|
@@ -352,10 +388,13 @@ export default {
|
|
|
top: .15rem;
|
|
|
left: 0.12rem;
|
|
|
}
|
|
|
-
|
|
|
/deep/.van-tab {
|
|
|
font-size: 16px;
|
|
|
}
|
|
|
+/deep/.van-popup--bottom {
|
|
|
+ border-radius: 0px 0px 0px 0px!important;
|
|
|
+ overflow: auto!important;
|
|
|
+}
|
|
|
.accompanyHeader {
|
|
|
font-size: .14rem;
|
|
|
padding: .16rem .08rem .14rem;
|
|
@@ -377,4 +416,5 @@ export default {
|
|
|
color: #666666;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
</style>
|