|
@@ -1,60 +1,148 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-form :model="maskForm" class="maskForm" ref="maskForm" :rules="maskRules" label-position="right"
|
|
|
- label-width="120px" :inline="true">
|
|
|
+ <el-form
|
|
|
+ :model="maskForm"
|
|
|
+ class="maskForm"
|
|
|
+ ref="maskForm"
|
|
|
+ :rules="maskRules"
|
|
|
+ label-position="right"
|
|
|
+ label-width="120px"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
<!-- -->
|
|
|
- <el-form-item label="主教老师" v-if="maskForm.type == 'VIP'" prop="teacher">
|
|
|
- <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" @change="changeTeacher" :width="220" />
|
|
|
+ <el-form-item
|
|
|
+ label="主教老师"
|
|
|
+ v-if="maskForm.type == 'VIP'"
|
|
|
+ prop="teacher"
|
|
|
+ >
|
|
|
+ <remote-search
|
|
|
+ :commit="'setTeachers'"
|
|
|
+ v-model="maskForm.teacher"
|
|
|
+ @change="changeTeacher"
|
|
|
+ :width="220"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="主教老师" v-else prop="teacher">
|
|
|
- <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" :width="220" />
|
|
|
+ <remote-search
|
|
|
+ :commit="'setTeachers'"
|
|
|
+ v-model="maskForm.teacher"
|
|
|
+ :width="220"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="助教老师" v-if="maskForm.type != 'MUSIC_NETWORK' &&
|
|
|
- maskForm.type != 'HIGH_ONLINE' &&
|
|
|
- maskForm.groupType == 'MUSIC'
|
|
|
- " prop="assistant">
|
|
|
- <remote-search :commit="'setTeachers'" v-model="maskForm.assistant" :width="220" :multiple="true" />
|
|
|
+ <el-form-item
|
|
|
+ label="助教老师"
|
|
|
+ v-if="
|
|
|
+ maskForm.type != 'MUSIC_NETWORK' &&
|
|
|
+ maskForm.type != 'HIGH_ONLINE' &&
|
|
|
+ maskForm.groupType == 'MUSIC'
|
|
|
+ "
|
|
|
+ prop="assistant"
|
|
|
+ >
|
|
|
+ <remote-search
|
|
|
+ :commit="'setTeachers'"
|
|
|
+ v-model="maskForm.assistant"
|
|
|
+ :width="220"
|
|
|
+ :multiple="true"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="上课日期" prop="date">
|
|
|
- <el-date-picker v-model.trim="maskForm.date" type="date" :picker-options="bigin" value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择日期" clearable></el-date-picker>
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="maskForm.date"
|
|
|
+ type="date"
|
|
|
+ :picker-options="bigin"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"
|
|
|
+ clearable
|
|
|
+ ></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="课程时长" prop="timer">
|
|
|
- <el-select v-model="maskForm.timer" @change="changeTime" style="width: 220px !important" clearable>
|
|
|
- <el-option v-for="(item, index) in typeTimeList" :key="index" :disabled="item > baseTimer ? true : false"
|
|
|
- :value="parseInt(item)" :label="item"></el-option>
|
|
|
+ <el-select
|
|
|
+ v-model="maskForm.timer"
|
|
|
+ @change="changeTime"
|
|
|
+ style="width: 220px !important"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in typeTimeList"
|
|
|
+ :key="index"
|
|
|
+ :disabled="item > baseTimer ? true : false"
|
|
|
+ :value="parseInt(item)"
|
|
|
+ :label="item"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开始时间" prop="startTime">
|
|
|
- <el-time-picker placeholder="起始时间" v-model.trim="maskForm.startTime" @change="changeStartTime" format="HH:mm"
|
|
|
- value-format="HH:mm" :picker-options="{
|
|
|
- selectableRange: `06:00:00 - 23:30:00`,
|
|
|
- }" clearable></el-time-picker>
|
|
|
+ <el-time-picker
|
|
|
+ placeholder="起始时间"
|
|
|
+ v-model.trim="maskForm.startTime"
|
|
|
+ @change="changeStartTime"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: `06:00:00 - 23:30:00`
|
|
|
+ }"
|
|
|
+ clearable
|
|
|
+ ></el-time-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="结束时间" prop="endTime">
|
|
|
- <el-time-picker placeholder="结束时间" v-model.trim="maskForm.endTime" disabled format="HH:mm" value-format="HH:mm"
|
|
|
+ <el-time-picker
|
|
|
+ placeholder="结束时间"
|
|
|
+ v-model.trim="maskForm.endTime"
|
|
|
+ disabled
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
:picker-options="{
|
|
|
start: '04:30',
|
|
|
step: '00:05',
|
|
|
end: '23:30',
|
|
|
- minTime: maskForm.startTime,
|
|
|
- }" clearable></el-time-picker>
|
|
|
+ minTime: maskForm.startTime
|
|
|
+ }"
|
|
|
+ clearable
|
|
|
+ ></el-time-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="课程类型" v-if="maskForm.type == 'VIP'" prop="courseType">
|
|
|
- <el-select clearable @change="typeChange" style="width: 220px !important" v-model.trim="maskForm.teachMode">
|
|
|
+ <el-form-item
|
|
|
+ label="课程类型"
|
|
|
+ v-if="maskForm.type == 'VIP'"
|
|
|
+ prop="courseType"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ clearable
|
|
|
+ @change="typeChange"
|
|
|
+ style="width: 220px !important"
|
|
|
+ v-model.trim="maskForm.teachMode"
|
|
|
+ >
|
|
|
<el-option label="线上课" value="ONLINE"></el-option>
|
|
|
<el-option label="线下课" value="OFFLINE"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="课程类型" v-if="maskForm.type == 'HIGH' || maskForm.type == 'HIGH_ONLINE'" prop="courseType">
|
|
|
- <el-select clearable @change="typeChangeHight" style="width: 220px !important" v-model.trim="maskForm.teachMode">
|
|
|
+ <el-form-item
|
|
|
+ label="课程类型"
|
|
|
+ v-if="maskForm.type == 'HIGH' || maskForm.type == 'HIGH_ONLINE'"
|
|
|
+ prop="courseType"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ clearable
|
|
|
+ @change="typeChangeHight"
|
|
|
+ style="width: 220px !important"
|
|
|
+ v-model.trim="maskForm.teachMode"
|
|
|
+ >
|
|
|
<el-option label="线上课" value="ONLINE"></el-option>
|
|
|
<el-option label="线下课" value="OFFLINE"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="教学地点" v-if="maskForm.teachMode == 'OFFLINE'">
|
|
|
- <el-select v-model.trim="maskForm.address" style="width: 220px !important" filterable clearable>
|
|
|
- <el-option v-for="(item, index) in schoolList" :key="index" :value="item.id" :label="item.name"></el-option>
|
|
|
+ <el-select
|
|
|
+ v-model.trim="maskForm.address"
|
|
|
+ style="width: 220px !important"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in schoolList"
|
|
|
+ :key="index"
|
|
|
+ :value="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -70,9 +158,9 @@ import {
|
|
|
getTeacher,
|
|
|
resetCourse,
|
|
|
getCourseScheduleDetail,
|
|
|
- getOrganCourseDurationSettings,
|
|
|
+ getOrganCourseDurationSettings
|
|
|
} from "@/api/buildTeam";
|
|
|
-import { vipGroupCategory } from '@/api/vipSeting'
|
|
|
+import { vipGroupCategory } from "@/api/vipSeting";
|
|
|
import { getTeachSchool } from "@/api/teacherManager";
|
|
|
import { getSchool } from "@/api/systemManage";
|
|
|
import cleanDeep from "clean-deep";
|
|
@@ -90,20 +178,26 @@ export default {
|
|
|
date: null,
|
|
|
timer: null,
|
|
|
startTime: null,
|
|
|
- endTime: null,
|
|
|
+ endTime: null
|
|
|
},
|
|
|
maskRules: {
|
|
|
- teacher: [{ required: true, message: "请选择主教老师名称", trigger: "blur" }],
|
|
|
+ teacher: [
|
|
|
+ { required: true, message: "请选择主教老师名称", trigger: "blur" }
|
|
|
+ ],
|
|
|
date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
|
|
|
- startTime: [{ required: true, message: "请选择上课开始时间", trigger: "blur" }],
|
|
|
- endTime: [{ required: true, message: "请选择上课结束时间", trigger: "blur" }],
|
|
|
+ startTime: [
|
|
|
+ { required: true, message: "请选择上课开始时间", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ endTime: [
|
|
|
+ { required: true, message: "请选择上课结束时间", trigger: "blur" }
|
|
|
+ ]
|
|
|
},
|
|
|
teacherList: [],
|
|
|
schoolList: [],
|
|
|
typeTimeList: [],
|
|
|
courseTimeList: {},
|
|
|
organId: "",
|
|
|
- bigin: this.beginDate(),
|
|
|
+ bigin: this.beginDate()
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -137,7 +231,7 @@ export default {
|
|
|
this.$confirm("是否确定?", "提示", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
+ type: "warning"
|
|
|
})
|
|
|
.then(() => {
|
|
|
let teachingTeacherIdList = maskForm.assistant.join(",");
|
|
@@ -147,16 +241,19 @@ export default {
|
|
|
let obj = {
|
|
|
actualTeacherId: maskForm.teacher,
|
|
|
startClassTimeStr: maskForm.startTime,
|
|
|
- endClassTimeStr: maskForm.groupType == "MUSIC" ? maskForm.endTime : null,
|
|
|
+ endClassTimeStr:
|
|
|
+ maskForm.groupType == "MUSIC" || maskForm.groupType == "LIVE"
|
|
|
+ ? maskForm.endTime
|
|
|
+ : null,
|
|
|
id: maskForm.id,
|
|
|
teachingTeacherIdList,
|
|
|
classDate: maskForm.date,
|
|
|
type: maskForm.type,
|
|
|
groupType: maskForm.groupType,
|
|
|
schoolId: this.maskForm.address,
|
|
|
- teachMode: this.maskForm.teachMode,
|
|
|
+ teachMode: this.maskForm.teachMode
|
|
|
};
|
|
|
- resetCourse(cleanDeep(obj)).then((res) => {
|
|
|
+ resetCourse(cleanDeep(obj)).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("修改成功");
|
|
|
this.$emit("getList");
|
|
@@ -168,10 +265,10 @@ export default {
|
|
|
this.$confirm(`当前课程课酬预计为0,是否继续`, "提示", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- }).then((res) => {
|
|
|
+ type: "warning"
|
|
|
+ }).then(res => {
|
|
|
obj.allowZeroSalary = true;
|
|
|
- resetCourse(cleanDeep(obj)).then((res) => {
|
|
|
+ resetCourse(cleanDeep(obj)).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("修改成功");
|
|
|
this.$emit("getList");
|
|
@@ -182,7 +279,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
})
|
|
|
- .catch(() => { });
|
|
|
+ .catch(() => {});
|
|
|
},
|
|
|
typeChange() {
|
|
|
this.$set(this.maskForm, "address", null);
|
|
@@ -197,7 +294,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
changeStartTime(val) {
|
|
|
- this.$nextTick((res) => {
|
|
|
+ this.$nextTick(res => {
|
|
|
if (val) {
|
|
|
this.$set(
|
|
|
this.maskForm,
|
|
@@ -210,7 +307,7 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
changeTime(val) {
|
|
|
- this.$nextTick((res) => {
|
|
|
+ this.$nextTick(res => {
|
|
|
this.maskForm.endTime = addTimerFormMinute(
|
|
|
this.maskForm.date,
|
|
|
this.maskForm.startTime,
|
|
@@ -221,8 +318,8 @@ export default {
|
|
|
changeTeacher(val) {
|
|
|
if (val) {
|
|
|
getTeachSchool({
|
|
|
- userId: val,
|
|
|
- }).then((res) => {
|
|
|
+ userId: val
|
|
|
+ }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.schoolList = res.data;
|
|
|
}
|
|
@@ -231,7 +328,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
getDetail(id) {
|
|
|
- getCourseScheduleDetail({ courseScheduleId: id }).then(async (res) => {
|
|
|
+ getCourseScheduleDetail({ courseScheduleId: id }).then(async res => {
|
|
|
if (res.code == 200) {
|
|
|
this.maskForm = {
|
|
|
id: res.data.id,
|
|
@@ -244,7 +341,7 @@ export default {
|
|
|
type: res.data.type,
|
|
|
groupType: res.data.groupType,
|
|
|
address: res.data.schoolId,
|
|
|
- teachMode: res.data.teachMode,
|
|
|
+ teachMode: res.data.teachMode
|
|
|
};
|
|
|
for (let key in this.courseTimeList) {
|
|
|
if (key == row.courseScheduleType) {
|
|
@@ -263,7 +360,7 @@ export default {
|
|
|
if (res.data.groupType == "MUSIC") {
|
|
|
try {
|
|
|
const res = await getOrganCourseDurationSettings({
|
|
|
- organId: this.organId,
|
|
|
+ organId: this.organId
|
|
|
});
|
|
|
this.courseTimeList = res.data;
|
|
|
for (let key in this.courseTimeList) {
|
|
@@ -271,30 +368,30 @@ export default {
|
|
|
this.typeTimeList = this.courseTimeList[key].split(",");
|
|
|
}
|
|
|
}
|
|
|
- } catch (e) { }
|
|
|
- } else if (res.data.groupType == 'LIVE') {
|
|
|
+ } catch (e) {}
|
|
|
+ } else if (res.data.groupType == "LIVE") {
|
|
|
try {
|
|
|
const { data } = await vipGroupCategory({
|
|
|
- groupType: 'LIVE',
|
|
|
+ groupType: "LIVE"
|
|
|
});
|
|
|
- console.log(data, 'data')
|
|
|
+ console.log(data, "data");
|
|
|
data.forEach(liveItem => {
|
|
|
- this.typeTimeList.push(liveItem.singleClassMinutes)
|
|
|
- })
|
|
|
- } catch (e) { }
|
|
|
+ this.typeTimeList.push(liveItem.singleClassMinutes);
|
|
|
+ });
|
|
|
+ } catch (e) {}
|
|
|
}
|
|
|
this.baseTimer = time;
|
|
|
this.maskForm.timer = time;
|
|
|
if (this.maskForm.teacher && this.maskForm.type == "VIP") {
|
|
|
getTeachSchool({
|
|
|
- userId: this.maskForm.teacher,
|
|
|
- }).then((res) => {
|
|
|
+ userId: this.maskForm.teacher
|
|
|
+ }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.schoolList = res.data;
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
- getSchool({ organId: res.data.organId }).then((res) => {
|
|
|
+ getSchool({ organId: res.data.organId }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.schoolList = res.data;
|
|
|
}
|
|
@@ -309,9 +406,9 @@ export default {
|
|
|
disabledDate(time) {
|
|
|
return time.getTime() + 86400000 <= new Date().getTime();
|
|
|
//开始时间不选时,结束时间最大值小于等于当天
|
|
|
- },
|
|
|
+ }
|
|
|
};
|
|
|
- },
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
watch: {
|
|
@@ -321,7 +418,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
"maskForm.timer"(val) {
|
|
|
- this.$nextTick((res) => {
|
|
|
+ this.$nextTick(res => {
|
|
|
if (val) {
|
|
|
this.$set(
|
|
|
this.maskForm,
|
|
@@ -332,8 +429,8 @@ export default {
|
|
|
this.$set(this.maskForm, "endTime", "");
|
|
|
}
|
|
|
});
|
|
|
- },
|
|
|
- },
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|