|
@@ -1,5 +1,19 @@
|
|
<template>
|
|
<template>
|
|
<div>
|
|
<div>
|
|
|
|
+ <el-alert
|
|
|
|
+ title="课程时长设置"
|
|
|
|
+ type="info" :closable='false'>
|
|
|
|
+ </el-alert>
|
|
|
|
+ <el-form :mode='courseTimeForm' :inline='true' style="margin-top:20px;">
|
|
|
|
+ <el-form-item v-for="(item,index) in courseTimeForm.timeList" :key="index" :label="item.label"
|
|
|
|
+ :prop="'timeList.' + index + '.value'" :rules="{
|
|
|
|
+ required: true, message: '请选择课程时长', trigger: 'blur'
|
|
|
|
+ }" label-width="80px">
|
|
|
|
+ <el-select clearable v-model="item.value" placeholder="请选择课程时长" @change="(val)=>setCourseTime(item,val)">
|
|
|
|
+ <el-option v-for="(time,index) in item.list" :key='index' :value='time' :label="time"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
<classPayListItem
|
|
<classPayListItem
|
|
:payInfo="payInfo"
|
|
:payInfo="payInfo"
|
|
ref="base"
|
|
ref="base"
|
|
@@ -50,8 +64,11 @@ import classNewInfo from "./class-new-info";
|
|
import classPayListItem from './class-pay-list-item'
|
|
import classPayListItem from './class-pay-list-item'
|
|
import classSetting from './classroom-setting'
|
|
import classSetting from './classroom-setting'
|
|
import {getCourseType} from "@/utils/utils"
|
|
import {getCourseType} from "@/utils/utils"
|
|
|
|
+import {courseType,classTime} from '@/constant'
|
|
|
|
+import { getOrganCourseDurationSettings} from '@/api/buildTeam'
|
|
|
|
+import MusicStore from '@/views/resetTeaming/store'
|
|
export default {
|
|
export default {
|
|
- props: ["form", "payInfo", "courseTypesByType","classIdList"],
|
|
|
|
|
|
+ props: ["form", "payInfo", "courseTypesByType","classIdList","addCourseType"],
|
|
components: {
|
|
components: {
|
|
classNewInfo,
|
|
classNewInfo,
|
|
classPayListItem,
|
|
classPayListItem,
|
|
@@ -67,11 +84,34 @@ export default {
|
|
activeType:'',
|
|
activeType:'',
|
|
courseTypeList:[],
|
|
courseTypeList:[],
|
|
studentSubmitedData:{},
|
|
studentSubmitedData:{},
|
|
- classGroupStudents:[]
|
|
|
|
|
|
+ classGroupStudents:[],
|
|
|
|
+ courseTimeForm:{
|
|
|
|
+ timeList:[]
|
|
|
|
+ },
|
|
|
|
+ organId:'',
|
|
|
|
+ organCourseTime:{}
|
|
};
|
|
};
|
|
},
|
|
},
|
|
|
|
+ async mounted(){
|
|
|
|
+ // 1.查询该分部下得所有课程时长
|
|
|
|
+ // 2.组成select需要得选项并且指定
|
|
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ this.teamid = this.$route.query.id;
|
|
|
|
+ MusicStore.dispatch('getBaseInfo', {
|
|
|
|
+ data: { musicGroupId: this.teamid }
|
|
|
|
+ }).then(async (res) => {
|
|
|
|
+ this.organId =res.data.musicGroup.organId
|
|
|
|
+
|
|
|
|
+ try{
|
|
|
|
+ const res = await getOrganCourseDurationSettings({organId:this.organId})
|
|
|
|
+ this.organCourseTime = res.data;
|
|
|
|
+
|
|
|
|
+ this.setTimeList(res.data)
|
|
|
|
+
|
|
|
|
+ }catch{}
|
|
|
|
+ })
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
init(){
|
|
init(){
|
|
this.$store.dispatch('setTeachers')
|
|
this.$store.dispatch('setTeachers')
|
|
@@ -88,9 +128,7 @@ export default {
|
|
this.classGroupStudents = classGroupStudents
|
|
this.classGroupStudents = classGroupStudents
|
|
this.teamid = this.$route.query.id
|
|
this.teamid = this.$route.query.id
|
|
this.activeType = this.form.classList[0].type
|
|
this.activeType = this.form.classList[0].type
|
|
- console.log(this.form.classList)
|
|
|
|
this.courseTypeList = getCourseType(this.activeType)
|
|
this.courseTypeList = getCourseType(this.activeType)
|
|
- console.log('courseTypeList:',this.courseTypeList)
|
|
|
|
this.studentSubmitedData = {
|
|
this.studentSubmitedData = {
|
|
name:'',
|
|
name:'',
|
|
seleched:this.studentList.map(stu=> {return stu.userId})
|
|
seleched:this.studentList.map(stu=> {return stu.userId})
|
|
@@ -109,16 +147,23 @@ export default {
|
|
},
|
|
},
|
|
gotoLast() {
|
|
gotoLast() {
|
|
const forms = this.getForms();
|
|
const forms = this.getForms();
|
|
|
|
+
|
|
let musicGroupPaymentCalenderDtos = []
|
|
let musicGroupPaymentCalenderDtos = []
|
|
// 判断有没有缴费项目(因为又可能没有)
|
|
// 判断有没有缴费项目(因为又可能没有)
|
|
// let flag = false
|
|
// let flag = false
|
|
|
|
+ let arr = []
|
|
for (const form of forms) {
|
|
for (const form of forms) {
|
|
let data = form.getData()
|
|
let data = form.getData()
|
|
- if(data){
|
|
|
|
|
|
+ if(data=='error'){
|
|
|
|
+ arr.push(data)
|
|
|
|
+ }
|
|
|
|
+ if(data&&data!='error'){
|
|
musicGroupPaymentCalenderDtos.push(data)
|
|
musicGroupPaymentCalenderDtos.push(data)
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if(arr.length>0){
|
|
|
|
+ return
|
|
|
|
+ }
|
|
// 弹出最后一页
|
|
// 弹出最后一页
|
|
this.musicGroupPaymentCalenderDtos = musicGroupPaymentCalenderDtos
|
|
this.musicGroupPaymentCalenderDtos = musicGroupPaymentCalenderDtos
|
|
this.init()
|
|
this.init()
|
|
@@ -126,6 +171,30 @@ export default {
|
|
},
|
|
},
|
|
submitResetClass(){
|
|
submitResetClass(){
|
|
this.$refs.classSetting.submit()
|
|
this.$refs.classSetting.submit()
|
|
|
|
+ },
|
|
|
|
+ setTimeList(organCourseTime){
|
|
|
|
+
|
|
|
|
+ this.addCourseType.map(course=>{
|
|
|
|
+ let arr = []
|
|
|
|
+ if(organCourseTime[course]){
|
|
|
|
+ arr =organCourseTime[course].split(',')
|
|
|
|
+ }else {
|
|
|
|
+ arr = [classTime[course]]
|
|
|
|
+ }
|
|
|
|
+ this.courseTimeForm.timeList.push({type:course,value:'',label:courseType[course],list:arr})
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ setCourseTime(item,val){
|
|
|
|
+ console.log(this.payInfo)
|
|
|
|
+ for(let k in this.payInfo){
|
|
|
|
+ if( this.payInfo[k][item.type]){
|
|
|
|
+ let courseCurrentPrice =val* this.payInfo[[k]][item.type].unitPrice
|
|
|
|
+ let courseTotalMinuties = val
|
|
|
|
+ this.$emit('resetPayInfo',item.type,courseCurrentPrice,courseTotalMinuties)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
},
|
|
},
|
|
};
|
|
};
|