|
@@ -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,55 @@
|
|
|
</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>
|
|
|
+ <van-search
|
|
|
+ show-action
|
|
|
+ shape="round"
|
|
|
+ :left-icon="searchIcon"
|
|
|
+ @search="onSearch"
|
|
|
+ v-model="params.search"
|
|
|
+ placeholder="请输入学生名或手机号"
|
|
|
+ >
|
|
|
+ <template #action>
|
|
|
+ <div @click="onSearch">搜索</div>
|
|
|
+ </template>
|
|
|
+ </van-search>
|
|
|
+ </van-sticky>
|
|
|
+ <div class="paddingB80">
|
|
|
+ <van-cell-group v-if="dataShow">
|
|
|
+ <van-cell
|
|
|
+ v-for="(item, index) in dataList"
|
|
|
+ :key="index"
|
|
|
+ class="input-cell"
|
|
|
+ :center="true"
|
|
|
+ >
|
|
|
+ <template slot="icon">
|
|
|
+ <img class="logo" v-if="item.avatar" :src="item.avatar" alt="" />
|
|
|
+ <img class="logo" v-else src="@/assets/images/icon_student.png" alt="" />
|
|
|
+ </template>
|
|
|
+ <template slot="title">
|
|
|
+ <div class="studentName">
|
|
|
+ {{ item.userName }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template slot="label">
|
|
|
+ <span>{{ (item.phone) }}</span>
|
|
|
+ </template>
|
|
|
+ </van-cell>
|
|
|
+ </van-cell-group>
|
|
|
+ <m-empty class="empty" v-else key="data" />
|
|
|
+ </div>
|
|
|
+ <div class="button-group-popup">
|
|
|
+ <span class="btn">取消</span>
|
|
|
+ </div>
|
|
|
+ </van-popup>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -118,8 +170,10 @@ export default {
|
|
|
studentMemberCount: 0, // 学员会员数
|
|
|
subjectIdList: [],
|
|
|
subjectList: []
|
|
|
- }
|
|
|
-
|
|
|
+ },
|
|
|
+ dataShow: true,
|
|
|
+ studentStatus: false,
|
|
|
+ dataList: [],
|
|
|
};
|
|
|
},
|
|
|
async mounted() {
|
|
@@ -128,7 +182,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 +190,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, // 学员会员数
|
|
@@ -172,6 +227,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
+
|
|
|
onSelectAccompany(item, index) {
|
|
|
this.accompanimentStatus = true
|
|
|
this.tabActiveList = item
|
|
@@ -237,7 +293,7 @@ export default {
|
|
|
if(notAccompanySong.length - subjectLength < 0 && notAccompanySong != 0) {
|
|
|
console.log('选择曲目')
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
this.$toast.loading({
|
|
|
message: '加载中...',
|
|
|
duration: 10000,
|
|
@@ -377,4 +433,78 @@ export default {
|
|
|
color: #666666;
|
|
|
}
|
|
|
|
|
|
+.paddingB80 {
|
|
|
+ padding-bottom: 0.8rem;
|
|
|
+}
|
|
|
+.studentName {
|
|
|
+ font-size: 0.16rem;
|
|
|
+ color: #1a1a1a;
|
|
|
+ line-height: 0.22rem;
|
|
|
+}
|
|
|
+.studentContainer {
|
|
|
+ /deep/.van-cell__title {
|
|
|
+ font-size: 0.14rem;
|
|
|
+ color: @mFontColor;
|
|
|
+ // flex: 1 auto;
|
|
|
+ }
|
|
|
+
|
|
|
+ .logo {
|
|
|
+ width: 0.42rem;
|
|
|
+ height: 0.42rem;
|
|
|
+ margin-right: 0.12rem;
|
|
|
+ border-radius: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .input-cell {
|
|
|
+ padding: 0.2rem 0.16rem;
|
|
|
+
|
|
|
+ .van-radio {
|
|
|
+ justify-content: flex-end;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.van-cell__value {
|
|
|
+ height: 0.2rem;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.van-radio__icon .van-icon {
|
|
|
+ border-color: #d3d3d3;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.van-radio__icon--checked {
|
|
|
+ .van-icon {
|
|
|
+ border-color: @mColor;
|
|
|
+ background: @mColor;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .van-tag {
|
|
|
+ margin-left: 0.08rem;
|
|
|
+ }
|
|
|
+}
|
|
|
+.button-group-popup {
|
|
|
+ position: fixed;
|
|
|
+ bottom: 0;
|
|
|
+ padding: 0.2rem 0;
|
|
|
+ width: 100%;
|
|
|
+ text-align: center;
|
|
|
+ background-color: #ffffff;
|
|
|
+ .btn {
|
|
|
+ line-height: 0.5rem;
|
|
|
+ display: inline-block;
|
|
|
+ border: 1px solid @mColor;
|
|
|
+ width: 1.65rem;
|
|
|
+ border-radius: 0.4rem;
|
|
|
+ color: @mColor;
|
|
|
+ background: #fff;
|
|
|
+ font-size: 0.18rem;
|
|
|
+ &.primary {
|
|
|
+ color: #fff;
|
|
|
+ background: @mColor;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .btn + .btn {
|
|
|
+ margin-left: 0.1rem;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|